@FontEditor.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /******************************************************************************/
  2. /******************************************************************************/
  3. // TODO: make unavailable on Mobile
  4. /******************************************************************************/
  5. class FontEditor : PropWin
  6. {
  7. class Params : EditFont
  8. {
  9. Str sample_text;
  10. bool no_scale;
  11. public:
  12. Params();
  13. };
  14. class Change : Edit::_Undo::Change
  15. {
  16. EditFont data;
  17. virtual void create(ptr user)override;
  18. virtual void apply(ptr user)override;
  19. };
  20. UID elm_id;
  21. Elm *elm;
  22. bool changed;
  23. Params params;
  24. Font font;
  25. Button undo, redo, locate;
  26. ViewportSkin viewport;
  27. SyncEvent event;
  28. Thread thread;
  29. SyncLock lock;
  30. Edit::Undo<Change> undos; void undoVis();
  31. ~FontEditor(); // delete thread before other members
  32. static void Preview(Viewport &viewport);
  33. void preview();
  34. static bool Make(Thread &thread);
  35. bool make();
  36. static void PreChanged(C Property &prop);
  37. static void Changed(C Property &prop);
  38. static void ParamsFont (Params &p, C Str &t);
  39. static void ParamsSize (Params &p, C Str &t);
  40. static void ParamsScale (Params &p, C Str &t);
  41. static void ParamsClearType (Params &p, C Str &t);
  42. static void ParamsSoftware (Params &p, C Str &t);
  43. static void ParamsWeight (Params &p, C Str &t);
  44. static void ParamsMinFilter (Params &p, C Str &t);
  45. static void ParamsDiagShadow(Params &p, C Str &t);
  46. static void ParamsMipMaps (Params &p, C Str &t);
  47. static void ParamsShdBlur (Params &p, C Str &t);
  48. static void ParamsShdOpacity(Params &p, C Str &t);
  49. static void ParamsShdSpread (Params &p, C Str &t);
  50. static void ParamsAscii (Params &p, C Str &t);
  51. static void ParamsGerman (Params &p, C Str &t);
  52. static void ParamsFrench (Params &p, C Str &t);
  53. static void ParamsPolish (Params &p, C Str &t);
  54. static void ParamsRussian (Params &p, C Str &t);
  55. static void ParamsChinese (Params &p, C Str &t);
  56. static void ParamsJapanese (Params &p, C Str &t);
  57. static void ParamsKorean (Params &p, C Str &t);
  58. static void ParamsCustomChar(Params &p, C Str &t);
  59. static void ParamsSampleText(Params &p, C Str &t);
  60. static void Undo (FontEditor &editor);
  61. static void Redo (FontEditor &editor);
  62. static void Locate(FontEditor &editor);
  63. void create();
  64. void toGui();
  65. void setInfo();
  66. void stopThread();
  67. void refresh ();
  68. virtual FontEditor& del ()override;
  69. virtual FontEditor& hide()override;
  70. void flush();
  71. void setChanged();
  72. void set(Elm *elm);
  73. void activate(Elm *elm);
  74. void toggle (Elm *elm);
  75. void elmChanged(C UID &font_id);
  76. void erasing(C UID &elm_id);
  77. public:
  78. FontEditor();
  79. };
  80. /******************************************************************************/
  81. /******************************************************************************/
  82. extern FontEditor FontEdit;
  83. /******************************************************************************/