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