Knopf.h 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. #ifndef Knopf_H
  2. #define Knopf_H
  3. #include "TextFeld.h"
  4. namespace Framework
  5. {
  6. class TextFeld; // TextFeld.h
  7. class AlphaFeld; // AlphaFeld.h
  8. class Text; // Text.h
  9. class Schrift; // Schrift.h
  10. class LRahmen; // Rahmen.h
  11. class LTDBDatei; // Dateisystem.h
  12. class Knopf; // aus dieser Datei
  13. class KontrollKnopf; // aus dieser Datei
  14. class Knopf : public TextFeld
  15. {
  16. public:
  17. class Style : public ZeichnungHintergrund::Style
  18. {
  19. public:
  20. const static __int64 MehrfarbigText = 0x0010000;
  21. const static __int64 KlickFarbe = 0x0020000;
  22. const static __int64 KlickBild = 0x0040000;
  23. const static __int64 KlickAlpha = 0x0080000;
  24. const static __int64 KlickBuffer = 0x0100000;
  25. const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | Buffered | MehrfarbigText | KlickBuffer;
  26. };
  27. private:
  28. int klickFarbe;
  29. Bild *klickBild;
  30. AlphaFeld *klickBuffer;
  31. int klickIndex;
  32. int ref;
  33. public:
  34. // Konstruktor
  35. __declspec( dllexport ) Knopf();
  36. // Destruktor
  37. __declspec( dllexport ) ~Knopf();
  38. // nicht constant
  39. __declspec( dllexport ) void setKlickFarbe( int fc ); // setzt die Klick Farbe
  40. __declspec( dllexport ) void setKlickBild( Bild *bild ); // setzt das Klick Bild
  41. __declspec( dllexport ) void setKlickBildZ( Bild *bild ); // setzt einen Zeiger zum Klick Bild
  42. __declspec( dllexport ) void setKBZ( AlphaFeld *af );
  43. __declspec( dllexport ) void setKBStärke( int st ); // setzt die Stärke des Klick Buffers
  44. __declspec( dllexport ) void setKBFarbe( int fc ); // setzt die Farbe des Klick Buffers
  45. __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override; // Maus Ereignis
  46. __declspec( dllexport ) void render( Bild &zRObj ) override; // zeichenet nach zRObj
  47. // constant
  48. __declspec( dllexport ) int getKlickFarbe() const; // gibt getThis der Klick Farbe zurück
  49. __declspec( dllexport ) Bild *getKlickBild() const; // gibt getThis des Klick Bildes zurück
  50. __declspec( dllexport ) Bild *zKlickBild() const; // gibt einen Zeiger zum Klick Bild zurück
  51. __declspec( dllexport ) AlphaFeld *getKB() const; // gibt getThis des Klick Buffers zurück
  52. __declspec( dllexport ) AlphaFeld *zKB() const; // gibt den Klick Buffer zurück
  53. __declspec( dllexport ) int getKBFarbe() const; // gibt getThis der Farbe des Klick Buffers zurück
  54. __declspec( dllexport ) int getKBStärke() const; // gibt die Stärke des Klickbuffers zurück
  55. __declspec( dllexport ) Zeichnung *dublizieren() const override; // Erzeugt eine Kopie des Zeichnungs
  56. // Reference Counting
  57. __declspec( dllexport ) Knopf *getThis();
  58. __declspec( dllexport ) Knopf *release();
  59. };
  60. class KontrollKnopf : public ZeichnungHintergrund
  61. {
  62. public:
  63. class Style : public ZeichnungHintergrund::Style
  64. {
  65. public:
  66. const static __int64 Selected = 0x00080;
  67. const static __int64 MehrfarbigText = 0x001000;
  68. const static __int64 KlickFarbe = 0x002000;
  69. const static __int64 KlickBild = 0x004000;
  70. const static __int64 KlickAlpha = 0x008000;
  71. const static __int64 KlickBuffer = 0x010000;
  72. const static __int64 SelectFarbe = 0x020000;
  73. const static __int64 SelectBild = 0x040000;
  74. const static __int64 SelectAlpha = 0x080000;
  75. const static __int64 SelectBuffer = 0x100000;
  76. const static __int64 SelectText = 0x200000;
  77. const static __int64 MehrzeiligText = 0x400000;
  78. const static __int64 MausKlick = 0x800000;
  79. const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | KlickBuffer;
  80. };
  81. private:
  82. Text *txt;
  83. Text *sTxt;
  84. int sBgF;
  85. int kBgF;
  86. Bild *sBgB;
  87. Bild *kBgB;
  88. AlphaFeld *sAf;
  89. AlphaFeld *kAf;
  90. Bild *kasten;
  91. Bild *sKasten;
  92. Schrift *schrift;
  93. int sF;
  94. int sGr;
  95. int ref;
  96. public:
  97. // Konstruktor
  98. __declspec( dllexport ) KontrollKnopf();
  99. // Destruktor
  100. __declspec( dllexport ) ~KontrollKnopf();
  101. // nicht constant
  102. __declspec( dllexport ) void setTextZ( Text *txt ); // setzt den Text
  103. __declspec( dllexport ) void setText( Text *txt );
  104. __declspec( dllexport ) void setText( const char *txt );
  105. __declspec( dllexport ) void setSTextZ( Text *txt ); // setzt den Text bei Selectiert
  106. __declspec( dllexport ) void setSText( Text *txt );
  107. __declspec( dllexport ) void setSText( const char *txt );
  108. __declspec( dllexport ) void setSchriftZ( Schrift *schrift ); // setzt die Schrift
  109. __declspec( dllexport ) void setSFarbe( int f ); // setzt die Schrift Farbe
  110. __declspec( dllexport ) void setSGröße( int gr ); // setzt die Schrift Größe
  111. __declspec( dllexport ) void setSBgFarbe( int f ); // setzt die Select Hintergrundfarbe
  112. __declspec( dllexport ) void setKBgFarbe( int f ); // setzt die Klick Hintergrundfarbe
  113. __declspec( dllexport ) void setSBgBildZ( Bild *b ); // setzt das Select Hintergrundbild
  114. __declspec( dllexport ) void setSBgBild( Bild *b );
  115. __declspec( dllexport ) void setKBgBildZ( Bild *b ); // setzt das Klick Hintergrundbild
  116. __declspec( dllexport ) void setKBgBild( Bild *b );
  117. __declspec( dllexport ) void setSAlphaFeldZ( AlphaFeld *af ); // setzt das Select Alpha Feld
  118. __declspec( dllexport ) void setSAFFarbe( int f ); // setzt die Select Alphafeld Farbe
  119. __declspec( dllexport ) void setSAFStärke( int st ); // setzt die Select AlphaFeld Stärke
  120. __declspec( dllexport ) void setKAlphaFeldZ( AlphaFeld *af ); // setzt das Klick Alpha Feld
  121. __declspec( dllexport ) void setKAFFarbe( int f ); // setzt die Klick Alphafeld Farbe
  122. __declspec( dllexport ) void setKAFStärke( int st ); // setzt die Klick AlphaFeld Stärke
  123. __declspec( dllexport ) void loadData( LTDBDatei *zDat ); // läht die Systembilder
  124. __declspec( dllexport ) void loadData( const char *ltdb );
  125. __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override; // Nachrichten verarbeitung
  126. __declspec( dllexport ) void render( Bild &zRObj ) override; // zeichnet nach zRObj
  127. // constant
  128. __declspec( dllexport ) Text *getText() const; // gibt den Text zurück
  129. __declspec( dllexport ) Text *zText() const;
  130. __declspec( dllexport ) Text *getSText() const; // gibt den Select Text zurück
  131. __declspec( dllexport ) Text *zSText() const;
  132. __declspec( dllexport ) Schrift *getSchrift() const; // gibt die Schrift zurück
  133. __declspec( dllexport ) Schrift *zSchrift() const;
  134. __declspec( dllexport ) int getSFarbe() const; // gibt die Schrift Farbe zurück
  135. __declspec( dllexport ) int getSGröße() const; // gibt die Schrift Größe zurück
  136. __declspec( dllexport ) int getSBgFarbe() const;// gibt die Select Hintergrundfarbe zurück
  137. __declspec( dllexport ) int getKBgFarbe() const; // gibt die Klick Hintergrundfarbe zurück
  138. __declspec( dllexport ) Bild *getSBgBild() const; // gibt das Select Hintergrundbild zurück
  139. __declspec( dllexport ) Bild *zSBgBild() const;
  140. __declspec( dllexport ) Bild *getKBgBild() const; // gibt das Klick Hintergrundbild zurück
  141. __declspec( dllexport ) Bild *zKBgBild() const;
  142. __declspec( dllexport ) AlphaFeld *getSAlphaFeld() const; // gibt das Select AlphaFeld zurück
  143. __declspec( dllexport ) AlphaFeld *zSAlphaFeld() const;
  144. __declspec( dllexport ) AlphaFeld *getKAlphaFeld() const; // gibt das Klick AlphaFeld zurück
  145. __declspec( dllexport ) AlphaFeld *zKAlphaFeld() const;
  146. // Reference Counting
  147. __declspec( dllexport ) KontrollKnopf *getThis();
  148. __declspec( dllexport ) KontrollKnopf *release();
  149. };
  150. }
  151. #endif