canvas.C

Pieter Libin, 01/19/2010 06:14 pm

Download (1 KB)

 
1
void Goban::paintEvent(WPaintDevice *paint_device)
2
{
3
    WPainter painter(paint_device);
4
    painter.setRenderHint(WPainter::Antialiasing);
5
6
    WPen pen;
7
    pen.setColor(WColor(red));
8
    painter.setPen(pen);
9
    WBrush brush;
10
    brush.setStyle(NoBrush);
11
    painter.setBrush(brush);
12
13
    paintGrid(painter); /* this isnt shown :/ */
14
    paintStone(painter, 3, 3);
15
    paintStone(painter, 5, 5);
16
}
17
18
void Goban::paintGrid(WPainter& painter)
19
{
20
    for (int i = 0; i < size; ++i) {
21
        painter.drawLine(line_spacing, line_spacing + line_spacing * i,
22
            line_spacing + line_spacing * (size - 1), line_spacing + 
23
            line_spacing * i);
24
        painter.drawLine(line_spacing + line_spacing * i, line_spacing,
25
            line_spacing + line_spacing * i, line_spacing + line_spacing *
26
            (size - 1));
27
    }
28
}
29
30
void Goban::paintStone(WPainter& painter, int x, int y)
31
{
32
    painter.drawEllipse(line_spacing * x - stone_radius, line_spacing * y -
33
        stone_radius, stone_radius * 2, stone_radius * 2);
34
}
35