|
@@ -0,0 +1,498 @@
|
|
|
|
+#include "KERelease.h"
|
|
|
|
+#include "../../../../Global/Initialisierung.h"
|
|
|
|
+#include "../../../../Global/Variablen.h"
|
|
|
|
+#include <Text.h>
|
|
|
|
+
|
|
|
|
+bool kEReleaseHerstellenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( p )
|
|
|
|
+ return ( (KERelease*)p )->herstellenME( (Knopf*)obj, me );
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool kEReleaseLöschenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( p )
|
|
|
|
+ return ( (KERelease*)p )->removeME( (Knopf*)obj, me );
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool kEReleaseVeröffME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( p )
|
|
|
|
+ return ( (KERelease*)p )->veröffentlichenME( me );
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool kEReleaseAbbildErstellenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( p )
|
|
|
|
+ return ( (KERelease*)p )->abbildErstellenME( me );
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool kEReleaseShopÜbernehmenME( void *p, void *obj, MausEreignis me )
|
|
|
|
+{
|
|
|
|
+ if( p )
|
|
|
|
+ return ( (KERelease*)p )->shopÜbernehmenME( me );
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// Inhalt der KERelease Klasse aus KERelease.h
|
|
|
|
+// Konstruktor
|
|
|
|
+KERelease::KERelease( int karte, Schrift *zSchrift )
|
|
|
|
+ : Thread()
|
|
|
|
+{
|
|
|
|
+ schrift = zSchrift->getThis();
|
|
|
|
+ Text *kName = infoKlient->getKarteName( karte );
|
|
|
|
+ Text titel = kName ? kName->getText() : "<Karte>";
|
|
|
|
+ titel += " - Release";
|
|
|
|
+ if( kName )
|
|
|
|
+ kName->release();
|
|
|
|
+ fenster = initFenster( 10, 40, 880, 550, zSchrift, Fenster::Style::Sichtbar | Fenster::Style::Titel | Fenster::Style::TitelBuffered | Fenster::Style::Erlaubt | Fenster::Style::Rahmen, titel );
|
|
|
|
+ abbilder = initObjTabelle( 10, 10, 700, 510, zSchrift, OTSTYLE, { { "Name", 270, 270, 270 },
|
|
|
|
+ { "Datum", 200, 200, 200 }, { "Herstellen", 100, 100, 100 }, { "Löschen", 100, 100, 100 } }, 20 );
|
|
|
|
+ veröff = initKnopf( 720, 10, 150, 20, zSchrift, Knopf::Style::Sichtbar, "Veröffentlichen" );
|
|
|
|
+ veröff->setMausEreignisParameter( this );
|
|
|
|
+ veröff->setMausEreignis( kEReleaseVeröffME );
|
|
|
|
+ initToolTip( veröff, "Veröffentlicht die momentane Version der Karte.\nDieser Vorgang kann einiege Minuten dauern.\nWährend dieses Vorgangs können keine Änderungen\nan der Karte vorgenommen werden.", schrift->getThis(), hauptScreen );
|
|
|
|
+ abbildName = initTextFeld( 720, 40, 150, 20, zSchrift, TextFeld::Style::TextFeld, "Abbild Name" );
|
|
|
|
+ initToolTip( abbildName, "Name eines neu zu erstellenen Kartenabbilds.", schrift->getThis(), hauptScreen );
|
|
|
|
+ abbildErstellen = initKnopf( 720, 70, 150, 20, zSchrift, Knopf::Style::Sichtbar, "Abbild Erstellen" );
|
|
|
|
+ abbildErstellen->setMausEreignisParameter( this );
|
|
|
|
+ abbildErstellen->setMausEreignis( kEReleaseAbbildErstellenME );
|
|
|
|
+ initToolTip( abbildErstellen, "Erstellt ein Abbild von der aktuellen Kartenversion,\ndas zu einem späteren Zeitpunkt wiederhergestellt werden kann.", schrift->getThis(), hauptScreen );
|
|
|
|
+ shopT = initTextFeld( 720, 350, 150, 20, zSchrift, TextFeld::Style::Text, "Im Shop zu kaufen:" );
|
|
|
|
+ testVersionErwerbbar = initAuswahlBox( 720, 375, 150, 20, zSchrift, ABSTYLE, { "Testversion ja", "Testversion nein" } );
|
|
|
|
+ vollVersionErwerbbar = initAuswahlBox( 720, 400, 150, 20, zSchrift, ABSTYLE, { "Vollversion ja","Vollversion nein" } );
|
|
|
|
+ preisT = initTextFeld( 720, 425, 150, 20, zSchrift, TextFeld::Style::Text, "Preis in Kupfer:" );
|
|
|
|
+ testVersionPreisT = initTextFeld( 720, 450, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Testversion:" );
|
|
|
|
+ vollVersionPreisT = initTextFeld( 720, 475, 100, 20, zSchrift, TextFeld::Style::Text | TextFeld::Style::VCenter, "Vollversion:" );
|
|
|
|
+ testVersionPreis = initTextFeld( 820, 450, 50, 20, zSchrift, TextFeld::Style::TextFeld | TextFeld::Style::VCenter, "" );
|
|
|
|
+ testVersionPreis->setTastaturEreignis( _nurNummernTE );
|
|
|
|
+ vollVersionPreis = initTextFeld( 820, 475, 50, 20, zSchrift, TextFeld::Style::TextFeld | TextFeld::Style::VCenter, "" );
|
|
|
|
+ vollVersionPreis->setTastaturEreignis( _nurNummernTE );
|
|
|
|
+ shopÜbernehmen = initKnopf( 745, 500, 100, 20, zSchrift, Knopf::Style::Sichtbar, "Übernehmen" );
|
|
|
|
+ shopÜbernehmen->setMausEreignis( kEReleaseShopÜbernehmenME );
|
|
|
|
+ shopÜbernehmen->setMausEreignisParameter( this );
|
|
|
|
+ laden = (Animation2D*)ladeAnimation->dublizieren();
|
|
|
|
+ laden->setPosition( 425, 275 );
|
|
|
|
+ laden->setSichtbar( 0 );
|
|
|
|
+ fenster->addMember( abbilder );
|
|
|
|
+ fenster->addMember( veröff );
|
|
|
|
+ fenster->addMember( abbildName );
|
|
|
|
+ fenster->addMember( abbildErstellen );
|
|
|
|
+ fenster->addMember( shopT );
|
|
|
|
+ fenster->addMember( preisT );
|
|
|
|
+ fenster->addMember( testVersionPreisT );
|
|
|
|
+ fenster->addMember( vollVersionPreisT );
|
|
|
|
+ fenster->addMember( testVersionPreis );
|
|
|
|
+ fenster->addMember( vollVersionPreis );
|
|
|
|
+ fenster->addMember( shopÜbernehmen );
|
|
|
|
+ fenster->addMember( vollVersionErwerbbar );
|
|
|
|
+ fenster->addMember( testVersionErwerbbar );
|
|
|
|
+ animation = 0;
|
|
|
|
+ tickVal = 0;
|
|
|
|
+ sichtbar = 0;
|
|
|
|
+ rechts = 0;
|
|
|
|
+ xStart = 0;
|
|
|
|
+ breite = 0;
|
|
|
|
+ aktion = 0;
|
|
|
|
+ zeile = 0;
|
|
|
|
+ this->karte = karte;
|
|
|
|
+ alpha = 255;
|
|
|
|
+ ref = 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// Destruktor
|
|
|
|
+KERelease::~KERelease()
|
|
|
|
+{
|
|
|
|
+ if( run )
|
|
|
|
+ {
|
|
|
|
+ warteAufThread( 5000 );
|
|
|
|
+ if( run )
|
|
|
|
+ ende();
|
|
|
|
+ }
|
|
|
|
+ int anz = abbilder->getZeilenAnzahl();
|
|
|
|
+ for( int i = 0; i < anz; i++ )
|
|
|
|
+ {
|
|
|
|
+ ( (TextFeld*)abbilder->zZeichnung( 0, 0 ) )->release();
|
|
|
|
+ ( (TextFeld*)abbilder->zZeichnung( 1, 0 ) )->release();
|
|
|
|
+ if( i != 0 )
|
|
|
|
+ {
|
|
|
|
+ ( (Knopf*)abbilder->zZeichnung( 2, 0 ) )->release();
|
|
|
|
+ ( (Knopf*)abbilder->zZeichnung( 3, 0 ) )->release();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ ( (TextFeld*)abbilder->zZeichnung( 2, 0 ) )->release();
|
|
|
|
+ ( (TextFeld*)abbilder->zZeichnung( 3, 0 ) )->release();
|
|
|
|
+ }
|
|
|
|
+ abbilder->removeZeile( 0 );
|
|
|
|
+ }
|
|
|
|
+ fenster->release();
|
|
|
|
+ abbilder->release();
|
|
|
|
+ veröff->release();
|
|
|
|
+ abbildName->release();
|
|
|
|
+ abbildErstellen->release();
|
|
|
|
+ laden->release();
|
|
|
|
+ schrift->release();
|
|
|
|
+ shopT->release();
|
|
|
|
+ testVersionErwerbbar->release();
|
|
|
|
+ vollVersionErwerbbar->release();
|
|
|
|
+ preisT->release();
|
|
|
|
+ testVersionPreisT->release();
|
|
|
|
+ vollVersionPreisT->release();
|
|
|
|
+ testVersionPreis->release();
|
|
|
|
+ vollVersionPreis->release();
|
|
|
|
+ shopÜbernehmen->release();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// nicht constant
|
|
|
|
+bool KERelease::herstellenME( Knopf *obj, MausEreignis &me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ int anz = abbilder->getZeilenAnzahl();
|
|
|
|
+ for( int i = 1; i < anz; i++ )
|
|
|
|
+ {
|
|
|
|
+ if( obj == (Knopf*)abbilder->zZeichnung( 2, i ) )
|
|
|
|
+ {
|
|
|
|
+ if( !run )
|
|
|
|
+ {
|
|
|
|
+ zeile = i;
|
|
|
|
+ aktion = 1;
|
|
|
|
+ start();
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool KERelease::removeME( Knopf *obj, MausEreignis &me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ int anz = abbilder->getZeilenAnzahl();
|
|
|
|
+ for( int i = 1; i < anz; i++ )
|
|
|
|
+ {
|
|
|
|
+ if( obj == (Knopf*)abbilder->zZeichnung( 3, i ) )
|
|
|
|
+ {
|
|
|
|
+ if( !run )
|
|
|
|
+ {
|
|
|
|
+ zeile = i;
|
|
|
|
+ aktion = 2;
|
|
|
|
+ start();
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool KERelease::veröffentlichenME( MausEreignis &me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ if( !run )
|
|
|
|
+ {
|
|
|
|
+ aktion = 3;
|
|
|
|
+ start();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool KERelease::abbildErstellenME( MausEreignis &me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ if( !run )
|
|
|
|
+ {
|
|
|
|
+ aktion = 4;
|
|
|
|
+ start();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool KERelease::shopÜbernehmenME( MausEreignis &me )
|
|
|
|
+{
|
|
|
|
+ if( me.id == ME_RLinks )
|
|
|
|
+ {
|
|
|
|
+ if( !run )
|
|
|
|
+ {
|
|
|
|
+ aktion = 5;
|
|
|
|
+ start();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return 1;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void KERelease::setSichtbar( bool s, bool vr )
|
|
|
|
+{
|
|
|
|
+ animation = 1;
|
|
|
|
+ sichtbar = s;
|
|
|
|
+ rechts = vr;
|
|
|
|
+ if( sichtbar )
|
|
|
|
+ {
|
|
|
|
+ if( vr )
|
|
|
|
+ {
|
|
|
|
+ xStart = 900;
|
|
|
|
+ breite = 0;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ xStart = 0;
|
|
|
|
+ breite = 0;
|
|
|
|
+ }
|
|
|
|
+ if( !run )
|
|
|
|
+ {
|
|
|
|
+ aktion = 0;
|
|
|
|
+ start();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void KERelease::thread()
|
|
|
|
+{
|
|
|
|
+ laden->setSichtbar( 1 );
|
|
|
|
+ if( aktion == 1 && zeile )
|
|
|
|
+ {
|
|
|
|
+ if( !editorKlient->abbildHerstellen( abbilder->zZeilenName( zeile )->getText() ) )
|
|
|
|
+ nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( editorKlient->getLetzterFehler() ), new Text( "Ok" ) );
|
|
|
|
+ zeile = 0;
|
|
|
|
+ run = 0;
|
|
|
|
+ laden->setSichtbar( 0 );
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if( aktion == 2 && zeile )
|
|
|
|
+ {
|
|
|
|
+ if( !editorKlient->abbildLöschen( abbilder->zZeilenName( zeile )->getText() ) )
|
|
|
|
+ nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( editorKlient->getLetzterFehler() ), new Text( "Ok" ) );
|
|
|
|
+ zeile = 0;
|
|
|
|
+ }
|
|
|
|
+ if( aktion == 3 )
|
|
|
|
+ {
|
|
|
|
+ if( !editorKlient->veröffentlichen() )
|
|
|
|
+ nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( editorKlient->getLetzterFehler() ), new Text( "Ok" ) );
|
|
|
|
+ run = 0;
|
|
|
|
+ laden->setSichtbar( 0 );
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if( aktion == 4 )
|
|
|
|
+ {
|
|
|
|
+ if( !editorKlient->abbildErstellen( abbildName->zText()->getText() ) )
|
|
|
|
+ nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( editorKlient->getLetzterFehler() ), new Text( "Ok" ) );
|
|
|
|
+ }
|
|
|
|
+ if( aktion == 0 )
|
|
|
|
+ {
|
|
|
|
+ int es = 0, tp = 0, vp = 0;
|
|
|
|
+ if( editorKlient->getShopDaten( es, tp, vp ) )
|
|
|
|
+ {
|
|
|
|
+ if( ( es | 1 ) == es )
|
|
|
|
+ testVersionErwerbbar->setAuswahl( 0 );
|
|
|
|
+ else
|
|
|
|
+ testVersionErwerbbar->setAuswahl( 1 );
|
|
|
|
+ if( ( es | 2 ) == es )
|
|
|
|
+ vollVersionErwerbbar->setAuswahl( 0 );
|
|
|
|
+ else
|
|
|
|
+ vollVersionErwerbbar->setAuswahl( 1 );
|
|
|
|
+ testVersionPreis->setText( Text() += tp );
|
|
|
|
+ vollVersionPreis->setText( Text() += vp );
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( editorKlient->getLetzterFehler() ), new Text( "Ok" ) );
|
|
|
|
+ }
|
|
|
|
+ if( aktion == 5 )
|
|
|
|
+ {
|
|
|
|
+ int es = 0;
|
|
|
|
+ if( !testVersionErwerbbar->getAuswahl() )
|
|
|
|
+ es |= 1;
|
|
|
|
+ if( !vollVersionErwerbbar->getAuswahl() )
|
|
|
|
+ es |= 2;
|
|
|
|
+ int tp = (int)*testVersionPreis->zText();
|
|
|
|
+ int vp = (int)*vollVersionPreis->zText();
|
|
|
|
+ if( !editorKlient->setShopDaten( es, tp, vp ) )
|
|
|
|
+ nachLogin->zNachrichtenListe()->addNachricht( new Text( "Fehler" ), new Text( editorKlient->getLetzterFehler() ), new Text( "Ok" ) );
|
|
|
|
+ run = 0;
|
|
|
|
+ laden->setSichtbar( 0 );
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int anz = abbilder->getZeilenAnzahl();
|
|
|
|
+ for( int i = 1; i < anz; i++ )
|
|
|
|
+ {
|
|
|
|
+ hauptScreen->lock();
|
|
|
|
+ ( (TextFeld*)abbilder->zZeichnung( 0, 1 ) )->release();
|
|
|
|
+ ( (TextFeld*)abbilder->zZeichnung( 1, 1 ) )->release();
|
|
|
|
+ ( (Knopf*)abbilder->zZeichnung( 2, 1 ) )->release();
|
|
|
|
+ ( (Knopf*)abbilder->zZeichnung( 3, 1 ) )->release();
|
|
|
|
+ abbilder->removeZeile( 1 );
|
|
|
|
+ hauptScreen->unlock();
|
|
|
|
+ }
|
|
|
|
+ RCArray< Text > *name = new RCArray< Text >();
|
|
|
|
+ RCArray< Zeit > *datum = new RCArray< Zeit >();
|
|
|
|
+ anz = editorKlient->getAbbildListe( name, datum );
|
|
|
|
+ for( int i = 0; i < anz; i++ )
|
|
|
|
+ {
|
|
|
|
+ hauptScreen->lock();
|
|
|
|
+ abbilder->addZeile( name->z( i )->getText() );
|
|
|
|
+ abbilder->setZeichnungZ( 0, i + 1, initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text, name->z( i )->getText() ) );
|
|
|
|
+ Text *d = datum->z( i )->getZeit( "h:i:s d.m.y" );
|
|
|
|
+ abbilder->setZeichnungZ( 1, i + 1, initTextFeld( 0, 0, 0, 0, schrift, TextFeld::Style::Text, d->getText() ) );
|
|
|
|
+ d->release();
|
|
|
|
+ Knopf *k = initKnopf( 0, 0, 100, 20, schrift, Knopf::Style::Sichtbar, "Herstellen" );
|
|
|
|
+ initToolTip( k, "Stellt die abgespeicherte Version der Karte wiederher.", schrift->getThis(), hauptScreen );
|
|
|
|
+ k->setMausEreignisParameter( this );
|
|
|
|
+ k->setMausEreignis( kEReleaseHerstellenME );
|
|
|
|
+ abbilder->setZeichnungZ( 2, i + 1, k );
|
|
|
|
+ k = initKnopf( 0, 0, 100, 20, schrift, Knopf::Style::Sichtbar, "Löschen" );
|
|
|
|
+ initToolTip( k, "Löscht die abgespeicherte Version der Karte.", schrift->getThis(), hauptScreen );
|
|
|
|
+ k->setMausEreignisParameter( this );
|
|
|
|
+ k->setMausEreignis( kEReleaseLöschenME );
|
|
|
|
+ abbilder->setZeichnungZ( 3, i + 1, k );
|
|
|
|
+ hauptScreen->unlock();
|
|
|
|
+ }
|
|
|
|
+ name->release();
|
|
|
|
+ datum->release();
|
|
|
|
+ run = 0;
|
|
|
|
+ laden->setSichtbar( 0 );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void KERelease::doMausEreignis( MausEreignis &me )
|
|
|
|
+{
|
|
|
|
+ if( !run )
|
|
|
|
+ fenster->doMausEreignis( me );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void KERelease::doTastaturEreignis( TastaturEreignis &te )
|
|
|
|
+{
|
|
|
|
+ if( !run )
|
|
|
|
+ fenster->doTastaturEreignis( te );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool KERelease::tick( double z )
|
|
|
|
+{
|
|
|
|
+ bool ret = laden->tick( z );
|
|
|
|
+ tickVal += z * 150;
|
|
|
|
+ int val = (int)tickVal;
|
|
|
|
+ tickVal -= val;
|
|
|
|
+ if( val )
|
|
|
|
+ {
|
|
|
|
+ if( run && alpha != 100 )
|
|
|
|
+ {
|
|
|
|
+ if( alpha - val < 100 )
|
|
|
|
+ alpha = 100;
|
|
|
|
+ else
|
|
|
|
+ alpha -= val;
|
|
|
|
+ ret = 1;
|
|
|
|
+ }
|
|
|
|
+ if( !run && alpha != 255 )
|
|
|
|
+ {
|
|
|
|
+ if( alpha + val > 255 )
|
|
|
|
+ alpha = 255;
|
|
|
|
+ else
|
|
|
|
+ alpha += val;
|
|
|
|
+ ret = 1;
|
|
|
|
+ }
|
|
|
|
+ val *= 3;
|
|
|
|
+ if( sichtbar )
|
|
|
|
+ {
|
|
|
|
+ if( xStart != 0 || breite != 900 )
|
|
|
|
+ {
|
|
|
|
+ if( rechts )
|
|
|
|
+ {
|
|
|
|
+ if( xStart - val <= 0 )
|
|
|
|
+ {
|
|
|
|
+ xStart = 0;
|
|
|
|
+ breite = 900;
|
|
|
|
+ animation = 0;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ xStart -= val;
|
|
|
|
+ breite += val;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ if( breite + val >= 900 )
|
|
|
|
+ {
|
|
|
|
+ breite = 900;
|
|
|
|
+ animation = 0;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ breite += val;
|
|
|
|
+ }
|
|
|
|
+ ret = 1;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ if( breite != 0 )
|
|
|
|
+ {
|
|
|
|
+ if( rechts )
|
|
|
|
+ {
|
|
|
|
+ if( breite - val <= 0 )
|
|
|
|
+ {
|
|
|
|
+ breite = 0;
|
|
|
|
+ animation = 0;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ breite -= val;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ if( breite - val <= 0 )
|
|
|
|
+ {
|
|
|
|
+ breite = 0;
|
|
|
|
+ xStart = 900;
|
|
|
|
+ animation = 0;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ breite -= val;
|
|
|
|
+ xStart += val;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ ret = 1;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return ret || fenster->tick( z );
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void KERelease::render( Bild &zRObj )
|
|
|
|
+{
|
|
|
|
+ if( !zRObj.setDrawOptions( xStart, 0, breite, 600 ) )
|
|
|
|
+ return;
|
|
|
|
+ zRObj.setAlpha( alpha );
|
|
|
|
+ fenster->render( zRObj );
|
|
|
|
+ zRObj.releaseAlpha();
|
|
|
|
+ laden->render( zRObj );
|
|
|
|
+ zRObj.releaseDrawOptions();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// constant
|
|
|
|
+bool KERelease::istSichtbar() const
|
|
|
|
+{
|
|
|
|
+ return sichtbar || animation;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// Reference Counting
|
|
|
|
+KERelease *KERelease::getThis()
|
|
|
|
+{
|
|
|
|
+ ref++;
|
|
|
|
+ return this;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+KERelease *KERelease::release()
|
|
|
|
+{
|
|
|
|
+ ref--;
|
|
|
|
+ if( !ref )
|
|
|
|
+ delete this;
|
|
|
|
+ return 0;
|
|
|
|
+}
|