123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #ifndef KSGScriptObj_H
- #define KSGScriptObj_H
- #include <Array.h>
- #include <Text.h>
- #include <Zeichnung.h>
- #include "../Klassen/KSGSTyp.h"
- namespace Framework
- {
- class Bild;
- class TextFeld;
- class Knopf;
- class Fenster;
- class BildZ;
- class Animation2DData;
- class Animation2D;
- class Schrift;
- class Text;
- class TextFeld;
- }
- namespace KSGScript
- {
- struct KSGSVariableDef
- {
- int typId;
- int id;
- int sichtbar; // 0 = global, 1 = global in klasse, 2 = lokal in klasse, 3 = lokal in Funktion
- Framework::Text wert;
- };
- /*
- * Vordefinition der KSGS Variable Klasse.
- * Virtuelle Vordefinition der Klasse KSGSKlasseInstanz aus ../Befehl/KSGSKlasse.h
- */
- class KSGSVariable
- {
- public:
- // nicht constant
- virtual KSGSVariable *startFunktion( int id, bool zugriff, Framework::RCArray< KSGSVariable > *parameter ) = 0;
- virtual KSGSVariable *doOperator( int id, KSGSVariable *rechts ) = 0;
- virtual void setVariable( int id, KSGSVariable *var ) = 0;
- // constant
- virtual KSGSVariable *getVariable( int id, bool zugriff ) const = 0;
- virtual KSGSVariable *umwandelnIn( int typ ) const = 0;
- virtual int getTyp() const = 0;
- // verarbeiten
- virtual bool getBool() const = 0;
- virtual int getInt() const = 0;
- virtual double getDouble() const = 0;
- virtual Framework::Text *getText() const = 0;
- virtual Framework::Bild *getBild() const = 0;
- virtual Framework::MausEreignis getMausEreignis() const = 0;
- virtual Framework::TastaturEreignis getTastaturEreignis() const = 0;
- virtual Framework::TextFeld *getTextFeld() const = 0;
- virtual Framework::Knopf *getKnopf() const = 0;
- virtual Framework::Fenster *getFenster() const = 0;
- virtual Framework::BildZ *getBildZ() const = 0;
- virtual Framework::Animation2DData *getAnimation2DData() const = 0;
- virtual Framework::Animation2D *getAnimation2D() const = 0;
- virtual Framework::Zeichnung *getZeichnung() const = 0;
- // Reference Counting
- virtual KSGSVariable *getThis() = 0;
- virtual KSGSVariable *release() = 0;
- };
- /*
- * Vordefinition der KSGS Zeichnung Klasse.
- * Virtuelle Vordefinition der Klasse KSGScriptObj aus ../Main/KSGScriptObj.h
- */
- class KSGScriptObj : public Framework::Zeichnung
- {
- public:
- // nicht constant
- virtual void lock();
- virtual void unlock();
- virtual void setScriptDatei( const char *pfad ) = 0;
- virtual void setScriptDatei( Framework::Text *pfad ) = 0;
- virtual bool neuLaden() = 0;
- virtual void zurücksetzen() = 0;
- virtual void setRückrufParam( void *p ) = 0;
- virtual void setRückrufFunktion( void( *funktion )( void *, Framework::RCArray< KSGSVariable > *, KSGSVariable ** ) ) = 0;
- virtual void setSchriftZ( Framework::Schrift *s ) = 0;
- virtual void setBildschirmZ( Framework::Bildschirm *s ) = 0;
- virtual void doMausEreignis( Framework::MausEreignis &me ) = 0;
- virtual void doTastaturEreignis( Framework::TastaturEreignis &te ) = 0;
- virtual bool tick( double zeit ) = 0;
- virtual void render( Framework::Bild &zRObj ) = 0;
- virtual KSGSVariable *startFunktion( int id, Framework::RCArray< KSGSVariable > *parameter ) = 0;
- virtual KSGSVariable *erstellKlassenInstanz( int id ) = 0;
- virtual void setVariable( int id, KSGSVariable *var ) = 0;
- virtual Framework::Text *convertPfad( char *pf ) = 0;
- virtual void setLog( Framework::TextFeld *log ) = 0;
- virtual void logNachricht( char *n ) = 0;
- // constant
- virtual KSGSVariable *rückruf( Framework::RCArray< KSGSVariable > *parameter ) const = 0;
- virtual Framework::Text *getScriptDateiPfad() const = 0;
- virtual Framework::Text *zScriptDateiPfad() const = 0;
- virtual Framework::Schrift *getSchrift() const = 0;
- virtual Framework::Schrift *zSchrift() const = 0;
- virtual Framework::Bildschirm *getBildschirm() const = 0;
- virtual Framework::Bildschirm *zBildschirm() const = 0;
- virtual int getScriptId() const = 0;
- virtual bool istBeendet( int scrId ) const = 0;
- virtual int getFunktionId( const char *name ) const = 0;
- virtual KSGSVariable *getVariable( int id ) const = 0;
- // Reference Counting
- virtual KSGScriptObj *getThis() = 0;
- virtual KSGScriptObj *release() = 0;
- };
- // DLL Einstieg
- typedef KSGScriptObj *( *KSGSGetZeichnung )( );
- typedef KSGSVariable *( *KSGSGetVariable )( KSGScriptObj *zObj, KSGSVariableDef *def );
- typedef void ( *KSGSSetBild )( KSGSVariable *zBv, Framework::Bild *b );
- }
- #define KSGS_START_FUNKTION "GetNewKSGScriptObj"
- #define KSGS_VARIABLE_FUNKTION "GetNewKSGSVariable"
- #define KSGS_SET_BILD_FUNKTION "SetKSGSBildVariable"
- #endif
|