Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.trolltech.qt.svg
Class QSvgRenderer

    java.lang.Object
      com.trolltech.qt.internal.QSignalEmitterInternal
          com.trolltech.qt.QSignalEmitter
              com.trolltech.qt.QtJambiObject
                  com.trolltech.qt.core.QObject
                      com.trolltech.qt.svg.QSvgRenderer

All Implemented Interfaces:
  QtJambiInterface

    public class QSvgRenderer

extends QObject

The `QSvgRenderer` class is used to draw the contents of SVG files onto paint devices. Using `QSvgRenderer`, Scalable Vector Graphics (SVG) can be rendered onto any `QPaintDevice` subclass, including `QWidget`, `QImage`, and `QGLWidget`.

`QSvgRenderer` provides an API that supports basic features of SVG rendering, such as loading and rendering of static drawings, and more interactive features like animation. Since the rendering is performed using `QPainter`, SVG drawings can be rendered on any subclass of `QPaintDevice`.

SVG drawings are either loaded when an `QSvgRenderer` is constructed, or loaded later using the `load()` functions. Data is either supplied directly as serialized XML, or indirectly using a file name. If a valid file has been loaded, either when the renderer is constructed or at some later time, `isValid()` returns true; otherwise it returns false. `QSvgRenderer` provides the `render()` slot to render the current document, or the current frame of an animated document, using a given painter.

The `defaultSize()` function provides information about the amount of space that is required to render the currently loaded SVG file. This is useful for paint devices, such as `QWidget`, that often need to supply a size hint to their parent layout. The default size of a drawing may differ from its visible area, found using the `viewBox` property.

Animated SVG drawings are supported, and can be controlled with a simple collection of functions and properties:

- The `animated()` function indicates whether a drawing contains animation information.
- The `framesPerSecond` property contains the rate at which the animation plays.

Finally, the `QSvgRenderer` class provides the `repaintNeeded()` signal which is emitted whenever the rendering of the document needs to be updated.

See also:
  `QSvgWidget`, QtSvg Module, SVG Viewer Example, and `QPicture`.

Nested Class Summary

Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
`QSignalEmitter.AbstractSignal, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9`

Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal`

Field Summary
`QSignalEmitter.Signal0` | `repaintNeeded` This signal is emitted whenever the rendering of the document needs to be updated, usually for the purposes of animation.

Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`currentSender`

Constructor Summary
`QSvgRenderer()` Constructs a new renderer with the given `parent`.
`QSvgRenderer(QByteArray contents)` Constructs a new renderer with the given `parent` and loads the specified SVG format `contents`.
`QSvgRenderer(QByteArray contents, QObject parent)` Constructs a new renderer with the given `parent` and loads the specified SVG format `contents`.
`QSvgRenderer(QObject parent)` Constructs a new renderer with the given `parent`.
`QSvgRenderer(java.lang.String filename)` Constructs a new renderer with the given `parent` and loads the contents of the SVG file with the specified `filename`.
`QSvgRenderer(java.lang.String filename, QObject parent)` Constructs a new renderer with the given `parent` and loads the contents of the SVG file with the specified `filename`.

Method Summary
`boolean` | `animated()` Returns true if the current document contains animated elements; otherwise returns false.
`QRectF` | `boundsOnElement(java.lang.String id)` Returns bounding rectangle of the item with the given `id`.
`int` | `currentFrame()` This property holds the current frame of the document's animation, or 0 if the document is not animated.
`QSize` | `defaultSize()` Returns the default size of the document contents.
`boolean` | `elementExists(java.lang.String id)` Returns true if the element with the given `id` exists in the currently parsed SVG file and is a renderable element.
`int` | `framesPerSecond()` This property holds the number of frames per second to be shown.
`boolean` | `isValid()` Returns true if there is a valid current document; otherwise returns false.
`boolean` | `load(QByteArray contents)` Loads the specified SVG format `contents`, returning true if the content was successfully parsed; otherwise returns false.
`boolean` | `load(java.lang.String filename)` Loads the SVG file specified by `filename`, returning true if the content was successfully parsed; otherwise returns false.
`QMatrix` | `matrixForElement(java.lang.String id)` Returns the transformation matrix setup for the element with the given `id`.
`void` | `render(QPainter p)` Renders the current document, or the current frame of an animated document, using the given `painter`.
`void` | `render(QPainter p, QRectF bounds)` Renders the current document, or the current frame of an animated document, using the given `painter` on the specified `bounds` within the painter.
`void` | `render(QPainter p, java.lang.String elementId)` Renders the given element with `elementId` using the given `painter` on the specified `bounds`.
`void` | `render(QPainter p, java.lang.String elementId, QRectF bounds)` Renders the given element with `elementId` using the given `painter` on the specified `bounds`.
`void` | `setCurrentFrame(int arg__1)` This property holds the current frame of the document's animation, or 0 if the document is not animated.
`void` | `setFramesPerSecond(int num)` This property holds the number of frames per second to be shown.
`void` | `setViewBox(QRect viewbox)` This property holds the rectangle specifying the visible area of the document in logical coordinates.
`void` | `setViewBox(QRectF viewbox)` This property holds the rectangle specifying the visible area of the document in logical coordinates.
`QRect` | `viewBox()` Returns `viewBoxF()`.toRect().
`QRectF` | `viewBoxF()` This property holds the rectangle specifying the visible area of the document in logical coordinates.

Methods inherited from class com.trolltech.qt.core.QObject
`childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty`

Methods inherited from class com.trolltech.qt.QtJambiObject
`dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr`

Methods inherited from class com.trolltech.qt.QSignalEmitter
`blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread`

Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
`__qt_signalInitialization`

Methods inherited from class java.lang.Object
`clone, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface com.trolltech.qt.QtJambiInterface
`disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership`

