home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 2 / RISC_DISC_2.iso / pd_share / program / code / desklib / DeskLib / !DeskLib / h / Font < prev    next >
Encoding:
Text File  |  1995-07-17  |  3.1 KB  |  124 lines

  1.  
  2. #ifndef __dl_font_h
  3. #define __dl_font_h
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #ifndef __dl_core_h
  8. #include "Core.h"
  9. #endif
  10. #ifndef __dl_wimp_h
  11. #include "Wimp.h"
  12. #endif
  13. typedef int font_handle;
  14. typedef struct
  15. {
  16. char name[128]; 
  17. int xsize, ysize, xres, yres;
  18. int age, usage;
  19. } font_defn;
  20. typedef struct
  21. {
  22. int minx, miny, maxx, maxy;
  23. } font_info;
  24. typedef struct
  25. {
  26. char *s; 
  27. int x; 
  28. int y; 
  29. int split; 
  30. int term; 
  31. } font_string;
  32. typedef struct
  33. {
  34. int background, foreground;
  35. } font_colours;
  36. typedef struct
  37. {
  38. font_handle font;
  39. font_colours colour;
  40. int offset;
  41. } font_state;
  42. typedef struct
  43. {
  44. char offset;
  45. char thresholds[15];
  46. } font_thresholds;
  47. extern os_error *Font_CacheAddr(int *version, int *cacheused, int *cachesize); 
  48. extern os_error *Font_ListFonts(char *name, int *count); 
  49. extern os_error *Font_ReadDefn(font_handle font, font_defn *defn); 
  50. extern os_error *Font_ReadInfo(font_handle font, font_info *info); 
  51. extern os_error *Font_ConverttoOS(int x, int y, int *xout, int *yout); 
  52. #define Font_ConvertToOS Font_ConverttoOS 
  53. extern os_error *Font_Converttopoints(int x, int y, int *xout, int *yout); 
  54. #define Font_ConvertToPoints Font_Converttopoints 
  55. extern os_error *Font_FindFont(font_handle *font, char *name,
  56. int xsize, int ysize, int xres, int yres); 
  57. extern os_error *Font_LoseFont(font_handle font); 
  58. extern void Font_LoseAllFonts(font_array *fonts);
  59. extern os_error *Font_SetFont(font_handle font); 
  60. extern os_error *Font_CurrentFont(font_state *state); 
  61. extern os_error *Font_FutureFont(font_state *state); 
  62. extern os_error *Font_Paint(char *, int options, int x, int y); 
  63. extern os_error *Font_Caret(int colour, int height, int flags, int x, int y); 
  64. extern os_error *Font_FindCaret(font_string *string); 
  65. extern os_error *Font_FindCaretJ(font_string *s, int xoffset, int yoffset); 
  66. extern os_error *Font_StringWidth(font_string *string); 
  67. extern os_error *Font_CharBBox(font_handle font, char c,
  68. int flags, font_info *info); 
  69. extern os_error *Font_StringBBox(char *string, font_info *info); 
  70. extern os_error *Font_ReadScaleFactor(int *xscale, int *yscale); 
  71. extern os_error *Font_SetFontColours(font_handle font,
  72. int back_colour, int fore_colour,
  73. int offset);
  74. extern os_error *Font_SetPalette(int back_log, int fore_log,
  75. int offset,
  76. int back_phys, int fore_phys);
  77. extern os_error *Font_ReadThresholds(font_thresholds *t);
  78. extern os_error *Font_SetThresholds(font_thresholds *t);
  79. #define font_justify_NONE (0)
  80. #define font_justify_CURSOR (1<<0)
  81. #define font_justify_COORBLOCK (1<<5)
  82. #define font_rubout_NONE (0)
  83. #define font_rubout_CURSOR (1<<1)
  84. #define font_rubout_COORBLOCK (1<<1 + 1<<5)
  85. #define font_plot_OSCOORS (1<<4)
  86. #define font_plot_TRANSMATRIX (1<<6)
  87. #define font_STRLEN (1<<7)
  88. #define font_plot_CURRENTHANDLE (1<<8)
  89. #define font_plot_KERN (1<<9)
  90. typedef struct {
  91. struct {
  92. wimp_point space;
  93. wimp_point letter;
  94. }
  95. offsets;
  96. wimp_rect rubout;
  97. }
  98. font_coorblock;
  99. typedef struct {
  100. struct {
  101. int xx; 
  102. int xy;
  103. int yx;
  104. int yy;
  105. }
  106. scale;
  107. wimp_point translate;
  108. }
  109. font_transformation;
  110. os_error *Font_Paint3( 
  111. font_handle font, 
  112. const char *string, 
  113. unsigned int plottype,
  114. int x,
  115. int y,
  116. font_coorblock *coorblock,
  117. font_transformation *transformation,
  118. int length
  119. );
  120. #ifdef __cplusplus
  121. }
  122. #endif
  123. #endif
  124.