class RenderArea
Constants
- Arc
- Chord
- Ellipse
- Line
- NoTransformation
- Path
- Pie
- Pixmap
- Points
- Polygon
- Polyline
- Rect
- Rotate
- RoundRect
- Scale
- Text
- Translate
Public Class Methods
new(parent = nil)
click to toggle source
Calls superclass method
# File examples/painting/basicdrawing/renderarea.rb, line 49 def initialize(parent = nil) super(parent) @shape = Polygon @antialiased = false @pen = Qt::Pen.new @brush = Qt::Brush.new @pixmap = Qt::Pixmap.new @pixmap.load("images/qt-logo.png") setBackgroundRole(Qt::Palette::Base) end
Public Instance Methods
antialiased=(antialiased)
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 84 def antialiased=(antialiased) @antialiased = antialiased update() end
brush=(brush)
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 79 def brush=(brush) @brush = brush update() end
drawCoordinates(painter)
click to toggle source
# File examples/painting/transformations/renderarea.rb, line 85 def drawCoordinates(painter) painter.pen = Qt::Pen.new(Qt::Color.new(Qt::red)) painter.drawLine(0, 0, 50, 0) painter.drawLine(48, -2, 50, 0) painter.drawLine(48, 2, 50, 0) painter.drawText(60 - @xBoundingRect.width() / 2, 0 + @xBoundingRect.height() / 2, tr("x")) painter.drawLine(0, 0, 0, 50) painter.drawLine(-2, 48, 0, 50) painter.drawLine(2, 48, 0, 50) painter.drawText(0 - @yBoundingRect.width() / 2, 60 + @yBoundingRect.height() / 2, tr("y")) end
drawOutline(painter)
click to toggle source
# File examples/painting/transformations/renderarea.rb, line 101 def drawOutline(painter) painter.pen = Qt::Pen.new(Qt::Color.new(Qt::darkGreen)) painter.pen = Qt::Pen.new(Qt::DashLine) painter.brush = Qt::NoBrush painter.drawRect(0, 0, 100, 100) end
drawShape(painter)
click to toggle source
# File examples/painting/transformations/renderarea.rb, line 108 def drawShape(painter) painter.fillPath(@shape, Qt::Brush.new(Qt::blue)) end
fillRule=(rule)
click to toggle source
# File examples/painting/painterpaths/renderarea.rb, line 54 def fillRule=(rule) @path.fillRule = rule update() end
minimumSizeHint()
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 61 def minimumSizeHint() return Qt::Size.new(100, 100) end
operations=(operations)
click to toggle source
# File examples/painting/transformations/renderarea.rb, line 46 def operations=(operations) @operations = Array.new(operations) update() end
paintEvent(event)
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 94 def paintEvent(event) points = Qt::Polygon.new([ Qt::Point.new(10, 80), Qt::Point.new(20, 10), Qt::Point.new(80, 30), Qt::Point.new(90, 70) ]) rect = Qt::Rect.new(10, 20, 80, 60) path = Qt::PainterPath.new path.moveTo(20, 80) path.lineTo(20, 30) path.cubicTo(80, 0, 50, 50, 80, 80) startAngle = 30 * 16 arcLength = 120 * 16 painter = Qt::Painter.new(self) painter.pen = @pen painter.brush = @brush if @antialiased painter.renderHint = Qt::Painter::Antialiasing end x = 0 while x < width() do y = 0 while y < height() do painter.save() painter.translate(x, y) if @transformed painter.translate(50, 50) painter.rotate(60.0) painter.scale(0.6, 0.9) painter.translate(-50, -50) end case @shape when Line painter.drawLine(rect.bottomLeft(), rect.topRight()) when Points painter.drawPoints(points) when Polyline painter.drawPolyline(points) when Polygon painter.drawPolygon(points) when Rect painter.drawRect(rect) when RoundRect painter.drawRoundRect(rect) when Ellipse painter.drawEllipse(rect) when Arc painter.drawArc(rect, startAngle, arcLength) when Chord painter.drawChord(rect, startAngle, arcLength) when Pie painter.drawPie(rect, startAngle, arcLength) when Path painter.drawPath(path) when Text painter.drawText(rect, Qt::AlignCenter, tr("Qt by\nTrolltech")) when Pixmap painter.drawPixmap(10, 10, @pixmap) end painter.restore() y += 100 end x += 100 end painter.end end
pen=(pen)
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 74 def pen=(pen) @pen = pen update() end
penColor=(color)
click to toggle source
# File examples/painting/painterpaths/renderarea.rb, line 70 def penColor=(color) @penColor = color update() end
penWidth=(width)
click to toggle source
# File examples/painting/painterpaths/renderarea.rb, line 65 def penWidth=(width) @penWidth = width update() end
rotationAngle=(degrees)
click to toggle source
# File examples/painting/painterpaths/renderarea.rb, line 75 def rotationAngle=(degrees) @rotationAngle = degrees update() end
setFillGradient(color1, color2)
click to toggle source
# File examples/painting/painterpaths/renderarea.rb, line 59 def setFillGradient(color1, color2) @fillColor1 = color1 @fillColor2 = color2 update() end
shape=(shape)
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 69 def shape=(shape) @shape = shape update() end
sizeHint()
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 65 def sizeHint() return Qt::Size.new(400, 200) end
transformPainter(painter)
click to toggle source
# File examples/painting/transformations/renderarea.rb, line 112 def transformPainter(painter) (0...@operations.length).each do |i| case @operations[i] when Translate painter.translate(50, 50) when Scale painter.scale(0.75, 0.75) when Rotate painter.rotate(60) when NoTransformation else end end end
transformed=(transformed)
click to toggle source
# File examples/painting/basicdrawing/renderarea.rb, line 89 def transformed=(transformed) @transformed = transformed update() end