#ifndef ToolTip_H #define ToolTip_H #include "Array.h" #include "Zeichnung.h" namespace Framework { class Schrift; // Schrift.h class Bild; // Bild.h class AlphaFeld; // AlphaFeld.h class Text; // Text.h class Rahmen; // Rahmen.h struct MausEreignis; // MausEreignis.h class Bildschirm; // Bildschirm.h class ToolTip : public ZeichnungHintergrund { private: RCArray< Zeichnung > *members; Punkt size; double animationSpeed; double warten; double wartenCount; double tval; bool mausIn; unsigned char alpha; bool sichtbar; bool zeichnen; bool mausIn2; Bildschirm *bildschirm; public: // Konstruktor __declspec( dllexport ) ToolTip( Bildschirm *zSceen ); // Destruktor __declspec( dllexport ) ~ToolTip(); // Fügt eine Zeichnung zum Tooltip hinzu // m: die neue Zeichnung __declspec( dllexport ) void addMember( Zeichnung *m ); // Setzt die anzahl an Seunden, de gewartet wird bis der Tipp erscheint // warten: Die Anzahl an Sekunden __declspec( dllexport ) void setWarten( double warten ); // Legt fest, wie schnell der Tipp erscheint // speed: Anzahl der Pixel, die pro Sekunde eingeblendet werden. (Standart: 250) __declspec( dllexport ) void setAnimationSpeed( double speed ); // Legt Fest, ob die Maus in dem Zeichnung ist, zu dem der Tip gehört // mausIn: 1, wenn die Maus in dem Zeichnung ist. 0 sonst __declspec( dllexport ) void setMausIn( bool mausIn ); // Setzt den Counter zurück, der zählt, wann der Tipp eingeblendet wird. __declspec( dllexport ) void wartenReset(); // Legt fest, das das Zeichnung, zu dem der Tip gehört gezeichnet wurde, so dass der Tip auch gezeichnet werden könnte __declspec( dllexport ) void setZeichnen(); // Aktualisiert den Tip. Wird vom Framework aufgerufen // tickVal: Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist // return: 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst __declspec( dllexport ) bool tick( double tickVal ) override; // Verarbeitet Maus Nachrichten // me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override; // Zeichnet den Tip nach zRObj, falls er sichtbar ist und das zugehörige Zeichnung ebenfalls gezeichnet wurde // zRObj: Das Bild, in welches gezeichnet werden soll __declspec( dllexport ) void render( Bild &zRObj ) override; // Gibt einen Zeiger auf den Bildschirm ohne erhöhten Reference Counter zurück, so dem der Tooltip gehört. __declspec( dllexport ) Bildschirm *zBildschirm() const; // Erzeugt eine komplette kopie eines tooltips __declspec( dllexport ) Zeichnung *dublizieren() const override; // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht. // return: 0. __declspec( dllexport ) Zeichnung *release() override; }; } #endif