fonted.h
上传用户:jnfxsk
上传日期:2022-06-16
资源大小:3675k
文件大小:3k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. /*
  2. ** Haaf's Game Engine 1.1
  3. ** Copyright (C) 2003, Relish Games
  4. ** hge.relishgames.com
  5. **
  6. ** Bitmap Font Builder
  7. */
  8. #ifndef FONTED_H
  9. #define FONTED_H
  10. #include "....includehge.h"
  11. #include "....includehgefont.h"
  12. #include "....includehgegui.h"
  13. #include "....includehgeguictrls.h"
  14. #include "fontlist.h"
  15. #include "hgeguirange.h"
  16. #define ButtonGetState(id) ((hgeGUIButton*)gui->GetCtrl(id))->GetState()
  17. #define ButtonSetState(id,b) ((hgeGUIButton*)gui->GetCtrl(id))->SetState(b)
  18. #define SliderGetValue(id) ((hgeGUISlider*)gui->GetCtrl(id))->GetValue()
  19. #define SliderSetValue(id,f) ((hgeGUISlider*)gui->GetCtrl(id))->SetValue(f)
  20. #define GetTextCtrl(id) ((hgeGUIText*)gui->GetCtrl(id))
  21. #define MAX_TEXTURE_SIZE 1024
  22. #define CHR_UPPER 1  // 0x41-0x5A
  23. #define CHR_LOWER 2  // 0x61-0x7A
  24. #define CHR_NUMBERS 4  // 0x30-0x39
  25. #define CHR_PUNCT 8  // 0x21-0x2F, 0x3A-0x40, 0x5B-0x60, 0x7B-0x7E 
  26. #define CHR_UPPER_RUS 16 // 0xC0-0xDF
  27. #define CHR_LOWER_RUS 32 // 0xE0-0xFF
  28. #define CHR_ALL 64 // 0x21-0xFF
  29. struct CSymbolRange
  30. {
  31. unsigned short First;
  32. unsigned short Last;
  33. };
  34. struct CHAR_DESC
  35. {
  36. int x, y, w, h;
  37. int a, c;
  38. };
  39. extern CHAR_DESC vChars[256];
  40. bool cmdSaveFont();
  41. void cmdGenerateFont();
  42. extern HGE *hge;
  43. struct FEditorState
  44. {
  45. bool bHelp;
  46. bool bBBox;
  47. bool bDrag;
  48. float nDragXOffset, nDragYOffset;
  49. float nDragOldX, nDragOldY;
  50. float mx, my;
  51. char *FontFamily;
  52. int nSize;
  53. int nPadTop, nPadBtm, nPadLft, nPadRgt;
  54. bool bBold;
  55. bool bItalic;
  56. bool bAntialias;
  57. CSymbolRange sr;
  58. };
  59. extern hgeFont *fnt;
  60. extern hgeGUI *gui;
  61. extern HTEXTURE texGui, texFont;
  62. extern hgeSprite *sprLeftPane1, *sprLeftPane2;
  63. extern hgeSprite *sprCursor;
  64. extern hgeSprite *sprFont;
  65. extern FEditorState state;
  66. extern float psx, psy;
  67. extern float fw2, fh2;
  68. bool HandleKeys(int key);
  69. bool DoCommands(int id);
  70. bool SavePNG(HTEXTURE tex, char *filename);
  71. HTEXTURE FontGenerate(char *szFontName,
  72.   int nSize,
  73.   int nPaddingTop, int nPaddingBtm, int nPaddingLft, int nPaddingRgt,
  74.   bool bItalic,
  75.   bool bBold,
  76.   bool bAntialias,
  77.   CSymbolRange *pRanges,
  78.   int nRangeCount);
  79. #define CMD_EXIT 1
  80. #define CMD_HELP 2
  81. #define CMD_SAVE 3
  82. #define CMD_BOLD 4
  83. #define CMD_ITALIC 5
  84. #define CMD_ANTIALIAS 6
  85. #define CMD_BOUNDINGBOX 7
  86. #define CMD_CHARRANGE 8
  87. #define CMD_FONTSIZE 9
  88. #define CMD_TFONTSIZE 10
  89. #define CMD_FAMILYLIST 11
  90. #define CMD_FAMILYSLIDER 12
  91. #endif