2013-04-16 15 views
6

Robiłem AthensTutorial, rozumiem pierwszy krokW Atenach Z artykułu, z którego pochodzi płótno?

surface := AthensCairoSurface extent: self extent asIntegerPoint. 

a następnie krok 2 jest

surface drawDuring: [:canvas | 

"First, we clear the surface" 
surface clear. 

"we can use 

surface clear: Color black. 

as well. A #clear is equivalent to: (surface clear: Color transparent). " 

"Let''s draw a simple green rectangle" 
canvas setPaint: Color green. 
canvas setShape: ([email protected] corner: [email protected]). 
canvas draw. 

] 

Gdzie płótno pochodzi? gdzie jest zdefiniowane? Po prostu nie rozumiem tej części.

Odpowiedz

7

To sztuczka, którą zobaczysz w różnych frameworkach Smalltalk. "canvas" jest parametrem bloku, do którego przechodzi się #drawDuring :. Możesz nazwać go tak, jak chcesz, to zależy wyłącznie od Ciebie. Metoda #drawDuring: utworzy instancję canvas i przekaże ją do twojego bloku, wywołując metodę BlockClosure >> value:.

+0

Bardzo dziękuję Damien, teraz ma to sens :) – Kilon

Powiązane problemy