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