This shows you the differences between two versions of the page.
cc65:tiny_graphics_interface [2011-07-11 12:14] polluks |
cc65:tiny_graphics_interface [2011-07-18 19:35] (current) polluks [TGI bitmap fonts (draft)] |
||
---|---|---|---|
Line 26: | Line 26: | ||
| lynx-160-102-16.tgi | ✓ | | | | | lynx-160-102-16.tgi | ✓ | | | | ||
- | ====== TGI bitmap fonts (draft) ====== | + | ====== TGI bitmap fonts ====== |
- | - The coordinate used for text output becomes the bottom left corner of the first character. | + | - Starting coordinates stay as they are: Lower left corner (not baseline). |
- | - The bottom left corner refers to the bounding box of the characters, __not__ the baseline of the characters. So all drawing happens above and to the right of the coordinate used. | + | - Drawing is done transparently (meaning non-glyph "background" pixels are left as they are). |
- | - Vertical direction means the text runs upwards. The coordinate used still refers to the same point relative to the first character. So all drawing happens above and to the __left__ of the coordinate used. | + | - A driver states via a new bit in the header if it supports 8.8 fixed point scaling (or only integer scaling). |
- | - The TGI cursor is advanced by the TGI kernel beyond the last character in a way that a subsequent text output would result in continuous text drawn. | + | - Based on that bit (and the already existing integer x and y size values) the TGI kernel does clipping on character granularity. |
+ | - The parameters to the OUTTEXT driver entry point are changed from a C string to a kind of Pascal string in order to facilitate copy-free clipping for TGI kernel. |