Bildschirm.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef Bildschirm_H
  2. #define Bildschirm_H
  3. #define WIN32_LEAN_AND_MEAN
  4. #include <Windows.h>
  5. #include <d3d9.h>
  6. namespace Framework
  7. {
  8. class Bild; // Bild.h
  9. class Punkt; // Punkt.h
  10. class WFenster; // Fenster.h
  11. class Bildschirm; // aus dieser Datei
  12. class ObjektArray; // Objekt.h
  13. class Objekt; // Objekt.h
  14. class Farbe; // Farbe.h
  15. //Diese Klasse wird das Bild auf dem Bildschirm verwalten
  16. class Bildschirm
  17. {
  18. private:
  19. IDirect3D9* pDirect3D;
  20. IDirect3DDevice9* pDevice;
  21. IDirect3DSurface9* pBackBuffer;
  22. D3DLOCKED_RECT backRect;
  23. WFenster *fenster;
  24. Bild *renderB;
  25. CRITICAL_SECTION threadSave;
  26. int ref;
  27. ObjektArray *members;
  28. Farbe *füllFarbe;
  29. bool vollbild;
  30. Punkt *backBufferGröße;
  31. public:
  32. // Konstruktor
  33. Bildschirm( WFenster *fenster );
  34. // Destruktor
  35. ~Bildschirm();
  36. // nicht constant
  37. void lock();
  38. void unlock();
  39. void update(); // aktualisiert directX
  40. void addMember( Objekt *obj ); // Fügt ein Objekt hinzu
  41. void removeMember( Objekt *obj ); // Entfernt ein Objekt
  42. void render(); // Zeichnet das Bild
  43. void setFüllFarbeZ( Farbe *f ); // setzt die Fill Farbe
  44. void setFüllFarbe( Farbe *f );
  45. void setFüllFarbe( int f );
  46. void setVollbild( bool fullscreen ); // setzt vollbild
  47. void tick( double tickval );
  48. void setBackBufferGröße( int breite, int höhe ); // setzt die Größe des Backbuffers
  49. void setBackBufferGröße( Punkt *größe );
  50. void setBackBufferGrößeZ( Punkt *größe );
  51. // constant
  52. Bild *getRenderBild() const; // Gibt das RenderObj zurück
  53. ObjektArray *getMembers() const; // gibt die Objekte zurück
  54. Farbe *getFüllFarbe() const; // gibt die Füll Farbe zurück
  55. Farbe *zFüllFarbe() const;
  56. bool istVolbild() const; // gibt zurück, ob vollbild an ist
  57. Punkt *getBackBufferGröße() const; // gibt die Größe des Backbuffers zurück
  58. Punkt *zBackBufferGröße() const;
  59. // Reference Counting
  60. Bildschirm *getThis();
  61. Bildschirm *release();
  62. };
  63. }
  64. #endif