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