1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #pragma once
- #include "Zeichnung.h"
- namespace Framework
- {
- class Model2D; // Model2D.h
- class Model2DData; // Model2D.h
- class LRahmen; // Rahmen.h
- class AlphaFeld; // AlphaFeld.h
- struct MausEreignis; // MausEreignis.h
- // Eine Zeichnung des 2D GUI Frameworkd, die ein 2D Modell anzeigt
- class M2DVorschau : public ZeichnungHintergrund
- {
- public:
- class Style : public ZeichnungHintergrund::Style
- {
- public:
- const static __int64 UsrScale = 0x001000; // Wenn dieser Style gesetzt ist, kann der Benutzer das Model Skallieren, indem er scrollt
- const static __int64 UsrMove = 0x002000; // Wenn dieser Style gesetzt ist, kann der Benutzer das Model per Drag and Drop verschieben
- const static __int64 UsrRot = 0x004000; // Wenn dieser Style gesetzt idt, kann der Benutzer das Model mit der rechten Maustaste drehen
- };
- private:
- Model2D *mdl;
- LRahmen *ram;
- AlphaFeld *af;
- int bgF;
- int mx;
- int my;
- int ref;
- public:
- // Konstruktor
- __declspec( dllexport ) M2DVorschau();
- // Destruktor
- __declspec( dllexport ) ~M2DVorschau();
- // Setzt einen Zeiger auf das Model, das angezeigt werden soll
- // mdl: Das Model
- __declspec( dllexport ) void setModel2DZ( Model2D *mdl );
- // Setzt die Daten des Models, das angezeigt werden soll
- // mdl: Die Daten
- __declspec( dllexport ) void setModel2D( Model2DData *mdl );
- // Verarbeitet Maus Nachrichten
- // me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
- __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;
- // 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 tv ) override;
- // Zeichnet das Objekt nach zRObj, falls es sichtbar ist
- // zRObj: Das Bild, in welches gezeichnet werden soll
- __declspec( dllexport ) void render( Bild &rb ) override;
- // Gibt das angezeigte Model ohne erhöhten Reference Counter zurück
- __declspec( dllexport ) Model2D *zModel() const;
- // Gibt das angezeigte Model zurück
- __declspec( dllexport ) Model2D *getModel() const;
- // Erzeugt eine Komplette Kopie der Zeichnung, die ohne auswirkungen auf die Originale verändert werden kann
- __declspec( dllexport ) Zeichnung *dublizieren() const override;
- // Erhöht den Reference Counting Zähler.
- // return: this.
- __declspec( dllexport ) M2DVorschau *getThis();
- // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
- // return: 0.
- __declspec( dllexport ) M2DVorschau *release();
- };
- }
|