|
|
||||||||||||||||||||||||
|
|||||||||||||||||||||||||
Drawing |
|||||||||||||||||||||||||
The API cross references |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||
A graphical context carrys also some operations used for Thread Synchronization. The graphical context is indeed a pivot used by both threads when they are working at the box level. So for example, when the draw thread (respectively the format thread) is waiting for the advance of the format thread (respectively the build thread) for a given box, it is natural to use the graphical context to notify of some advance. Without this protocol we will be forced to go through the box structure from parent to parent, until we reach the root and get the Facade and its other pivot : the notifying thread state. These methods are typical guarded methods awaiting that their condition holds. | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||
| |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|