123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #ifndef Objekt_H
- #define Objekt_H
- #define WIN32_LEAN_AND_MEAN
- #include <Windows.h>
- namespace Framework
- {
- struct VScrollData; // Scroll.h
- struct HScrollData; // Scroll.h
- class Punkt; // Punkt.h
- struct MausEreignis; // MausEreignis.h
- struct TastaturEreignis; // TastaturEreignis.h
- class Bild; // Bild.h
- class Objekt; // Aus dieser Datei
- class ObjektArray; // Aus dieser Datei
- class Objekt
- {
- protected:
- Punkt *pos;
- Punkt *gr;
- bool (*Mak)( void *, MausEreignis );
- bool (*Tak)( void *, TastaturEreignis );
- CRITICAL_SECTION Thread_Save;
- bool mausIn;
- public:
- // Konstruktor
- Objekt();
- // Destruktor
- ~Objekt();
- // nicht constant
- void lockObjekt();
- void unlockObjekt();
- void setMausEreignis( bool (*ak)( void *, MausEreignis ) ); // setzt das Maus Ereignis
- void setTastaturEreignis( bool (*ak)( void *, TastaturEreignis ) ); // setzt das TastaturEreignis
- virtual void doMausEreignis( MausEreignis *me ); // ruft Mak auf
- virtual void doTastaturEreignis( TastaturEreignis *te ); // ruft Tak auf
- virtual void tick( double tickval ); // tick
- void setPosition( Punkt *pos ); // setzt die position
- void setPositionZ( Punkt *pos ); // setzt einen Zeiger auf die Position
- void setGröße( Punkt *gr ); // setzt die Größe
- void setGrößeZ( Punkt *gr ); // setzt einen zeiger zur größe
- void setPosition( int x, int y ); // setzt die position
- void setGröße( int x, int y ); // setzt die Größe
- virtual void render( Bild *zrObj ); // zeichnet nach zrObj
- virtual void render( int xOff, int yOff, int bOff, int hOff, Bild *zrObj );
- // constant
- bool hatMausEreignis() const; // prüft, ob Mak gesetzt ist
- bool hatTastaturEreignis() const; // prüft, ob Tak gesetzt ist
- Punkt *getPosition() const; // gibt die Position zurück
- Punkt *getGröße() const; // gibt die Größe zurück
- int getBreite() const; // gibt die Breite zurück
- int getHöhe() const; // gibt die Höhe zurück
- int getX() const; // gibt X zurück
- int getY() const; // gibt Y zurück
- // reference Counting
- };
- class ObjektArray// Array von Objekten
- {
- private:
- Objekt *This;
- ObjektArray *next;
- int index;
- public:
- // Konstruktor
- ObjektArray();
- // Destruktor
- ~ObjektArray();
- // nicht const
- bool addObjekt( Objekt *obj ); // Fügt ein Objekt hinzu
- bool removeObjekt( Objekt *obj ); // Entfernt ein Objekt
- bool removeObjekt( int i ); // Entfernt das i-te Objekt
- void setNext0(); // Setzt das nächste Objekt zu 0
- void updateIndex( int i ); // aktualisiert die Index variable
- // constant
- ObjektArray *getNext() const; // gibt das nächste Objekt zurück
- Objekt *getObjekt( int i ) const; // gibt das i-te Objekt zurück
- Objekt *getObjekt() const; // gibt das Objekt zurück
- int getIndex() const; // Gibt den Index zurück
- void sendMausAll( MausEreignis *me ) const; // sendet me an alle volgenden Objekte
- void sendTastaturAll( TastaturEreignis *te ) const; // sendet te an alle volgenden Objekte
- void sendMaus( MausEreignis *me ) const; // sendet me an dieses Objekt
- void sendTastatur( TastaturEreignis *te ) const; // sendet te an dieses Objekt
- void sendMaus( int i, MausEreignis *me ) const; // sendet me an das i-te Objekt
- void sendTastatur( int i, TastaturEreignis *te ) const; // sendet te an das i-te Objekt
- void render( Bild *rObj ); // Zeichnet alle nach rObj
- void render( int xOff, int yOff, int bOff, int hOff, Bild *rObj ); // Zeichnet alle nach rObj
- void tick( double tickval ); // tick
- };
- }
- #endif
|