1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #ifndef ToolTip_H
- #define ToolTip_H
- #include "Array.h"
- #include "Zeichnung.h"
- #include <functional>
- 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;
- std::function< void( ToolTip * ) > onShow;
- std::function< void( ToolTip * ) > onHide;
- 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 );
- // Entfernt eine Zeichnung vom Tooltip
- // m: die Zeichnung
- __declspec( dllexport ) void removeMember( Zeichnung *zM );
- // Entfernt eine Zeichnung vom Tooltip
- // i: der Index der Zeichnung
- __declspec( dllexport ) void removeMember( int i );
- // setzt eine Funktion, die aufgerufen wird, sobald der Tooltip angezeigt wird
- // onShow: Die Funktion
- __declspec( dllexport ) void setShowEvent( std::function< void( ToolTip * ) > onShow );
- // setzt eine Funktion, die aufgerufen wird, sobald der Tooltip nicht mehr angezeigt wird
- // onShow: Die Funktion
- __declspec( dllexport ) void setHideEvent( std::function< void( ToolTip * ) > onHide );
- // 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
|