Zeichnung.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. #ifndef Zeichnung_H
  2. #define Zeichnung_H
  3. #include "Punkt.h"
  4. #include "MausEreignis.h"
  5. #include "TastaturEreignis.h"
  6. #include "Critical.h"
  7. #include <queue>
  8. #include <functional>
  9. namespace Framework
  10. {
  11. struct MausEreignis; // MausEreignis.h
  12. struct TastaturEreignis; // TastaturEreignis.h
  13. class Bild; // Bild.h
  14. class Zeichnung; // Aus dieser Datei
  15. class ToolTip; // ToopTip.h
  16. class Bildschirm; // Bildschirm.h
  17. class Rahmen; // Rahmen.h
  18. class AlphaFeld; // AlphaFeld.h
  19. class VScrollBar; // Scroll.h
  20. class HScrollBar; // Scroll.h
  21. class Schrift;
  22. // Eine Zeichnung für das 2D GUI Framework
  23. class Zeichnung
  24. {
  25. public:
  26. class Style
  27. {
  28. public:
  29. //! Wenn dieser Style gesetzt ist, wird die Zeichnung beim Zeichnen angezeigt
  30. const static __int64 Sichtbar = 0x00001;
  31. //! Wenn dieser Style gesetzt ist, kann der Benutzer mit der Zeichnung interagieren
  32. const static __int64 Erlaubt = 0x00002;
  33. //! Wenn dieser Style gesetzt ist, werden die Tastatur Ereignisse von der Zeichnung verarbeitet
  34. const static __int64 Fokus = 0x00004;
  35. //! Wenn dieser Style gesetzt ist, werden Maus Ereignisse auch verarbeitet, wenn das Objekt nicht sichtbar ist
  36. const static __int64 MEIgnoreSichtbar = 0x0800000000000000;
  37. //! Wenn dieser Style gesetzt ist, lockt der Thread das Objekt während das Maus ereignis verarbeitet wird
  38. const static __int64 MELockZeichnung = 0x1000000000000000;
  39. //! Wenn dieser Style gesetzt ist, werden maus ereignisse auch verarbeitet, wenn sie außerhalb der Zeichnung sind
  40. const static __int64 MEIgnoreInside = 0x2000000000000000;
  41. //! Wenn dieser Style gesetzt ist, werden maus ereignisse auch verarbeitet, wenn verarbeitet des Mausereignisses 1 ist
  42. const static __int64 MEIgnoreVerarbeitet = 0x4000000000000000;
  43. //! Wenn dieser Style gesetzt ist, werden maus ereignisse auch verarbeitet, wenn insideParent des Mausereignisses 0 ist
  44. const static __int64 MEIgnoreParentInside = 0x8000000000000000;
  45. };
  46. protected:
  47. Punkt pos;
  48. Punkt gr;
  49. void *makParam;
  50. void *takParam;
  51. MausAktion mak;
  52. TastaturAktion tak;
  53. void *nmakParam;
  54. void *ntakParam;
  55. MausAktion nMak;
  56. TastaturAktion nTak;
  57. bool mausIn;
  58. Critical cs;
  59. ToolTip *toolTip;
  60. __int64 style;
  61. bool rend;
  62. std::queue< std::function< void() > > actions;
  63. std::function< void( Zeichnung * ) > onNeedToolTip;
  64. int ref;
  65. // Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
  66. // me: Das Ereignis
  67. __declspec( dllexport ) virtual void doMausEreignis( MausEreignis &me, bool userRet );
  68. public:
  69. // Konstruktor
  70. __declspec( dllexport ) Zeichnung();
  71. // Destruktor
  72. __declspec( dllexport ) virtual ~Zeichnung();
  73. // Übergibt einen Void Funktionspointer auf eine Aktion die einmalig vom Hauptthread ausgeführt werden soll. (Passiert nach dem Tick)
  74. __declspec( dllexport ) void postAction( std::function< void() > action );
  75. // Legt fest, ob sich die Zeichnung seit des letzten Bildes verändert hat und neu gezeichnet werden muss
  76. __declspec( dllexport ) void setRender();
  77. // Setzt den Text, der erscheint, wenn der Benutzer für längere Zeit mit der Maus in der Zeichnung verweilt
  78. // txt: Der Text, der angezeigt werden soll
  79. // zScreen: Ein Zeiger auf das Verwendete Bildschirm Objekt ohne erhöhten Reference Counter
  80. // zSchrift: Ein Zeiger auf die Schrift, die verwendet werden soll ohne erhöhten Reference Counter
  81. __declspec( dllexport ) void setToolTipText( const char *txt, Bildschirm *zScreen, Schrift *zSchrift );
  82. // setzt eine Funktion, die aufgerufen wird, falls ein Tooltip benötigt wird und noch keiner gesetzt wurde
  83. // initToolTip: die Funktion
  84. __declspec( dllexport ) void setNeedToolTipEvent( std::function< void( Zeichnung * ) > onNeedTooltip );
  85. // legt den tooltip fest
  86. // tt: der tooltip
  87. __declspec( dllexport ) void setToolTipZ( ToolTip *tt );
  88. // Dies ist notwendig, falls mehrere Threads gleichzeitig die Zeichnung benutzen.
  89. // Wenn lockZeichnung() von zwei threads aufgerufen wird, wartet der letzte so lange, bis der erste unlockZeichnung() aufgerufen hat.
  90. __declspec( dllexport ) void lockZeichnung();
  91. // Dies ist notwendig, falls mehrere Threads gleichzeitig die Zeichnung benutzen.
  92. // Wenn lockZeichnung() von zwei threads aufgerufen wird, wartet der letzte so lange, bis der erste unlockZeichnung() aufgerufen hat.
  93. __declspec( dllexport ) void unlockZeichnung();
  94. // setzt den Parameter, der bei einem Maus Ereignis an die Rückruffunktion übergeben wird
  95. // p: Der Parameter
  96. __declspec( dllexport ) void setMausEreignisParameter( void *p );
  97. // Setzt den Parameter, der bei einem Tastatur Ereignis an die Rückruffunktion übergeben wird
  98. // p: Der Parameter
  99. __declspec( dllexport ) void setTastaturEreignisParameter( void *p );
  100. // Setzt die Rückruffunktion, die bei einem Maus Ereignis aufgerufen werden soll.
  101. // Wenn die Rückruffunktion 0 zurückgiebt, oder nicht gesetzt wurde, wird ein Maus Ereignis von der Zeichnung nicht weiter beachtet
  102. // Es kann die Standartfunktion __ret1ME verwendet werden, die in MausEreignis.h definiert ist und immer 1 zurückgibt
  103. // ak: Ein Zeiger auf die Rückruffunktion
  104. __declspec( dllexport ) void setMausEreignis( MausAktion ak );
  105. // Setzt die Rückruffunktion, die bei einem Tastatur Ereignis aufgerufen werdne soll.
  106. // Wenn die Rückruffunktion 0 zurückgiebt, oder nicht gesetzt wurde, wird ein Tastatur Ereignis von der Zeichnung nicht weiter beachtet
  107. // Es kann die Standartfunktion __ret1TE verwendet werden, die in TastaturEreignis.h definiert ist und immer 1 zurückgibt
  108. // Weitere Standartfunktionen sind _nurNummernTE und _nurHexTE ebenfals aus TastaturEreignis.h
  109. // ak: Ein Zeiger auf die Rückruffunktion
  110. __declspec( dllexport ) void setTastaturEreignis( TastaturAktion ak );
  111. // setzt den Parameter, der bei einem Maus Ereignis an die Rückruffunktion übergeben wird, die aufgerufen wird, fals das Ereignis von der Zeichnung verarbeitet wurde
  112. // p: Der Parameter
  113. __declspec( dllexport ) void setNMausEreignisParameter( void *p );
  114. // Setzt den Parameter, der bei einem Tastatur Ereignis an die Rückruffunktion übergeben wird, die aufgerufen wird, fals das Ereignis von der Zeichnung verarbeitet wurde
  115. // p: Der Parameter
  116. __declspec( dllexport ) void setNTastaturEreignisParameter( void *p );
  117. // Setzt die Rückruffunktion, die bei einem Maus Ereignis aufgerufen werden soll, nachdem das Ereignis bereits von der Zeichnung verarbeitet wurde
  118. // Wenn die Rückruffunktion 1 zurückgiebt, oder nicht gesetzt wurde, wird das Maus Ereignis von keiner weiteren Zeichnung verarbeitet, die zum Beispiel hinter dieser Zeichnung liegen
  119. // Es kann die Standartfunktion __ret1ME verwendet werden, die in MausEreignis.h definiert ist und immer 1 zurückgibt
  120. // ak: Ein Zeiger auf die Rückruffunktion
  121. __declspec( dllexport ) void setNMausEreignis( MausAktion ak );
  122. // Setzt die Rückruffunktion, die bei einem Tastatur Ereignis aufgerufen werdne soll, nachdem das Ereignis bereits von der Zeichnung verarbeitet wurde
  123. // Wenn die Rückruffunktion 1 zurückgiebt, oder nicht gesetzt wurde, wird das Tastatur Ereignis von keiner weiteren Zeichnung verarbeitet
  124. // Es kann die Standartfunktion __ret1TE verwendet werden, die in TastaturEreignis.h definiert ist und immer 1 zurückgibt
  125. // Weitere Standartfunktionen sind _nurNummernTE und _nurHexTE ebenfals aus TastaturEreignis.h
  126. // ak: Ein Zeiger auf die Rückruffunktion
  127. __declspec( dllexport ) void setNTastaturEreignis( TastaturAktion ak );
  128. // Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
  129. // me: Das Ereignis
  130. __declspec( dllexport ) virtual void doPublicMausEreignis( MausEreignis &me );
  131. // Verarbeitet ein Tastatur Ereignis. Wird vom Framework automatisch aufgerufen
  132. // te: Das Ereignis
  133. __declspec( dllexport ) virtual void doTastaturEreignis( TastaturEreignis &te );
  134. // Verarbeitet die Zeit, die seit dem letzten aufruf dieser Funktion vergangen ist
  135. // tickVal: Die vergangene Zeit in Sekunden
  136. __declspec( dllexport ) virtual bool tick( double tickval );
  137. // Setzt die Position der Zeichnung
  138. // pos: Die Position in Pixeln
  139. __declspec( dllexport ) void setPosition( const Punkt &pos );
  140. // Setzt die X Position der Zeichnung
  141. // xPos: Die Position in Pixeln
  142. __declspec( dllexport ) void setX( int xPos );
  143. // Setzt die Y Position der Zeichnung
  144. // yPos: Die Position in Pixeln
  145. __declspec( dllexport ) void setY( int yPos );
  146. // Setzt die Größe der Zeichnung
  147. // gr: Ein Punkt mit x als Breite und y als Höhe in Pixeln
  148. __declspec( dllexport ) void setSize( const Punkt &gr );
  149. // Setzt die Position der Zeichnung
  150. // x: Die X Position in Pixeln
  151. // y: Die Y Position in Pixeln
  152. __declspec( dllexport ) void setPosition( int x, int y );
  153. // Setzt die Größe der Zeichnung
  154. // br: Die Breite in Pixeln
  155. // height: Die Höhe in Pixeln
  156. __declspec( dllexport ) void setSize( int br, int height );
  157. // Setzt den Style der Zeichnung
  158. // style: Der neue Style bestehend aus den Flags aus der zugehörigen Style Klasse
  159. __declspec( dllexport ) void setStyle( __int64 style );
  160. // Setzt den Style der Zeichnung
  161. // style: Alle Style Flags, die verändert werden sollen
  162. // add_remove: 1, falls der Style hinzugefügt werden soll. 0, falls der Style entfernt weden soll
  163. __declspec( dllexport ) void setStyle( __int64 style, bool add_remove );
  164. // Fügt Style Flags hinzu
  165. // style: Der Style, der hinzugefügt werden soll
  166. __declspec( dllexport ) void addStyle( __int64 style );
  167. // Entfernt Style Flags
  168. // style: Der Style, der entfernt werden soll
  169. __declspec( dllexport ) void removeStyle( __int64 style );
  170. // Zeichnet die Zeihnung in ein bestimmtes Bild
  171. // zRObj: Das Bild, in das gezeichnet werden soll
  172. __declspec( dllexport ) virtual void render( Bild &zRObj );
  173. // Gibt zurück, ob eine Rückruffunktion für Maus Ereignisse gesetzt wurde
  174. __declspec( dllexport ) bool hatMausEreignis() const;
  175. // Gibt zurück, ob eine Rückruffunktion für Tastatur Ereignisse gesetzt wurde
  176. __declspec( dllexport ) bool hatTastaturEreignis() const;
  177. // Gibt die Position der Zeichnung in Pixeln zurück
  178. __declspec( dllexport ) const Punkt &getPosition() const;
  179. // Gibt die Größe der Zeichnung in Pixeln zurück. x für Breite und y für Höhe
  180. __declspec( dllexport ) const Punkt &getSize() const;
  181. // Gibt die Breite der Zeichnung in Pixeln zurück
  182. __declspec( dllexport ) int getBreite() const;
  183. // Gibt die Höhe der Zeichnung in Pixeln zurück
  184. __declspec( dllexport ) int getHeight() const;
  185. // Gibt die Breite des Innenraumes in der Zeichnung in Pixeln zurück
  186. __declspec( dllexport ) virtual int getInnenBreite() const;
  187. // Gibt die Höhe des Innenraumes in der Zeichnung in Pixeln zurück
  188. __declspec( dllexport ) virtual int getInnenHeight() const;
  189. // Gibt die X Position der Zeichnung in Pixeln zurück
  190. __declspec( dllexport ) int getX() const;
  191. // Gibt die Y Position der Zeichnung in Pixeln zurück
  192. __declspec( dllexport ) int getY() const;
  193. // Prüft, ob ein Punkt in diesem Objekt liegt
  194. // p: der Punkt
  195. // return: 1, wenn der punkt innen ist, 0 sonst
  196. __declspec( dllexport ) virtual bool istPunktInnen( Punkt p ) const;
  197. // Prüft, ob ein Punkt in diesem Objekt liegt
  198. // x: die x koordinate des punktes
  199. // y: die y koordinate des punktes
  200. // return: 1, wenn der punkt innen ist, 0 sonst
  201. __declspec( dllexport ) virtual bool istPunktInnen( int x, int y ) const;
  202. // Gibt einen Zeiger auf das Tooltip Objekt zurück, walls es verwendet wird
  203. __declspec( dllexport ) ToolTip *getToolTip() const;
  204. // Gibt einen Zeiger auf das Tooltip Objekt ohne erhöhten Reference Counter zurück, walls es verwendet wird
  205. __declspec( dllexport ) ToolTip *zToolTip() const;
  206. // Gibt zurück, ob bestimmte Styles gesetzt wurden
  207. // style: Die Styles, die überprüft werden sollen
  208. // return: 1, falls alle Styles in style gesetzt wurden
  209. __declspec( dllexport ) bool hatStyle( __int64 style ) const;
  210. // Gibt zurück, ob bestimmte Styles nicht gesetzt wurden
  211. // style: Die Styles, die geprüft werden sollen
  212. // return: 1, falls alle Styles in style nicht gesetzt wurden
  213. __declspec( dllexport ) bool hatStyleNicht( __int64 style ) const;
  214. // Kopiert die Komplette Zeichnung, so dass sie ohne Effekt auf das Original verändert werden kann
  215. __declspec( dllexport ) virtual Zeichnung *dublizieren() const;
  216. // Erhöht den Reference Counting Zähler.
  217. // return: this.
  218. __declspec( dllexport ) Zeichnung *getThis();
  219. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  220. // return: 0.
  221. __declspec( dllexport ) virtual Zeichnung *release();
  222. };
  223. // Eine Zeichnung für das 2D GUI Framework mit Hintergrund, Rahmen und Scroll Balken
  224. class ZeichnungHintergrund : public Zeichnung
  225. {
  226. public:
  227. class Style : public Zeichnung::Style
  228. {
  229. public:
  230. const static __int64 Rahmen = 0x00010; // Wenn dieser Flag gesetzt wird, bekommt die Zeichnugn einen Rahmen
  231. const static __int64 Hintergrund = 0x00020; // Wenn dieser Flag gesetzt wird, bekommt die Zeichnung einen Hintergrund
  232. const static __int64 HAlpha = 0x00040; // Wenn dieser Flag gesetzt wird, wird der Hintergrund durchsichtig. Benötigt Flag Hintergrund
  233. const static __int64 HBild = 0x00080; // Wenn dieser Flag gesetzt wird, wird ein Bild als hintergrund verwendet. Benötigt Flag Hintergrund
  234. const static __int64 Buffered = 0x00100; // Wenn dieser Flag gesetzt wird, Erscheint ein Farbübergang als Rahmen
  235. const static __int64 VScroll = 0x00200; // Wenn dieser Flag gesetzt wird, erscheint eine Scrollbar am rechten Rand
  236. const static __int64 HScroll = 0x00400; // Wenn dieser Flag gesetzt wird, erscheint eine Scrollbar am unteren Rand
  237. };
  238. protected:
  239. int hintergrundFarbe;
  240. Rahmen *rahmen;
  241. Bild *hintergrundBild;
  242. AlphaFeld *hintergrundFeld;
  243. VScrollBar *vertikalScrollBar;
  244. HScrollBar *horizontalScrollBar;
  245. Punkt innenPosition;
  246. Punkt innenSize;
  247. public:
  248. // Konstruktor
  249. __declspec( dllexport ) ZeichnungHintergrund();
  250. // Destruktor
  251. __declspec( dllexport ) virtual ~ZeichnungHintergrund();
  252. // Setzt das Hintergrund Bild (benötigt Flag zum Zeichnen: Hintergrund, HBild)
  253. // bild: Das Bild wird kopiert und als Hintergrundbild verwendet
  254. __declspec( dllexport ) void setHintergrundBild( Bild *bild );
  255. // Setzt einen Zeiger auf das Hintergrund Bild (benötigt Flag zum Zeichnen: Hintergrund)
  256. // bild: Das Bild wid ohne es zu kopieren verwendet
  257. __declspec( dllexport ) void setHintergrundBildZ( Bild *bild );
  258. // Setzt die Hintergrund Farbe (benötigt Flag zum Zeichnen: Hintergrund)
  259. // fc: Die Hintergrundfarbe im A8R8G8B8 Format
  260. __declspec( dllexport ) void setHintergrundFarbe( int fc );
  261. // Setzt einen Zeiger auf das AlphaFeld (benötigt Flag zum Zeichnen: Buffered)
  262. // buff: Das AlphaFeld, das über den Hintergrund gezeichnet werden soll
  263. __declspec( dllexport ) void setAlphaFeldZ( AlphaFeld *buff );
  264. // Setzt die Stärke des AlphaFeldes (benötigt Flag zum Zeichnen: Buffered)
  265. // st: Die Stärke des AlphaFeldes, welches über dem Hintergrund gezeichnet werden soll
  266. __declspec( dllexport ) void setAlphaFeldStrength( int st );
  267. // Setzt die Farbe des AlphaFeldes (benötigt Flag zum Zeichnen: Buffered)
  268. // fc: Die Farbe des AlphaFeldes, welches über dem Hintergrund gezeichnet werden soll
  269. __declspec( dllexport ) void setAlphaFeldFarbe( int fc );
  270. // Setzt einen Zeiger zu dem Linien Rahmen, der um das TextFeld gezeichnet werden soll (benötigt Flag zum Zeichnen: Rahmen)
  271. // ram: Der Rahmen
  272. __declspec( dllexport ) void setRahmenZ( Rahmen *ram );
  273. // Setzt die Breite des Linien Rahmens (benötigt Flag zum Zeichnen: Rahmen)
  274. // br: Die Breite in Pixeln
  275. __declspec( dllexport ) void setRahmenBreite( int br );
  276. // Setzt die Farbe des Linien Rahmens (benötigt Flag zum Zeichnen: Rahmen)
  277. // fc: Die Farbe im A8R8G8B8 Format
  278. __declspec( dllexport ) void setRahmenFarbe( int fc );
  279. // Setzt die Scrollgeschwindigkeit der vertikalen ScrollBar (benötigt Flag zum Zeichnen: VScroll)
  280. // ks: Die Scrollgeschwindigkeit in Pixeln für jeden Maus Klick
  281. __declspec( dllexport ) void setVertikalKlickScroll( int ks );
  282. // Scrollt an eine Bestimmte Stelle bei der vertikalen ScrollBar (benötigt Flag zum Zeichnen: VScroll)
  283. // pos: Das Scroll Offset in Pixeln.
  284. __declspec( dllexport ) void setVertikalScrollPos( int pos );
  285. // Setzt die Farbe der vertikalen ScrollBar (benötigt Flag zum Zeichnen: VScroll)
  286. // f: Die Fordergrundfarbe der ScrollBar im A8R8G8B8 Format
  287. // bgF: Die Hintergrundfarbe der ScrollBar im A8R8G8B8 Format
  288. __declspec( dllexport ) void setVertikalScrollFarbe( int f, int bgF );
  289. // Setzt die Scrollgeschwindigkeit der horizontalen ScrollBar (benötigt Flag zum Zeichnen: HScroll)
  290. // ks: Die Scrollgeschwindigkeit in Pixeln für jeden Maus Klick
  291. __declspec( dllexport ) void setHorizontalKlickScroll( int ks );
  292. // Scrollt an eine Bestimmte Stelle bei der horizontalen ScrollBar (benötigt Flag zum Zeichnen: HScroll)
  293. // pos: Das Scroll Offset in Pixeln.
  294. __declspec( dllexport ) void setHorizontalScrollPos( int pos );
  295. // Setzt die Farbe der horizontalen ScrollBar (benötigt Flag zum Zeichnen: HScroll)
  296. // f: Die Fordergrundfarbe der ScrollBar im A8R8G8B8 Format
  297. // bgF: Die Hintergrundfarbe der ScrollBar im A8R8G8B8 Format
  298. __declspec( dllexport ) void setHorizontalScrollFarbe( int f, int bgF );
  299. // Updated den Zeichenhintergrund
  300. // tickVal: Die vergangene Zeit in Sekunden, die seit dem Letzten Aufruf dieser Funktion verstrichen ist
  301. // return: 1, wenn das Bild neu gezeichnet werden muss. 0 sonnst
  302. __declspec( dllexport ) bool tick( double tickVal ) override;
  303. // Zeichnet den Hintergrund eines Zeichnunges nach rObj
  304. __declspec( dllexport ) void render( Bild &rObj ) override;
  305. // Gibt die Breite des Innenraumes in der Zeichnung in Pixeln zurück
  306. __declspec( dllexport ) virtual int getInnenBreite() const override;
  307. // Gibt die Höhe des Innenraumes in der Zeichnung in Pixeln zurück
  308. __declspec( dllexport ) virtual int getInnenHeight() const override;
  309. // Gibt das Hintergrundbild zurück.
  310. // return: 0, falls kein Hintergrundbild verwendet wird
  311. __declspec( dllexport ) Bild *getHintergrundBild() const;
  312. // Gibt das Hintergrundbild ohne erhöhten reference Counter zurück.
  313. // return: 0, falls kein Hintergrundbild verwendet wird
  314. __declspec( dllexport ) Bild *zHintergrundBild() const;
  315. // Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück
  316. __declspec( dllexport ) int getHintergrundFarbe() const;
  317. // Gibt das AlphaFeld zurück, das über den Hintergrund gezeichnet wird.
  318. // return: 0, falls das AlphaFeld nicht definiert wurde
  319. __declspec( dllexport ) AlphaFeld *getAlphaFeld() const;
  320. // Gibt das AlphaFeld ohne erhöhten Reference Counter zurück, das über den Hintergrund gezeichnet wird.
  321. // return: 0, falls das AlphaFeld nicht definiert wurde
  322. __declspec( dllexport ) AlphaFeld *zAlphaFeld() const;
  323. // Git die Stärke des Alphafeldes zurück
  324. __declspec( dllexport ) int getAlphaFeldStrength() const;
  325. // Gibt die Farbe des Alphafedes im A8R8G8B8 Format zurück
  326. __declspec( dllexport ) int getAlphaFeldFarbe() const;
  327. // Gibt den Rahmen zurück
  328. // return: 0, falls kein Rahmen definiert wurde
  329. __declspec( dllexport ) Rahmen *getRahmen() const;
  330. // Gibt den Rahmen ohne erhöhten Reference Counter zurück
  331. // return: 0, falls kein Rahmen definiert wurde
  332. __declspec( dllexport ) Rahmen *zRahmen() const;
  333. // Gibt die Breite des Rahmens in Pixeln zurück
  334. __declspec( dllexport ) int getRahmenBreite() const;
  335. // Gibt die Farbe des Rahmens im A8R8G8B8 Format zurück
  336. __declspec( dllexport ) int getRahmenFarbe() const;
  337. // Gibt die Scroll geschwindigkeit der vertikalen Scroll Bar zurück
  338. __declspec( dllexport ) int getVertikalKlickScroll() const;
  339. // Gibt die Scroll Position der vertikalen Scroll Bar zurück
  340. __declspec( dllexport ) int getVertikalScrollPos() const;
  341. // Gibt die Farbe der vertikalen Scroll Bar im A8R8G8B8 Format zurück
  342. __declspec( dllexport ) int getVertikalScrollFarbe() const;
  343. // Gibt die Hintergrundfarbe der vertikalen Scroll Bar im A8R8G8B8 Format zurück
  344. __declspec( dllexport ) int getVertikalScrollHintergrund() const;
  345. // Gibt die Scroll geschwindigkeit der horizontalen Scroll Bar zurück
  346. __declspec( dllexport ) int getHorizontalKlickScroll() const;
  347. // Gibt die Scroll Position der horizontalen Scroll Bar zurück
  348. __declspec( dllexport ) int getHorizontalScrollPos() const;
  349. // Gibt die Farbe der horizontalen Scroll Bar im A8R8G8B8 Format zurück
  350. __declspec( dllexport ) int getHorizontalScrollFarbe() const;
  351. // Gibt die Hintergrundfarbe der horizontalen Scroll Bar im A8R8G8B8 Format zurück
  352. __declspec( dllexport ) int getHorizontalScrollHintergrund() const;
  353. // Erzeugt eine Kopie der Zeichnung, die ohne Auswirkungen auf das Original verändert werden kann
  354. __declspec( dllexport ) virtual Zeichnung *dublizieren() const;
  355. };
  356. }
  357. #endif