Class: SvgRasterView
- Inherits:
-
Qt::Widget
show all
- Defined in:
- ext/ruby/qtruby/examples/painting/svgviewer/svgview.rb
Instance Method Summary
collapse
Methods inherited from Qt::Widget
#raise
Methods inherited from Qt::Base
#%, #&, #*, #**, #+, #-, #-@, #/, #<, #<<, #<=, #==, #>, #>=, #>>, #QCOMPARE, #QEXPECT_FAIL, #QFAIL, #QSKIP, #QTEST, #QVERIFY, #QVERIFY2, #QWARN, #^, ancestors, #is_a?, #methods, private_slots, #protected_methods, #public_methods, q_classinfo, q_signal, q_slot, signals, #singleton_methods, slots, #|, #~
Constructor Details
#initialize(file, parent) ⇒ SvgRasterView
Returns a new instance of SvgRasterView.
30
31
32
33
34
35
36
37
|
# File 'ext/ruby/qtruby/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
|
Instance Method Details
#paintEvent(event) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'ext/ruby/qtruby/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 ⇒ Object
59
60
61
62
|
# File 'ext/ruby/qtruby/examples/painting/svgviewer/svgview.rb', line 59
def poluteImage()
@dirty = true
update()
end
|
52
53
54
55
56
57
|
# File 'ext/ruby/qtruby/examples/painting/svgviewer/svgview.rb', line 52
def sizeHint()
if @doc
return @doc.defaultSize()
end
return super()
end
|
#wheelEvent(e) ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'ext/ruby/qtruby/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
|