kdecore Library API Documentation

ksvgiconpainter.h

00001 /*
00002     Copyright (C) 2002 Nikolas Zimmermann <wildfox@kde.org>
00003     This file is part of the KDE project
00004 
00005     This library is free software; you can redistribute it and/or
00006     modify it under the terms of the GNU Library General Public
00007     License as published by the Free Software Foundation; either
00008     version 2 of the License, or (at your option) any later version.
00009 
00010     This library is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013     Library General Public License for more details.
00014 
00015     You should have received a copy of the GNU Library General Public License
00016     aint with this library; see the file COPYING.LIB.  If not, write to
00017     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018     Boston, MA 02111-1307, USA.
00019 */
00020 
00021 #ifndef KSVGIconPainter_H
00022 #define KSVGIconPainter_H
00023 
00024 #include <libart_lgpl/art_render.h>
00025 #include <libart_lgpl/art_render_gradient.h>
00026 
00027 class QImage;
00028 class QColor;
00029 class QWMatrix;
00030 class QDomElement;
00031 class QPointArray;
00032 
00033 class KSVGIconPainter
00034 {
00035 public:
00036         KSVGIconPainter(int width, int height, int dwidth, int dheight);
00037         ~KSVGIconPainter();
00038 
00039         QImage *image();
00040         
00041         QWMatrix *worldMatrix();
00042 
00043         void finish();
00044         
00045         void setUseFill(bool fill);
00046         void setUseStroke(bool stroke);
00047         
00048         void setStrokeWidth(double width);
00049         void setStrokeMiterLimit(const QString &miter);
00050         void setCapStyle(const QString &cap);
00051         void setJoinStyle(const QString &join);
00052         void setStrokeColor(const QString &stroke);
00053         void setFillColor(const QString &fill);
00054         void setFillRule(const QString &fillRule);
00055         void setOpacity(const QString &opacity);
00056         void setFillOpacity(const QString &fillOpacity);
00057         void setStrokeOpacity(const QString &strokeOpacity);
00058         void setStrokeDashOffset(const QString &dashOffset);
00059         void setStrokeDashArray(const QString &dashes);
00060         
00061         void setWorldMatrix(QWMatrix *worldMatrix);
00062         void setClippingRect(int x, int y, int w, int h);
00063 
00064         void drawRectangle(double x, double y, double w, double h, double rx, double ry);
00065         void drawEllipse(double cx, double cy, double rx, double ry);
00066         void drawLine(double x1, double y1, double x2, double y2);
00067         void drawPolyline(QPointArray polyArray, int points = -1);
00068         void drawPolygon(QPointArray polyArray);
00069         void drawPath(const QString &data, bool fill);
00070         void drawImage(double x, double y, QImage &image);
00071 
00072         QColor parseColor(const QString &param);
00073         Q_UINT32 toArtColor(QColor color);
00074         Q_UINT32 parseOpacity(QString data);
00075         
00076         double toPixel(const QString &s, bool hmode);
00077         double dpi();
00078         
00079         ArtGradientLinear *linearGradient(const QString &id);
00080         void addLinearGradient(const QString &id, ArtGradientLinear *gradient);
00081 
00082         QDomElement linearGradientElement(ArtGradientLinear *linear);
00083         void addLinearGradientElement(ArtGradientLinear *gradient, QDomElement element);
00084         
00085         ArtGradientRadial *radialGradient(const QString &id);
00086         void addRadialGradient(const QString &id, ArtGradientRadial *gradient);
00087 
00088         QDomElement radialGradientElement(ArtGradientRadial *radial);
00089         void addRadialGradientElement(ArtGradientRadial *gradient, QDomElement element);
00090 
00091         QWMatrix parseTransform(const QString &transform);
00092 
00093 private:
00094         struct Private;
00095         Private *d;
00096 };
00097 
00098 #endif
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:46:58 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001