Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.         font manager header structure
  3.  */
  4.  
  5. #define FONT_FLAG_DEFAULT_FONT_ON                                       0x1
  6. #define FONT_FLAG_DEFAULT_FONT_OFF                                      0xfe
  7. #define FONT_FLAG_DRAW_BACKGROUND_ON                            0x2
  8. #define FONT_FLAG_DRAW_BACKGROUND_OFF                           0xfd
  9. #define FONT_FLAG_ORIENTATION_HORIZONTAL_FROM_LEFT_TO_RIGHT_ON  0x4
  10. #define FONT_FLAG_ORIENTATION_HORIZONTAL_FROM_LEFT_TO_RIGHT_OFF 0xfb
  11.  
  12. #define FONT_CONSTANT_SIZE                              -1
  13.  
  14. //some types encoding characters
  15. #define FONT_TYPE_ASCII                         0x1
  16. #define FONT_TYPE_UNICODE                               0x2
  17.  
  18. ///////////////////////////////////////////////////////////
  19. //              some ASCII encodings
  20. ///////////////////////////////////////////////////////////
  21.  
  22. //cyrillic encodings
  23. #define FONT_ENCODING_CYRILLIC_IBM866           0x1
  24. #define FONT_ENCODING_CYRILLIC_IBM437           0x2
  25. #define FONT_ENCODING_CYRILLIC_KOI8R            0x4
  26. #define FONT_ENCODING_CYRILLIC_ISO8859_5                0x8
  27. #define FONT_ENCODING_CYRILLIC_CP1251           0x10
  28.  
  29. #pragma pack(push,1)
  30. static struct
  31. {
  32.         DWORD   *fnt_fd;
  33.         DWORD   *fnt_bk;
  34.         DWORD   *default_font;
  35.         DWORD   number_fonts;
  36. }FontsManager;
  37. #pragma pack(pop)
  38.  
  39. #pragma pack(push,1)
  40. struct  FONT
  41. {
  42.         DWORD           *fnt_draw;
  43.         DWORD           *fnt_unpacker;
  44.         DWORD           *fnt_fd;
  45.         DWORD           *fnt_bk;
  46.         int             sizex;
  47.         int             sizey;
  48.         int             size;
  49.         int             encoding_type;
  50.         char            *font;
  51.         char            *fnt_name;
  52.         DWORD           type;
  53.         DWORD           flags;
  54. };
  55. #pragma pack(pop)
  56.  
  57. typedef struct  FONT    font_t;
  58.  
  59. static  char    *default_fonts_path="/sys/fonts/";
  60.  
  61. void (*DrawFont)(finition_t *fin,int fx,int fy,DWORD color,DWORD background_color,font_t *font,BYTE *s);
  62.  
  63.  
  64.