ToolTip.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef ToolTip_H
  2. #define ToolTip_H
  3. #include "TextFeld.h"
  4. namespace Framework
  5. {
  6. class Schrift; // Schrift.h
  7. class Bild; // Bild.h
  8. class AlphaFeld; // AlphaFeld.h
  9. class Text; // Text.h
  10. class LRahmen; // Rahmen.h
  11. struct MausEreignis; // MausEreignis.h
  12. class Bildschirm; // Bildschirm.h
  13. // Verwaltet ein automatisch ausfahrendes Fenster an der Mausposition, wo hilfe Texte eingeblendet werden
  14. class ToolTip : public TextFeld
  15. {
  16. public:
  17. class Style : public TextFeld::Style{};
  18. private:
  19. Punkt größe;
  20. double animationSpeed;
  21. double warten;
  22. double wartenCount;
  23. double tval;
  24. bool mausIn;
  25. unsigned char alpha;
  26. bool sichtbar;
  27. bool zeichnen;
  28. Bildschirm *bildschirm;
  29. public:
  30. // Konstruktor
  31. __declspec( dllexport ) ToolTip( Bildschirm *zSceen );
  32. // Destruktor
  33. __declspec( dllexport ) ~ToolTip();
  34. // Setzt die ausgeklappte Größe.
  35. // breite: Die Breite in Pixeln
  36. // höhe: Die Höhe in Pixeln
  37. // Die Größe wird beim rendern überschrieben
  38. __declspec( dllexport ) void setGröße( int breite, int höhe );
  39. // Setzt die ausgeklappte Größe.
  40. // gr: Die Größe in Pixeln
  41. // Die Größe wird beim rendern überschrieben
  42. __declspec( dllexport ) void setGröße( Punkt &gr );
  43. // Setzt die anzahl an Seunden, de gewartet wird bis der Tipp erscheint
  44. // warten: Die Anzahl an Sekunden
  45. __declspec( dllexport ) void setWarten( double warten );
  46. // Legt fest, wie schnell der Tipp erscheint
  47. // speed: Anzahl der Pixel, die pro Sekunde eingeblendet werden. (Standart: 250)
  48. __declspec( dllexport ) void setAnimationSpeed( double speed );
  49. // Legt Fest, ob die Maus in dem Zeichnung ist, zu dem der Tip gehört
  50. // mausIn: 1, wenn die Maus in dem Zeichnung ist. 0 sonst
  51. __declspec( dllexport ) void setMausIn( bool mausIn );
  52. // Setzt den Counter zurück, der zählt, wann der Tipp eingeblendet wird.
  53. __declspec( dllexport ) void wartenReset();
  54. // Legt fest, das das Zeichnung, zu dem der Tip gehört gezeichnet wurde, so dass der Tip auch gezeichnet werden könnte
  55. __declspec( dllexport ) void setZeichnen();
  56. // Aktualisiert den Tip. Wird vom Framework aufgerufen
  57. // tickVal: Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist
  58. // return: 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst
  59. __declspec( dllexport ) bool tick( double tickVal ) override;
  60. // Verarbeitet Maus Nachrichten
  61. // me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
  62. __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;
  63. // Zeichnet den Tip nach zRObj, falls er sichtbar ist und das zugehörige Zeichnung ebenfalls gezeichnet wurde
  64. // zRObj: Das Bild, in welches gezeichnet werden soll
  65. __declspec( dllexport ) void render( Bild &zRObj ) override;
  66. // Gibt einen Zeiger auf den Bildschirm ohne erhöhten Reference Counter zurück, so dem der Tooltip gehört.
  67. __declspec( dllexport ) Bildschirm *zBildschirm() const;
  68. // Erhöht den Reference Counting Zähler.
  69. // return: this.
  70. __declspec( dllexport ) TextFeld *getThis() override;
  71. // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
  72. // return: 0.
  73. __declspec( dllexport ) TextFeld *release() override;
  74. };
  75. }
  76. #endif