class SvgRasterView

Public Class Methods

new(file, parent) click to toggle source
Calls superclass method
# File examples/painting/svgviewer/svgview.rb, line 30
def initialize(file, parent)
    super(parent)
@buffer = Qt::Image.new
@dirty = true
    @doc = Qt::SvgRenderer.new(file, self)
    connect(@doc, SIGNAL(:repaintNeeded),
            self, SLOT(:poluteImage))
end

Public Instance Methods

paintEvent(event) click to toggle source
# File examples/painting/svgviewer/svgview.rb, line 39
def paintEvent(event)
    if @buffer.size() != size() || @dirty
        @buffer = Qt::Image.new(size(), Qt::Image::Format_ARGB32_Premultiplied)
        p = Qt::Painter.new(@buffer)
        p.setViewport(0, 0, width(), height())
        p.eraseRect(0, 0, width(), height())
        @doc.render(p)
    end
    pt = Qt::Painter.new(self)
    pt.drawImage(0, 0, @buffer)
pt.end
end
poluteImage() click to toggle source
# File examples/painting/svgviewer/svgview.rb, line 59
def poluteImage()
    @dirty = true
    update()
end
sizeHint() click to toggle source
Calls superclass method
# File examples/painting/svgviewer/svgview.rb, line 52
def sizeHint()
    if @doc
        return @doc.defaultSize()
end
    return super()
end
wheelEvent(e) click to toggle source
# File examples/painting/svgviewer/svgview.rb, line 64
def wheelEvent(e)
    diff = 0.1
    size = @doc.defaultSize()
    w  = size.width()
    h = size.height()
    if e.delta() > 0
        w = (width() +  width() * diff)
        h = (height() + height() * diff)
    else
        w  = (width() - width() * diff)
        h = (height() - height() * diff)
    end

    resize(w, h)
end