11.03.2015 Views

Unicon Book

Unicon Book

Unicon Book

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

iv<br />

CONTENTS<br />

7 Graphics 99<br />

7.1 2D Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

7.1.1 Window basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100<br />

7.1.2 Graphics contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />

7.1.3 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

7.1.4 Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />

7.1.5 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

7.1.6 Images and palettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

7.1.7 Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108<br />

7.1.8 pme: a pixmap editor . . . . . . . . . . . . . . . . . . . . . . . . . . 108<br />

7.2 3D Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112<br />

7.2.1 Opening windows for 3D graphics . . . . . . . . . . . . . . . . . . . . 113<br />

7.2.2 3D attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113<br />

7.2.3 3D drawing primitives . . . . . . . . . . . . . . . . . . . . . . . . . . 114<br />

7.2.4 Coordinate transformations . . . . . . . . . . . . . . . . . . . . . . . 116<br />

7.2.5 Lighting and materials . . . . . . . . . . . . . . . . . . . . . . . . . . 117<br />

7.2.6 Textures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118<br />

7.2.7 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121<br />

7.2.8 Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129<br />

7.2.9 Selective rendering and object selection . . . . . . . . . . . . . . . . . 130<br />

7.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />

8 Threads 131<br />

8.1 Threads and Co-Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br />

8.2 First Look at <strong>Unicon</strong> Threads . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br />

8.2.1 Thread creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133<br />

8.2.2 Thread evaluation context . . . . . . . . . . . . . . . . . . . . . . . . 134<br />

8.2.3 Passing arguments to threads . . . . . . . . . . . . . . . . . . . . . . 135<br />

8.3 Thread Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136<br />

8.3.1 The non-deterministic behavior of threads . . . . . . . . . . . . . . . 136<br />

8.3.2 User-defined synchronization . . . . . . . . . . . . . . . . . . . . . . . 137<br />

8.3.3 Language support for synchronization . . . . . . . . . . . . . . . . . . 138<br />

8.4 Thread Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />

8.4.1 Thread messaging queues . . . . . . . . . . . . . . . . . . . . . . . . 147<br />

8.4.2 send and receive operators . . . . . . . . . . . . . . . . . . . . . . . 148<br />

8.4.3 Inbox/Outbox and the Attrib() function . . . . . . . . . . . . . . . . . 149<br />

8.4.4 Blocking send and receive . . . . . . . . . . . . . . . . . . . . . . . . 151<br />

8.4.5 Private communication channels . . . . . . . . . . . . . . . . . . . . . 152<br />

8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!