| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | 
							- #ifndef _GDS_FONT_H_
 
- #define _GDS_FONT_H_
 
- #include <stdint.h>
 
- #include <stdbool.h>
 
- #ifdef __cplusplus
 
- extern "C" {
 
- #endif
 
- struct GDS_Device;
 
- /* 
 
-  * X-GLCD Font format:
 
-  *
 
-  * First byte of glyph is it's width in pixels.
 
-  * Each data byte represents 8 pixels going down from top to bottom.
 
-  * 
 
-  * Example glyph layout for a 16x16 font
 
-  * 'a': [Glyph width][Pixel column 0][Pixel column 1] where the number of pixel columns is the font height divided by 8
 
-  * 'b': [Glyph width][Pixel column 0][Pixel column 1]...
 
-  * 'c': And so on...
 
-  */
 
-  
 
- struct GDS_FontDef {
 
-     const uint8_t* FontData;
 
-     int Width;
 
-     int Height;
 
-     int StartChar;
 
-     int EndChar;
 
-     bool Monospace;
 
- };
 
- typedef enum {
 
-     TextAnchor_East = 0,
 
-     TextAnchor_West,
 
-     TextAnchor_North,
 
-     TextAnchor_South,
 
-     TextAnchor_NorthEast,
 
-     TextAnchor_NorthWest,
 
-     TextAnchor_SouthEast,
 
-     TextAnchor_SouthWest,
 
-     TextAnchor_Center
 
- } TextAnchor;
 
- const struct GDS_FontDef* GDS_SetFont( struct GDS_Device* Display, const struct GDS_FontDef* Font );
 
- void GDS_FontForceProportional( struct GDS_Device* Display, bool Force );
 
- void GDS_FontForceMonospace( struct GDS_Device* Display, bool Force );
 
- int GDS_FontGetWidth( struct GDS_Device* Display );
 
- int GDS_FontGetHeight( struct GDS_Device* Display );
 
- int GDS_FontGetMaxCharsPerRow( struct GDS_Device* Display );
 
- int GDS_FontGetMaxCharsPerColumn( struct GDS_Device* Display );
 
- int GDS_FontGetCharWidth( struct GDS_Device* Display, char Character );
 
- int GDS_FontGetCharHeight( struct GDS_Device* Display );
 
- int GDS_FontMeasureString( struct GDS_Device* Display, const char* Text );
 
- int GDS_FontMeasureStringLine( struct GDS_Device* Display, int Line, const char* Text );
 
- void GDS_FontDrawChar( struct GDS_Device* Display, char Character, int x, int y, int Color );
 
- void GDS_FontDrawString( struct GDS_Device* Display, int x, int y, const char* Text, int Color );
 
- void GDS_FontDrawAnchoredString( struct GDS_Device* Display, TextAnchor Anchor, const char* Text, int Color );
 
- void GDS_FontGetAnchoredStringCoords( struct GDS_Device* Display, int* OutX, int* OutY, TextAnchor Anchor, const char* Text );
 
- extern const struct GDS_FontDef Font_droid_sans_fallback_11x13;
 
- extern const struct GDS_FontDef Font_droid_sans_fallback_15x17;
 
- extern const struct GDS_FontDef Font_droid_sans_fallback_24x28;
 
- extern const struct GDS_FontDef Font_droid_sans_mono_7x13;
 
- extern const struct GDS_FontDef Font_droid_sans_mono_13x24;
 
- extern const struct GDS_FontDef Font_droid_sans_mono_16x31;
 
- extern const struct GDS_FontDef Font_liberation_mono_9x15;
 
- extern const struct GDS_FontDef Font_liberation_mono_13x21;
 
- extern const struct GDS_FontDef Font_liberation_mono_17x30;
 
- extern const struct GDS_FontDef Font_Tarable7Seg_16x32;
 
- extern const struct GDS_FontDef Font_Tarable7Seg_32x64;
 
- extern const struct GDS_FontDef Font_line_1;
 
- extern const struct GDS_FontDef Font_line_2;
 
- #ifdef __cplusplus
 
- }
 
- #endif
 
- #endif
 
 
  |