Kolja Strohm 5 years ago
parent
commit
ab7b8505b2
47 changed files with 163 additions and 147 deletions
  1. 12 12
      KSGClient/Global/Fps.cpp
  2. 2 1
      KSGClient/Global/Fps.h
  3. 19 19
      KSGClient/Global/Initialisierung.cpp
  4. 3 5
      KSGClient/Leser/KartenLeser.cpp
  5. 1 0
      KSGClient/NachLogin/Account/AccountAnsehen.h
  6. 20 23
      KSGClient/NachLogin/Account/Historie/AccountHistorie.cpp
  7. 1 0
      KSGClient/NachLogin/Account/Historie/AccountHistorie.h
  8. 4 5
      KSGClient/NachLogin/Account/SpielPartner/AccountSpielPartner.cpp
  9. 1 0
      KSGClient/NachLogin/Account/SpielPartner/AccountSpielPartner.h
  10. 1 0
      KSGClient/NachLogin/Account/Spiele_Karten/AccountSpieleUndKarten.h
  11. 4 4
      KSGClient/NachLogin/Chat/ChatLeiste.cpp
  12. 1 0
      KSGClient/NachLogin/Chat/ChatLeiste.h
  13. 3 3
      KSGClient/NachLogin/Chat/FreundesListe.cpp
  14. 1 0
      KSGClient/NachLogin/Chat/FreundesListe.h
  15. 7 9
      KSGClient/NachLogin/Chat/NachrichtenListe.cpp
  16. 1 0
      KSGClient/NachLogin/Chat/NachrichtenListe.h
  17. 2 2
      KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBEditor.cpp
  18. 1 0
      KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.h
  19. 1 1
      KSGClient/NachLogin/Editor/Karte/Dateien/KEDEditor.cpp
  20. 1 0
      KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.h
  21. 2 2
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSEditor.cpp
  22. 1 1
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.cpp
  23. 1 0
      KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.h
  24. 1 0
      KSGClient/NachLogin/ImSpiel/Laden/SpielLaden.h
  25. 1 0
      KSGClient/NachLogin/MiniGames/MiniGame.h
  26. 3 3
      KSGClient/NachLogin/Shop/Karten/KartenKaufen.cpp
  27. 1 0
      KSGClient/NachLogin/Shop/Karten/KartenKaufen.h
  28. 5 5
      KSGClient/NachLogin/Shop/Shop.cpp
  29. 1 0
      KSGClient/NachLogin/Shop/Shop.h
  30. 1 1
      KSGClient/NachLogin/Shop/Spiele/SpieleKaufen.cpp
  31. 1 0
      KSGClient/NachLogin/Shop/Spiele/SpieleKaufen.h
  32. 1 0
      KSGClient/NachLogin/Spiele/Angemeldet/Angemeldet.h
  33. 1 0
      KSGClient/NachLogin/Spiele/Gruppe/Gruppe.h
  34. 1 0
      KSGClient/NachLogin/Spiele/Karte Auswahl/KarteAuswahl.h
  35. 1 0
      KSGClient/NachLogin/Spiele/Spiel Auswahl/SpielAuswahl.h
  36. 1 0
      KSGClient/NachLogin/Spiele/Spiele.h
  37. 3 3
      KSGClient/NachLogin/Spiele/Team Auswahl/TeamAuswahl.cpp
  38. 1 0
      KSGClient/NachLogin/Spiele/Team Auswahl/TeamAuswahl.h
  39. 24 25
      KSGClient/NachLogin/Titel/TitelLeiste.cpp
  40. 3 0
      KSGClient/NachLogin/Update/Update.cpp
  41. 4 4
      KSGClient/VorLogin/Account verwalten/EMail.cpp
  42. 4 4
      KSGClient/VorLogin/Account verwalten/Geheimnis.cpp
  43. 2 2
      KSGClient/VorLogin/Account verwalten/Name.cpp
  44. 4 4
      KSGClient/VorLogin/Account verwalten/Passwort.cpp
  45. 5 5
      KSGClient/VorLogin/Account verwalten/Registrierung.cpp
  46. 2 2
      KSGClient/VorLogin/Account verwalten/Unregistrierung.cpp
  47. 2 2
      KSGClient/VorLogin/Login/Login.cpp

+ 12 - 12
KSGClient/Global/Fps.cpp

@@ -16,7 +16,7 @@ Fps::Fps()
 	nowFps = 0;
 	nowCpu = 0;
 	nowMem = 0;
-	schrift = 0;
+    textRd = 0;
 	sFarbe = 0;
 	ref = 1;
 }
@@ -25,16 +25,18 @@ Fps::Fps()
 Fps::~Fps()
 {
 	delete pr;
-	if( schrift )
-		schrift = schrift->release();
+	if( textRd )
+		textRd->release();
 }
 
 // nicht constant
 void Fps::setSchriftZ( Schrift *schrift ) // setzt die Schrift
 {
-	if( this->schrift )
-		this->schrift = this->schrift->release();
-	this->schrift = schrift;
+    if( !this->textRd )
+        textRd = new TextRenderer( schrift );
+    else
+        textRd->setSchriftZ( schrift );
+    textRd->setSchriftSize( 12 );
 	rend = 1;
 }
 
@@ -64,7 +66,7 @@ bool Fps::tick( double tickval ) // tick
 void Fps::render( Bild &zrObj ) // zeichnet nach zrObj
 {
 	fpsCount++;
-	if( schrift && sFarbe )
+	if( textRd && sFarbe )
 	{
 		Text renderT( "FPS: " );
 		renderT.append( nowFps );
@@ -73,9 +75,7 @@ void Fps::render( Bild &zrObj ) // zeichnet nach zrObj
 		renderT.append( "%\nMem: " );
 		renderT.append( nowMem );
 		renderT.append( "kb" );
-		schrift->setDrawPosition( 10, 10 );
-		schrift->setSchriftSize( 12 );
-		schrift->renderText( &renderT, zrObj, sFarbe );
+        textRd->renderText( 10, 10, renderT, zrObj, sFarbe );
 	}
 }
 
@@ -97,12 +97,12 @@ int Fps::getMem() const // gibt den Arbeitsspeicher zur
 
 Schrift *Fps::getSchrift() const // gibt die Schrift zurück
 {
-	return schrift ? schrift->getThis() : 0;
+	return textRd ? textRd->getSchrift() : 0;
 }
 
 Schrift *Fps::zSchrift() const
 {
-	return schrift;
+	return textRd ? textRd->zSchrift() : 0;
 }
 
 int Fps::getFarbe() const // gibt die Farbe zurück

+ 2 - 1
KSGClient/Global/Fps.h

@@ -9,6 +9,7 @@ namespace Framework
 	class Bild; // Bild.h
 	class Schrift; // Schrift.h
 	class Fps; // aus dieser Datei
