Schrift.h 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358
  1. #ifndef Schrift_H
  2. #define Schrift_H
  3. #include "Critical.h"
  4. #include "Punkt.h"
  5. #include <functional>
  6. namespace Framework
  7. {
  8. class Bild; //! Bild.h
  9. class Text; //! Text.h
  10. class Buchstabe; //! aus dieser Datei
  11. class Alphabet; //! aus dieser Datei
  12. class Schrift; //! aus dieser Datei
  13. //! Speichert die Alphawerte eines Zeichens einer bestimmten Schrift
  14. //! Die anderen Farbwerte werden durch die Schriftfarbe bestimmt. Daher nur die Alpha werte.
  15. class Buchstabe
  16. {
  17. private:
  18. Punkt size;
  19. unsigned char *alpha;
  20. int schriftSize;
  21. int ref;
  22. public:
  23. //! Erstellt ein neues leeres Zeichnung
  24. __declspec( dllexport ) Buchstabe();
  25. //! Löscht das Zeichnung
  26. __declspec( dllexport ) ~Buchstabe();
  27. //! Erstellt einen neuen Buchstaben mit bestimmter Größe
  28. //! \param size Die Größe des Buchstabens in Pixel
  29. __declspec( dllexport ) void NeuBuchstabe( Punkt &size );
  30. //! Setzt den Alphawert eines bestimmten Pixels
  31. //! \param pos Die position des Pixels
  32. //! \param alpha Der Wert des Pixels
  33. __declspec( dllexport ) void setPixel( Punkt &pos, unsigned char alpha );
  34. //! Setzt den Alphawert eines bestimmten Pixels
  35. //! \param x die x Position des Pixels
  36. //! \param y die y Position des Pixels
  37. //! \param alpha Der Wert des Pixels
  38. __declspec( dllexport ) void setPixel( int x, int y, unsigned char alpha );
  39. //! Setzt den Alphawert eines bestimmten Pixels
  40. //! \param i der Index des Pixels. Er berechnet sich durch x + y * breite und geht von 0 bis breite * höhe - 1
  41. //! \param alpha Der Wert des Pixels
  42. __declspec( dllexport ) void setPixel( int i, unsigned char alpha );
  43. //! Setzt die Schriftgröße, zu der der Buchstabe gehört
  44. //! \param sg Die Schriftgröße des Buchstabens.
  45. __declspec( dllexport ) void setSchriftSize( int sg );
  46. //! Gibt die Schriftgröße zurück, zu der der Buchstabe gehört
  47. __declspec( dllexport ) int getSchriftSize() const;
  48. //! Gibt die alpha Werte des Buchstabens als array zurück wobei die werte Zeilenweise hintereinander stehen
  49. __declspec( dllexport ) unsigned char *getBuff() const;
  50. //! Gibt die Größe des Buchstabens in Pixeln nicht skalliert zurück.
  51. __declspec( dllexport ) const Punkt &getSize() const;
  52. //! Gibt die Breite des Buchstabens in Pixeln zurück
  53. __declspec( dllexport ) int getBreite() const;
  54. //! Gibt die Höhe des Buchstabens in Pixeln zurück
  55. __declspec( dllexport ) int getHeight() const;
  56. //! Erhöht den Reference Counting Zähler.
  57. //! \return this.
  58. __declspec( dllexport ) Buchstabe *getThis();
  59. //! Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  60. //! \return 0.
  61. __declspec( dllexport ) Buchstabe *release();
  62. };
  63. //! Speichert alle Buchstaben der selben Schriftgröße.
  64. //! Wird von der Schrift klasse verwendet
  65. class Alphabet
  66. {
  67. private:
  68. Buchstabe **zeichen;
  69. int schriftSize;
  70. int ref;
  71. public:
  72. //! Erzeugt ein leeres Zeichnung
  73. __declspec( dllexport ) Alphabet();
  74. //! Löscht ein Zeichnung
  75. __declspec( dllexport ) ~Alphabet();
  76. //! Löscht alle gespeicherten Zeichen
  77. __declspec( dllexport ) void NeuAlphabet();
  78. //! Fügt dem Alphabet einen Buchstaben hinzu
  79. //! Wenn der hinzugefügte Buchstabe bereits existiert wird er überschrieben
  80. //! \param i Der ASCII code des Buchstaben, der hinzugefügt werden soll
  81. //! \param buchstabe Der Buchstabe, der hinzugefügt wird
  82. __declspec( dllexport ) void setBuchstabe( unsigned char i, Buchstabe *buchstabe );
  83. //! Setzt die Schriftgröße des Alphabets und die der gespeicherten buchstaben
  84. //! \param gr Die Schriftgröße des Alphabets
  85. __declspec( dllexport ) void setSchriftSize( int gr );
  86. //! Gibt den gespeicherten Buchstaben zu einem bestimmten ASCII Zeichen zurück
  87. //! \param i Der ASCII code des Zeichens
  88. //! \return Ein Zeiger zu dem Buchstaben mit erhöhtem Reference Counter
  89. __declspec( dllexport ) Buchstabe *getBuchstabe( unsigned char i ) const;
  90. //! Gibt den gespeicherten Buchstaben zu einem bestimmten ASCII Zeichen zurück
  91. //! \param i Der ASCII code des Zeichens
  92. //! \return Ein Zeiger zu dem Buchstaben ohne erhöhtem Reference Counter
  93. __declspec( dllexport ) Buchstabe *zBuchstabe( unsigned char i ) const;
  94. //! Prüft, ob zu einem bestimmten ASCII code ein Zeichen vorhanden ist
  95. //! \param b Der zu prüfende ASCII code
  96. //! \return (true), wenn ein Zeichen zu dem Code gefunden wurde. (false) sonnst
  97. __declspec( dllexport ) bool hatBuchstabe( unsigned char b ) const;
  98. //! Gibt die Schriftgröße zurück, deren Zeichen in diesem Alphabet gespeichert werden
  99. __declspec( dllexport ) int getSchriftSize() const;
  100. //! Erhöht den Reference Counting Zähler.
  101. //! \return this.
  102. __declspec( dllexport ) Alphabet *getThis();
  103. //! Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  104. //! \return 0.
  105. __declspec( dllexport ) Alphabet *release();
  106. };
  107. //! Specihert eine Liste von Alphabeten mit verschiedener Schriftgröße.
  108. //! Wird von der Schrift Klasse verwendet, um alle Zeichen der Schriftgröße nach sortiert zu speichern.
  109. class AlphabetArray
  110. {
  111. private:
  112. AlphabetArray *next;
  113. Alphabet *This;
  114. public:
  115. //! Erzeugt eine neue Liste
  116. __declspec( dllexport ) AlphabetArray();
  117. //! Löscht eine Liste
  118. __declspec( dllexport ) ~AlphabetArray();
  119. //! Fügt der Liste ein Alphabet hinzu
  120. //! Wenn bereits ein Alphabet mit der selben Schriftgröße existiert, wird das Alphabet nicht hinzugefügt
  121. //! \param alphabet Das Alphabet, welches hinzugefügt werden soll
  122. //! \return (true), wenn das Alphabet hinzugefügt wurde. (false) sonnst.
  123. __declspec( dllexport ) bool addAlphabet( Alphabet *alphabet );
  124. //! Löscht ein Alphabet bestimmter Schriftgröße aus der Liste
  125. //! \param sg Die Schriftgröße des Alphabets, welches entfernt werden soll
  126. //! \return (true), wenn ein Alphabet entfernt wurde. (false) sonnst
  127. __declspec( dllexport ) bool removeAlphabet( int sg );
  128. //! Setzt den Zeiger auf das nächste Element der Liste auf 0
  129. __declspec( dllexport ) void setNext0();
  130. //! Gibt ein bestimmtes Alphabet mit erhöhtem Reference Counter zurück
  131. //! \param sg Die Schriftgröße, dessen Alphabet gesucht werden soll
  132. //! \return (0), fals kein passendes Alphabet gefunden wurde
  133. __declspec( dllexport ) Alphabet *getAlphabet( unsigned char sg ) const;
  134. //! Gibt ein bestimmtes Alphabet ohne erhöhtem Reference Counter zurück
  135. //! \param sg Die Schriftgröße, dessen Alphabet gesucht werden soll
  136. //! \return (0), fals kein passendes Alphabet gefunden wurde
  137. __declspec( dllexport ) Alphabet *zAlphabet( unsigned char sg ) const;
  138. //! Gibt ein bestimmtes Alphabet mit erhöhtem Reference Counter zurück
  139. //! \param index Der Index des gesuchten Alphabets in der Reihenfolge wie sie der Liste hinzugefügt wurden
  140. //! \param count Hier sollte 0 übergeben werden. Gibt an auf dem wievielten Element der Liste die Funktion aufgerufen wird.
  141. //! \return (0), fals kein passendes Alphabet gefunden wurde
  142. __declspec( dllexport ) Alphabet *getAlphabetI( int index, int count ) const;
  143. //! Gibt ein bestimmtes Alphabet ohne erhöhtem Reference Counter zurück
  144. //! \param index Der Index des gesuchten Alphabets in der Reihenfolge wie sie der Liste hinzugefügt wurden
  145. //! \param count Hier sollte 0 übergeben werden. Gibt an auf dem wievielten Element der Liste die Funktion aufgerufen wird.
  146. //! \return (0), fals kein passendes Alphabet gefunden wurde
  147. __declspec( dllexport ) Alphabet *zAlphabetI( int index, int count ) const;
  148. //! Gibt einen Zeiger auf das nächste Element der Liste zurück
  149. __declspec( dllexport ) AlphabetArray *getNext() const;
  150. };
  151. //! Speichert alle Buchstaben einer Schrift in verschiedenen Schriftgrößen
  152. class Schrift
  153. {
  154. private:
  155. unsigned char alphabetAnzahl;
  156. AlphabetArray *alphabet;
  157. int ref;
  158. public:
  159. //! Erzeugt eine leere Schrift
  160. __declspec( dllexport ) Schrift();
  161. //! Löscht ein Zeichnung
  162. __declspec( dllexport ) ~Schrift();
  163. //! Fügt der Schrift ein Alphabet hinzu. Sollte bereits ein Alphabet der selben Schriftgröße existieren, wird das Alphabet nicht hinzugefügt
  164. //! \param alphabet Das Alphabet, welches hinzugefügt werden soll
  165. //! \return (true), wenn das Alphabet hinzugefügt wurde. (false) sonnst
  166. __declspec( dllexport ) bool addAlphabet( Alphabet *alphabet );
  167. //! Löscht ein bestimmtes Alphabet aus der Schrift
  168. //! \param sg Die Schriftgröße, deren Alphabet entfernt werden soll
  169. __declspec( dllexport ) void removeAlphabet( int sg );
  170. //! Gibt ein bestimmtes Alphabet mit erhöhtem Reference Counter zurück
  171. //! \param sg Die Schriftgröße, dessen Alphabet gesucht werden soll
  172. //! \return (0), fals kein passendes Alphabet gefunden wurde
  173. __declspec( dllexport ) Alphabet *getAlphabet( int sg ) const;
  174. //! Gibt ein bestimmtes Alphabet ohne erhöhtem Reference Counter zurück
  175. //! \param sg Die Schriftgröße, dessen Alphabet gesucht werden soll
  176. //! \return (0), fals kein passendes Alphabet gefunden wurde
  177. __declspec( dllexport ) Alphabet *zAlphabet( int sg ) const;
  178. //! Gibt ein bestimmtes Alphabet mit erhöhtem Reference Counter zurück
  179. //! \param index Der Index des gesuchten Alphabets in der Reihenfolge wie sie der Liste hinzugefügt wurden
  180. //! \return (0), fals kein passendes Alphabet gefunden wurde
  181. __declspec( dllexport ) Alphabet *getAlphabetI( int index ) const;
  182. //! Gibt ein bestimmtes Alphabet ohne erhöhtem Reference Counter zurück
  183. //! \param index Der Index des gesuchten Alphabets in der Reihenfolge wie sie der Liste hinzugefügt wurden
  184. //! \return (0), fals kein passendes Alphabet gefunden wurde
  185. __declspec( dllexport ) Alphabet *zAlphabetI( int index ) const;
  186. //! Gibt zurück, wie viele Alphabete (und damit Schriftgrößen) in der Schrift enthalten sind
  187. __declspec( dllexport ) unsigned char getAlphabetAnzahl() const;
  188. //! Erhöht den Reference Counting Zähler.
  189. //! \return this.
  190. __declspec( dllexport ) Schrift *getThis();
  191. //! Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  192. //! \return 0.
  193. __declspec( dllexport ) Schrift *release();
  194. };
  195. class TextRenderer
  196. {
  197. protected:
  198. Schrift *s;
  199. int schriftSize;
  200. int zeilenAbstand;
  201. int zeichenAbstand;
  202. int ref;
  203. public:
  204. __declspec( dllexport ) TextRenderer();
  205. __declspec( dllexport ) TextRenderer( Schrift *schrift );
  206. __declspec( dllexport ) virtual ~TextRenderer();
  207. __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
  208. __declspec( dllexport ) Schrift *getSchrift();
  209. __declspec( dllexport ) Schrift *zSchrift();
  210. //! Setzt die Schriftgröße, in der gezeichnet werden soll. Die Schrift wählt automatisch das passende Alphabet zum Zeichnen
  211. //! \param sg Die Schriftgröße
  212. __declspec( dllexport ) void setSchriftSize( int sg );
  213. //! Setzt den Zeilenabstand, der zum zeichnen verwendet werden soll
  214. //! \param za Der Zeilenabstand zum unteren Ende der darüber liegenden zeile in Pixeln
  215. __declspec( dllexport ) void setZeilenAbstand( int za );
  216. //! Setzt den Zeichenabstand, der zum zeichnen verwendet werden soll
  217. //! \param za Der Zeichenabstand zum unteren Ende der darüber liegenden zeile in Pixeln
  218. __declspec( dllexport ) void setZeichenAbstand( int za );
  219. //! Fügt Zeilenumbrüche in den Text ein, so dass er bei einer vorgegebenen Breite follständig angezeigt wird
  220. //! \param zText Der text, in den die Zeilenumbrüche eingefügt werden sollen
  221. //! \param maxBreite Die Breite in Pixeln auf der der Text follständig angezeigt werden soll
  222. __declspec( dllexport ) virtual void textFormatieren( Text *zText, int maxBreite );
  223. //! Zeichnet einen Bestimmten Text mit Cursor und einfärbung auf ein Bild
  224. //! Nutze (setPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
  225. //! \param x x position des ersten zeichens
  226. //! \param y y position des ersten zeichens
  227. //! \param txt Der Text, der gezeichnet werden soll
  228. //! \param zRObj Das Bild, auf das gezeichnet werden soll
  229. //! \param cpos Die position des Cursors im Text
  230. //! \param cf Die Farbe des Cursors
  231. //! \param fbeg Die Position des Zeichens im Text, wo die Einfärbung beginnen soll. Der Text wird von dort bis zur Cursorposition eingefärbt
  232. //! \param ff Die Hintergrund Farbe des eingefärbten Textes
  233. //! \param f Eine Funktion die für jeden Buchstaben aufgerufen wird und seine Farbe zurückgibt
  234. __declspec( dllexport ) virtual void renderText( int x, int y, const char *txt, Bild &zRObj, std::function< int( int, int, int ) > f, int cpos = -1, int cf = 0, int fbeg = -1, int ff = 0 );
  235. //! Zeichnet einen Bestimmten Text mit Cursor und einfärbung auf ein Bild
  236. //! Nutze (setPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
  237. //! \param x x position des ersten zeichens
  238. //! \param y y position des ersten zeichens
  239. //! \param txt Der Text, der gezeichnet werden soll
  240. //! \param zRObj Das Bild, auf das gezeichnet werden soll
  241. //! \param cpos Die position des Cursors im Text
  242. //! \param cf Die Farbe des Cursors
  243. //! \param fbeg Die Position des Zeichens im Text, wo die Einfärbung beginnen soll. Der Text wird von dort bis zur Cursorposition eingefärbt
  244. //! \param ff Die Hintergrund Farbe des eingefärbten Textes
  245. //! \param f Die Farbe, in der der Text gezeichnet werden soll
  246. __declspec( dllexport ) virtual void renderText( int x, int y, const char *txt, Bild &zRObj, int f, int cpos = -1, int cf = 0, int fbeg = -1, int ff = 0 );
  247. //! Zeichnet einen Bestimmten Buchstaben mit einfärbung auf ein Bild
  248. //! Nutze (setPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
  249. //! \param x x position des ersten zeichens
  250. //! \param y y position des ersten zeichens
  251. //! \param txt Der Text, der gezeichnet werden soll
  252. //! \param zRObj Das Bild, auf das gezeichnet werden soll
  253. //! \param color Die Farbe, in der der Text gezeichnet werden soll
  254. //! \param underlined 1, falls der Text unterstrichen sein soll
  255. //! \param selected 1, falls das zeichen eingefärbt sein soll
  256. //! \param selectedBackgroundColor Die Hintergrund Farbe des eingefärbten Textes
  257. __declspec( dllexport ) virtual void renderChar( int &x, int y, char c, Bild &zRObj, int color, bool underlined = 0, bool selected = 0, int selectedBackgroundColor = 0 );
  258. //! Gibt die Schriftgröße zurück, die zum Zeichnen verwendet wird
  259. __declspec( dllexport ) int getSchriftSize() const;
  260. //! Gibt den Abstand in Pixeln zum unteren Ende der darüber ligenden Zeile zurück
  261. __declspec( dllexport ) int getZeilenabstand() const;
  262. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
  263. //! \param txt Der Text, von dem die Breite in Pixeln ermitelt werden soll
  264. __declspec( dllexport ) virtual int getTextBreite( const char *txt ) const;
  265. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
  266. //! \param txt Der Text, von dem die Höhe in Pixeln ermitelt werden soll
  267. __declspec( dllexport ) virtual int getTextHeight( const char *txt ) const;
  268. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Buchstaben vollständig darzustellen
  269. //! \param c Der Buchstabe, von dem die Breite in Pixeln ermitelt werden soll
  270. __declspec( dllexport ) virtual int getCharWidth( const char c ) const;
  271. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
  272. //! \param c Der Buchstabe, von dem die Höhe in Pixeln ermitelt werden soll
  273. __declspec( dllexport ) virtual int getCharHeight( const char c ) const;
  274. //! Gibt den Abstand in Pixeln zum unteren Ende der darüber ligenden Zeile zurück
  275. __declspec( dllexport ) int getZeilenAbstand() const;
  276. //! Gibt den Abstand in Pixeln zum zwischen zwei zeichen auf der x Achse zurück
  277. __declspec( dllexport ) int getZeichenAbstand() const;
  278. //! Gibt die skallierte Höhe zurück, die eine gezeichnete Zeile in Pixeln benötigt
  279. __declspec( dllexport ) int getZeilenHeight() const;
  280. //! Ermittelt das Zeichen im Text, auf das die Maus zeigt
  281. //! \param zTxt Der Text, auf den die Maus Zeigt
  282. //! \param mausX Die X Position der Maus in Pixeln Relativ zur Position des ersten Zeichens
  283. //! \param mausY Die Y Position der Maus in Pixeln Relativ zur Position des ersten Zeichens
  284. __declspec( dllexport ) virtual int textPos( const char *txt, int mausX, int mausY ) const;
  285. //! Erhöht den Reference Counting Zähler.
  286. //! \return this.
  287. __declspec( dllexport ) TextRenderer *getThis();
  288. //! Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
  289. //! \return 0.
  290. __declspec( dllexport ) virtual TextRenderer *release();
  291. };
  292. class GravurTextRenderer : public TextRenderer
  293. {
  294. public:
  295. __declspec( dllexport ) GravurTextRenderer();
  296. __declspec( dllexport ) GravurTextRenderer( Schrift *schrift );
  297. __declspec( dllexport ) virtual ~GravurTextRenderer();
  298. //! Zeichnet einen Bestimmten Buchstaben mit einfärbung auf ein Bild
  299. //! Nutze (setPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
  300. //! \param x x position des ersten zeichens
  301. //! \param y y position des ersten zeichens
  302. //! \param txt Der Text, der gezeichnet werden soll
  303. //! \param zRObj Das Bild, auf das gezeichnet werden soll
  304. //! \param color Die Farbe, in der der Text gezeichnet werden soll
  305. //! \param underlined 1, falls der Text unterstrichen sein soll
  306. //! \param selected 1, falls das zeichen eingefärbt sein soll
  307. //! \param selectedBackgroundColor Die Hintergrund Farbe des eingefärbten Textes
  308. __declspec( dllexport ) virtual void renderChar( int &x, int y, char c, Bild &zRObj, int color, bool underlined = 0, bool selected = 0, int selectedBackgroundColor = 0 );
  309. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Buchstaben vollständig darzustellen
  310. //! \param c Der Buchstabe, von dem die Breite in Pixeln ermitelt werden soll
  311. __declspec( dllexport ) virtual int getCharWidth( const char c ) const;
  312. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
  313. //! \param c Der Buchstabe, von dem die Höhe in Pixeln ermitelt werden soll
  314. __declspec( dllexport ) virtual int getCharHeight( const char c ) const;
  315. };
  316. class KursivTextRenderer : public TextRenderer
  317. {
  318. public:
  319. __declspec( dllexport ) KursivTextRenderer();
  320. __declspec( dllexport ) KursivTextRenderer( Schrift *schrift );
  321. __declspec( dllexport ) virtual ~KursivTextRenderer();
  322. //! Zeichnet einen Bestimmten Buchstaben mit einfärbung auf ein Bild
  323. //! Nutze (setPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
  324. //! \param x x position des ersten zeichens
  325. //! \param y y position des ersten zeichens
  326. //! \param txt Der Text, der gezeichnet werden soll
  327. //! \param zRObj Das Bild, auf das gezeichnet werden soll
  328. //! \param color Die Farbe, in der der Text gezeichnet werden soll
  329. //! \param underlined 1, falls der Text unterstrichen sein soll
  330. //! \param selected 1, falls das zeichen eingefärbt sein soll
  331. //! \param selectedBackgroundColor Die Hintergrund Farbe des eingefärbten Textes
  332. __declspec( dllexport ) virtual void renderChar( int &x, int y, char c, Bild &zRObj, int color, bool underlined = 0, bool selected = 0, int selectedBackgroundColor = 0 );
  333. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Buchstaben vollständig darzustellen
  334. //! \param c Der Buchstabe, von dem die Breite in Pixeln ermitelt werden soll
  335. __declspec( dllexport ) virtual int getCharWidth( const char c ) const;
  336. //! Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
  337. //! \param c Der Buchstabe, von dem die Höhe in Pixeln ermitelt werden soll
  338. __declspec( dllexport ) virtual int getCharHeight( const char c ) const;
  339. };
  340. }
  341. #endif