Field Detail

### repaintNeeded

    public final QSignalEmitter.Signal0 repaintNeeded

  This signal is emitted whenever the rendering of the document needs to be updated, usually for the purposes of animation.

Constructor Detail

### QSvgRenderer

    public QSvgRenderer()

  Constructs a new renderer with the given `parent`.

### QSvgRenderer

    public QSvgRenderer(QObject parent)

  Constructs a new renderer with the given `parent`.

### QSvgRenderer

    public QSvgRenderer(QByteArray contents)

  Constructs a new renderer with the given `parent` and loads the specified SVG format `contents`.

### QSvgRenderer

    public QSvgRenderer(QByteArray contents,
                        QObject parent)

  Constructs a new renderer with the given `parent` and loads the specified SVG format `contents`.

### QSvgRenderer

    public QSvgRenderer(java.lang.String filename)

  Constructs a new renderer with the given `parent` and loads the contents of the SVG file with the specified `filename`.

### QSvgRenderer

    public QSvgRenderer(java.lang.String filename,
                        QObject parent)

  Constructs a new renderer with the given `parent` and loads the contents of the SVG file with the specified `filename`.

Method Detail

### animated

    public final boolean animated()

  Returns true if the current document contains animated elements; otherwise returns false.

See also:
  `framesPerSecond()`.

### boundsOnElement

    public final QRectF boundsOnElement(java.lang.String id)

  Returns bounding rectangle of the item with the given `id`. The transformation matrix of parent elements is not affecting the bounds of the element.

### currentFrame

    public final int currentFrame()

  This property holds the current frame of the document's animation, or 0 if the document is not animated.

See also:
  `animationDuration()`, `framesPerSecond`, and `animated()`.

### defaultSize

    public final QSize defaultSize()

  Returns the default size of the document contents.

### elementExists

    public final boolean elementExists(java.lang.String id)

  Returns true if the element with the given `id` exists in the currently parsed SVG file and is a renderable element.

  Note: this method returns true only for elements that can be rendered. Which implies that elements that are considered part of the fill/stroke style properties, e.g. radialGradients even tough marked with "id" attributes will not be found by this method.

### framesPerSecond

    public final int framesPerSecond()

  This property holds the number of frames per second to be shown. The number of frames per second is 0 if the current document is not animated.

See also:
  `animated()`.

### isValid

    public final boolean isValid()

  Returns true if there is a valid current document; otherwise returns false.

### load

    public final boolean load(QByteArray contents)

  Loads the specified SVG format `contents`, returning true if the content was successfully parsed; otherwise returns false.

### load

    public final boolean load(java.lang.String filename)

  Loads the SVG file specified by `filename`, returning true if the content was successfully parsed; otherwise returns false.

### matrixForElement

    public final QMatrix matrixForElement(java.lang.String id)

  Returns the transformation matrix setup for the element with the given `id`. That includes the transformation on the element itself.

### render

    public final void render(QPainter p)

  Renders the current document, or the current frame of an animated document, using the given `painter`.

### render

    public final void render(QPainter p,
                             QRectF bounds)

  Renders the current document, or the current frame of an animated document, using the given `painter` on the specified `bounds` within the painter. If the bounding rectangle is not specified the SVG file is mapped to the whole paint device.

### render

    public final void render(QPainter p,
                             java.lang.String elementId)

  Renders the given element with `elementId` using the given `painter` on the specified `bounds`. If the bounding rectangle is not specified the SVG element is mapped to the whole paint device.

### render

    public final void render(QPainter p,
                             java.lang.String elementId,
                             QRectF bounds)

  Renders the given element with `elementId` using the given `painter` on the specified `bounds`. If the bounding rectangle is not specified the SVG element is mapped to the whole paint device.

### setCurrentFrame

    public final void setCurrentFrame(int arg__1)

  This property holds the current frame of the document's animation, or 0 if the document is not animated.

See also:
  `animationDuration()`, `framesPerSecond`, and `animated()`.

### setFramesPerSecond

    public final void setFramesPerSecond(int num)

  This property holds the number of frames per second to be shown. The number of frames per second is 0 if the current document is not animated.

See also:
  `animated()`.

### setViewBox

    public final void setViewBox(QRect viewbox)

  This property holds the rectangle specifying the visible area of the document in logical coordinates.

### setViewBox

    public final void setViewBox(QRectF viewbox)

  This property holds the rectangle specifying the visible area of the document in logical coordinates.

### viewBox

    public final QRect viewBox()

  Returns `viewBoxF()`.toRect().

See also:
  `setViewBox()`, and `viewBoxF()`.

### viewBoxF

    public final QRectF viewBoxF()

  This property holds the rectangle specifying the visible area of the document in logical coordinates.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD