123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- #include "Ressourcen.h"
- // Inhalt der RessourceBild Klasse aus Ressource.h
- // Konstruktor
- RessourceBild::RessourceBild()
- {
- name = new RCArray< Text >();
- bild = new RCArray< Bild >();
- anzahl = 0;
- ref = 1;
- }
- // Destruktor
- RessourceBild::~RessourceBild()
- {
- name->release();
- bild->release();
- }
- // nicht constant
- bool RessourceBild::add( Text *name, Bild *bild )
- {
- bool ret = add( name->getText(), bild );
- name->release();
- return ret;
- }
- bool RessourceBild::add( const char *name, Bild *bild )
- {
- if( hat( name ) )
- {
- bild->release();
- return 0;
- }
- this->name->add( new Text( name ), anzahl );
- this->bild->add( bild, anzahl );
- anzahl++;
- return 1;
- }
- bool RessourceBild::remove( Text *name )
- {
- bool ret = remove( name->getText() );
- name->release();
- return ret;
- }
- bool RessourceBild::remove( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- {
- this->name->remove( i );
- bild->remove( i );
- anzahl--;
- return 1;
- }
- }
- return 0;
- }
- void RessourceBild::reset()
- {
- for( int i = 0; i < anzahl; i++ )
- {
- name->remove( 0 );
- bild->remove( 0 );
- }
- anzahl = 0;
- }
- // constant
- bool RessourceBild::hat( Text *name )
- {
- bool ret = hat( name->getText() );
- name->release();
- return ret;
- }
- bool RessourceBild::hat( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- return 1;
- }
- return 0;
- }
- Bild *RessourceBild::get( Text *name )
- {
- Bild *ret = get( name->getText() );
- name->release();
- return ret;
- }
- Bild *RessourceBild::get( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- return this->bild->get( i );
- }
- return 0;
- }
- Bild *RessourceBild::z( Text *name )
- {
- Bild *ret = z( name->getText() );
- name->release();
- return ret;
- }
- Bild *RessourceBild::z( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- return this->bild->z( i );
- }
- return 0;
- }
- // Reference Counting
- RessourceBild *RessourceBild::getThis()
- {
- ref++;
- return this;
- }
- RessourceBild *RessourceBild::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
- // Inhalt der RessourceSchrift Klasse aus Ressource.h
- // Konstruktor
- RessourceSchrift::RessourceSchrift()
- {
- name = new RCArray< Text >();
- schrift = new RCArray< Schrift >();
- anzahl = 0;
- ref = 1;
- }
- // Destruktor
- RessourceSchrift::~RessourceSchrift()
- {
- name->release();
- schrift->release();
- }
- // nicht constant
- bool RessourceSchrift::add( Text *name, Schrift *schrift )
- {
- bool ret = add( name->getText(), schrift );
- name->release();
- return ret;
- }
- bool RessourceSchrift::add( const char *name, Schrift *schrift )
- {
- if( hat( name ) )
- {
- schrift->release();
- return 0;
- }
- this->name->add( new Text( name ), anzahl );
- this->schrift->add( schrift, anzahl );
- anzahl++;
- return 1;
- }
- bool RessourceSchrift::remove( Text *name )
- {
- bool ret = remove( name->getText() );
- name->release();
- return ret;
- }
- bool RessourceSchrift::remove( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- {
- this->name->remove( i );
- schrift->remove( i );
- anzahl--;
- return 1;
- }
- }
- return 0;
- }
- void RessourceSchrift::reset()
- {
- for( int i = 0; i < anzahl; i++ )
- {
- name->remove( 0 );
- schrift->remove( 0 );
- }
- anzahl = 0;
- }
- // constant
- bool RessourceSchrift::hat( Text *name )
- {
- bool ret = hat( name->getText() );
- name->release();
- return ret;
- }
- bool RessourceSchrift::hat( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- return 1;
- }
- return 0;
- }
- Schrift *RessourceSchrift::get( Text *name )
- {
- Schrift *ret = get( name->getText() );
- name->release();
- return ret;
- }
- Schrift *RessourceSchrift::get( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- return this->schrift->get( i );
- }
- return 0;
- }
- Schrift *RessourceSchrift::z( Text *name )
- {
- Schrift *ret = z( name->getText() );
- name->release();
- return ret;
- }
- Schrift *RessourceSchrift::z( const char *name )
- {
- for( int i = 0; i < anzahl; i++ )
- {
- if( this->name->z( i )->istGleich( name ) )
- return this->schrift->z( i );
- }
- return 0;
- }
- // Reference Counting
- RessourceSchrift *RessourceSchrift::getThis()
- {
- ref++;
- return this;
- }
- RessourceSchrift *RessourceSchrift::release()
- {
- ref--;
- if( !ref )
- delete this;
- return 0;
- }
|