Plasma::Svg Class Reference
A theme aware image-centric SVG class.
More...
#include <Plasma/Svg>
List of all members.
Signals |
void | repaintNeeded () |
Public Member Functions |
bool | containsMultipleImages () const |
Q_INVOKABLE QString | elementAtPoint (const QPoint &point) const |
Q_INVOKABLE QRectF | elementRect (const QString &elementId) const |
Q_INVOKABLE QSize | elementSize (const QString &elementId) const |
Q_INVOKABLE bool | hasElement (const QString &elementId) const |
QString | imagePath () const |
bool | isUsingRenderingCache () const |
Q_INVOKABLE bool | isValid () const |
Q_INVOKABLE void | paint (QPainter *painter, int x, int y, int width, int height, const QString &elementID=QString()) |
Q_INVOKABLE void | paint (QPainter *painter, const QRectF &rect, const QString &elementID=QString()) |
Q_INVOKABLE void | paint (QPainter *painter, int x, int y, const QString &elementID=QString()) |
Q_INVOKABLE void | paint (QPainter *painter, const QPointF &point, const QString &elementID=QString()) |
Q_INVOKABLE QPixmap | pixmap (const QString &elementID=QString()) |
Q_INVOKABLE void | resize () |
Q_INVOKABLE void | resize (const QSizeF &size) |
Q_INVOKABLE void | resize (qreal width, qreal height) |
void | setContainsMultipleImages (bool multiple) |
void | setImagePath (const QString &svgFilePath) |
void | setTheme (Plasma::Theme *theme) |
void | setUsingRenderingCache (bool useCache) |
QSize | size () const |
Theme * | theme () const |
| ~Svg () |
Properties |
QString | imagePath |
bool | multipleImages |
QSize | size |
bool | usingRenderingCache |
Related Functions |
(Note that these are not member functions.)
|
| Svg (QObject *parent=0) |
Detailed Description
A theme aware image-centric SVG class.
Plasma::Svg provides a class for rendering SVG images to a QPainter in a convenient manner. Unless an absolute path to a file is provided, it loads the SVG document using Plasma::Theme. It also provides a number of internal optimizations to help lower the cost of painting SVGs, such as caching.
- See also:
- Plasma::FrameSvg
Definition at line 56 of file svg.h.
Constructor & Destructor Documentation
Member Function Documentation
bool Plasma::Svg::containsMultipleImages |
( |
|
) |
const |
- Returns:
- whether or not the svg contains multiple images or not
Definition at line 554 of file svg.cpp.
QString Plasma::Svg::elementAtPoint |
( |
const QPoint & |
point |
) |
const |
Returns the element (by id) at the given point.
An empty string is returned if no element is at that point.
Definition at line 521 of file svg.cpp.
QRectF Plasma::Svg::elementRect |
( |
const QString & |
elementId |
) |
const |
The bounding rect of a given element.
- elementId the id of the element to check
- Returns:
- the current rect of a given element, given the current size of the Svg
Definition at line 507 of file svg.cpp.
QSize Plasma::Svg::elementSize |
( |
const QString & |
elementId |
) |
const |
Size of a given element.
- elementId the id of the element to check
- Returns:
- the current size of a given element, given the current size of the Svg
Definition at line 502 of file svg.cpp.
bool Plasma::Svg::hasElement |
( |
const QString & |
elementId |
) |
const |
Check when an element exists in the loaded Svg.
- elementId the id of the element to check
- Returns:
- true if the element is defined in the Svg, otherwise false
Definition at line 512 of file svg.cpp.
QString Plasma::Svg::imagePath |
( |
|
) |
const |
Convenience method to get the svg filepath and name of svg.
- Returns:
- the svg's filepath including name of the svg.
bool Plasma::Svg::isUsingRenderingCache |
( |
|
) |
const |
- Returns:
- true if the Svg is using caching for rendering results
- Since:
- 4.3
Definition at line 577 of file svg.cpp.
bool Plasma::Svg::isValid |
( |
|
) |
const |
- Returns:
- true if the SVG file exists and the document is valid, otherwise false. This method can be expensive as it causes disk access.
Definition at line 539 of file svg.cpp.
void Plasma::Svg::paint |
( |
QPainter * |
painter, |
|
|
int |
x, |
|
|
int |
y, |
|
|
int |
width, |
|
|
int |
height, |
|
|
const QString & |
elementID = QString() | |
|
) |
| | |
Paints the SVG represented by this object.
- painter the QPainter to use
- x the horizontal coordinate to start painting from
- y the vertical coordinate to start painting from
- width the width of the element to draw
- height the height of the element do draw
- elelementId the ID string of the element to render, or an empty string for the whole SVG (the default)
Definition at line 460 of file svg.cpp.
void Plasma::Svg::paint |
( |
QPainter * |
painter, |
|
|
const QRectF & |
rect, |
|
|
const QString & |
elementID = QString() | |
|
) |
| | |
Paints the SVG represented by this object.
- painter the QPainter to use
- rect the rect to draw into; if smaller than the current size the drawing is starting at this point.
- elelementId the ID string of the element to render, or an empty string for the whole SVG (the default)
Definition at line 454 of file svg.cpp.
void Plasma::Svg::paint |
( |
QPainter * |
painter, |
|
|
int |
x, |
|
|
int |
y, |
|
|
const QString & |
elementID = QString() | |
|
) |
| | |
Paints the SVG represented by this object.
- painter the QPainter to use
- x the horizontal coordinate to start painting from
- y the vertical coordinate to start painting from
- elelementId the ID string of the element to render, or an empty string for the whole SVG (the default)
Definition at line 449 of file svg.cpp.
void Plasma::Svg::paint |
( |
QPainter * |
painter, |
|
|
const QPointF & |
point, |
|
|
const QString & |
elementID = QString() | |
|
) |
| | |
Paints the SVG represented by this object.
- painter the QPainter to use
- point the position to start drawing; the entire svg will be drawn starting at this point.
- elelementId the ID string of the element to render, or an empty string for the whole SVG (the default)
Definition at line 437 of file svg.cpp.
QPixmap Plasma::Svg::pixmap |
( |
const QString & |
elementID = QString() |
) |
|
Returns a pixmap of the SVG represented by this object.
- elelementId the ID string of the element to render, or an empty string for the whole SVG (the default)
- Returns:
- a QPixmap of the rendered SVG
Definition at line 428 of file svg.cpp.
void Plasma::Svg::repaintNeeded |
( |
|
) |
[signal] |
void Plasma::Svg::resize |
( |
|
) |
|
Resizes the rendered image to the natural size of the SVG.
Rendering will actually take place on the next call to paint.
Definition at line 491 of file svg.cpp.
void Plasma::Svg::resize |
( |
const QSizeF & |
size |
) |
|
Resizes the rendered image.
Rendering will actually take place on the next call to paint.
- size the new size of the image
Definition at line 480 of file svg.cpp.
void Plasma::Svg::resize |
( |
qreal |
width, |
|
|
qreal |
height | |
|
) |
| | |
Resizes the rendered image.
Rendering will actually take place on the next call to paint.
- width the new width
- height the new height
Definition at line 475 of file svg.cpp.
void Plasma::Svg::setContainsMultipleImages |
( |
bool |
multiple |
) |
|
Set if the svg contains a single image or multiple ones.
- multiple true if the svg contains multiple images
Definition at line 549 of file svg.cpp.
void Plasma::Svg::setImagePath |
( |
const QString & |
svgFilePath |
) |
|
Convenience method for setting the svg file to use for the Svg.
- svgFilePath the filepath including name of the svg.
Reimplemented in Plasma::FrameSvg.
Definition at line 559 of file svg.cpp.
Sets the Plasma::Theme to use with this Svg object.
By default, Svg objects use Plasma::Theme::default()
- theme the theme object to use
- Since:
- 4.3
Definition at line 582 of file svg.cpp.
void Plasma::Svg::setUsingRenderingCache |
( |
bool |
useCache |
) |
|
Sets whether or not to cache the results of rendering to pixmaps.
If the Svg is resized and re-rendered often without pattern to the resulting pixmap dimensions, then it may be less efficient to do disk caching. A good example might be a progress meter that uses an Svg object to paint itself: the meter will be changing often enoughi, with enough unpredictability and without re-use of the previous pixmaps to not get a gain from caching.
Most Svg objects should use the caching feature, however. Therefore, the default is to use the render cache.
- Parameters:
-
| useCache | true to cache rendered pixmaps |
- Since:
- 4.3
Definition at line 572 of file svg.cpp.
QSize Plasma::Svg::size |
( |
|
) |
const |
Currently set size of the SVG.
- Returns:
- the current size of the SVG
Theme * Plasma::Svg::theme |
( |
|
) |
const |
- Returns:
- the theme used by this Svg
Definition at line 596 of file svg.cpp.
Friends And Related Function Documentation
Plasma::Svg::Svg |
( |
QObject * |
parent = 0 |
) |
[related] |
Constructs an SVG object that implicitly shares and caches rendering As opposed to QSvgRenderer, which this class uses internally, Plasma::Svg represents an image generated from an SVG.
As such, it has a related size and transform matrix (the latter being provided by the painter used to paint the image).
The size is initialized to be the SVG's native size.
- parent options QObject to parent this to
Definition at line 417 of file svg.cpp.
Property Documentation
QString Plasma::Svg::imagePath [read, write] |
Definition at line 62 of file svg.h.
bool Plasma::Svg::multipleImages [read, write] |
Definition at line 61 of file svg.h.
QSize Plasma::Svg::size [read] |
Definition at line 60 of file svg.h.
bool Plasma::Svg::usingRenderingCache [read, write] |
Definition at line 63 of file svg.h.
The documentation for this class was generated from the following files: