Schrift.h 22 KB

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