+    class TextRenderer;
 
 	class Fps : public Zeichnung
 	{
@@ -19,7 +20,7 @@ namespace Framework
 		int nowFps;
 		int nowCpu;
 		int nowMem;
-		Schrift *schrift;
+        TextRenderer *textRd;
 		int sFarbe;
 		int ref;
 

+ 19 - 19
KSGClient/Global/Initialisierung.cpp

@@ -34,8 +34,8 @@ KontrollKnopf *initKontrollKnopf( int x, int y, int br, int h
 	}
 	if( ret->hatStyle( TextFeld::Style::Rahmen ) )
 	{
-		ret->setLinienRahmenBreite( 1 );
-		ret->setLinienRahmenFarbe( 0xFF00FF00 );
+		ret->setRahmenBreite( 1 );
+		ret->setRahmenFarbe( 0xFF00FF00 );
 	}
 	ret->setPosition( x, y );
 	ret->setSize( br, hö );
@@ -97,8 +97,8 @@ TextFeld *initTextFeld( int x, int y, int br, int h
     }
     if( ret->hatStyle( TextFeld::Style::Rahmen ) )
     {
-        ret->setLinienRahmenBreite( 1 );
-        ret->setLinienRahmenFarbe( 0xFF00FF00 );
+        ret->setRahmenBreite( 1 );
+        ret->setRahmenFarbe( 0xFF00FF00 );
     }
     ret->setPosition( x, y );
     ret->setSize( br, hö );
@@ -115,8 +115,8 @@ BildZ *initBildZ( int x, int y, int br, int h
 		ret->setBildZ( b );
 	if( ( style | BildZ::Style::Rahmen ) == style )
 	{
-		ret->setLinienRahmenBreite( 1 );
-		ret->setLinienRahmenFarbe( 0xFFFFFFFF );
+		ret->setRahmenBreite( 1 );
+		ret->setRahmenFarbe( 0xFFFFFFFF );
 	}
 	return ret;
 }
@@ -135,8 +135,8 @@ AuswahlBox *initAuswahlBox( int x, int y, int br, int h
 		ret->setSchriftZ( zSchrift->getThis() );
 	if( ( style | AuswahlBox::Style::Rahmen ) == style )
 	{
-		ret->setLinienRahmenBreite( 1 );
-		ret->setLinienRahmenFarbe( 0xFFFFFFFF );
+		ret->setRahmenBreite( 1 );
+		ret->setRahmenFarbe( 0xFFFFFFFF );
 	}
 	if( ( style | AuswahlBox::Style::MaxHeight ) == style )
 		ret->setMaxAuskappHeight( 100 );
@@ -175,8 +175,8 @@ ObjTabelle *initObjTabelle( int x, int y, int br, int h
 		ret->setMausEreignis( _ret1ME );
 	if( ( style | ObjTabelle::Style::Rahmen ) == style )
 	{
-		ret->setLinienRahmenBreite( 1 );
-		ret->setLinienRahmenFarbe( 0xFFFFFFFF );
+		ret->setRahmenBreite( 1 );
+		ret->setRahmenFarbe( 0xFFFFFFFF );
 	}
 	if( ( style | ObjTabelle::Style::Raster ) == style )
 	{
@@ -223,8 +223,8 @@ LDiag *initLinienDiagramm( int x, int y, int br, int h
 		ret->setDiagDatenZ( data );
 	if( ret->hatStyle( LDiag::Style::Rahmen ) )
 	{
-		ret->setLinienRahmenBreite( 1 );
-		ret->setLinienRahmenFarbe( 0xFFFFFFFF );
+		ret->setRahmenBreite( 1 );
+		ret->setRahmenFarbe( 0xFFFFFFFF );
 	}
 	if( ret->hatStyle( LDiag::Style::DatenRahmen ) )
 	{
@@ -252,8 +252,8 @@ FBalken *initFBalken( int x, int y, int br, int h
 	}
 	if( ret->hatStyle( FBalken::Style::Rahmen ) )
 	{
-		ret->setLinienRahmenFarbe( 0xFFFFFFFF );
-		ret->setLinienRahmenBreite( 1 );
+		ret->setRahmenFarbe( 0xFFFFFFFF );
+		ret->setRahmenBreite( 1 );
 	}
 	if( ret->hatStyle( FBalken::Style::HBild ) )
 	{
@@ -302,8 +302,8 @@ AuswahlListe *initAuswahlListe( int x, int y, int br, int h
     }
     if( ret->hatStyle( AuswahlListe::Style::Rahmen ) )
     {
-        ret->setLinienRahmenBreite( 1 );
-        ret->setLinienRahmenFarbe( 0xFFFFFFFF );
+        ret->setRahmenBreite( 1 );
+        ret->setRahmenFarbe( 0xFFFFFFFF );
     }
     if( ( style | AuswahlListe::Style::Hintergrund ) == style )
         ret->setHintergrundFarbe( 0xFF000000 );
@@ -332,8 +332,8 @@ ZeichnungHintergrund *initZeichnungHintergrund( int x, int y, int br, int h
     ret->setHintergrundFarbe( farbe );
     if( ret->hatStyle( ZeichnungHintergrund::Style::Rahmen ) )
     {
-        ret->setLinienRahmenBreite( 1 );
-        ret->setLinienRahmenFarbe( 0xFF00FF00 );
+        ret->setRahmenBreite( 1 );
+        ret->setRahmenFarbe( 0xFF00FF00 );
     }
     ret->setPosition( x, y );
     ret->setSize( br, hö );
@@ -346,6 +346,6 @@ void initToolTip( Zeichnung *obj, const char *txt, Schrift *schrift, Bildschirm
 	obj->zToolTip()->setSchriftZ( schrift );
 	obj->zToolTip()->addStyle( TextFeld::Style::Sichtbar | TextFeld::Style::Rahmen | TextFeld::Style::Hintergrund | TextFeld::Style::HAlpha | TextFeld::Style::Mehrzeilig );
 	obj->zToolTip()->setHintergrundFarbe( 0xA0000000 );
-	obj->zToolTip()->setLinienRahmenFarbe( 0xFFFFFFFF );
+	obj->zToolTip()->setRahmenFarbe( 0xFFFFFFFF );
 	obj->zToolTip()->setSchriftFarbe( 0xFFFFFFFF );
 }

+ 3 - 5
KSGClient/Leser/KartenLeser.cpp

@@ -103,13 +103,11 @@ Bild *KartenLeser::getKartenTitelBild( Schrift *zSchrift )
     {
         ret = new Bild();
         ret->neuBild( 200, 100, 0xFF000000 );
-        zSchrift->lock();
-        zSchrift->setSchriftSize( 12 );
-        zSchrift->setDrawPosition( 10, 10 );
+        TextRenderer tr( zSchrift->getThis() );
+        tr.setSchriftSize( 12 );
         Text *kn = getKarteName();
-        zSchrift->renderText( kn, *ret, 0xFFFFFFFF );
+        tr.renderText( 10, 10, kn->getText(), *ret, 0xFFFFFFFF );
         kn->release();
-        zSchrift->unlock();
     }
     return ret;
 }

+ 1 - 0
KSGClient/NachLogin/Account/AccountAnsehen.h

@@ -11,6 +11,7 @@
 #include "SpielPartner/AccountSpielPartner.h"
 #include "Statistik/AccountStatistik.h"
 #include "Suchen/AccountSuchen.h"
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 20 - 23
KSGClient/NachLogin/Account/Historie/AccountHistorie.cpp

@@ -495,12 +495,11 @@ AHSLETeamListeSpieler::AHSLETeamListeSpieler( Schrift *zSchrift, char *name, int
   ram( new LRahmen() ),
   ref( 1 )
 {
-	zSchrift->lock();
-	zSchrift->setSchriftSize( 12 );
-	nameTF->setSize( zSchrift->getTextBreite( nameTF->zText() ) + 5, 20 );
-	punkteTF->setSize( zSchrift->getTextBreite( punkteTF->zText() ) + 5, 20 );
-	statusTF->setSize( zSchrift->getTextBreite( statusTF->zText() ) + 5, 20 );
-	zSchrift->unlock();
+    TextRenderer tr( zSchrift->getThis() );
+    tr.setSchriftSize( 12 );
+	nameTF->setSize( tr.getTextBreite( nameTF->zText()->getText() ) + 5, 20 );
+	punkteTF->setSize( tr.getTextBreite( punkteTF->zText()->getText() ) + 5, 20 );
+	statusTF->setSize( tr.getTextBreite( statusTF->zText()->getText() ) + 5, 20 );
 	if( nameTF->getBreite() > 100 )
 		punkteTF->setPosition( 10 + nameTF->getBreite(), 0 );
 	if( punkteTF->getX() + punkteTF->getBreite() > 210 )
@@ -559,12 +558,11 @@ AHSLETeamListeTeam::AHSLETeamListeTeam( Schrift *zSchrift, char *name, int sAnz,
   members( new RCArray< AHSLETeamListeSpieler >() ),
   ref( 1 )
 {
-	zSchrift->lock();
-	zSchrift->setSchriftSize( 12 );
-	nameTF->setSize( zSchrift->getTextBreite( nameTF->zText() ) + 5, 20 );
-	sAnzahlTF->setSize( zSchrift->getTextBreite( sAnzahlTF->zText() ) + 5, 20 );
-	statusTF->setSize( zSchrift->getTextBreite( statusTF->zText() ) + 5, 20 );
-	zSchrift->unlock();
+    TextRenderer tr( zSchrift->getThis() );
+    tr.setSchriftSize( 12 );
+	nameTF->setSize( tr.getTextBreite( nameTF->zText()->getText() ) + 5, 20 );
+	sAnzahlTF->setSize( tr.getTextBreite( sAnzahlTF->zText()->getText() ) + 5, 20 );
+	statusTF->setSize( tr.getTextBreite( statusTF->zText()->getText() ) + 5, 20 );
 	if( nameTF->getBreite() > 100 )
 		sAnzahlTF->setPosition( 10 + nameTF->getBreite(), 0 );
 	if( sAnzahlTF->getX() + sAnzahlTF->getBreite() > 210 )
@@ -749,17 +747,16 @@ AHSpielListeEintrag::AHSpielListeEintrag( int id, int karteId, Schrift *zSchrift
 	detailsK->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HAlpha | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
 	detailsK->setHintergrundBildZ( ausklappen->getThis() );
 	initToolTip( detailsK, "Details anzeigen.", zSchrift->getThis(), hauptScreen );
-	zSchrift->lock();
-	zSchrift->setSchriftSize( 12 );
-	spielTF->setSize( zSchrift->getTextBreite( spielTF->zText() ) + 5, 20 );
-	karteTF->setSize( zSchrift->getTextBreite( karteTF->zText() ) + 5, 20 );
-	datumTF->setSize( zSchrift->getTextBreite( datumTF->zText() ) + 5, 20 );
-	statusTF->setSize( zSchrift->getTextBreite( statusTF->zText() ) + 5, 20 );
-	dauerTF->setSize( zSchrift->getTextBreite( dauerTF->zText() ), 20 );
-	spielStatusTF->setSize( zSchrift->getTextBreite( spielStatusTF->zText() ), 20 );
-	gewinnerTF->setSize( zSchrift->getTextBreite( gewinnerTF->zText() ), 20 );
-	sAnzahlTF->setSize( zSchrift->getTextBreite( sAnzahlTF->zText() ), 20 );
-	zSchrift->unlock();
+    TextRenderer tr( zSchrift->getThis() );
+    tr.setSchriftSize( 12 );
+	spielTF->setSize( tr.getTextBreite( spielTF->zText()->getText() ) + 5, 20 );
+	karteTF->setSize( tr.getTextBreite( karteTF->zText()->getText() ) + 5, 20 );
+	datumTF->setSize( tr.getTextBreite( datumTF->zText()->getText() ) + 5, 20 );
+	statusTF->setSize( tr.getTextBreite( statusTF->zText()->getText() ) + 5, 20 );
+	dauerTF->setSize( tr.getTextBreite( dauerTF->zText()->getText() ), 20 );
+	spielStatusTF->setSize( tr.getTextBreite( spielStatusTF->zText()->getText() ), 20 );
+	gewinnerTF->setSize( tr.getTextBreite( gewinnerTF->zText()->getText() ), 20 );
+	sAnzahlTF->setSize( tr.getTextBreite( sAnzahlTF->zText()->getText() ), 20 );
 	if( spielTF->getBreite() > 100 )
 		karteTF->setPosition( 10 + spielTF->getBreite(), 0 );
 	if( karteTF->getX() + karteTF->getBreite() > 210 )

+ 1 - 0
KSGClient/NachLogin/Account/Historie/AccountHistorie.h

@@ -10,6 +10,7 @@
 #include <Animation.h>
 #include <AccountHistorieStatistikV.h>
 #include <AufzeichnungV.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 4 - 5
KSGClient/NachLogin/Account/SpielPartner/AccountSpielPartner.cpp

@@ -53,12 +53,11 @@ AccountSPListeEintrag::AccountSPListeEintrag( AccountSPListeEintragDaten *daten,
 	if( daten->name )
 		name->setText( daten->name->getText() );
 	anzahl->zText()->append( daten->anzahl );
-	zSchrift->lock();
-	zSchrift->setSchriftSize( 12 );
-	name->setSize( zSchrift->getTextBreite( name->zText() ) + 5, name->getHeight() );
+    TextRenderer rd( zSchrift->getThis() );
+    rd.setSchriftSize( 12 );
+	name->setSize( rd.getTextBreite( name->zText()->getText() ) + 5, name->getHeight() );
 	anzahl->setPosition( ( name->getX() + name->getBreite() + 10 ) < 100 ? 100 : ( name->getX() + name->getBreite() + 10 ), anzahl->getY() );
-	anzahl->setSize( zSchrift->getTextBreite( anzahl->zText() ) + 5, anzahl->getHeight() );
-	zSchrift->unlock();
+	anzahl->setSize( rd.getTextBreite( anzahl->zText()->getText() ) + 5, anzahl->getHeight() );
 	prozent->setPosition( ( anzahl->getX() + anzahl->getBreite() + 10 ) < 200 ? 200 : ( anzahl->getX() + anzahl->getBreite() + 10 ), prozent->getY() );
 	prozent->setAktionAnzahl( 100 );
 	prozent->aktionPlus( daten->prozent );

+ 1 - 0
KSGClient/NachLogin/Account/SpielPartner/AccountSpielPartner.h

@@ -6,6 +6,7 @@
 #include <Knopf.h>
 #include <AuswahlBox.h>
 #include <Thread.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 1 - 0
KSGClient/NachLogin/Account/Spiele_Karten/AccountSpieleUndKarten.h

@@ -5,6 +5,7 @@
 #include <Fenster.h>
 #include <Thread.h>
 #include <AuswahlBox.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 4 - 4
KSGClient/NachLogin/Chat/ChatLeiste.cpp

@@ -89,7 +89,7 @@ Chat::~Chat()
 		msgSound->release();
 		dllDateien->releaseDLL( "GSL.dll" );
 	}
-	rahmen = rahmen->release();
+	rahmen->release();
 	verlauf = verlauf->release();
 	nachricht = nachricht->release();
 	name = name->release();
@@ -119,7 +119,7 @@ void Chat::addNachricht( char *txt )
 	Text *n = new Text( txt );
 	if( txt[ 0 ] != '\r' )
 		n->append( "\r0xFFFFFFFF" );
-	verlauf->zSchrift()->textFormatieren( n, verlauf->getBreite() - 20, verlauf->getSchriftSize() );
+	verlauf->zTextRenderer()->textFormatieren( n, verlauf->getBreite() - 20 );
 	if( n->getText()[ n->getLength() - 1 ] != '\n' )
 		n->append( "\n" );
 	verlauf->zText()->append( n );
@@ -379,7 +379,7 @@ void ChatFenster::doTastaturEreignis( TastaturEreignis &te )
 				Text *n = new Text( nachricht->zText()->getText() );
 				n->insert( 0, "\r0xFF00FF00" );
 				n->append( "\r0xFFFFFFFF" );
-				verlauf->zSchrift()->textFormatieren( n, verlauf->getBreite() - 15, verlauf->getSchriftSize() );
+				verlauf->zTextRenderer()->textFormatieren( n, verlauf->getBreite() - 15 );
 				if( n->getText()[ n->getLength() - 1 ] != '\n' )
 					n->append( "\n" );
 				verlauf->zText()->append( n->getText() );
@@ -464,7 +464,7 @@ ChatroomFenster::ChatroomFenster( Schrift *zSchrift, int chatroomId )
 	spieler->setPosition( 200, 1 );
 	spieler->setSize( 149, 240 );
 	spieler->setRasterFarbe( 0xFF555555 );
-	spieler->setLinienRahmenFarbe( 0xFFFFFFFF );
+	spieler->setRahmenFarbe( 0xFFFFFFFF );
 	spieler->addSpalte( 0, "Name" );
 	spieler->addSpalte( 1, "Freund" );
 	spieler->addSpalte( 2, "Kick" );

+ 1 - 0
KSGClient/NachLogin/Chat/ChatLeiste.h

@@ -9,6 +9,7 @@
 #include <Scroll.h>
 #include <Tabelle.h>
 #include <GSLSoundV.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace Network;

+ 3 - 3
KSGClient/NachLogin/Chat/FreundesListe.cpp

@@ -108,7 +108,7 @@ FreundData::FreundData( int accountId, LRahmen *rahmen, AlphaFeld *auswahlBuffer
 // Destruktor
 FreundData::~FreundData()
 {
-	rahmen = rahmen->release();
+	rahmen->release();
 	auswahlBuffer = auswahlBuffer->release();
 	name = name->release();
 	status = status->release();
@@ -470,7 +470,7 @@ FreundesListeObj::~FreundesListeObj()
 {
 	members = members->release();
 	schrift = schrift->release();
-	memberRahmen = memberRahmen->release();
+	memberRahmen->release();
 	auswahlBuffer = auswahlBuffer->release();
 	vsb = (VScrollBar*)vsb->release();
 }
@@ -478,7 +478,7 @@ FreundesListeObj::~FreundesListeObj()
 // nicht constant
 void FreundesListeObj::addMember( int accountId )
 {
-	FreundData *tmp = new FreundData( accountId, memberRahmen->getThis(), auswahlBuffer->getThis(), schrift );
+	FreundData *tmp = new FreundData( accountId, (LRahmen*)memberRahmen->getThis(), auswahlBuffer->getThis(), schrift );
 	members->add( tmp, memberNummer );
 	memberNummer++;
 	if( einladenSichtbar )

+ 1 - 0
KSGClient/NachLogin/Chat/FreundesListe.h

@@ -7,6 +7,7 @@
 #include <Array.h>
 #include <Knopf.h>
 #include <Thread.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 7 - 9
KSGClient/NachLogin/Chat/NachrichtenListe.cpp

@@ -47,7 +47,7 @@ NLNachricht::~NLNachricht()
 {
     titel = titel->release();
     close = close->release();
-    rahmen = rahmen->release();
+    rahmen->release();
 }
 
 
@@ -221,10 +221,10 @@ SpielUpdateNachricht::SpielUpdateNachricht( Schrift *zSchrift, Text *titel, Text
     char *txt = nachricht->getText();
     int x = 0;
     int y = 0;
-    zSchrift->lock();
-    zSchrift->setSchriftSize( 12 );
     Alphabet *tmp = zSchrift->getAlphabet( 12 );
-    int zeilenHöhe = tmp->getZeilenHeight() + tmp->getZeilenAbstand();
+    TextRenderer rd( zSchrift->getThis() );
+    rd.setSchriftSize( 12 );
+    int zeilenHöhe = rd.getZeilenHeight() + rd.getZeilenAbstand();
     int lastPos = -1;
     for( int i = 0; i < län; i++ )
     {
@@ -259,7 +259,6 @@ SpielUpdateNachricht::SpielUpdateNachricht( Schrift *zSchrift, Text *titel, Text
     }
     y += zeilenHöhe;
     tmp = tmp->release();
-    zSchrift->unlock();
     nachricht = nachricht->release();
     text = initTextFeld( 1, 22, 228, y, zSchrift, TextFeld::Style::Text, result->getText() );
     result = result->release();
@@ -372,10 +371,10 @@ Nachricht::Nachricht( Schrift *zSchrift, Text *titel, Text *nachricht, Text *pos
     char *txt = nachricht->getText();
     int x = 0;
     int y = 0;
-    zSchrift->lock();
-    zSchrift->setSchriftSize( 12 );
     Alphabet *tmp = zSchrift->getAlphabet( 12 );
-    int zeilenHöhe = tmp->getZeilenHeight() + tmp->getZeilenAbstand();
+    TextRenderer rd( zSchrift->getThis() );
+    rd.setSchriftSize( 12 );
+    int zeilenHöhe = rd.getZeilenHeight() + rd.getZeilenAbstand();
     int lastPos = -1;
     for( int i = 0; i < län; i++ )
     {
@@ -410,7 +409,6 @@ Nachricht::Nachricht( Schrift *zSchrift, Text *titel, Text *nachricht, Text *pos
     }
     y += zeilenHöhe;
     tmp = tmp->release();
-    zSchrift->unlock();
     nachricht = nachricht->release();
     text = initTextFeld( 1, 22, 228, y, zSchrift, TextFeld::Style::Text, result->getText() );
     result = result->release();

+ 1 - 0
KSGClient/NachLogin/Chat/NachrichtenListe.h

@@ -10,6 +10,7 @@
 #include <Fortschritt.h>
 #include "../Update/Update.h"
 #include "..\..\Aktionen\AktionsThread.h"
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace Network;

+ 2 - 2
KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBEditor.cpp

@@ -45,8 +45,8 @@ KEBEditor::KEBEditor( Schrift *zSchrift, KEBeschreibung *zKeb )
             text->setSize( 750, 510 );
             text->setPosition( 120, 10 );
             text->setStyle( ZeichnungHintergrund::Style::HScroll | ZeichnungHintergrund::Style::VScroll | ZeichnungHintergrund::Style::Erlaubt | ZeichnungHintergrund::Style::Rahmen | ZeichnungHintergrund::Style::Hintergrund );
-            text->setLinienRahmenBreite( 1 );
-            text->setLinienRahmenFarbe( 0xFF00FF00 );
+            text->setRahmenBreite( 1 );
+            text->setRahmenFarbe( 0xFF00FF00 );
             text->setHorizontalScrollPos( 0 );
             text->setVertikalScrollPos( 0 );
             text->setMausEreignis( _ret1ME );

+ 1 - 0
KSGClient/NachLogin/Editor/Karte/Beschreibung/KEBVorschau.h

@@ -3,6 +3,7 @@
 #include <AuswahlBox.h>
 #include <Thread.h>
 #include <Knopf.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace KSGScript;

+ 1 - 1
KSGClient/NachLogin/Editor/Karte/Dateien/KEDEditor.cpp

@@ -255,7 +255,7 @@ KEDModellSeite::KEDModellSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDa
     modelObj->setPosition( 430, 10 );
     modelObj->setSize( 440, 440 );
     modelObj->setStyle( M2DVorschau::Style::Rahmen | M2DVorschau::Style::Erlaubt | M2DVorschau::Style::Sichtbar | M2DVorschau::Style::UsrMove | M2DVorschau::Style::UsrRot | M2DVorschau::Style::UsrScale );
-    modelObj->setLinienRahmenFarbe( 0xFFFFFFFF );
+    modelObj->setRahmenFarbe( 0xFFFFFFFF );
     modelObj->setMausEreignis( _ret1ME );
     modelObj->setModel2DZ( new Model2D() );
     modelObj->zModel()->setStyle( Model2D::Style::Erlaubt | Model2D::Style::Mesh | Model2D::Style::Sichtbar );

+ 1 - 0
KSGClient/NachLogin/Editor/Karte/Dateien/KEDModel2DEditor.h

@@ -7,6 +7,7 @@
 #include <Model2D.h>
 #include <DateiDialog.h>
 #include <Fenster.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 2 - 2
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSEditor.cpp

@@ -26,8 +26,8 @@ KESSTextSeite::KESSTextSeite( Schrift *zSchrift, Knopf *zNeueDatei, Knopf *zDate
             text->setSize( 540, 510 );
             text->setPosition( 220, 10 );
             text->setStyle( ZeichnungHintergrund::Style::HScroll | ZeichnungHintergrund::Style::VScroll | ZeichnungHintergrund::Style::Sichtbar | ZeichnungHintergrund::Style::Erlaubt | ZeichnungHintergrund::Style::Rahmen | ZeichnungHintergrund::Style::Hintergrund );
-            text->setLinienRahmenBreite( 1 );
-            text->setLinienRahmenFarbe( 0xFF00FF00 );
+            text->setRahmenBreite( 1 );
+            text->setRahmenFarbe( 0xFF00FF00 );
             text->setHorizontalScrollPos( 0 );
             text->setVertikalScrollPos( 0 );
             text->setMausEreignis( _ret1ME );

+ 1 - 1
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.cpp

@@ -399,7 +399,7 @@ KESSVorschauKarte::KESSVorschauKarte( Schrift *schrift )
     auswählen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
     auswählen->setHintergrundBildZ( bilder->get( "shop.ltdb/weiter.png" ) );
     initToolTip( auswählen, "Karte auswählen.", schrift, hauptScreen );
-    auswählen->setLinienRahmenBreite( 1 );
+    auswählen->setRahmenBreite( 1 );
     hintergrund = 0;
     ausgewählt = new AlphaFeld();
     ausgewählt->setPosition( 1, 1 );

+ 1 - 0
KSGClient/NachLogin/Editor/Karte/ShopSeite/KESSVorschau.h

@@ -4,6 +4,7 @@
 #include <KSGScript.h>
 #include <AuswahlBox.h>
 #include <Thread.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace KSGScript;

+ 1 - 0
KSGClient/NachLogin/ImSpiel/Laden/SpielLaden.h

@@ -7,6 +7,7 @@
 #include <TextFeld.h>
 #include <Fortschritt.h>
 #include "..\..\..\Strukturen\Strukturen.h"
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 1 - 0
KSGClient/NachLogin/MiniGames/MiniGame.h

@@ -4,6 +4,7 @@
 #include <Bild.h>
 #include <Text.h>
 #include <AlphaFeld.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 3 - 3
KSGClient/NachLogin/Shop/Karten/KartenKaufen.cpp

@@ -490,7 +490,7 @@ KartenKaufenListeEintrag::KartenKaufenListeEintrag( int id, Schrift *schrift )
     auswählen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
     auswählen->setHintergrundBildZ( bilder->get( "shop.ltdb/weiter.png" ) );
     initToolTip( auswählen, "Karte auswählen.", schrift, hauptScreen );
-    auswählen->setLinienRahmenBreite( 1 );
+    auswählen->setRahmenBreite( 1 );
     LTDBDatei *datei = new LTDBDatei();
     Text *bdpf = new Text( "data/tmp/shop/kaufen/karten/" );
     bdpf->append( id );
@@ -774,8 +774,8 @@ KartenKaufen::KartenKaufen( Schrift *zSchrift )
                         AuswahlBox::Style::Rahmen | AuswahlBox::Style::Sichtbar | AuswahlBox::Style::VScroll | AuswahlBox::Style::MaxHeight );
     spielArt->setSize( 200, 20 );
     spielArt->setPosition( 5, 5 );
-    spielArt->setLinienRahmenFarbe( 0xFFFFFFFF );
-    spielArt->setLinienRahmenBreite( 1 );
+    spielArt->setRahmenFarbe( 0xFFFFFFFF );
+    spielArt->setRahmenBreite( 1 );
     spielArt->setMaxAuskappHeight( 100 );
     spielArt->setSchriftZ( zSchrift->getThis() );
     spielArt->setHintergrundFarbe( 0xFF000000 );

+ 1 - 0
KSGClient/NachLogin/Shop/Karten/KartenKaufen.h

@@ -9,6 +9,7 @@
 #include <Animation.h>
 #include <Thread.h>
 #include <AuswahlBox.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace KSGScript;

+ 5 - 5
KSGClient/NachLogin/Shop/Shop.cpp

@@ -16,7 +16,7 @@ Shop::Shop( Schrift *zSchrift, Fenster *zNachLoginFenster, int x )
 	rahmen->setFarbe( 0xFFFFFFFF );
 	rahmen->setSize( 102, 32 );
 	spiele = initKnopf( 10, 10, 100, 30, zSchrift, Knopf::Style::Sichtbar, "Spiele" );
-	spiele->setLinienRahmenBreite( 2 );
+	spiele->setRahmenBreite( 2 );
 	spiele->setAlphaFeldFarbe( 0xFF000000 );
 	spiele->setAlphaFeldStrength( 20 );
 	initToolTip( spiele, "Shop nach Spielen durchsuchen.", zSchrift->getThis(), hauptScreen );
@@ -159,10 +159,10 @@ void Shop::doMausEreignis( MausEreignis &me )
 		case 1: // spiele Klick
 			if( jetzt == 1 )
 				break;
-			karten->setLinienRahmenBreite( 1 );
+			karten->setRahmenBreite( 1 );
 			karten->setAlphaFeldFarbe( 0x5500FF00 );
 			karten->setAlphaFeldStrength( -5 );
-			spiele->setLinienRahmenBreite( 2 );
+			spiele->setRahmenBreite( 2 );
 			spiele->setAlphaFeldFarbe( 0xFF000000 );
 			spiele->setAlphaFeldStrength( 20 );
 			karteKaufen->setSichtbar( 0 );
@@ -172,10 +172,10 @@ void Shop::doMausEreignis( MausEreignis &me )
 		case 2: // karten Klick
 			if( jetzt == 2 || jetzt == 3 )
 				break;
-			spiele->setLinienRahmenBreite( 1 );
+			spiele->setRahmenBreite( 1 );
 			spiele->setAlphaFeldFarbe( 0x5500FF00 );
 			spiele->setAlphaFeldStrength( -5 );
-			karten->setLinienRahmenBreite( 2 );
+			karten->setRahmenBreite( 2 );
 			karten->setAlphaFeldFarbe( 0xFF000000 );
 			karten->setAlphaFeldStrength( 20 );
 			spielKaufen->setSichtbar( 0 );

+ 1 - 0
KSGClient/NachLogin/Shop/Shop.h

@@ -7,6 +7,7 @@
 #include <Animation.h>
 #include "Spiele/SpieleKaufen.h"
 #include "Karten/KartenKaufen.h"
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 1 - 1
KSGClient/NachLogin/Shop/Spiele/SpieleKaufen.cpp

@@ -538,7 +538,7 @@ SpieleKaufenListeEintrag::SpieleKaufenListeEintrag( int id, Schrift *schrift )
 	auswählen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Rahmen | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer );
 	auswählen->setHintergrundBildZ( bilder->get( "shop.ltdb/weiter.png" ) );
 	initToolTip( auswählen, "Spiel auswählen.", schrift, hauptScreen );
-	auswählen->setLinienRahmenBreite( 1 );
+	auswählen->setRahmenBreite( 1 );
 	LTDBDatei *datei = new LTDBDatei();
 	Text *bdpf = new Text( "data/tmp/shop/kaufen/spiele/" );
 	bdpf->append( id );

+ 1 - 0
KSGClient/NachLogin/Shop/Spiele/SpieleKaufen.h

@@ -8,6 +8,7 @@
 #include <Scroll.h>
 #include <Animation.h>
 #include <Thread.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace KSGScript;

+ 1 - 0
KSGClient/NachLogin/Spiele/Angemeldet/Angemeldet.h

@@ -4,6 +4,7 @@
 #include <Klient.h>
 #include <Bild.h>
 #include <Knopf.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 1 - 0
KSGClient/NachLogin/Spiele/Gruppe/Gruppe.h

@@ -8,6 +8,7 @@
 #include <Scroll.h>
 #include <Fenster.h>
 #include <KSGScript.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace KSGScript;

+ 1 - 0
KSGClient/NachLogin/Spiele/Karte Auswahl/KarteAuswahl.h

@@ -6,6 +6,7 @@
 #include <Knopf.h>
 #include <Thread.h>
 #include <KSGScript.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace KSGScript;

+ 1 - 0
KSGClient/NachLogin/Spiele/Spiel Auswahl/SpielAuswahl.h

@@ -7,6 +7,7 @@
 #include <TextFeld.h>
 #include <Animation.h>
 #include <KSGScript.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 using namespace KSGScript;

+ 1 - 0
KSGClient/NachLogin/Spiele/Spiele.h

@@ -10,6 +10,7 @@
 #include "Gruppe/Gruppe.h"
 #include "Team Auswahl/TeamAuswahl.h"
 #include "Statistik/SpielStatistik.h"
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 3 - 3
KSGClient/NachLogin/Spiele/Team Auswahl/TeamAuswahl.cpp

@@ -18,8 +18,8 @@ TeamAuswahlListeSpieler::TeamAuswahlListeSpieler( SpielerTeamStruktur *sts, Schr
 	{
 		teamAuswahl = new AuswahlBox();
 		teamAuswahl->setStyle( AuswahlBox::Style::Sichtbar | AuswahlBox::Style::Erlaubt | AuswahlBox::Style::Rahmen | AuswahlBox::Style::MultiStyled | AuswahlBox::Style::MaxHeight | AuswahlBox::Style::VScroll | AuswahlBox::Style::Hintergrund );
-		teamAuswahl->setLinienRahmenFarbe( 0xFFFFFFFF );
-		teamAuswahl->setLinienRahmenBreite( 1 );
+		teamAuswahl->setRahmenFarbe( 0xFFFFFFFF );
+		teamAuswahl->setRahmenBreite( 1 );
 		teamAuswahl->setPosition( 100, 1 );
 		teamAuswahl->setSize( 150, 20 );
 		teamAuswahl->setMaxAuskappHeight( 100 );
@@ -132,7 +132,7 @@ void TeamAuswahlListeSpieler::setTeamErlaubt( Text *zName, bool erlaubt, int tea
 			teamAuswahl->addEintrag( zName->getText() );
 			teamAuswahl->setMsStyle( p, AuswahlBox::Style::FeldRahmen | AuswahlBox::Style::MausBuffer | AuswahlBox::Style::AuswahlBuffer | AuswahlBox::Style::FeldBuffer );
 			if( teamFarbe )
-				teamAuswahl->zEintrag( p )->setLinienRahmenFarbe( teamFarbe );
+				teamAuswahl->zEintrag( p )->setRahmenFarbe( teamFarbe );
 			teamAuswahl->setMsAuswAlphaFeldFarbe( p, 0x50000000 | ( teamFarbe & 0x00FFFFFF ) );
 			teamAuswahl->setMsAuswAlphaFeldStrength( p, -15 );
 			teamAuswahl->setMsMausAlphaFeldFarbe( p, 0x10000000 | ( teamFarbe & 0x00FFFFFF ) );

+ 1 - 0
KSGClient/NachLogin/Spiele/Team Auswahl/TeamAuswahl.h

@@ -9,6 +9,7 @@
 #include <Knopf.h>
 #include <Tabelle.h>
 #include <AuswahlBox.h>
+#include <Rahmen.h>
 
 using namespace Framework;
 

+ 24 - 25
KSGClient/NachLogin/Titel/TitelLeiste.cpp

@@ -68,60 +68,60 @@ TitelLeiste::TitelLeiste( Fenster *zNachLogin, Schrift *zSchrift )
 	version->zText()->append( (int)clientVersion[ 0 ] );
 	close = initKnopf( bgr.x - 23, -1, 22, 22, 0, 0, "" );
 	close->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
-	close->setLinienRahmenFarbe( 0xFFFFFFFF );
-	close->setLinienRahmenBreite( 1 );
+	close->setRahmenFarbe( 0xFFFFFFFF );
+	close->setRahmenBreite( 1 );
 	close->setHintergrundBildZ( closeBild->getThis() );
 	initToolTip( close, "Kolja-Strohm Games Client beenden.", zSchrift->getThis(), hauptScreen );
 	close->setMausEreignisParameter( this );
 	close->setMausEreignis( titelLeisteSchließenME );
 	einstellungen = initKnopf( bgr.x - 44, -1, 22, 22, 0, 0, "" );
 	einstellungen->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
-	einstellungen->setLinienRahmenFarbe( 0xFFFFFFFF );
-	einstellungen->setLinienRahmenBreite( 1 );
+	einstellungen->setRahmenFarbe( 0xFFFFFFFF );
+	einstellungen->setRahmenBreite( 1 );
 	einstellungen->setHintergrundBildZ( einstellungenBild->getThis() );
 	einstellungen->setMausEreignisParameter( this );
 	einstellungen->setMausEreignis( titelLeisteEinstellungenME );
 	initToolTip( einstellungen, "Einstellungen ändern.", zSchrift->getThis(), hauptScreen );
 	logout = initKnopf( bgr.x - 65, -1, 22, 22, 0, 0, "" );
 	logout->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::Hintergrund | Knopf::Style::HBild | Knopf::Style::KlickBuffer | Knopf::Style::HAlpha | Knopf::Style::Rahmen );
-	logout->setLinienRahmenFarbe( 0xFFFFFFFF );
-	logout->setLinienRahmenBreite( 1 );
+	logout->setRahmenFarbe( 0xFFFFFFFF );
+	logout->setRahmenBreite( 1 );
 	logout->setHintergrundBildZ( logoutBild->getThis() );
 	logout->setMausEreignisParameter( this );
 	logout->setMausEreignis( titelLeisteLogoutME );
 	initToolTip( logout, "Ausloggen.", zSchrift->getThis(), hauptScreen );
 	news = initKnopf( bgr.x - 103, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Information" );
-	news->setLinienRahmenFarbe( 0xFFFFFFFF );
-	news->setLinienRahmenBreite( 1 );
+	news->setRahmenFarbe( 0xFFFFFFFF );
+	news->setRahmenBreite( 1 );
 	news->setMausEreignisParameter( this );
 	news->setMausEreignis( titelLeisteNewsME );
 	miniGames = initKnopf( bgr.x - 204, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Mini Games" );
-	miniGames->setLinienRahmenFarbe( 0xFFFFFFFF );
-	miniGames->setLinienRahmenBreite( 1 );
+	miniGames->setRahmenFarbe( 0xFFFFFFFF );
+	miniGames->setRahmenBreite( 1 );
 	miniGames->setMausEreignisParameter( this );
 	miniGames->setMausEreignis( titelLeisteMiniGamesME );
 	accountAnsehen = initKnopf( bgr.x - 305, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Account" );
-	accountAnsehen->setLinienRahmenFarbe( 0xFFFFFFFF );
-	accountAnsehen->setLinienRahmenBreite( 1 );
+	accountAnsehen->setRahmenFarbe( 0xFFFFFFFF );
+	accountAnsehen->setRahmenBreite( 1 );
 	accountAnsehen->setMausEreignisParameter( this );
 	accountAnsehen->setMausEreignis( titelLeisteAccountAnsehenME );
 	shop = initKnopf( bgr.x - 406, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Shop" );
-	shop->setLinienRahmenFarbe( 0xFFFFFFFF );
-	shop->setLinienRahmenBreite( 1 );
+	shop->setRahmenFarbe( 0xFFFFFFFF );
+	shop->setRahmenBreite( 1 );
 	shop->setMausEreignisParameter( this );
 	shop->setMausEreignis( titelLeisteShopME );
 	spielen = initKnopf( bgr.x - 507, 67, 102, 32, zSchrift, Knopf::Style::Sichtbar, "Spielen" );
-	spielen->setLinienRahmenFarbe( 0xFFFFFFFF );
-	spielen->setLinienRahmenBreite( 1 );
+	spielen->setRahmenFarbe( 0xFFFFFFFF );
+	spielen->setRahmenBreite( 1 );
 	spielen->setMausEreignisParameter( this );
 	spielen->setMausEreignis( titelLeisteSpielenME );
 	editor = initKnopf( bgr.x - 507, 35, 102, 32, zSchrift, 0, "Editor" );
-	editor->setLinienRahmenFarbe( 0xFFFFFFFF );
-	editor->setLinienRahmenBreite( 1 );
+	editor->setRahmenFarbe( 0xFFFFFFFF );
+	editor->setRahmenBreite( 1 );
 	editor->setMausEreignisParameter( this );
 	editor->setMausEreignis( titelLeisteEditorME );
 	info = initTextFeld( 200, 11, 300, 76, zSchrift, TextFeld::Style::Sichtbar | TextFeld::Style::Mehrzeilig | TextFeld::Style::Mehrfarbig | TextFeld::Style::Rahmen, "Wilkommen bei Kolja-Strohm Games!\nViel Spaß beim spielen." );
-	info->setLinienRahmenFarbe( 0xFFFFFFFF );
+	info->setRahmenFarbe( 0xFFFFFFFF );
 	int minus = bgr.x / 2 - 254;
 	if( minus < 511 )
 		minus = 511;
@@ -387,12 +387,11 @@ void TitelLeiste::thread()
 			Text *kt = new Text();
 			kt->append( k );
 			Schrift *schrift = gold->zSchrift();
-			schrift->lock();
-			schrift->setSchriftSize( 12 );
-			int gtbr = schrift->getTextBreite( gt );
-			int stbr = schrift->getTextBreite( st );
-			int ktbr = schrift->getTextBreite( kt );
-			schrift->unlock();
+            TextRenderer rd( schrift->getThis() );
+            rd.setSchriftSize( 12 );
+			int gtbr = rd.getTextBreite( gt->getText() );
+			int stbr = rd.getTextBreite( st->getText() );
+			int ktbr = rd.getTextBreite( kt->getText() );
 			kupfer->setPosition( fenster->getBreite() - 30 - ktbr, kupfer->getY() );
 			kupfer->setSize( ktbr, 20 );
 			silber->setPosition( kupfer->getX() - 30 - stbr, silber->getY() );

+ 3 - 0
KSGClient/NachLogin/Update/Update.cpp

@@ -50,6 +50,7 @@ void Update::herunterladen()
     if( isRunning() || !p )
         return;
     start();
+    getThis();
 }
 
 void Update::thread()
@@ -67,7 +68,9 @@ void Update::thread()
 
 void Update::threadEnd()
 {
+    __super::threadEnd();
     after( !updateAbbrechen );
+    release();
 }
 
 // constant

+ 4 - 4
KSGClient/VorLogin/Account verwalten/EMail.cpp

@@ -119,7 +119,7 @@ void EMail
 void EMailÄndern::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	eMailÄndern->setLinienRahmenBreite( 2 );
+	eMailÄndern->setRahmenBreite( 2 );
 	eMailÄndern->setAlphaFeldFarbe( 0x5500FF00 );
 	eMailÄndern->setAlphaFeldStrength( -5 );
 }
@@ -130,7 +130,7 @@ bool EMail
 	{
 		vorLogin->setEMailÄndern();
 
-		eMailÄndern->setLinienRahmenBreite( 3 );
+		eMailÄndern->setRahmenBreite( 3 );
 		eMailÄndern->setAlphaFeldFarbe( 0xFF000000 );
 		eMailÄndern->setAlphaFeldStrength( 20 );
 		Punkt bildschirmmitte = Bildschirmmitte();
@@ -388,7 +388,7 @@ void EMailVergessen::zeigeNachricht( const char *txt )
 void EMailVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	eMailVergessen->setLinienRahmenBreite( 2 );
+	eMailVergessen->setRahmenBreite( 2 );
 	eMailVergessen->setAlphaFeldFarbe( 0x5500FF00 );
 	eMailVergessen->setAlphaFeldStrength( -5 );
 }
@@ -399,7 +399,7 @@ bool EMailVergessen::eMailVergessenME( void *obj, MausEreignis me ) // MausEreig
 	{
 		vorLogin->setEMailVergessen();
 
-		eMailVergessen->setLinienRahmenBreite( 3 );
+		eMailVergessen->setRahmenBreite( 3 );
 		eMailVergessen->setAlphaFeldFarbe( 0xFF000000 );
 		eMailVergessen->setAlphaFeldStrength( 20 );
 		Punkt bildschirmmitte = Bildschirmmitte();

+ 4 - 4
KSGClient/VorLogin/Account verwalten/Geheimnis.cpp

@@ -119,7 +119,7 @@ void Geheimnis
 void GeheimnisÄndern::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	geheimnisÄndern->setLinienRahmenBreite( 2 );
+	geheimnisÄndern->setRahmenBreite( 2 );
 	geheimnisÄndern->setAlphaFeldFarbe( 0x5500FF00 );
 	geheimnisÄndern->setAlphaFeldStrength( -5 );
 }
@@ -130,7 +130,7 @@ bool Geheimnis
 	{
 		vorLogin->setGeheimnisÄndern();
 
-		geheimnisÄndern->setLinienRahmenBreite( 3 );
+		geheimnisÄndern->setRahmenBreite( 3 );
 		geheimnisÄndern->setAlphaFeldFarbe( 0xFF000000 );
 		geheimnisÄndern->setAlphaFeldStrength( 20 );
 		Punkt bildschirmmitte = Bildschirmmitte();
@@ -378,7 +378,7 @@ void GeheimnisVergessen::zeigeNachricht( const char *txt )
 void GeheimnisVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	geheimnisVergessen->setLinienRahmenBreite( 2 );
+	geheimnisVergessen->setRahmenBreite( 2 );
 	geheimnisVergessen->setAlphaFeldFarbe( 0x5500FF00 );
 	geheimnisVergessen->setAlphaFeldStrength( -5 );
 }
@@ -389,7 +389,7 @@ bool GeheimnisVergessen::geheimnisVergessenME( void *obj, MausEreignis me ) // M
 	{
 		vorLogin->setGeheilnisVergessen();
 
-		geheimnisVergessen->setLinienRahmenBreite( 3 );
+		geheimnisVergessen->setRahmenBreite( 3 );
 		geheimnisVergessen->setAlphaFeldFarbe( 0xFF000000 );
 		geheimnisVergessen->setAlphaFeldStrength( 20 );
 		Punkt bildschirmmitte = Bildschirmmitte();

+ 2 - 2
KSGClient/VorLogin/Account verwalten/Name.cpp

@@ -103,7 +103,7 @@ void NameVergessen::zeigeNachricht( const char *txt )
 void NameVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	nameVergessen->setLinienRahmenBreite( 2 );
+	nameVergessen->setRahmenBreite( 2 );
 	nameVergessen->setAlphaFeldFarbe( 0x5500FF00 );
 	nameVergessen->setAlphaFeldStrength( -5 );
 }
@@ -114,7 +114,7 @@ bool NameVergessen::nameVergessenME( void *obj, MausEreignis me ) // MausEreigni
 	{
 		vorLogin->setNameVergessen();
 
-		nameVergessen->setLinienRahmenBreite( 3 );
+		nameVergessen->setRahmenBreite( 3 );
 		nameVergessen->setAlphaFeldFarbe( 0xFF000000 );
 		nameVergessen->setAlphaFeldStrength( 20 );
 		Punkt bildschirmmitte = Bildschirmmitte();

+ 4 - 4
KSGClient/VorLogin/Account verwalten/Passwort.cpp

@@ -127,7 +127,7 @@ void Passwort
 void PasswortÄndern::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	passwortÄndern->setLinienRahmenBreite( 2 );
+	passwortÄndern->setRahmenBreite( 2 );
 	passwortÄndern->setAlphaFeldFarbe( 0x5500FF00 );
 	passwortÄndern->setAlphaFeldStrength( -5 );
 }
@@ -138,7 +138,7 @@ bool Passwort
 	{
 		vorLogin->setPasswortÄndern();
 
-		passwortÄndern->setLinienRahmenBreite( 3 );
+		passwortÄndern->setRahmenBreite( 3 );
 		passwortÄndern->setAlphaFeldFarbe( 0xFF000000 );
 		passwortÄndern->setAlphaFeldStrength( 20 );
 		Punkt bildschirmmitte = Bildschirmmitte();
@@ -409,7 +409,7 @@ void PasswortVergessen::zeigeNachricht( const char *txt )
 void PasswortVergessen::druckFremdKnopf() // Ein anderer Knopf wurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	passwortVergessen->setLinienRahmenBreite( 2 );
+	passwortVergessen->setRahmenBreite( 2 );
 	passwortVergessen->setAlphaFeldFarbe( 0x5500FF00 );
 	passwortVergessen->setAlphaFeldStrength( -5 );
 }
@@ -420,7 +420,7 @@ bool PasswortVergessen::passwortVergessenME( void *obj, MausEreignis me ) // Mau
 	{
 		vorLogin->setPasswortVergessen();
 
-		passwortVergessen->setLinienRahmenBreite( 3 );
+		passwortVergessen->setRahmenBreite( 3 );
 		passwortVergessen->setAlphaFeldFarbe( 0xFF000000 );
 		passwortVergessen->setAlphaFeldStrength( 20 );
 		Punkt bildschirmmitte = Bildschirmmitte();

+ 5 - 5
KSGClient/VorLogin/Account verwalten/Registrierung.cpp

@@ -51,7 +51,7 @@ Registrierung::Registrierung( Schrift *zSchrift, Fenster *zVorLoginFenster )
 	gbdTag->setSize( 50, 20 );
 	gbdTag->setMaxAuskappHeight( 100 );
 	gbdTag->setSchriftZ( zSchrift->getThis() );
-	gbdTag->setLinienRahmenFarbe( 0xFFFFFFFF );
+	gbdTag->setRahmenFarbe( 0xFFFFFFFF );
 	gbdTag->setHintergrundFarbe( 0xFF000000 );
 	gbdTag->setMausEreignis( _ret1ME );
 	gbdTag->addEintrag( "Tag" );
@@ -67,7 +67,7 @@ Registrierung::Registrierung( Schrift *zSchrift, Fenster *zVorLoginFenster )
 	gbdMonat->setSize( 65, 20 );
 	gbdMonat->setMaxAuskappHeight( 100 );
 	gbdMonat->setSchriftZ( zSchrift->getThis() );
-	gbdMonat->setLinienRahmenFarbe( 0xFFFFFFFF );
+	gbdMonat->setRahmenFarbe( 0xFFFFFFFF );
 	gbdMonat->setHintergrundFarbe( 0xFF000000 );
 	gbdMonat->setMausEreignis( _ret1ME );
 	gbdMonat->addEintrag( "Monat" );
@@ -83,7 +83,7 @@ Registrierung::Registrierung( Schrift *zSchrift, Fenster *zVorLoginFenster )
 	gbdJahr->setSize( 55, 20 );
 	gbdJahr->setMaxAuskappHeight( 100 );
 	gbdJahr->setSchriftZ( zSchrift->getThis() );
-	gbdJahr->setLinienRahmenFarbe( 0xFFFFFFFF );
+	gbdJahr->setRahmenFarbe( 0xFFFFFFFF );
 	gbdJahr->setHintergrundFarbe( 0xFF000000 );
 	gbdJahr->setMausEreignis( _ret1ME );
 	gbdJahr->addEintrag( "Jahr" );
@@ -193,7 +193,7 @@ void Registrierung::zeigeNachricht( const char *txt )
 void Registrierung::druckFremdKnopf() // Ein anderer Knopfwurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	registrierung->setLinienRahmenBreite( 2 );
+	registrierung->setRahmenBreite( 2 );
 	registrierung->setAlphaFeldFarbe( 0x5500FF00 );
 	registrierung->setAlphaFeldStrength( -5 );
 }
@@ -379,7 +379,7 @@ bool Registrierung::registrierungME( void *obj, MausEreignis me ) // MausEreigni
 	{
 		vorLogin->setRegistrierung();
 		fenster->addStyle( Fenster::Style::Sichtbar );
-		registrierung->setLinienRahmenBreite( 3 );
+		registrierung->setRahmenBreite( 3 );
 		registrierung->setAlphaFeldFarbe( 0xFF000000 );
 		registrierung->setAlphaFeldStrength( 20 );
 

+ 2 - 2
KSGClient/VorLogin/Account verwalten/Unregistrierung.cpp

@@ -111,7 +111,7 @@ void Unregistrierung::zeigeNachricht( const char *txt )
 void Unregistrierung::druckFremdKnopf() // Ein anderer Knopfwurde gedrückt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	unregistrierung->setLinienRahmenBreite( 2 );
+	unregistrierung->setRahmenBreite( 2 );
 	unregistrierung->setAlphaFeldFarbe( 0x5500FF00 );
 	unregistrierung->setAlphaFeldStrength( -5 );
 }
@@ -237,7 +237,7 @@ bool Unregistrierung::unregistrierungME( void *obj, MausEreignis me ) // MausEre
 		vorLogin->setUnregistrierung();
 
 		fenster->addStyle( Fenster::Style::Sichtbar );
-		unregistrierung->setLinienRahmenBreite( 3 );
+		unregistrierung->setRahmenBreite( 3 );
 		unregistrierung->setAlphaFeldFarbe( 0xFF000000 );
 		unregistrierung->setAlphaFeldStrength( 20 );
 

+ 2 - 2
KSGClient/VorLogin/Login/Login.cpp

@@ -79,7 +79,7 @@ Login::~Login()
 void Login::druckFremdKnopf() // Ein anderer Bereich des Programms wurde ausgewählt
 {
 	fenster->removeStyle( Fenster::Style::Sichtbar );
-	login->setLinienRahmenBreite( 2 );
+	login->setRahmenBreite( 2 );
 	login->setAlphaFeldFarbe( 0x5500FF00 );
 	login->setAlphaFeldStrength( -5 );
 }
@@ -218,7 +218,7 @@ bool Login::loginME( void *obj, MausEreignis me ) // MausEreignis im Knopf login
 		passwort->addStyle( TextFeld::Style::Sichtbar );
 		weiter->addStyle( TextFeld::Style::Sichtbar );
 
-		login->setLinienRahmenBreite( 3 );
+		login->setRahmenBreite( 3 );
 		login->setAlphaFeldFarbe( 0xFF000000 );
 		login->setAlphaFeldStrength( 20 );
 		name->addStyle( TextFeld::Style::Fokus );