123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591 |
- #ifndef Fenster_H
- #define Fenster_H
- #include "Zeichnung.h"
- #include "Array.h"
- namespace Framework
- {
- class VScrollBar; // Scroll.h
- class HScrollBar; // Scroll.h
- class TextFeld; // TextFeld.h
- class Rahmen; // Rahmen.h
- class Bildschirm; // Bildschirm.h
- class AlphaFeld; // AlphaFeld.h
- class Schrift; // Schrift.h
- class Text; // Text.h
- class Bild; // Bild.h
- class WFenster; // aus dieser Datei
- class WFensterArray; // aus dieser Datei
- class Fenster; // aus dieser Datei
- #ifdef WIN32
- // Erzeugt eine normale Fensterklasse der Windows API
- // hInst: Die HINSTANCE des Programms (Wird vom Framework an die Start funktion in der Startparam Struktur übergeben)
- __declspec( dllexport ) WNDCLASS F_Normal( HINSTANCE hInst );
- // Erzeugt eine normale Fensterklasse der Windows API
- // hInst: Die HINSTANCE des Programms (Wird vom Framework an die Start funktion in der Startparam Struktur übergeben)
- __declspec( dllexport ) WNDCLASSEX F_NormalEx( HINSTANCE hInst );
- // Funktion des Frameworks, die alle Nachichten von Windows oder anderen Prozessen verarbeitet
- __declspec( dllexport ) LRESULT CALLBACK WindowProc( HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam );
- // Startet eine Schleife, die die Benutzereingaben verarbeitet. Die Schleife läuft, bis irgendwo im Programm StopNachrichtenSchleife aufgerufen wird
- __declspec( dllexport ) void StartNachrichtenSchleife();
- // Stoppt die Ausführung der Nachrichten Schleife des Frameworks.
- // hwnd: Ein Handle auf ein beliebiges Fenster des Frameworks, das Nachrichten empfangen kann. Wird benötigt, um eine Nachricht zu senden, damit die funktion StartNachrichtenSchleife nicht mehr wartet und sofort beendet wird
- __declspec( dllexport ) void StopNachrichtenSchleife( HWND hwnd );
- // Übersetzt einen Keycode, der von Windows gesendet wurde in den Buchstaben der gedrückten Taste
- __declspec( dllexport ) unsigned char VirtualZuChar( int Virtual );
- // Klasse für ein Fenster der Windows API
- class WFenster
- {
- private:
- HWND hWnd; // Handel zum Fenster
- int style;
- void *makParam;
- void *sakParam;
- void *takParam;
- MausAktion mausAktion;
- std::function< void( void*, void* ) > vCloseAktion;
- std::function< void( void*, void* ) > nCloseAktion;
- TastaturAktion tastaturAktion;
- Bildschirm *screen;
- int mx, my;
- bool verschiebbar;
- int ref;
- HWND rahmen;
- HBITMAP bitmap;
- HDC hdc;
- public:
- //--Konstruktor--
- __declspec( dllexport ) WFenster();
- //--Konstruktor--
- // hwnd: Ein Handle zum Fenster, das von dieser Klasse verwaltet werden soll
- __declspec( dllexport ) WFenster( HWND hWnd );
- //--Destruktor--
- __declspec( dllexport ) ~WFenster();
- // erstellt das Fenster
- // style: Der Style des Fensters. Beispiel: WS_OVERLAPPEDWINDOW (Für ein normales Fenster wie man es kennt)
- // wc: Die Fensterklasse der Windows API, von der ein Fenster erstellt werden soll. Kann mit der Funktion F_Normal erstellt werden. Es muss lpszClassName gesetzt worden sein.
- __declspec( dllexport ) void erstellen( int style, WNDCLASS wc );
- // erstellt das Fenster
- // exStyle: Der EX Style des Fensters. Beispiel: WS_EX_OVERLAPPEDWINDOW (Für ein normales Fenster wie man es kennt)
- // style: Der Style des Fensters. Beispiel: WS_OVERLAPPEDWINDOW (Für ein normales Fenster wie man es kennt)
- // wc: Die Fensterklasse der Windows API, von der ein Fenster erstellt werden soll. Kann mit der Funktion F_Normal erstellt werden. Es muss lpszClassName gesetzt worden sein.
- __declspec( dllexport ) void erstellenEx( int exStyle, int style, WNDCLASSEX wc );
- // Setzt den Anzeigemodus des Fensters
- // mod: Der Modus. Beispiel: SW_SHOWNORMAL, um das Fenster anzuzeigen und SW_HIDE um es einzuklappen
- __declspec( dllexport ) void setAnzeigeModus( int mod );
- // Setzt den Fokus auf das Fenster, so dass Tastatureingaben empfangen werden
- __declspec( dllexport ) bool setFokus();
- // Setzt die Position des fensters auf dem Bildschirm
- // pos: Die Position in Pixeln
- __declspec( dllexport ) void setPosition( Punkt &pos );
- // Setzt die Größe des Fensters auf dem Bildschirm
- // größe: Die Größe in Pixeln
- __declspec( dllexport ) void setSize( Punkt &größe );
- // Setzt die Größe des Fensters auf dem Bildschirm
- // breite: Die Breite in Pixeln
- // höhe: Die Höhe in Pixeln
- __declspec( dllexport ) void setSize( int breite, int höhe );
- // Setzt die Position und die Größe des Fensters
- // pos: Die Position in Pixeln
- // größe: Die Größe in Pixeln
- __declspec( dllexport ) void setBounds( Punkt &pos, Punkt &größe );
- // Setzt das Verwendete Bildschirm Objekt, um Tastatur und Maus Eingaben an die Objekte des Frameworks weiterzugeben. Muss vor dem Zerstören des Fensters mit 0 aufgerufen werden.
- // screen: Das Bildschirm Objekt
- __declspec( dllexport ) void setBildschirm( Bildschirm *screen );
- // Zerstört das Fenster
- __declspec( dllexport ) void zerstören();
- // Verarbeitet Maus Nachrichten. Ruft MausAktion auf und gibt die Ereignisse an den Bildschirm mit den Objekten weiter, wenn MausAktion 1 zurückgibt
- // me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
- __declspec( dllexport ) void doMausAktion( MausEreignis &me );
- // Ruft die VSchließAktion Rückruffunktion auf
- __declspec( dllexport ) void doVSchließAktion();
- // Ruft die NSchließAktion Rückruffunktion auf
- __declspec( dllexport ) void doNSchließAktion();
- // Verarbeitet Tastatur Nachrichten. Ruft TastaturAktion auf und gibt die Ereignisse an den Bildschirm mit den Objekten weiter, wenn TastaturAktion 1 zurückgibt
- // me: Das Ereignis, was durch die Tastatureingabe ausgelößt wurde
- __declspec( dllexport ) void doTastaturAktion( TastaturEreignis &et );
- // Macht den Rahmen des Fensters sichtbar, fals ladeRahmenFenster aufgerufen wurde
- __declspec( dllexport ) void doRestoreMessage();
- // setzt den Parameter, der bei einem Maus Ereignis an die Rückruffunktion übergeben wird
- // p: Der Parameter
- __declspec( dllexport ) void setMausEreignisParameter( void *p );
- // setzt den Parameter, der beim Schließen an die Rückruffunktion übergeben wird
- // p: Der Parameter
- __declspec( dllexport ) void setSchließEreignisParameter( void *p );
- // Setzt den Parameter, der bei einem Tastatur Ereignis an die Rückruffunktion übergeben wird
- // p: Der Parameter
- __declspec( dllexport ) void setTastaturEreignisParameter( void *p );
- // Setzt die Rückruffunktion, die bei einem Maus Ereignis aufgerufen werden soll.
- // Wenn die Rückruffunktion 0 zurückgiebt, oder nicht gesetzt wurde, wird ein Maus Ereignis von dem Fenster nicht weiter beachtet
- // Es kann die Standartfunktion __ret1ME verwendet werden, die in MausEreignis.h definiert ist und immer 1 zurückgibt
- // ak: Ein Zeiger auf die Rückruffunktion
- __declspec( dllexport ) void setMausAktion( MausAktion ak );
- // Setzt die Rückruffunktion, die bei vor dem Schließen aufgerufen werden soll.
- // ak: Ein Zeiger auf die Rückruffunktion
- __declspec( dllexport ) void setVSchließAktion( std::function< void( void*, void* ) > ak );
- // Setzt die Rückruffunktion, die bei nach dem Schließen aufgerufen werden soll.
- // ak: Ein Zeiger auf die Rückruffunktion
- __declspec( dllexport ) void setNSchließAktion( std::function< void( void*, void* ) > ak );
- // Setzt die Rückruffunktion, die bei einem Tastatur Ereignis aufgerufen werdne soll.
- // Wenn die Rückruffunktion 0 zurückgiebt, oder nicht gesetzt wurde, wird ein Tastatur Ereignis von der Zeichnung nicht weiter beachtet
- // Es kann die Standartfunktion __ret1TE verwendet werden, die in TastaturEreignis.h definiert ist und immer 1 zurückgibt
- // Weitere Standartfunktionen sind _nurNummernTE und _nurHexTE ebenfals aus TastaturEreignis.h
- // ak: Ein Zeiger auf die Rückruffunktion
- __declspec( dllexport ) void setTastaturAktion( TastaturAktion ak );
- // Setzt das Handle zum Fenster, das von dieser Klasse verwaltet werden soll
- // hwnd: Das Handle
- __declspec( dllexport ) void setFensterHandle( HWND hWnd );
- // legt fest, ob das Fenster durch ziehen mit Maus verschoben werden kann
- // verschiebbar: 1, wenn das Fenster verschoben werden darf
- __declspec( dllexport ) void setVerschiebbar( bool verschiebbar );
- // Setzt einen Transparenten Rahmen um das Fenster
- // zBild: Ein Bild, was den Rahmen enthält
- // hins: Die HINSTANCE des Programms (Wird vom Framework an die Start funktion in der Startparam Struktur übergeben)
- __declspec( dllexport ) void ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ); // setzt einen Transpatenten Rahmen um das Fenster
- // Gibt das Handle des verwalteten Fensters zurück
- __declspec( dllexport ) HWND getFensterHandle() const;
- // Gibt die Position des Fensters in Pixeln zurück
- __declspec( dllexport ) Punkt getPosition() const;
- // Gibt die Größe des Fensters in Pixeln zurück
- __declspec( dllexport ) Punkt getGröße() const;
- // Gibt die Größe des Fensterkörpers in Pixeln zurück
- __declspec( dllexport ) Punkt getKörperGröße() const;
- // Gibt die Breite des Fensterkörpers in Pixeln zurück
- __declspec( dllexport ) int getKörperBreite() const;
- // Gibt die Höhe des Fensterkörpers in Pixeln zurück
- __declspec( dllexport ) int getKörperHöhe() const;
- // Gibt zurück, ob eine Rückruffunktion für ein MausEreignis gesetzt wurde
- __declspec( dllexport ) bool hatMausAktion() const;
- // Gibt zurück, ob eine Rückruffunktion für das Ereignis vor dem Schließen des Fensters gesetzt wurde
- __declspec( dllexport ) bool hatVSchließAktion() const;
- // Gibt zurück, ob eine Rückruffunktion für das Ereignis nach dem Schließen des Fensters gesetzt wurde
- __declspec( dllexport ) bool hatNSchließAktion() const;
- // Gibt zurück, ob eine Rückruffunktion für ein TastaturEreignis gesetzt wurde
- __declspec( dllexport ) bool hatTastaturAktion() const;
- // Gibt den Bidschirm zurück, an dessen Zeichnungen die Ereignisse Weitergegeben werden
- __declspec( dllexport ) Bildschirm *getBildschirm() const;
- // Gibt den Bildschirm ohne erhöhten Reference Counter zurück, an dessen Zeichnungen die Ereignisse Weitergegeben werden
- __declspec( dllexport ) Bildschirm *zBildschirm() const;
- // Gibt zurück, ob das Fenster verschiebbar ist
- __declspec( dllexport ) bool istVerschiebbar() const;
- // Erhöht den Reference Counting Zähler.
- // return: this.
- __declspec( dllexport ) WFenster *getThis();
- // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
- // return: 0.
- __declspec( dllexport ) WFenster *release();
- };
- // Verwaltet alle Windows API Fenster im Framework
- class WFensterArray
- {
- private:
- WFensterArray *next;
- WFenster *This;
- public:
- // Konstruktor
- __declspec( dllexport ) WFensterArray();
- // Destruktor
- __declspec( dllexport ) ~WFensterArray();
- // Fügt ein neues Fenster hinzu
- // fenster: Das Fenster
- __declspec( dllexport ) bool addFenster( WFenster *fenster );
- // Entfernt ein Fenster
- // fenster: Das Fenster
- __declspec( dllexport ) bool removeFenster( WFenster *fenster );
- // gibt das nächste Element zurück
- __declspec( dllexport ) WFensterArray* getNext();
- // Setzt das nächste Element auf 0
- __declspec( dllexport ) void setNext0();
- // Löscht das Element
- __declspec( dllexport ) void del();
- // Sendet das Ereignis, was vor dem Schließen aufgerufen wird an ein bestimmtes Fenster
- // hWnd: Das Handle zum Fenster
- __declspec( dllexport ) bool sendVSchließMessage( HWND hWnd );
- // Sendet das Ereignis, was nach dem Schließen aufgerufen wird an ein bestimmtes Fenster
- // hWnd: Das Handle zum Fenster
- __declspec( dllexport ) bool sendNSchließMessage( HWND hwnd );
- // Sendet ein Maus Ereignis an ein bestimmtes Fenster
- // hWnd: Das Handle zum Fenster
- // me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
- __declspec( dllexport ) bool sendMausMessage( HWND hWnd, MausEreignis &me );
- // Sendet ein Tastatur Ereignis an ein bestimmtes Fenster
- // hWnd: Das Handle zum Fenster
- // me: Das Ereignis, was durch die Tastatureingabe ausgelößt wurde
- __declspec( dllexport ) bool sendTastaturMessage( HWND hwnd, TastaturEreignis &te );
- // Sendet das Ereignis, was durch das öffnen des Fensters ausgelößt wurde an ein bestimmtes Fenster
- // hWnd: Das Handle zum Fenster
- __declspec( dllexport ) bool sendRestoreMessage( HWND hwnd );
- // Gibt das Fenster dieses Eintrags zurück
- __declspec( dllexport ) WFenster *getThis();
- };
- // Erzeugt ein Windows API Popup Fenster, mit einer Meldung
- // hWnd: Ein Handle zu dem Fenster, was blockiert werden soll, bis das Popup Fenster geschlossen wurde. Kann 0 sein
- // titel: Der Titel des Popup Fensters
- // meldung: Die Meldung, die im Fenster angezeigt werden soll
- // style: Bestimmt das Icon, was im Fenster angezeigt wird. Beispiel: MB_ICONERROR, MB_ICONINFORMATION
- __declspec( dllexport ) void WMessageBox( HWND hWnd, Text *titel, Text *meldung, UINT style );
- #endif
- // Fenster Klasse im Programm
- class Fenster : public Zeichnung
- {
- public:
- class Style : public Zeichnung::Style
- {
- public:
- const static __int64 BodyHintergrund = 0x000000008; // Legt fest, ob der Körper des Fensters einen Hintergrund hat
- const static __int64 BodyHAlpha = 0x000000010; // Legt fest, ob beim zeichnen des Körperhintergrundes alpha blending verwendet werden soll
- const static __int64 BodyHBild = 0x000000020; // Legt fest, ob ein Bild als Hintergrund des Körpers verwendet werden soll
- const static __int64 BodyBuffered = 0x000000040; // Legt fest, ob der Körper einen Farbübergang besitzt
- const static __int64 Titel = 0x000000080; // Legt fest, ob das Fenster eine Titelleiste hat
- const static __int64 TitelHintergrund = 0x000000100; // Legt fest, ob die titelleiste des Fensters einen Hintergrund hat
- const static __int64 TitelHAlpha = 0x000000200; // Legt fest, ob zum zeichnen des Titel Hintergrundes alpha blending verwendet werden soll
- const static __int64 TitelHBild = 0x000000400; // Legt fest, ob für den Titelhintergrund ein Bild verwendet werden soll
- const static __int64 TitelBuffered = 0x000000800; // Legt fest, ob die Titel Leiste einen Farbübergang besitzt
- const static __int64 Closable = 0x000001000; // Legt fest, ob in der Titelleiste ein Knopf zum Schließen des Fensters angezeigt werden soll
- const static __int64 ClosingHintergrund = 0x000002000; // Legt fest, ob der Schließen Knopf einen Hintergrund hat
- const static __int64 ClosingHAlpha = 0x000004000; // Legt fest, ob beim Zeichnen des Hintergrunds des Schließen Knopfes alpha blending verwendet werden soll
- const static __int64 ClosingHBild = 0x000008000; // Legt fest, ob für den Hintergrund des Schließen Knopfes ein Bild verwendet werden soll
- const static __int64 ClosingBuffer = 0x000010000; // Legt fest, ob der Schließen Knopf einen Farbübergang besitzt
- const static __int64 ClosingKlickBuffer = 0x000020000; // Legt fest, ob der Schließen Knopf einen Farbübergang besitzt, während er gedrückt wird
- const static __int64 Beweglich = 0x000040000; // Legt fest, ob der Benutzer das Fenster durch gedrückt halten der linken Maustaste in der Titelleiste das Fenster verschieben kann
- const static __int64 BreiteChangeable = 0x000080000; // Legt fest, ob der Benutzer die Breite des Fensters durch das gedrückt halten der linken Maustaste auf dem rechten oder linken Fensterrand verändern kann
- const static __int64 HeightChangeable = 0x000100000; // Legt fest, ob der Benutzer die Höhe des Fensters durch das gedrückt halten der linken Maustaste auf dem oberen oder unteren Fensterrand verändern kann
- const static __int64 TitelHeightChangeable = 0x000200000; // Legt fest, ob der Benutzer die Höhe der Titel Leiste durch gedrückt halten der linken Maustaste auf dem unteren Rand der Titelleiste verändern kann
- const static __int64 MinBr = 0x000400000; // Legt fest, ob es eine Minimale Breite des Fensters gibt
- const static __int64 MaxBr = 0x000800000; // Legt fest, ob es eine Maximale Breite des Fensters gibt
- const static __int64 MinHi = 0x001000000; // Legt fest, ob es eine Minimale Höhe des Fensters gibt
- const static __int64 MaxHi = 0x002000000; // Legt fest, ob es eine Maximale Höhe des Fensters gibt
- const static __int64 BodyMinBr = 0x004000000; // Legt fest, ob es eine Minimale Breite des Körpers gibt
- const static __int64 BodyMaxBr = 0x008000000; // Legt fest, ob es eine Maximale Breite des Körpers gibt
- const static __int64 BodyMinHi = 0x010000000; // Legt fest, ob es eine Minimale Höhe des Körpers gibt
- const static __int64 BodyMaxHi = 0x020000000; // Legt fest, ob es eine Maximale Höhe des Körpers gibt
- const static __int64 VScroll = 0x040000000; // Legt fest, ob eine ScrollBar am rechten Fensterrand erscheinen soll
- const static __int64 HScroll = 0x080000000; // Legt fest, ob eine ScrollBar am unteren Fensterrand erscheinen soll
- const static __int64 METransparenz = 0x100000000; // Legt fest, ob die Mausereignisse auch noch von Zeichnungen hinter dem Fenster verarbeitet werden sollen
- const static __int64 Rahmen = 0x200000000; // Legt fest, ob das Fenster einen Rahmen haben soll
- const static __int64 min_max = MinHi | MaxHi | MaxBr | MaxHi; // Vereint die Flags MinHö, MaxHö, MaxBr, MaxHö
- const static __int64 body_min_max = BodyMinBr | BodyMaxBr | BodyMinHi | BodyMaxBr; // Vereint die Flags Körper_minBr, Körper_maxBr, Körper_minHö, Körper_maxBr
- const static __int64 scroll = VScroll | HScroll; // Vereint die Flags VScroll, HScroll
- const static __int64 nichtfixiert = TitelHeightChangeable | HeightChangeable | BreiteChangeable | Beweglich; // Vereint die Flags TitelHöheÄnderbar, HöheÄnderbar, BreiteÄnderbar, Beweglich
- const static __int64 normal = Sichtbar | Erlaubt | Rahmen | Titel | TitelBuffered | Closable | ClosingHBild | ClosingKlickBuffer | Beweglich | MEIgnoreVerarbeitet | MEIgnoreSichtbar | MEIgnoreParentInside | MEIgnoreInside; // Vereint die Flags Sichtbar, Erlaubt, Rahmen, Titel, TitelBuffered, Schließbar, SchließHBild, SchließKlickBuffer, Beweglich
- };
- private:
- MausAktion closingMe;
- void *closingMeParam;
- Rahmen *rahmen;
- TextFeld *titel;
- RCArray<Zeichnung> *members;
- int bgBodyColor;
- Bild *bgBodyPicture;
- AlphaFeld *bodyBuffer;
- int bgClosingFarbe;
- Bild *bgClosingBild;
- AlphaFeld *closeBuffer;
- AlphaFeld *closeKlickBuffer;
- VScrollBar *vScroll;
- HScrollBar *hScroll;
- Punkt min, max;
- Punkt kMin, kMax;
- bool closeKlick, klick;
- int moving;
- int mx, my;
- // Verarbeitet Maus Nachrichten
- // me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
- __declspec( dllexport ) void doMausEreignis( MausEreignis &me, bool userRet ) override;
- public:
- // Konstruktor
- __declspec( dllexport ) Fenster();
- // Destruktor
- __declspec( dllexport ) virtual ~Fenster();
- // Setzt einen Zeiger auf den Rahmen des Fensters
- // ram: Der Rahmen
- __declspec( dllexport ) void setRahmenZ( Rahmen *ram );
- // Setzt die Farbe des Fensterrahmens
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setRFarbe( int f );
- // Setzt die Breite des Fensterrahmens
- // br: Die Breite in Pixeln
- __declspec( dllexport ) void setRBreite( int br );
- // Setzt den Titel des Fensters
- // txt: Der Text
- __declspec( dllexport ) void setTitel( Text *txt );
- // Setzt einen Zeiger auf den Titel Text
- // txt: Der neue Text
- __declspec( dllexport ) void setTitelZ( Text *txt );
- // Setzt den Titel des Fensters
- // txt: Der Textv
- __declspec( dllexport ) void setTitel( const char *txt );
- // Setzt einen Zeiger auf das TextFeld, das den Titeltext zeichnet
- // tf: Das TextFeld
- __declspec( dllexport ) void setTTextFeldZ( TextFeld *tf );
- // Setzt die Schrift, die für den Titel verwendet werden soll
- // schrift: Die Schrift
- __declspec( dllexport ) void setTSchriftZ( Schrift *schrift );
- // Setzt die Farbe der Schrift, die für den Titel verwendet werden soll
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setTSFarbe( int f );
- // Setzt die Größe der Schrift, die für den Titel verwendet werden soll
- // gr: Die Höhe einer zeile in Pixeln
- __declspec( dllexport ) void setTSSize( int gr );
- // Setzt die Hintergrund Farbe des Titels
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setTBgFarbe( int f );
- // Setzt einen Zeiger auf den Farbübergang des Titels
- // af: Der Farbübergang
- __declspec( dllexport ) void setTAlphaFeldZ( AlphaFeld *af );
- // Setzt die Farbe des Farbübergangs des Titels
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setTAfFarbe( int f );
- // Setzt die Stärke des Farbübergangs des Titels
- // st: Die Stärke
- __declspec( dllexport ) void setTAfStrength( int st );
- // Setzt das Hintergrund Bild des Titels durch kopieren
- // b: Das Bild, was kopiert werden soll
- __declspec( dllexport ) void setTBgBild( Bild *b );
- // Setzt einen Zeiger auf das Hintergrund Bild des Titels
- // b: Das Bild
- __declspec( dllexport ) void setTBgBildZ( Bild *b );
- // Setzt einen Zeiger auf den Rahmen des Titels
- // ram: Der Rahmen
- __declspec( dllexport ) void setTRahmenZ( Rahmen *ram );
- // Setzt die Farbe des Rahmens des Titels
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setTRFarbe( int f );
- // Setzt die Breite des Rahmens des Titels
- // br: Die Breite in Pixeln
- __declspec( dllexport ) void setTRBreite( int br );
- // Setzt die Hintergrundfarbe des Körpers
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setKBgFarbe( int f );
- // Setzt das Hintergrund Bild des Körpers durch kopieren
- // b: Das Bild, das kopiert werden soll
- __declspec( dllexport ) void setKBgBild( Bild *b );
- // Setzt einen Zeiger auf das Hintergrund Bild des Körpers
- // b: Das Bild
- __declspec( dllexport ) void setKBgBildZ( Bild *b );
- // Setzt einen Zeiger auf den Farbübergang des Körpers
- // af: Der Farbübergang
- __declspec( dllexport ) void setKAlphaFeldZ( AlphaFeld *af );
- // Setzt die Farbe des Farbübergangs des Körpers
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setKAfFarbe( int f );
- // Setzt die Stärke des Farbübergangs des Körpers
- // st: Die Stärke
- __declspec( dllexport ) void setKAfStrength( int st );
- // Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Schließen Knopf ein MausEreignis erhält
- // param: Der Parameter
- __declspec( dllexport ) void setClosingMeParam( void *param );
- // Setzt die Rückruffunktion, die Aufgerufen wird, wenn der Schließen Knopf ein MausEreignis erhält
- // Wenn die Rückruffunktion 0 zurückgiebt, oder nicht gesetzt wurde, wird ein Maus Ereignis von der Zeichnung nicht weiter beachtet
- // Das Fenster wird nicht von selbst geschlossen, sondern sollte in der Rückruffunktion durch den aufruf von löscheStyle( Fenster::Style::Sichtbar ); geschlossen werden
- // ak: Ein Zeiger auf die Rückruffunktion
- __declspec( dllexport ) void setClosingMe( MausAktion closingMe );
- // Setzt die Hintergrund Farbe des Schließen Knopfes
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setSBgFarbe( int f );
- // Setzt das Hintergrund Bild des Schließen Knopfes durch kopieren
- // b: Das Bild, das kopiert werden soll
- __declspec( dllexport ) void setSBgBild( Bild *b );
- // Setzt einen Zeiger auf das Hintergrund Bild des Schließen Knopfes
- // b: Das Bild
- __declspec( dllexport ) void setSBgBildZ( Bild *b );
- // Setzt einen Zeiger auf den Farbübergang des Schließen Knopfes
- // af: Der Farbübergang
- __declspec( dllexport ) void setSAlphaFeldZ( AlphaFeld *af );
- // Setzt die Farbe des Farbübergangs des Schließen Knopfes
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setSAfFarbe( int f );
- // Setzt die Stärke des Farbübergangs des Schließen Knopfes
- // st: Die Stärke
- __declspec( dllexport ) void setSAfStrength( int st );
- // Setzt einen Zeiger auf den Farbübergang, der beim Klicken des Schließen Knopfes verwendet wird
- // af: Der Farbübergnag
- __declspec( dllexport ) void setSKAlphaFeldZ( AlphaFeld *af );
- // Setzt die Farbe des Farbübergangs, der beim Klicken des Schließen Knopfes verwendet wird
- // f: Die Farbe im A8R8G8B8 Format
- __declspec( dllexport ) void setSKAfFarbe( int f );
- // Setzt die Stärke des Farbübergangs, der beim Klicken des Schließen Knopfes verwendet wird
- // st: Die Stärke
- __declspec( dllexport ) void setSKAfStrength( int st );
- // Setzt die Minimale Größe des Fensters
- // mx: Die Minimale Breite in Pixeln
- // my: Die Minimale Höhe in Pixeln
- __declspec( dllexport ) void setMin( int mx, int my );
- // Setzt die Minimale Größe des Fensters
- // min: Die Minimale Breite und Höhe in Pixeln
- __declspec( dllexport ) void setMin( const Punkt &min );
- // Setzt die Maximale Größe des Fensters
- // mx: Die Maximale Breite in Pixeln
- // my: Die Maximale Höhe in Pixeln
- __declspec( dllexport ) void setMax( int mx, int my );
- // Setzt die Maximale Größe des Fensters
- // min: Die Maximale Breite und Höhe in Pixeln
- __declspec( dllexport ) void setMax( const Punkt &max );
- // Setzt die Minimale Größe des Fenster Körpers
- // mx: Die Minimale Breite in Pixeln
- // my: Die Minimale Höhe in Pixeln
- __declspec( dllexport ) void setKMin( int mx, int my );
- // Setzt die Minimale Größe des Fenster Körpers
- // min: Die Minimale Breite und Höhe in Pixeln
- __declspec( dllexport ) void setKMin( const Punkt &min );
- // Setzt die Maximale Größe des Fenster Körpers
- // mx: Die Maximale Breite in Pixeln
- // my: Die Maximale Höhe in Pixeln
- __declspec( dllexport ) void setKMax( int mx, int my );
- // Setzt die Maximale Größe des Fenster Körpers
- // min: Die Maximale Breite und Höhe in Pixeln
- __declspec( dllexport ) void setKMax( const Punkt &max );
- // Setzt einen Zeiger auf die Scrollbar am unteren Rand des Fensters
- // hScroll: Die Scrollbar
- __declspec( dllexport ) void setHScrollBarZ( HScrollBar *hScroll );
- // Setzt einen Zeiger auf die Scrollbar am rechten Rand des Fensters
- // vScroll: Die Scrollbar
- __declspec( dllexport ) void setVScrollBarZ( VScrollBar *vScroll );
- // Setzt die Maximale Scroll breite des Fenster Körpers
- // max: Die Breite in Pixeln
- __declspec( dllexport ) void setHSBMax( int max );
- // Setzt die Maximale Scroll höhe des Fenster Körpers
- // max: Die Höhe in Pixeln
- __declspec( dllexport ) void setVSBMax( int max );
- // Scrollt zu einer bestimmten x Position im Fenster Körper
- // scroll: Die Anzahl der Pixel, die der Inhalt nach links verschoben werden soll
- __declspec( dllexport ) void setHSBScroll( int scroll );
- // Scrollt zu einer bestimmten y Position im Fenster Körper
- // scroll: Die Anzahl der Pixel, die der Inhalt nach oben verschoben werden soll
- __declspec( dllexport ) void setVSBScroll( int scroll );
- // Fügt dem Fenster eine Zeichnung hinzu
- // obj: Die Zeichnung
- __declspec( dllexport ) virtual void addMember( Zeichnung *obj );
- // Entfernt eine Zeichnung aus dem Fenster
- // zObj: Die Zeichnung (ohne erhöhten reference Counter)
- __declspec( dllexport ) virtual void removeMember( Zeichnung *zObj );
- // Entfernt alle Zeichnungen aus dem Fenster
- __declspec( dllexport ) virtual void removeAll();
- // Aktualisiert das Objekt. 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 Tastatur Nachrichten
- // me: Das Ereignis, was durch die Tastatureingabe ausgelößt wurde
- __declspec( dllexport ) void doTastaturEreignis( TastaturEreignis &te ) override;
- // Zeichnet das Fentster nach zRObj, falls es sichtbar ist
- // zRObj: Das Bild, in welches gezeichnet werden soll
- __declspec( dllexport ) void render( Bild &zRObj ) override;
- // Gibt die Breite des Innenraumes in der Zeichnung in Pixeln zurück
- __declspec( dllexport ) int getInnenBreite() const override;
- // Gibt die Höhe des Innenraumes in der Zeichnung in Pixeln zurück
- __declspec( dllexport ) int getInnenHeight() const override;
- // Gibt den Rahmen des Fensters zurück
- __declspec( dllexport ) Rahmen *getRahmen() const;
- // Gibt den Rahmen des Fensters ohne erhöhen Reference Counter zurück
- __declspec( dllexport ) Rahmen *zRahmen() const;
- // Gibt die Farbe des Rahmens des Fensters im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getRFarbe() const;
- // Gibt die Breite des Rahmens des Fensters in Pixeln zurück
- __declspec( dllexport ) int getRBreite() const;
- // Gibt den Titel des Fensters zurück
- __declspec( dllexport ) Text *getTitel() const;
- // Gibt den Titel des Fensters ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) Text *zTitel() const;
- // Gibt das TextFeld zurück, das zum Zeichnen des Titels verwendet wird
- __declspec( dllexport ) TextFeld *getTTextFeld() const;
- // Gibt das TextFeld ohne erhöhten Reference Counter zurück, das zum Zeichnen des Titels verwendet wird
- __declspec( dllexport ) TextFeld *zTTextFeld() const;
- // Gibt die Schrift zurück, die für den Titel verwendet wird
- __declspec( dllexport ) Schrift *getTSchrift() const;
- // Gibt die Schrift ohne erhöten Reference Counter zurück, die für den Titel verwendet wird
- __declspec( dllexport ) Schrift *zTSchrift() const;
- // Gibt die Schrift Farbe des Titels im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getTSFarbe() const;
- // Gibt die Höhe einer Zeile des Titels in Pixeln zurück
- __declspec( dllexport ) int getTSSize() const;
- // Gibt die Hintergrundfarbe des Titels im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getTBgFarbe() const;
- // Gibt den Farbübergang des Titels zurück
- __declspec( dllexport ) AlphaFeld *getTAlphaFeld() const;
- // Gibt den Farbübergang des Titels ohne erhöhten Reference COunter zurück
- __declspec( dllexport ) AlphaFeld *zTAlphaFeld() const;
- // Gibt die Farbe des Farbübergangs des Titels im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getTAfFarbe() const;
- // Gibt die Stärke des Farbübergangs des Titels zurück
- __declspec( dllexport ) int getTAfStrength() const;
- // Gibt das Hintergrund Bild des titels zurück
- __declspec( dllexport ) Bild *getTBgBild() const;
- // Gibt das Hintergrund Bild des titels ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) Bild *zTBgBild() const;
- // Gibt den Rahmen des Titels zurück
- __declspec( dllexport ) Rahmen *getTRahmen() const;
- // Gibt den Rahmen des Titels ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) Rahmen *zTRahmen() const;
- // Gibt die Farbe des Rahmens des Titels im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getTRFarbe() const;
- // Gibt die Stärke des Rahmens des Titels zurück
- __declspec( dllexport ) int getTRBreite() const;
- // Gibt die Hintergrund Farbe des Körpers zurück
- __declspec( dllexport ) int getKBgFarbe() const;
- // Gibt das Hintergrund Bild des Körpers zurück
- __declspec( dllexport ) Bild *getKBgBild() const;
- // Gibt das Hintergrund Bild des Körpers ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) Bild *zKBgBild() const;
- // Gibt den Farbübergang des Körpers zurück
- __declspec( dllexport ) AlphaFeld *getKAlphaFeld() const;
- // Gibt den Farbübergang des Körpers ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) AlphaFeld *zKAlphaFeld() const;
- // Gibt die Farbe des Farbübergangs des Körpers im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getKAfFarbe() const;
- // Gibt die Stärke des Farbübergangs des Körpers zurück
- __declspec( dllexport ) int getKAfStrength() const;
- // Gibt die Hintergrund Farbe des Schließen Knopfes im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getSBgFarbe() const;
- // Gibt das Hintergrund Bild des Schließen Knopfes zurück
- __declspec( dllexport ) Bild *getSBgBild() const;
- // Gibt das Hintergrund Bild des Schließen Knopfes ohne erhöhten Reference COunter zurück
- __declspec( dllexport ) Bild *zSBgBild() const;
- // Gibt den Farbübergang des Schließen Knopfes zurück
- __declspec( dllexport ) AlphaFeld *getSAlphaFeld() const;
- // Gibt den Farbübergang des Schließen Knopfes ohne erhöhten Reference COunter zurück
- __declspec( dllexport ) AlphaFeld *zSAlphaFeld() const;
- // Gibt die Farbe des Farbübergangs des Schließen Knopfes im A8R8G8B8 Format zurück
- __declspec( dllexport ) int getSAfFarbe() const;
- // Gibt die Stärke des Farbübergangs des Schließen Knopfes zurück
- __declspec( dllexport ) int getSAfStrength() const;
- // Gibt den Farbübergang zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
- __declspec( dllexport ) AlphaFeld *getSKAlphaFeld() const;
- // Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
- __declspec( dllexport ) AlphaFeld *zSKAlphaFeld() const;
- // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
- __declspec( dllexport ) int getSKAfFarbe() const;
- // Gibt die Stärke des Farbübergangs zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
- __declspec( dllexport ) int getSKAfStrength() const;
- // Gibt die minimale Fenstergröße in Pixeln zurück
- __declspec( dllexport ) const Punkt &getMin() const;
- // Gibt die maximale Fenstergröße in Pixeln zurück
- __declspec( dllexport ) const Punkt &getMax() const;
- // Gibt die minimale Körpergröße in Pixeln zurück
- __declspec( dllexport ) const Punkt &getKMin() const;
- // Gibt die maximale Körpergröße in Pixeln zurück
- __declspec( dllexport ) const Punkt &getKMax() const;
- // Gibt die Scrollbar vom rechten Fensterrand zurück
- __declspec( dllexport ) VScrollBar *getVScrollBar() const;
- // Gibt die Scrollbar vom rechten Fensterrand ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) VScrollBar *zVScrollBar() const;
- // Gibt die Scrollbar vom unteren Fensterrand zurück
- __declspec( dllexport ) HScrollBar *getHScrollBar() const;
- // Gibt die Scrollbar vom unteren Fensterrand ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) HScrollBar *zHScrollBar() const;
- // Gibt eine Liste mit Zeichnungen zurück, die im Fenster sind
- __declspec( dllexport ) Iterator<Zeichnung*> getMembers() const;
- // Erzeugt eine Kopie des Fensters, die ohne Auswirkungen auf das Original verändert werden kann
- __declspec( dllexport ) Zeichnung *dublizieren() const override;
- };
- }
- #endif
|