Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create lines with Athens?

I have no clue how to create lines with Athens. I took a look at Cairo docs but I cant see how Athens is related to Cairo.

http://zetcode.com/gfx/cairo/basicdrawing/

In the above link I cant find any equivalent for cairo_set_line_width(cr, 1); I tried to look inside Athens but is nowhere to be found. Overall I find the Athens architecture quite confusing though Cairo looks simple. Any idea how to makes this work ?

like image 519
Kilon Avatar asked Oct 30 '13 21:10

Kilon


1 Answers

There is no separate canvas commands which represents 'draw a single line' action in Athens. Instead one must generate path representing the line:

surface drawDuring: [:canvas | | linePath |
linePath := canvas createPath: [:builder |
  builder 
     absolute;
     moveTo: lineStartPoint;
     lineTo: lineEndPoint
 ].

stroke := canvas setStrokePaint: Color red.
stroke width: 10.

canvas drawShape: linePath.
].

You can look at Athens-Tutorial, where various aspects of path creation, using of stroke paints and filling shapes explained in examples.

like image 183
Igor Stasenko Avatar answered Oct 15 '22 21:10

Igor Stasenko