#ifndef Bildschirm_H #define Bildschirm_H #define WIN32_LEAN_AND_MEAN #include #include namespace Framework { class Bild; // Bild.h class Punkt; // Punkt.h class WFenster; // Fenster.h class Bildschirm; // aus dieser Datei class ObjektArray; // Objekt.h class Objekt; // Objekt.h class Farbe; // Farbe.h //Diese Klasse wird das Bild auf dem Bildschirm verwalten class Bildschirm { private: IDirect3D9* pDirect3D; IDirect3DDevice9* pDevice; IDirect3DSurface9* pBackBuffer; D3DLOCKED_RECT backRect; WFenster *fenster; Bild *renderB; CRITICAL_SECTION threadSave; int ref; ObjektArray *members; Farbe *füllFarbe; bool vollbild; Punkt *backBufferGröße; public: // Konstruktor Bildschirm( WFenster *fenster ); // Destruktor ~Bildschirm(); // nicht constant void lock(); void unlock(); void update(); // aktualisiert directX void addMember( Objekt *obj ); // Fügt ein Objekt hinzu void removeMember( Objekt *obj ); // Entfernt ein Objekt void render(); // Zeichnet das Bild void setFüllFarbeZ( Farbe *f ); // setzt die Fill Farbe void setFüllFarbe( Farbe *f ); void setFüllFarbe( int f ); void setVollbild( bool fullscreen ); // setzt vollbild void tick( double tickval ); void setBackBufferGröße( int breite, int höhe ); // setzt die Größe des Backbuffers void setBackBufferGröße( Punkt *größe ); void setBackBufferGrößeZ( Punkt *größe ); // constant Bild *getRenderBild() const; // Gibt das RenderObj zurück ObjektArray *getMembers() const; // gibt die Objekte zurück Farbe *getFüllFarbe() const; // gibt die Füll Farbe zurück Farbe *zFüllFarbe() const; bool istVolbild() const; // gibt zurück, ob vollbild an ist Punkt *getBackBufferGröße() const; // gibt die Größe des Backbuffers zurück Punkt *zBackBufferGröße() const; // Reference Counting Bildschirm *getThis(); Bildschirm *release(); }; } #endif