Browse Source

Alle ö,ü,ä,ß entfernt und Remotebuild für Linux eingerichtet

kolja 7 years ago
parent
commit
6b33794691
95 changed files with 8457 additions and 7830 deletions
  1. 65 62
      AlphaFeld.cpp
  2. 5 3
      AlphaFeld.h
  3. 7 7
      Animation.cpp
  4. 1 1
      Animation.h
  5. 49 47
      Array.h
  6. 118 121
      AuswahlBox.cpp
  7. 24 24
      AuswahlBox.h
  8. 4 1
      Betriebssystem.h
  9. 1935 1935
      Bild.cpp
  10. 45 45
      Bild.h
  11. 78 72
      Bildschirm.cpp
  12. 15 14
      Bildschirm.h
  13. 10 10
      Cube.cpp
  14. 48 24
      DXBuffer.cpp
  15. 23 11
      DXBuffer.h
  16. 64 64
      Datei.cpp
  17. 15 15
      Datei.h
  18. 16 16
      DateiDialog.cpp
  19. 4 4
      DateiDialog.h
  20. 2511 2511
      DateiSystem.cpp
  21. 27 27
      DateiSystem.h
  22. 120 120
      Diagramm.cpp
  23. 26 26
      Diagramm.h
  24. 2 2
      DreieckListe.h
  25. 8 8
      Ebene3D.h
  26. 237 236
      Fenster.cpp
  27. 50 50
      Fenster.h
  28. 17 17
      Fortschritt.cpp
  29. 4 4
      Fortschritt.h
  30. 221 0
      Framework Linux.vcxproj
  31. 369 0
      Framework Linux.vcxproj.filters
  32. 20 2
      Framework.sln
  33. 10 25
      Framework.vcxproj
  34. 6 6
      Framework.vcxproj.filters
  35. 19 21
      Global.cpp
  36. 11 11
      Globals.h
  37. 24 24
      InitDatei.cpp
  38. 4 4
      InitDatei.h
  39. 17 17
      KSGTDatei.cpp
  40. 2 2
      KSGTDatei.h
  41. 4 4
      Kam3D.cpp
  42. 4 4
      Kam3D.h
  43. 64 64
      Key.cpp
  44. 31 31
      Key.h
  45. 68 68
      Knopf.cpp
  46. 8 8
      Knopf.h
  47. 68 68
      Liste.cpp
  48. 9 9
      Liste.h
  49. 14 14
      M2DVorschau.cpp
  50. 1 1
      M2DVorschau.h
  51. 299 299
      M2Datei.cpp
  52. 2 2
      M2Datei.h
  53. 26 26
      M3Datei.cpp
  54. 2 2
      M3Datei.h
  55. 4 4
      Mat4.h
  56. 3 3
      Maus.cpp
  57. 1 1
      MausEreignis.h
  58. 64 95
      Model2D.cpp
  59. 8 30
      Model2D.h
  60. 16 9
      Model3D.cpp
  61. 2 2
      Model3D.h
  62. 5 3
      Model3DList.cpp
  63. 2 3
      Model3DList.h
  64. 6 2
      Rahmen.cpp
  65. 2 0
      Rahmen.h
  66. 3 3
      Render3D.cpp
  67. 135 134
      Schrift.cpp
  68. 27 26
      Schrift.h
  69. 44 36
      Scroll.cpp
  70. 17 13
      Scroll.h
  71. 12 12
      Shader.cpp
  72. 6 6
      Shader.h
  73. 143 143
      Tabelle.cpp
  74. 44 44
      Tabelle.h
  75. 130 130
      Text.cpp
  76. 28 28
      Text.h
  77. 697 699
      TextFeld.cpp
  78. 5 5
      TextFeld.h
  79. 14 8
      Textur.cpp
  80. 3 3
      TexturList.cpp
  81. 1 1
      TexturList.h
  82. 3 3
      TexturModel.cpp
  83. 2 2
      TexturModel.h
  84. 3 3
      Thread.cpp
  85. 1 1
      Thread.h
  86. 23 23
      ToolTip.cpp
  87. 4 4
      ToolTip.h
  88. 6 6
      Vec2.h
  89. 7 7
      Vec3.h
  90. 6 2
      Welt3D.cpp
  91. 1 1
      Welt3D.h
  92. 39 37
      Zeichnung.cpp
  93. 13 13
      Zeichnung.h
  94. 84 84
      Zeit.cpp
  95. 12 12
      Zeit.h

+ 65 - 62
AlphaFeld.cpp

@@ -10,99 +10,102 @@ using namespace Framework;
 // Inhalt der AlphaFeld Klasse aus AlphaFeld.h
 // Inhalt der AlphaFeld Klasse aus AlphaFeld.h
 // Konstruktor 
 // Konstruktor 
 AlphaFeld::AlphaFeld()
 AlphaFeld::AlphaFeld()
-    : Zeichnung(),
-    stärke( 5 ),
-    farbe( 0x9B000000 ),
-    ref( 1 )
+	: Zeichnung(),
+	strength( 5 ),
+	farbe( 0x9B000000 ),
+	ref( 1 )
+{}
+
+AlphaFeld::~AlphaFeld()
 {}
 {}
 
 
 // nicht constant 
 // nicht constant 
-void AlphaFeld::setStärke( int st ) // setzt die Stärke
+void AlphaFeld::setStrength( int st ) // setzt die Stärke
 {
 {
-    stärke = st;
-    rend = 1;
+	strength = st;
+	rend = 1;
 }
 }
 
 
 void AlphaFeld::setFarbe( int f ) // setzt die Farbe
 void AlphaFeld::setFarbe( int f ) // setzt die Farbe
 {
 {
-    farbe = f;
-    rend = 1;
+	farbe = f;
+	rend = 1;
 }
 }
 
 
 void AlphaFeld::render( Bild &zRObj ) // zeichnet nach zRObj
 void AlphaFeld::render( Bild &zRObj ) // zeichnet nach zRObj
 {
 {
-    __super::render( zRObj );
-    int br = gr.x - 1;
-    int hö = gr.y - 1;
-    int xp = pos.x, yp = pos.y;
-    int a = ( farbe >> 24 ) & 0xFF;
-    int index = ( br / 2 ) * ( br <= hö ) + ( hö / 2 ) * ( br > hö );
-    int fc = farbe & 0x00FFFFFF;
-    int fc2 = farbe;
-    if( stärke > 0 )
-        index = index > ( a / stärke ) ? a / stärke : index;
-    if( stärke < 0 )
-        index = index > ( ( 255 - a ) / -stärke ) ? ( ( 255 - a ) / -stärke ) : index;
-    for( int i = 0; i < index; ++i )
-    {
-        a -= stärke;
-        fc2 = ( a << 24 ) | fc;
-        int i2 = i << 1;
-        zRObj.drawLinieHAlpha( xp + i + 1, yp + i, br - i2, fc2 );		// oben links --- oben rechts
-        zRObj.drawLinieVAlpha( xp + br - i, yp + i + 1, hö - i2, fc2 );	// oben rechts -- unten rechts
-        zRObj.drawLinieHAlpha( xp + i, yp + hö - i, br - i2, fc2 );		// unten rechts - unten links
-        zRObj.drawLinieVAlpha( xp + i, yp + i, hö - i2, fc2 );			// unten links -- oben links
-    }
-    if( index == br / 2 )
-    {
-        for( int i = index; i <= index + ( br - index ) - index; ++i )
-            zRObj.drawLinieVAlpha( xp + i, yp + index, hö - ( index << 1 ) + 1, fc2 ); // rest Fläche senkrecht
-    }
-    else
-    {
-        for( int i = index; i <= index + ( hö - index ) - index; ++i )
-            zRObj.drawLinieHAlpha( xp + index, yp + i, br - ( index << 1 ) + 1, fc2 ); // rest Fläche waagerecht
-    }
+	Zeichnung::render( zRObj );
+	int br = gr.x - 1;
+	int hi = gr.y - 1;
+	int xp = pos.x, yp = pos.y;
+	int a = ( farbe >> 24 ) & 0xFF;
+	int index = ( br / 2 ) * ( br <= hi ) + ( hi / 2 ) * ( br > hi );
+	int fc = farbe & 0x00FFFFFF;
+	int fc2 = farbe;
+	if( strength > 0 )
+		index = index > ( a / strength ) ? a / strength : index;
+	if( strength < 0 )
+		index = index > ( ( 255 - a ) / -strength ) ? ( ( 255 - a ) / -strength ) : index;
+	for( int i = 0; i < index; ++i )
+	{
+		a -= strength;
+		fc2 = ( a << 24 ) | fc;
+		int i2 = i << 1;
+		zRObj.drawLinieHAlpha( xp + i + 1, yp + i, br - i2, fc2 );		// oben links --- oben rechts
+		zRObj.drawLinieVAlpha( xp + br - i, yp + i + 1, hi - i2, fc2 );	// oben rechts -- unten rechts
+		zRObj.drawLinieHAlpha( xp + i, yp + hi - i, br - i2, fc2 );		// unten rechts - unten links
+		zRObj.drawLinieVAlpha( xp + i, yp + i, hi - i2, fc2 );			// unten links -- oben links
+	}
+	if( index == br / 2 )
+	{
+		for( int i = index; i <= index + ( br - index ) - index; ++i )
+			zRObj.drawLinieVAlpha( xp + i, yp + index, hi - ( index << 1 ) + 1, fc2 ); // rest Fläche senkrecht
+	}
+	else
+	{
+		for( int i = index; i <= index + ( hi - index ) - index; ++i )
+			zRObj.drawLinieHAlpha( xp + index, yp + i, br - ( index << 1 ) + 1, fc2 ); // rest Fläche waagerecht
+	}
 }
 }
 
 
 // constant 
 // constant 
-int AlphaFeld::getStärke() const // gibt die Stärke zurück
+int AlphaFeld::getStrength() const // gibt die Stärke zurück
 {
 {
-    return stärke;
+	return strength;
 }
 }
 
 
 int AlphaFeld::getFarbe() const // gibt die Farbe zurück
 int AlphaFeld::getFarbe() const // gibt die Farbe zurück
 {
 {
-    return farbe;
+	return farbe;
 }
 }
 
 
 Zeichnung *AlphaFeld::dublizieren() const // Kopiert das Zeichnung
 Zeichnung *AlphaFeld::dublizieren() const // Kopiert das Zeichnung
 {
 {
-    AlphaFeld *obj = new AlphaFeld();
-    obj->setPosition( pos );
-    obj->setGröße( gr );
-    obj->setMausEreignisParameter( makParam );
-    obj->setTastaturEreignisParameter( takParam );
-    obj->setMausEreignis( Mak );
-    obj->setTastaturEreignis( Tak );
-    if( toolTip )
-        obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
-    obj->setStärke( stärke );
-    obj->setFarbe( farbe );
-    return obj;
+	AlphaFeld *obj = new AlphaFeld();
+	obj->setPosition( pos );
+	obj->setSize( gr );
+	obj->setMausEreignisParameter( makParam );
+	obj->setTastaturEreignisParameter( takParam );
+	obj->setMausEreignis( Mak );
+	obj->setTastaturEreignis( Tak );
+	if( toolTip )
+		obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
+	obj->setStrength( strength );
+	obj->setFarbe( farbe );
+	return obj;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 AlphaFeld *AlphaFeld::getThis()
 AlphaFeld *AlphaFeld::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 AlphaFeld *AlphaFeld::release()
 AlphaFeld *AlphaFeld::release()
 {
 {
-    --ref;
-    if( !ref )
-        delete this;
-    return 0;
+	--ref;
+	if( !ref )
+		delete this;
+	return 0;
 }
 }

+ 5 - 3
AlphaFeld.h

@@ -12,16 +12,18 @@ namespace Framework
     class AlphaFeld : public Zeichnung
     class AlphaFeld : public Zeichnung
     {
     {
     private:
     private:
-        int stärke;
+        int strength;
         int farbe;
         int farbe;
         int ref;
         int ref;
 
 
     public:
     public:
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) AlphaFeld();
         __declspec( dllexport ) AlphaFeld();
+		//Destruktor
+		__declspec( dllexport ) virtual ~AlphaFeld();
         // Setzt die Stärke des Übergangs. Dies ist der Wert um den der Alpha Wert der Farbe für jeden Pixel nach innen abnimmt
         // Setzt die Stärke des Übergangs. Dies ist der Wert um den der Alpha Wert der Farbe für jeden Pixel nach innen abnimmt
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setStärke( int st );
+        __declspec( dllexport ) void setStrength( int st );
         // Setzt die Farbe des Alpha Feldes
         // Setzt die Farbe des Alpha Feldes
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setFarbe( int f );
         __declspec( dllexport ) void setFarbe( int f );
@@ -29,7 +31,7 @@ namespace Framework
         //  zRObj: Das Bild, in das gezeichnet werden soll
         //  zRObj: Das Bild, in das gezeichnet werden soll
         __declspec( dllexport ) void render( Bild &zRObj ) override;
         __declspec( dllexport ) void render( Bild &zRObj ) override;
         // Gibt die Stärke des Alpha Feldes zurück
         // Gibt die Stärke des Alpha Feldes zurück
-        __declspec( dllexport ) int getStärke() const;
+        __declspec( dllexport ) int getStrength() const;
         // gibt die Farbe des Alpha Feldes im A8R8G8B8 Format zurück
         // gibt die Farbe des Alpha Feldes im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getFarbe() const;
         __declspec( dllexport ) int getFarbe() const;
         // Kopiert das Alpha Feld, so dass es ohne auswirkungen auf das Original verwendet werden kann
         // Kopiert das Alpha Feld, so dass es ohne auswirkungen auf das Original verwendet werden kann

+ 7 - 7
Animation.cpp

@@ -71,10 +71,10 @@ void Animation2DData::ladeAnimation( InitDatei *datei )
             continue;
             continue;
         bilder[ j ] = 0;
         bilder[ j ] = 0;
         Text pfad = datei->zWert( i )->getText();
         Text pfad = datei->zWert( i )->getText();
-        if( pfad.hat( ".ltdb/" ) && pfad.getLänge() > 7 )
+        if( pfad.hat( ".ltdb/" ) && pfad.getLength() > 7 )
         {
         {
             Text *name = pfad.getTeilText( pfad.positionVon( ".ltdb/", pfad.anzahlVon( ".ltdb/" ) - 1 ) + 6 );
             Text *name = pfad.getTeilText( pfad.positionVon( ".ltdb/", pfad.anzahlVon( ".ltdb/" ) - 1 ) + 6 );
-            pfad.setText( pfad.getTeilText( 0, pfad.getLänge() - name->getLänge() - 1 ) );
+            pfad.setText( pfad.getTeilText( 0, pfad.getLength() - name->getLength() - 1 ) );
             LTDBDatei *dat = new LTDBDatei();
             LTDBDatei *dat = new LTDBDatei();
             dat->setDatei( pfad.getThis() );
             dat->setDatei( pfad.getThis() );
             dat->leseDaten( 0 );
             dat->leseDaten( 0 );
@@ -295,7 +295,7 @@ bool Animation2D::tick( double zeit )
         if( alpha + aps * zeit >= maxAlpha )
         if( alpha + aps * zeit >= maxAlpha )
             alpha = maxAlpha;
             alpha = maxAlpha;
         else
         else
-            alpha += (unsigned char)( aps * zeit );
+            alpha = (unsigned char)( alpha + aps * zeit );
         rend = 1;
         rend = 1;
     }
     }
     else if( !sichtbar && alpha > 0 )
     else if( !sichtbar && alpha > 0 )
@@ -303,7 +303,7 @@ bool Animation2D::tick( double zeit )
         if( alpha - aps * zeit <= 0 )
         if( alpha - aps * zeit <= 0 )
             alpha = 0;
             alpha = 0;
         else
         else
-            alpha -= (unsigned char)( aps * zeit );
+            alpha = (unsigned char)( alpha - aps * zeit );
         rend = 1;
         rend = 1;
     }
     }
     ausgleich += zeit;
     ausgleich += zeit;
@@ -338,7 +338,7 @@ void Animation2D::render( Bild &zRObj )
         unlockZeichnung();
         unlockZeichnung();
         return;
         return;
     }
     }
-    __super::render( zRObj );
+	Zeichnung::render( zRObj );
     data->lock();
     data->lock();
     if( data->zBild( jetzt ) )
     if( data->zBild( jetzt ) )
     {
     {
@@ -350,7 +350,7 @@ void Animation2D::render( Bild &zRObj )
         if( ram && rahmen )
         if( ram && rahmen )
         {
         {
             ram->setPosition( pos );
             ram->setPosition( pos );
-            ram->setGröße( gr );
+            ram->setSize( gr );
             ram->render( zRObj );
             ram->render( zRObj );
         }
         }
         zRObj.releaseAlpha();
         zRObj.releaseAlpha();
@@ -414,7 +414,7 @@ Zeichnung *Animation2D::dublizieren() const
 {
 {
     Animation2D *ret = new Animation2D();
     Animation2D *ret = new Animation2D();
     ret->setPosition( pos );
     ret->setPosition( pos );
-    ret->setGröße( gr );
+    ret->setSize( gr );
     ret->setMausEreignisParameter( makParam );
     ret->setMausEreignisParameter( makParam );
     ret->setTastaturEreignisParameter( takParam );
     ret->setTastaturEreignisParameter( takParam );
     ret->setMausEreignis( Mak );
     ret->setMausEreignis( Mak );

+ 1 - 1
Animation.h

@@ -96,7 +96,7 @@ namespace Framework
         // Konstruktor
         // Konstruktor
         __declspec( dllexport ) Animation2D();
         __declspec( dllexport ) Animation2D();
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~Animation2D();
+        __declspec( dllexport ) virtual ~Animation2D();
         // Legt fest, ob ein Rahmen um die Animation gezeichnet werden soll
         // Legt fest, ob ein Rahmen um die Animation gezeichnet werden soll
         //  ram: 1, wenn ein Rahmen gezeichnet werden soll
         //  ram: 1, wenn ein Rahmen gezeichnet werden soll
         __declspec( dllexport ) void setRahmen( bool ram );
         __declspec( dllexport ) void setRahmen( bool ram );

+ 49 - 47
Array.h

@@ -33,7 +33,8 @@ namespace Framework
         {
         {
             if( !next )
             if( !next )
             {
             {
-                *this = ArrayEintrag{ 0, 0, 0 };
+                ArrayEintrag<TYP> tmp = ArrayEintrag{ 0, 0, 0 };
+                *this = tmp;
                 return *this;
                 return *this;
             }
             }
             *this = *next;
             *this = *next;
@@ -44,7 +45,8 @@ namespace Framework
         {
         {
             if( !next )
             if( !next )
             {
             {
-                *this = ArrayEintrag{ 0, 0, 0 };
+                ArrayEintrag<TYP> tmp = ArrayEintrag{ 0, 0, 0 };
+                *this = tmp;
                 return *this;
                 return *this;
             }
             }
             *this = *next;
             *this = *next;
@@ -57,16 +59,16 @@ namespace Framework
     class Array
     class Array
     {
     {
     private:
     private:
-        ArrayEintrag< TYP > *einträge;
+        ArrayEintrag< TYP > *entries;
         int ref;
         int ref;
 
 
     public:
     public:
         // Erstellt eine neue Linked List
         // Erstellt eine neue Linked List
         Array()
         Array()
         {
         {
-            einträge = new ArrayEintrag< TYP >();
-            einträge->set = 0;
-            einträge->next = 0;
+			entries = new ArrayEintrag< TYP >();
+			entries->set = 0;
+            entries->next = 0;
             ref = 1;
             ref = 1;
         }
         }
 
 
@@ -74,14 +76,14 @@ namespace Framework
         ~Array()
         ~Array()
         {
         {
             leeren();
             leeren();
-            delete einträge;
+            delete entries;
         }
         }
 
 
         // Hängt ein Element ans Ende der Liste an
         // Hängt ein Element ans Ende der Liste an
         //  t: Das neue Element
         //  t: Das neue Element
         void add( TYP t )
         void add( TYP t )
         {
         {
-            for( ArrayEintrag< TYP > *e = einträge; 1; e = e->next )
+            for( ArrayEintrag< TYP > *e = entries; 1; e = e->next )
             {
             {
                 if( !e->set && !e->next )
                 if( !e->set && !e->next )
                 {
                 {
@@ -105,7 +107,7 @@ namespace Framework
         {
         {
             if( i < 0 )
             if( i < 0 )
                 return;
                 return;
-            ArrayEintrag< TYP > *e = einträge;
+            ArrayEintrag< TYP > *e = entries;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
                 if( !e->next )
                 if( !e->next )
@@ -133,7 +135,7 @@ namespace Framework
         {
         {
             if( i < 0 )
             if( i < 0 )
                 return;
                 return;
-            ArrayEintrag< TYP > *e = einträge;
+            ArrayEintrag< TYP > *e = entries;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
                 if( !e->next )
                 if( !e->next )
@@ -156,7 +158,7 @@ namespace Framework
         {
         {
             if( i < 0 || p < 0 || i == p )
             if( i < 0 || p < 0 || i == p )
                 return;
                 return;
-            ArrayEintrag< TYP > *e = einträge;
+            ArrayEintrag< TYP > *e = entries;
             ArrayEintrag< TYP > *ve = 0;
             ArrayEintrag< TYP > *ve = 0;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
@@ -165,7 +167,7 @@ namespace Framework
                 ve = e;
                 ve = e;
                 e = e->next;
                 e = e->next;
             }
             }
-            ArrayEintrag< TYP > *e2 = einträge == e ? e->next : einträge;
+            ArrayEintrag< TYP > *e2 = entries == e ? e->next : entries;
             ArrayEintrag< TYP > *ve2 = 0;
             ArrayEintrag< TYP > *ve2 = 0;
             for( int a = 0; a < p; ++a )
             for( int a = 0; a < p; ++a )
             {
             {
@@ -180,23 +182,23 @@ namespace Framework
             if( !e )
             if( !e )
                 return;
                 return;
             if( !ve2 )
             if( !ve2 )
-                einträge = e;
+				entries = e;
             else
             else
                 ve2->next = e;
                 ve2->next = e;
             if( ve )
             if( ve )
                 ve->next = e->next;
                 ve->next = e->next;
             else
             else
-                einträge = e->next;
+				entries = e->next;
             e->next = e2;
             e->next = e2;
         }
         }
 
 
         // Löscht ein Bestimmtes Element
         // Löscht ein Bestimmtes Element
         //  i: Der Index des Elementes das gelöscht werden soll
         //  i: Der Index des Elementes das gelöscht werden soll
-        void lösche( int i )
+        void remove( int i )
         {
         {
             if( i < 0 )
             if( i < 0 )
                 return;
                 return;
-            ArrayEintrag< TYP > *e = einträge;
+            ArrayEintrag< TYP > *e = entries;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
                 if( !e->next )
                 if( !e->next )
@@ -241,29 +243,29 @@ namespace Framework
         void leeren()
         void leeren()
         {
         {
             ArrayEintrag< TYP > *e2 = 0;
             ArrayEintrag< TYP > *e2 = 0;
-            for( ArrayEintrag< TYP > *e = einträge; e; e = e->next )
+            for( ArrayEintrag< TYP > *e = entries; e; e = e->next )
             {
             {
                 delete e2;
                 delete e2;
                 e2 = e;
                 e2 = e;
             }
             }
             delete e2;
             delete e2;
-            einträge = new ArrayEintrag< TYP >();
-            einträge->set = 0;
-            einträge->next = 0;
+			entries = new ArrayEintrag< TYP >();
+			entries->set = 0;
+			entries->next = 0;
         }
         }
 
 
         // Gibt das Erste Element der Liste zurück.
         // Gibt das Erste Element der Liste zurück.
         // Mit ++ kann durch die Liste iteriert werden
         // Mit ++ kann durch die Liste iteriert werden
         ArrayEintrag< TYP > &getArray()
         ArrayEintrag< TYP > &getArray()
         {
         {
-            return *einträge;
+            return *entries;
         }
         }
 
 
         // Gibt zurück, wie viele Elemente in der Liste sind
         // Gibt zurück, wie viele Elemente in der Liste sind
         int getEintragAnzahl() const
         int getEintragAnzahl() const
         {
         {
             int i = 0;
             int i = 0;
-            for( ArrayEintrag< TYP > *e = einträge; e && ( e->set || e->next ); e = e->next )
+            for( ArrayEintrag< TYP > *e = entries; e && ( e->set || e->next ); e = e->next )
                 ++i;
                 ++i;
             return i;
             return i;
         }
         }
@@ -284,7 +286,7 @@ namespace Framework
                 err += i;
                 err += i;
                 throw std::out_of_range( (char*)err );
                 throw std::out_of_range( (char*)err );
             }
             }
-            ArrayEintrag< TYP > *e = einträge;
+            ArrayEintrag< TYP > *e = entries;
             for( int a = 0; a < i && e; ++a )
             for( int a = 0; a < i && e; ++a )
                 e = e->next;
                 e = e->next;
             if( e && e->set )
             if( e && e->set )
@@ -305,7 +307,7 @@ namespace Framework
         {
         {
             if( i < 0 )
             if( i < 0 )
                 return 0;
                 return 0;
-            ArrayEintrag< TYP > *e = einträge;
+            ArrayEintrag< TYP > *e = entries;
             for( int a = 0; a < i && e; ++a )
             for( int a = 0; a < i && e; ++a )
                 e = e->next;
                 e = e->next;
             if( e && e->set )
             if( e && e->set )
@@ -318,7 +320,7 @@ namespace Framework
         int getWertIndex( TYP t ) const
         int getWertIndex( TYP t ) const
         {
         {
             int ret = 0;
             int ret = 0;
-            for( ArrayEintrag< TYP > *e = einträge; e; e = e->next )
+            for( ArrayEintrag< TYP > *e = entries; e; e = e->next )
             {
             {
                 if( e->set && e->var == t )
                 if( e->set && e->var == t )
                     return ret;
                     return ret;
@@ -351,16 +353,16 @@ namespace Framework
     class RCArray
     class RCArray
     {
     {
     private:
     private:
-        ArrayEintrag< TYP* > *einträge;
+        ArrayEintrag< TYP* > *entries;
         int ref;
         int ref;
 
 
     public:
     public:
         // Erstellt eine neue Linked List
         // Erstellt eine neue Linked List
         RCArray()
         RCArray()
         {
         {
-            einträge = new ArrayEintrag< TYP* >();
-            einträge->set = 0;
-            einträge->next = 0;
+            entries = new ArrayEintrag< TYP* >();
+            entries->set = 0;
+            entries->next = 0;
             ref = 1;
             ref = 1;
         }
         }
 
 
@@ -368,14 +370,14 @@ namespace Framework
         ~RCArray()
         ~RCArray()
         {
         {
             leeren();
             leeren();
-            delete einträge;
+            delete entries;
         }
         }
 
 
         // Hängt ein Element ans Ende der Liste an
         // Hängt ein Element ans Ende der Liste an
         //  t: Das neue Element
         //  t: Das neue Element
         void add( TYP* t )
         void add( TYP* t )
         {
         {
-            for( ArrayEintrag< TYP* > *e = einträge; 1; e = e->next )
+            for( ArrayEintrag< TYP* > *e = entries; 1; e = e->next )
             {
             {
                 if( !e->set && !e->next )
                 if( !e->set && !e->next )
                 {
                 {
@@ -405,7 +407,7 @@ namespace Framework
                     t->release();
                     t->release();
                 return;
                 return;
             }
             }
-            ArrayEintrag< TYP* > *e = einträge;
+            ArrayEintrag< TYP* > *e = entries;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
                 if( !e->next )
                 if( !e->next )
@@ -437,7 +439,7 @@ namespace Framework
                     t->release();
                     t->release();
                 return;
                 return;
             }
             }
-            ArrayEintrag< TYP* > *e = einträge;
+            ArrayEintrag< TYP* > *e = entries;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
                 if( !e->next )
                 if( !e->next )
@@ -463,7 +465,7 @@ namespace Framework
             if( i < 0 || p < 0 || i == p )
             if( i < 0 || p < 0 || i == p )
                 return;
                 return;
             ArrayEintrag< TYP* > *ve = 0;
             ArrayEintrag< TYP* > *ve = 0;
-            ArrayEintrag< TYP* > *e = einträge;
+            ArrayEintrag< TYP* > *e = entries;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
                 if( !e->next )
                 if( !e->next )
@@ -471,7 +473,7 @@ namespace Framework
                 ve = e;
                 ve = e;
                 e = e->next;
                 e = e->next;
             }
             }
-            ArrayEintrag< TYP* > *e2 = einträge == e ? e->next : einträge;
+            ArrayEintrag< TYP* > *e2 = entries == e ? e->next : entries;
             ArrayEintrag< TYP* > *ve2 = 0;
             ArrayEintrag< TYP* > *ve2 = 0;
             for( int a = 0; a < p; ++a )
             for( int a = 0; a < p; ++a )
             {
             {
@@ -486,23 +488,23 @@ namespace Framework
             if( !e )
             if( !e )
                 return;
                 return;
             if( !ve2 )
             if( !ve2 )
-                einträge = e;
+                entries = e;
             else
             else
                 ve2->next = e;
                 ve2->next = e;
             if( ve )
             if( ve )
                 ve->next = e->next;
                 ve->next = e->next;
             else
             else
-                einträge = e->next;
+                entries = e->next;
             e->next = e2;
             e->next = e2;
         }
         }
 
 
         // Löscht ein Bestimmtes Element
         // Löscht ein Bestimmtes Element
         //  i: Der Index des Elementes das gelöscht werden soll
         //  i: Der Index des Elementes das gelöscht werden soll
-        void lösche( int i )
+        void remove( int i )
         {
         {
             if( i < 0 )
             if( i < 0 )
                 return;
                 return;
-            ArrayEintrag< TYP* > *e = einträge;
+            ArrayEintrag< TYP* > *e = entries;
             for( int a = 0; a < i; ++a )
             for( int a = 0; a < i; ++a )
             {
             {
                 if( !e->next )
                 if( !e->next )
@@ -553,7 +555,7 @@ namespace Framework
         void leeren()
         void leeren()
         {
         {
             ArrayEintrag< TYP* > *e2 = 0;
             ArrayEintrag< TYP* > *e2 = 0;
-            for( ArrayEintrag< TYP* > *e = einträge; e; e = e->next )
+            for( ArrayEintrag< TYP* > *e = entries; e; e = e->next )
             {
             {
                 if( e2 && e2->var && e2->set )
                 if( e2 && e2->var && e2->set )
                     e2->var->release();
                     e2->var->release();
@@ -563,23 +565,23 @@ namespace Framework
             if( e2 && e2->var && e2->set )
             if( e2 && e2->var && e2->set )
                 e2->var->release();
                 e2->var->release();
             delete e2;
             delete e2;
-            einträge = new ArrayEintrag< TYP* >();
-            einträge->set = 0;
-            einträge->next = 0;
+            entries = new ArrayEintrag< TYP* >();
+            entries->set = 0;
+            entries->next = 0;
         }
         }
 
 
         // Gibt das Erste Element der Liste zurück.
         // Gibt das Erste Element der Liste zurück.
         // Mit ++ kann durch die Liste iteriert werden
         // Mit ++ kann durch die Liste iteriert werden
         ArrayEintrag< TYP* > &getArray()
         ArrayEintrag< TYP* > &getArray()
         {
         {
-            return *einträge;
+            return *entries;
         }
         }
 
 
         // Gibt zurück, wie viele Elemente in der Liste sind
         // Gibt zurück, wie viele Elemente in der Liste sind
         int getEintragAnzahl() const
         int getEintragAnzahl() const
         {
         {
             int i = 0;
             int i = 0;
-            for( ArrayEintrag< TYP* > *e = einträge; e && ( e->set || e->next ); e = e->next )
+            for( ArrayEintrag< TYP* > *e = entries; e && ( e->set || e->next ); e = e->next )
                 ++i;
                 ++i;
             return i;
             return i;
         }
         }
@@ -590,7 +592,7 @@ namespace Framework
         {
         {
             if( i < 0 )
             if( i < 0 )
                 return (TYP*)0;
                 return (TYP*)0;
-            ArrayEintrag< TYP* > *e = einträge;
+            ArrayEintrag< TYP* > *e = entries;
             for( int a = 0; a < i && e; ++a )
             for( int a = 0; a < i && e; ++a )
                 e = e->next;
                 e = e->next;
             if( e && e->set && e->var )
             if( e && e->set && e->var )
@@ -604,7 +606,7 @@ namespace Framework
         {
         {
             if( i < 0 )
             if( i < 0 )
                 return (TYP*)0;
                 return (TYP*)0;
-            ArrayEintrag< TYP* > *e = einträge;
+            ArrayEintrag< TYP* > *e = entries;
             for( int a = 0; a < i && e; ++a )
             for( int a = 0; a < i && e; ++a )
                 e = e->next;
                 e = e->next;
             if( e && e->set && e->var )
             if( e && e->set && e->var )

+ 118 - 121
AuswahlBox.cpp

@@ -40,9 +40,9 @@ AuswahlBox::AuswahlBox()
     anzahl( 0 ),
     anzahl( 0 ),
     auswahl( 0 ),
     auswahl( 0 ),
     ausgeklappt( 0 ),
     ausgeklappt( 0 ),
-    ausklappHöhe( 0 ),
-    ausklapMaxHöhe( 200 ),
-    eintragHöhe( 15 ),
+    ausklappHeight( 0 ),
+    ausklapMaxHeight( 200 ),
+    eintragHeight( 15 ),
     tickval( 0 ),
     tickval( 0 ),
     mausEintrag( 0 ),
     mausEintrag( 0 ),
     scrollAnzeigen( 0 ),
     scrollAnzeigen( 0 ),
@@ -57,18 +57,18 @@ AuswahlBox::AuswahlBox()
     rahmen->setRamenBreite( 1 );
     rahmen->setRamenBreite( 1 );
     ausfahren->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::KlickBuffer );
     ausfahren->setStyle( Knopf::Style::Sichtbar | Knopf::Style::Erlaubt | Knopf::Style::KlickBuffer );
     ausfahren->setKBFarbe( 0xA0000000 );
     ausfahren->setKBFarbe( 0xA0000000 );
-    ausfahren->setKBStärke( 10 );
-    ausfahren->setGröße( 18, 18 );
+    ausfahren->setKBStrength( 10 );
+    ausfahren->setSize( 18, 18 );
     ausfahren->setSchriftFarbe( 0xFFFFFFFF );
     ausfahren->setSchriftFarbe( 0xFFFFFFFF );
     ausfahren->setText( "\\/" );
     ausfahren->setText( "\\/" );
     auswRahmen->setFarbe( 0xFF00FF00 );
     auswRahmen->setFarbe( 0xFF00FF00 );
     auswRahmen->setRamenBreite( 1 );
     auswRahmen->setRamenBreite( 1 );
     auswAf->setFarbe( 0xA000FF00 );
     auswAf->setFarbe( 0xA000FF00 );
-    auswAf->setStärke( 7 );
+    auswAf->setStrength( 7 );
     mausRahmen->setFarbe( 0xFF00FF00 );
     mausRahmen->setFarbe( 0xFF00FF00 );
     mausRahmen->setRamenBreite( 1 );
     mausRahmen->setRamenBreite( 1 );
     mausAf->setFarbe( 0x5000FF00 );
     mausAf->setFarbe( 0x5000FF00 );
-    mausAf->setStärke( 7 );
+    mausAf->setStrength( 7 );
     gr.x = 20;
     gr.x = 20;
     gr.y = 20;
     gr.y = 20;
 }
 }
@@ -143,7 +143,7 @@ void AuswahlBox::addEintrag( const char *txt ) // Eintrag hinzuf
     tf->setText( txt );
     tf->setText( txt );
     tf->setSchriftFarbe( 0xFFFFFFFF );
     tf->setSchriftFarbe( 0xFFFFFFFF );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
-    tf->setGröße( 0, eintragHöhe );
+    tf->setSize( 0, eintragHeight );
     members->add( tf, anzahl );
     members->add( tf, anzahl );
     ++anzahl;
     ++anzahl;
     rend = 1;
     rend = 1;
@@ -158,7 +158,7 @@ void AuswahlBox::addEintrag( Text *txt )
     tf->setText( txt );
     tf->setText( txt );
     tf->setSchriftFarbe( 0xFFFFFFFF );
     tf->setSchriftFarbe( 0xFFFFFFFF );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
-    tf->setGröße( 0, eintragHöhe );
+    tf->setSize( 0, eintragHeight );
     members->add( tf, anzahl );
     members->add( tf, anzahl );
     ++anzahl;
     ++anzahl;
     rend = 1;
     rend = 1;
@@ -196,29 +196,29 @@ void AuswahlBox::setEintragZ( int i, TextFeld *txt )
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlBox::löscheEintrag( int i ) // Eintrag entfernen
+void AuswahlBox::removeEintrag( int i ) // Eintrag entfernen
 {
 {
     if( i < anzahl )
     if( i < anzahl )
     {
     {
-        members->lösche( i );
+        members->remove( i );
         if( msStyle )
         if( msStyle )
-            msStyle->lösche( i );
+            msStyle->remove( i );
         if( msAuswRahmen )
         if( msAuswRahmen )
-            msAuswRahmen->lösche( i );
+            msAuswRahmen->remove( i );
         if( msAuswBgF )
         if( msAuswBgF )
-            msAuswBgF->lösche( i );
+            msAuswBgF->remove( i );
         if( msAuswBgB )
         if( msAuswBgB )
-            msAuswBgB->lösche( i );
+            msAuswBgB->remove( i );
         if( msAuswAf )
         if( msAuswAf )
-            msAuswAf->lösche( i );
+            msAuswAf->remove( i );
         if( msMausRahmen )
         if( msMausRahmen )
-            msMausRahmen->lösche( i );
+            msMausRahmen->remove( i );
         if( msMausBgF )
         if( msMausBgF )
-            msMausBgF->lösche( i );
+            msMausBgF->remove( i );
         if( msMausBgB )
         if( msMausBgB )
-            msMausBgB->lösche( i );
+            msMausBgB->remove( i );
         if( msMausAf )
         if( msMausAf )
-            msMausAf->lösche( i );
+            msMausAf->remove( i );
         if( auswahl > i )
         if( auswahl > i )
             --auswahl;
             --auswahl;
         if( mausEintrag > i )
         if( mausEintrag > i )
@@ -298,10 +298,10 @@ void AuswahlBox::setEintragAlphaFeldFarbe( int i, int afF ) // Eintrag AlphaFeld
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlBox::setEintragAlphaFeldStärke( int i, int afSt ) // Eintrag AlphaFeld Stärke setzen
+void AuswahlBox::setEintragAlphaFeldStrength( int i, int afSt ) // Eintrag AlphaFeld Stärke setzen
 {
 {
     if( members->z( i ) )
     if( members->z( i ) )
-        members->z( i )->setAlphaFeldStärke( afSt );
+        members->z( i )->setAlphaFeldStrength( afSt );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -347,8 +347,8 @@ void AuswahlBox::setAuswHintergrundBild( Bild *bgB )
 {
 {
     if( !auswBgB )
     if( !auswBgB )
         auswBgB = new Bild();
         auswBgB = new Bild();
-    auswBgB->neuBild( bgB->getBreite(), bgB->getHöhe(), 0 );
-    auswBgB->drawBild( 0, 0, bgB->getBreite(), bgB->getHöhe(), *bgB );
+    auswBgB->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
+    auswBgB->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
     bgB->release();
     bgB->release();
     rend = 1;
     rend = 1;
 }
 }
@@ -369,11 +369,11 @@ void AuswahlBox::setAuswAlphaFeldFarbe( int afF ) // Auswahl AlphaFeld Farbe set
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlBox::setAuswAlphaFeldStärke( int afSt ) // Auswahl Alpha Feld stärke setzen
+void AuswahlBox::setAuswAlphaFeldStrength( int afSt ) // Auswahl Alpha Feld stärke setzen
 {
 {
     if( !auswAf )
     if( !auswAf )
         auswAf = new AlphaFeld();
         auswAf = new AlphaFeld();
-    auswAf->setStärke( afSt );
+    auswAf->setStrength( afSt );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -449,14 +449,14 @@ void AuswahlBox::setMsAuswHintergrundBild( int i, Bild *bgB )
     if( !msAuswBgB->z( i ) )
     if( !msAuswBgB->z( i ) )
     {
     {
         Bild *z = new Bild;
         Bild *z = new Bild;
-        z->neuBild( bgB->getBreite(), bgB->getHöhe(), 0 );
-        z->drawBild( 0, 0, bgB->getBreite(), bgB->getHöhe(), *bgB );
+        z->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
+        z->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
         msAuswBgB->set( z, i );
         msAuswBgB->set( z, i );
     }
     }
     else
     else
     {
     {
-        msAuswBgB->z( i )->neuBild( bgB->getBreite(), bgB->getHöhe(), 0 );
-        msAuswBgB->z( i )->drawBild( 0, 0, bgB->getBreite(), bgB->getHöhe(), *bgB );
+        msAuswBgB->z( i )->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
+        msAuswBgB->z( i )->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
     }
     }
     bgB->release();
     bgB->release();
     rend = 1;
     rend = 1;
@@ -487,7 +487,7 @@ void AuswahlBox::setMsAuswAlphaFeldFarbe( int i, int afF ) // Multistyle Auswahl
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlBox::setMsAuswAlphaFeldStärke( int i, int afSt ) // Multistyle Auswahl AlphaFeld stärke setzen
+void AuswahlBox::setMsAuswAlphaFeldStrength( int i, int afSt ) // Multistyle Auswahl AlphaFeld stärke setzen
 {
 {
     if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
     if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
         return;
         return;
@@ -495,7 +495,7 @@ void AuswahlBox::setMsAuswAlphaFeldSt
         msAuswAf = new RCArray< AlphaFeld >();
         msAuswAf = new RCArray< AlphaFeld >();
     if( !msAuswAf->z( i ) )
     if( !msAuswAf->z( i ) )
         msAuswAf->set( new AlphaFeld(), i );
         msAuswAf->set( new AlphaFeld(), i );
-    msAuswAf->z( i )->setStärke( afSt );
+    msAuswAf->z( i )->setStrength( afSt );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -541,8 +541,8 @@ void AuswahlBox::setMausHintergrundBild( Bild *bgB )
 {
 {
     if( !mausBgB )
     if( !mausBgB )
         mausBgB = new Bild();
         mausBgB = new Bild();
-    mausBgB->neuBild( bgB->getBreite(), bgB->getHöhe(), 0 );
-    mausBgB->drawBild( 0, 0, bgB->getBreite(), bgB->getHöhe(), *bgB );
+    mausBgB->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
+    mausBgB->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
     bgB->release();
     bgB->release();
     rend = 1;
     rend = 1;
 }
 }
@@ -563,11 +563,11 @@ void AuswahlBox::setMausAlphaFeldFarbe( int afF ) // Maus AlphaFeld Farbe setzen
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlBox::setMausAlphaFeldStärke( int afSt ) // Maus AlphaFeld stärke setzen
+void AuswahlBox::setMausAlphaFeldStrength( int afSt ) // Maus AlphaFeld stärke setzen
 {
 {
     if( !mausAf )
     if( !mausAf )
         mausAf = new AlphaFeld();
         mausAf = new AlphaFeld();
-    mausAf->setStärke( afSt );
+    mausAf->setStrength( afSt );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -643,14 +643,14 @@ void AuswahlBox::setMsMausHintergrundBild( int i, Bild *bgB )
     if( !msMausBgB->z( i ) )
     if( !msMausBgB->z( i ) )
     {
     {
         Bild *z = new Bild;
         Bild *z = new Bild;
-        z->neuBild( bgB->getBreite(), bgB->getHöhe(), 0 );
-        z->drawBild( 0, 0, bgB->getBreite(), bgB->getHöhe(), *bgB );
+        z->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
+        z->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
         msMausBgB->set( z, i );
         msMausBgB->set( z, i );
     }
     }
     else
     else
     {
     {
-        msMausBgB->z( i )->neuBild( bgB->getBreite(), bgB->getHöhe(), 0 );
-        msMausBgB->z( i )->drawBild( 0, 0, bgB->getBreite(), bgB->getHöhe(), *bgB );
+        msMausBgB->z( i )->neuBild( bgB->getBreite(), bgB->getHeight(), 0 );
+        msMausBgB->z( i )->drawBild( 0, 0, bgB->getBreite(), bgB->getHeight(), *bgB );
     }
     }
     bgB->release();
     bgB->release();
     rend = 1;
     rend = 1;
@@ -681,7 +681,7 @@ void AuswahlBox::setMsMausAlphaFeldFarbe( int i, int afF ) // Multistyle Maus Al
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlBox::setMsMausAlphaFeldStärke( int i, int afSt ) // Multistyle Maus AlphaFeld stärke setzen
+void AuswahlBox::setMsMausAlphaFeldStrength( int i, int afSt ) // Multistyle Maus AlphaFeld stärke setzen
 {
 {
     if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
     if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
         return;
         return;
@@ -689,7 +689,7 @@ void AuswahlBox::setMsMausAlphaFeldSt
         msMausAf = new RCArray< AlphaFeld >();
         msMausAf = new RCArray< AlphaFeld >();
     if( !msMausAf->z( i ) )
     if( !msMausAf->z( i ) )
         msMausAf->set( new AlphaFeld(), i );
         msMausAf->set( new AlphaFeld(), i );
-    msMausAf->z( i )->setStärke( afSt );
+    msMausAf->z( i )->setStrength( afSt );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -722,23 +722,23 @@ void AuswahlBox::scrollZuEintrag( int i ) // liste scrollen
         if( hatStyle( Style::MultiStyled ) )
         if( hatStyle( Style::MultiStyled ) )
         {
         {
             for( int j = 0; j < i; ++j )
             for( int j = 0; j < i; ++j )
-                scrollPos += members->z( j ) ? members->z( j )->getHöhe() : 0;
+                scrollPos += members->z( j ) ? members->z( j )->getHeight() : 0;
         }
         }
         else
         else
-            scrollPos += i * eintragHöhe;
+            scrollPos += i * eintragHeight;
         vertikalScrollBar->scroll( scrollPos );
         vertikalScrollBar->scroll( scrollPos );
         rend = 1;
         rend = 1;
     }
     }
 }
 }
 
 
-void AuswahlBox::setMaxAuskappHöhe( int maxHöhe ) // höhe der Liste beim ausklappen
+void AuswahlBox::setMaxAuskappHeight( int maxHeight ) // höhe der Liste beim ausklappen
 {
 {
-    ausklapMaxHöhe = maxHöhe;
+    ausklapMaxHeight = maxHeight;
 }
 }
 
 
-void AuswahlBox::setEintragHöhe( int höhe ) // setzt die Höhe der Einträge
+void AuswahlBox::setEintragHeight( int height ) // setzt die Höhe der Einträge
 {
 {
-    eintragHöhe = höhe;
+    eintragHeight = height;
 }
 }
 
 
 void AuswahlBox::addMsStyle( int i, __int64 abStyle ) // Multistyle style hinzufügen
 void AuswahlBox::addMsStyle( int i, __int64 abStyle ) // Multistyle style hinzufügen
@@ -774,7 +774,7 @@ void AuswahlBox::setMsStyle( int i, __int64 abStyle )
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlBox::löscheMsStyle( int i, __int64 abStyle ) // Multistyle style entfernen
+void AuswahlBox::removeMsStyle( int i, __int64 abStyle ) // Multistyle style entfernen
 {
 {
     if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
     if( hatStyleNicht( Style::MultiStyled ) || i >= anzahl )
         return;
         return;
@@ -802,42 +802,42 @@ bool AuswahlBox::tick( double tickVal ) // tick
     this->tickval += tickVal * 300;
     this->tickval += tickVal * 300;
     int val = ( int )this->tickval;
     int val = ( int )this->tickval;
     if( val < 1 )
     if( val < 1 )
-        return __super::tick( tickVal );
+        return ZeichnungHintergrund::tick( tickVal );
     this->tickval -= val;
     this->tickval -= val;
-    int maxHöhe = rahmen ? rahmen->getRBreite() : 0;
+    int maxHeight = rahmen ? rahmen->getRBreite() : 0;
     if( hatStyleNicht( Style::MultiStyled ) )
     if( hatStyleNicht( Style::MultiStyled ) )
-        maxHöhe += anzahl * eintragHöhe;
+        maxHeight += anzahl * eintragHeight;
     else
     else
         for( int i = 0; i < anzahl; ++i )
         for( int i = 0; i < anzahl; ++i )
-            maxHöhe += members->z( i ) ? members->z( i )->getHöhe() : 0;
-    if( maxHöhe > ausklapMaxHöhe )
+            maxHeight += members->z( i ) ? members->z( i )->getHeight() : 0;
+    if( maxHeight > ausklapMaxHeight )
     {
     {
         if( hatStyle( Style::VScroll ) && vertikalScrollBar )
         if( hatStyle( Style::VScroll ) && vertikalScrollBar )
         {
         {
             scrollAnzeigen = 1;
             scrollAnzeigen = 1;
-            vertikalScrollBar->update( maxHöhe, ausklapMaxHöhe );
+            vertikalScrollBar->update( maxHeight, ausklapMaxHeight );
         }
         }
-        maxHöhe = ausklapMaxHöhe;
+        maxHeight = ausklapMaxHeight;
     }
     }
     else
     else
         scrollAnzeigen = 0;
         scrollAnzeigen = 0;
     if( ausgeklappt )
     if( ausgeklappt )
     {
     {
-        if( ausklappHöhe < maxHöhe )
+        if( ausklappHeight < maxHeight )
         {
         {
-            ausklappHöhe += val;
-            if( ausklappHöhe > maxHöhe )
-                ausklappHöhe = maxHöhe;
+            ausklappHeight += val;
+            if( ausklappHeight > maxHeight )
+                ausklappHeight = maxHeight;
             rend = 1;
             rend = 1;
         }
         }
     }
     }
     else
     else
     {
     {
-        if( ausklappHöhe > 0 )
+        if( ausklappHeight > 0 )
         {
         {
-            ausklappHöhe -= val;
-            if( ausklappHöhe < 0 )
-                ausklappHöhe = 0;
+            ausklappHeight -= val;
+            if( ausklappHeight < 0 )
+                ausklappHeight = 0;
             rend = 1;
             rend = 1;
         }
         }
     }
     }
@@ -848,13 +848,11 @@ bool AuswahlBox::tick( double tickVal ) // tick
         else
         else
             members->z( i )->tick( tickVal );
             members->z( i )->tick( tickVal );
     }
     }
-    return __super::tick( tickVal );
+    return ZeichnungHintergrund::tick( tickVal );
 }
 }
 
 
 void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
 void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
 {
 {
-    if( me.id == ME_DScroll )
-        int i = 0;
     mausEintrag = -1;
     mausEintrag = -1;
     if( hatStyleNicht( Style::Sichtbar ) || hatStyleNicht( Style::Erlaubt ) )
     if( hatStyleNicht( Style::Sichtbar ) || hatStyleNicht( Style::Erlaubt ) )
     {
     {
@@ -865,7 +863,7 @@ void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
     }
     }
     bool removeFokus = 0;
     bool removeFokus = 0;
     bool nmakc = me.verarbeitet == 0;
     bool nmakc = me.verarbeitet == 0;
-    if( me.verarbeitet || !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y + ausklappHöhe ) )
+    if( me.verarbeitet || !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y + ausklappHeight ) )
     {
     {
         if( mausIn )
         if( mausIn )
         {
         {
@@ -873,7 +871,7 @@ void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
                 toolTip->setMausIn( 0 );
                 toolTip->setMausIn( 0 );
             mausIn = 0;
             mausIn = 0;
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -882,12 +880,12 @@ void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
         }
         }
         removeFokus = 1;
         removeFokus = 1;
     }
     }
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y + ausklappHöhe ) && me.id != ME_Verlässt )
+    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y + ausklappHeight ) && me.id != ME_Leaves )
     {
     {
         if( removeFokus && me.id == ME_RLinks )
         if( removeFokus && me.id == ME_RLinks )
         {
         {
             if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
             if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
-                löscheStyle( Style::Fokus );
+                removeStyle( Style::Fokus );
             ausgeklappt = 0;
             ausgeklappt = 0;
             me.mx -= pos.x, me.my -= pos.y;
             me.mx -= pos.x, me.my -= pos.y;
             if( nmakc && me.verarbeitet && nMak )
             if( nmakc && me.verarbeitet && nMak )
@@ -898,7 +896,7 @@ void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
             toolTip->setMausIn( 0 );
             toolTip->setMausIn( 0 );
         return;
         return;
     }
     }
-    if( !mausIn && me.id != ME_Verlässt )
+    if( !mausIn && me.id != ME_Leaves )
     {
     {
         mausIn = 1;
         mausIn = 1;
         if( toolTip )
         if( toolTip )
@@ -934,7 +932,7 @@ void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
                 scrollZuEintrag( mausEintrag );
                 scrollZuEintrag( mausEintrag );
         }
         }
         if( removeFokus && me.id == ME_RLinks )
         if( removeFokus && me.id == ME_RLinks )
-            löscheStyle( Style::Fokus );
+            removeStyle( Style::Fokus );
         if( !me.verarbeitet && hatStyleNicht( Style::Fokus ) && me.id == ME_RLinks )
         if( !me.verarbeitet && hatStyleNicht( Style::Fokus ) && me.id == ME_RLinks )
             addStyle( Style::Fokus );
             addStyle( Style::Fokus );
         if( hatStyle( Style::VScroll ) && vertikalScrollBar && ausgeklappt && scrollAnzeigen )
         if( hatStyle( Style::VScroll ) && vertikalScrollBar && ausgeklappt && scrollAnzeigen )
@@ -942,7 +940,7 @@ void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
             int rbr = 0;
             int rbr = 0;
             if( rahmen && hatStyle( Style::Rahmen ) )
             if( rahmen && hatStyle( Style::Rahmen ) )
                 rbr = rahmen->getRBreite();
                 rbr = rahmen->getRBreite();
-            if( ( ( me.mx > gr.x - 15 - rbr && me.my > gr.y ) || me.id == ME_UScroll || me.id == ME_DScroll ) && me.id != ME_Betritt && me.id != ME_Verlässt )
+            if( ( ( me.mx > gr.x - 15 - rbr && me.my > gr.y ) || me.id == ME_UScroll || me.id == ME_DScroll ) && me.id != ME_Betritt && me.id != ME_Leaves )
             {
             {
                 vertikalScrollBar->doMausMessage( gr.x - rbr - 15, gr.y, 15, vertikalScrollBar->getScrollData()->anzeige, me );
                 vertikalScrollBar->doMausMessage( gr.x - rbr - 15, gr.y, 15, vertikalScrollBar->getScrollData()->anzeige, me );
                 me.verarbeitet = 1;
                 me.verarbeitet = 1;
@@ -956,27 +954,27 @@ void AuswahlBox::doMausEreignis( MausEreignis &me ) // Maus
             {
             {
                 for( int i = 0; i < anzahl; ++i )
                 for( int i = 0; i < anzahl; ++i )
                 {
                 {
-                    if( tmp > 0 && tmp < ( members->z( i ) ? members->z( i )->getHöhe() : 0 ) )
+                    if( tmp > 0 && tmp < ( members->z( i ) ? members->z( i )->getHeight() : 0 ) )
                     {
                     {
                         eintr = i;
                         eintr = i;
                         break;
                         break;
                     }
                     }
-                    tmp -= members->z( i ) ? members->z( i )->getHöhe() : 0;
+                    tmp -= members->z( i ) ? members->z( i )->getHeight() : 0;
                 }
                 }
             }
             }
             else
             else
             {
             {
                 for( int i = 0; i < anzahl; ++i )
                 for( int i = 0; i < anzahl; ++i )
                 {
                 {
-                    if( tmp > 0 && tmp < eintragHöhe )
+                    if( tmp > 0 && tmp < eintragHeight )
                     {
                     {
                         eintr = i;
                         eintr = i;
                         break;
                         break;
                     }
                     }
-                    tmp -= eintragHöhe;
+                    tmp -= eintragHeight;
                 }
                 }
             }
             }
-            if( ausgeklappt && me.mx > 0 && me.mx < gr.x && me.my > gr.y && me.my < gr.y + ausklappHöhe )
+            if( ausgeklappt && me.mx > 0 && me.mx < gr.x && me.my > gr.y && me.my < gr.y + ausklappHeight )
             {
             {
                 if( eintr >= 0 )
                 if( eintr >= 0 )
                 {
                 {
@@ -1041,8 +1039,8 @@ void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
     {
     {
         lockZeichnung();
         lockZeichnung();
         int br = gr.x;
         int br = gr.x;
-        int hö = gr.y + ausklappHöhe;
-        if( ( ausklappHöhe && !zRObj.setDrawOptionsErzwingen( pos.x, pos.y, br, hö ) ) || ( !ausklappHöhe && !zRObj.setDrawOptions( pos.x, pos.y, br, hö ) ) )
+        int hi = gr.y + ausklappHeight;
+        if( ( ausklappHeight && !zRObj.setDrawOptionsErzwingen( pos.x, pos.y, br, hi ) ) || ( !ausklappHeight && !zRObj.setDrawOptions( pos.x, pos.y, br, hi ) ) )
         {
         {
             unlockZeichnung();
             unlockZeichnung();
             return;
             return;
@@ -1050,11 +1048,11 @@ void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
         int rbr = 0;
         int rbr = 0;
         if( hatStyle( Style::Rahmen ) && rahmen ) // Rahmen zeichnen
         if( hatStyle( Style::Rahmen ) && rahmen ) // Rahmen zeichnen
         {
         {
-            rahmen->setGröße( br, hö );
+            rahmen->setSize( br, hi );
             rahmen->render( zRObj );
             rahmen->render( zRObj );
             rbr = rahmen->getRBreite();
             rbr = rahmen->getRBreite();
         }
         }
-        if( ( ausklappHöhe && !zRObj.setDrawOptionsErzwingen( rbr, rbr, br - rbr * 2, hö - rbr * 2 ) ) || ( !ausklappHöhe && !zRObj.setDrawOptions( rbr, rbr, br - rbr * 2, hö - rbr * 2 ) ) )
+        if( ( ausklappHeight && !zRObj.setDrawOptionsErzwingen( rbr, rbr, br - rbr * 2, hi - rbr * 2 ) ) || ( !ausklappHeight && !zRObj.setDrawOptions( rbr, rbr, br - rbr * 2, hi - rbr * 2 ) ) )
         {
         {
             zRObj.releaseDrawOptions();
             zRObj.releaseDrawOptions();
             unlockZeichnung();
             unlockZeichnung();
@@ -1063,25 +1061,25 @@ void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
         if( hatStyle( Style::Hintergrund ) )
         if( hatStyle( Style::Hintergrund ) )
         {
         {
             if( hatStyle( Style::HAlpha ) )
             if( hatStyle( Style::HAlpha ) )
-                zRObj.alphaRegion( 0, 0, br, hö, hintergrundFarbe );
+                zRObj.alphaRegion( 0, 0, br, hi, hintergrundFarbe );
             else
             else
-                zRObj.füllRegion( 0, 0, br, hö, hintergrundFarbe );
+                zRObj.fillRegion( 0, 0, br, hi, hintergrundFarbe );
             if( hatStyle( Style::HBild ) && hintergrundBild )
             if( hatStyle( Style::HBild ) && hintergrundBild )
             {
             {
                 if( hatStyle( Style::HAlpha ) )
                 if( hatStyle( Style::HAlpha ) )
-                    zRObj.alphaBild( 0, 0, br, hö, *hintergrundBild );
+                    zRObj.alphaBild( 0, 0, br, hi, *hintergrundBild );
                 else
                 else
-                    zRObj.drawBild( 0, 0, br, hö, *hintergrundBild );
+                    zRObj.drawBild( 0, 0, br, hi, *hintergrundBild );
             }
             }
         }
         }
         if( hatStyle( Style::Buffered ) && hintergrundFeld )
         if( hatStyle( Style::Buffered ) && hintergrundFeld )
         {
         {
-            hintergrundFeld->setGröße( br - rbr * 2, hö - rbr * 2 );
+            hintergrundFeld->setSize( br - rbr * 2, hi - rbr * 2 );
             hintergrundFeld->render( zRObj );
             hintergrundFeld->render( zRObj );
         }
         }
         if( ausfahren ) // Ausklapp Knopf zeichnen
         if( ausfahren ) // Ausklapp Knopf zeichnen
         {
         {
-            ausfahren->setGröße( gr.y - rbr * 2, gr.y - rbr * 2 );
+            ausfahren->setSize( gr.y - rbr * 2, gr.y - rbr * 2 );
             ausfahren->setPosition( gr.x - rbr - ausfahren->getBreite(), rbr );
             ausfahren->setPosition( gr.x - rbr - ausfahren->getBreite(), rbr );
             ausfahren->render( zRObj );
             ausfahren->render( zRObj );
         }
         }
@@ -1186,11 +1184,11 @@ void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
                         tf->setStyle( TextFeld::Style::Rahmen, hatMsStyle( auswahl, Style::AuswahlRahmen ) );
                         tf->setStyle( TextFeld::Style::Rahmen, hatMsStyle( auswahl, Style::AuswahlRahmen ) );
                     }
                     }
                 }
                 }
-                int tmpHö = tf->getHöhe();
+                int tmpHi = tf->getHeight();
                 tf->setPosition( 0, 0 );
                 tf->setPosition( 0, 0 );
-                tf->setGröße( gr.x - rbr * 2 - ( ausfahren ? ausfahren->getBreite() : 0 ), gr.y - rbr * 2 );
+                tf->setSize( gr.x - rbr * 2 - ( ausfahren ? ausfahren->getBreite() : 0 ), gr.y - rbr * 2 );
                 tf->render( zRObj );
                 tf->render( zRObj );
-                tf->setGröße( tf->getBreite(), tmpHö );
+                tf->setSize( tf->getBreite(), tmpHi );
                 if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
                 if( hatStyleNicht( Style::MultiStyled ) || !msStyle )
                 {
                 {
                     if( hatStyle( Style::AuswahlBuffer ) )
                     if( hatStyle( Style::AuswahlBuffer ) )
@@ -1253,25 +1251,24 @@ void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
         }
         }
         if( members )
         if( members )
         {
         {
-            if( vsb && ausklappHöhe )
+            if( vsb && ausklappHeight )
             {
             {
                 br -= 15;
                 br -= 15;
-                vertikalScrollBar->getScrollData()->anzeige = ausklappHöhe - rbr;
-                vertikalScrollBar->render( br - rbr, gr.y, 15, ausklappHöhe - rbr, zRObj );
+                vertikalScrollBar->getScrollData()->anzeige = ausklappHeight - rbr;
+                vertikalScrollBar->render( br - rbr, gr.y, 15, ausklappHeight - rbr, zRObj );
             }
             }
-            if( ( ausklappHöhe && !zRObj.setDrawOptionsErzwingen( 0, gr.y, br - rbr, hö - rbr - gr.y ) ) || ( !ausklappHöhe && !zRObj.setDrawOptions( 0, gr.y, br - rbr, hö - rbr - gr.y ) ) )
+            if( ( ausklappHeight && !zRObj.setDrawOptionsErzwingen( 0, gr.y, br - rbr, hi - rbr - gr.y ) ) || ( !ausklappHeight && !zRObj.setDrawOptions( 0, gr.y, br - rbr, hi - rbr - gr.y ) ) )
             {
             {
                 zRObj.releaseDrawOptions();
                 zRObj.releaseDrawOptions();
                 zRObj.releaseDrawOptions();
                 zRObj.releaseDrawOptions();
                 unlockZeichnung();
                 unlockZeichnung();
                 return;
                 return;
             }
             }
-            int maxHöhe = 0;
+            int maxHeight = 0;
             int dy = 0;
             int dy = 0;
             if( vsb )
             if( vsb )
                 dy -= vertikalScrollBar->getScroll();
                 dy -= vertikalScrollBar->getScroll();
-            int mdy = hö - rbr;
-            RCArray< TextFeld > *tmpA = members;
+            int mdy = hi - rbr;
             anzahl = members->getEintragAnzahl();
             anzahl = members->getEintragAnzahl();
             for( int i = 0; i < anzahl; ++i )
             for( int i = 0; i < anzahl; ++i )
             {
             {
@@ -1279,8 +1276,8 @@ void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
                 if( dy >= mdy && !vsb )
                 if( dy >= mdy && !vsb )
                     break;
                     break;
                 tf->setPosition( 0, dy );
                 tf->setPosition( 0, dy );
-                tf->setGröße( br - rbr * 2, tf->getHöhe() );
-                maxHöhe += tf->getHöhe();
+                tf->setSize( br - rbr * 2, tf->getHeight() );
+                maxHeight += tf->getHeight();
                 bool selected = auswahl == i;
                 bool selected = auswahl == i;
                 AlphaFeld *tmpBuffer = 0;
                 AlphaFeld *tmpBuffer = 0;
                 bool tmpB = 0;
                 bool tmpB = 0;
@@ -1556,10 +1553,10 @@ void AuswahlBox::render( Bild &zRObj ) // zeichnet nach zRObj
                         }
                         }
                     }
                     }
                 }
                 }
-                dy += tf->getHöhe();
+                dy += tf->getHeight();
             }
             }
             if( vertikalScrollBar )
             if( vertikalScrollBar )
-                vertikalScrollBar->getScrollData()->max = maxHöhe;
+                vertikalScrollBar->getScrollData()->max = maxHeight;
             zRObj.releaseDrawOptions();
             zRObj.releaseDrawOptions();
         }
         }
         zRObj.releaseDrawOptions();
         zRObj.releaseDrawOptions();
@@ -1634,16 +1631,16 @@ bool AuswahlBox::istAusgeklappt() const // pr
     return ausgeklappt;
     return ausgeklappt;
 }
 }
 
 
-int AuswahlBox::getMaxHöhe() const // gibt die maximale Höhe der Liste zurück
+int AuswahlBox::getMaxHeight() const // gibt die maximale Höhe der Liste zurück
 {
 {
-    if( !hatStyle( Style::MaxHöhe ) )
+    if( !hatStyle( Style::MaxHeight ) )
         return 0;
         return 0;
-    return ausklapMaxHöhe;
+    return ausklapMaxHeight;
 }
 }
 
 
-int AuswahlBox::getEintragHöhe() const // gibt die Höhe der Einträge zurück
+int AuswahlBox::getEintragHeight() const // gibt die Höhe der Einträge zurück
 {
 {
-    return eintragHöhe;
+    return eintragHeight;
 }
 }
 
 
 Knopf *AuswahlBox::getAusklappKnopf() const // gibt den aus-/einklapp Knopf zurück
 Knopf *AuswahlBox::getAusklappKnopf() const // gibt den aus-/einklapp Knopf zurück
@@ -1723,13 +1720,13 @@ int AuswahlBox::getEintragAlphaFeldFarbe( int i ) const // gibt die Eintrag Alph
     return members->z( i )->getAlphaFeldFarbe();
     return members->z( i )->getAlphaFeldFarbe();
 }
 }
 
 
-int AuswahlBox::getEintragAlphaFeldStärke( int i ) const // gibt die Eintrag AlphaFeld stärke zurück
+int AuswahlBox::getEintragAlphaFeldStrength( int i ) const // gibt die Eintrag AlphaFeld stärke zurück
 {
 {
     if( !hatStyle( Style::MultiStyled ) )
     if( !hatStyle( Style::MultiStyled ) )
         return 0;
         return 0;
     if( !members->z( i ) )
     if( !members->z( i ) )
         return 0;
         return 0;
-    return members->z( i )->getAlphaFeldStärke();
+    return members->z( i )->getAlphaFeldStrength();
 }
 }
 
 
 int AuswahlBox::getEintragHintergrundFarbe( int i ) const // gibt die Eintrag Hintergrund Farbe zurück
 int AuswahlBox::getEintragHintergrundFarbe( int i ) const // gibt die Eintrag Hintergrund Farbe zurück
@@ -1808,11 +1805,11 @@ int AuswahlBox::getAuswAlphaFeldFarbe() const // gibt die Auswahl AlphaFeld Farb
     return auswAf ? auswAf->getFarbe() : 0;
     return auswAf ? auswAf->getFarbe() : 0;
 }
 }
 
 
-int AuswahlBox::getAuswAlphaFeldStärke() const // gibt die Auswahl AlphaFeld stärke zurück
+int AuswahlBox::getAuswAlphaFeldStrength() const // gibt die Auswahl AlphaFeld stärke zurück
 {
 {
     if( hatStyle( Style::MultiStyled ) )
     if( hatStyle( Style::MultiStyled ) )
         return 0;
         return 0;
-    return auswAf ? auswAf->getStärke() : 0;
+    return auswAf ? auswAf->getStrength() : 0;
 }
 }
 
 
 int AuswahlBox::getAuswHintergrundFarbe() const // gibt die Auswahl Hintergrund Farbe zurück
 int AuswahlBox::getAuswHintergrundFarbe() const // gibt die Auswahl Hintergrund Farbe zurück
@@ -1899,13 +1896,13 @@ int AuswahlBox::getMsAuswAlphaFeldFarbe( int i ) const // gibt die Multistyle Au
     return msAuswAf->z( i ) ? msAuswAf->z( i )->getFarbe() : 0;
     return msAuswAf->z( i ) ? msAuswAf->z( i )->getFarbe() : 0;
 }
 }
 
 
-int AuswahlBox::getMsAuswAlphaFeldStärke( int i ) const // gibt die Multistyle Auswahl AlphaFeld stärke zurück
+int AuswahlBox::getMsAuswAlphaFeldStrength( int i ) const // gibt die Multistyle Auswahl AlphaFeld stärke zurück
 {
 {
     if( !hatStyle( Style::MultiStyled ) )
     if( !hatStyle( Style::MultiStyled ) )
         return 0;
         return 0;
     if( !msAuswAf )
     if( !msAuswAf )
         return 0;
         return 0;
-    return msAuswAf->z( i ) ? msAuswAf->z( i )->getStärke() : 0;
+    return msAuswAf->z( i ) ? msAuswAf->z( i )->getStrength() : 0;
 }
 }
 
 
 int AuswahlBox::getMsAuswHintergrundFarbe( int i ) const // gibt die Multistyle Auswahl Hintergrund Farbe zurück
 int AuswahlBox::getMsAuswHintergrundFarbe( int i ) const // gibt die Multistyle Auswahl Hintergrund Farbe zurück
@@ -1984,11 +1981,11 @@ int AuswahlBox::getMausAlphaFeldFarbe() const // gibt die Maus AlphaFeld Farbe z
     return mausAf ? mausAf->getFarbe() : 0;
     return mausAf ? mausAf->getFarbe() : 0;
 }
 }
 
 
-int AuswahlBox::getMausAlphaFeldStärke() const // gibt die Maus AlphaFeld stärke zurück
+int AuswahlBox::getMausAlphaFeldStrength() const // gibt die Maus AlphaFeld stärke zurück
 {
 {
     if( hatStyle( Style::MultiStyled ) )
     if( hatStyle( Style::MultiStyled ) )
         return 0;
         return 0;
-    return mausAf ? mausAf->getStärke() : 0;
+    return mausAf ? mausAf->getStrength() : 0;
 }
 }
 
 
 int AuswahlBox::getMausHintergrundFarbe() const // gibt die Maus Hintergrund Farbe zurück
 int AuswahlBox::getMausHintergrundFarbe() const // gibt die Maus Hintergrund Farbe zurück
@@ -2075,13 +2072,13 @@ int AuswahlBox::getMsMausAlphaFeldFarbe( int i ) const // gibt die Multistyle Ma
     return msMausAf->z( i ) ? msMausAf->z( i )->getFarbe() : 0;
     return msMausAf->z( i ) ? msMausAf->z( i )->getFarbe() : 0;
 }
 }
 
 
-int AuswahlBox::getMsMausAlphaFeldStärke( int i ) const // gibt die Multistyle Maus AlphaFeld stärke zurück
+int AuswahlBox::getMsMausAlphaFeldStrength( int i ) const // gibt die Multistyle Maus AlphaFeld stärke zurück
 {
 {
     if( !hatStyle( Style::MultiStyled ) )
     if( !hatStyle( Style::MultiStyled ) )
         return 0;
         return 0;
     if( !msMausAf )
     if( !msMausAf )
         return 0;
         return 0;
-    return msMausAf->z( i ) ? msMausAf->z( i )->getStärke() : 0;
+    return msMausAf->z( i ) ? msMausAf->z( i )->getStrength() : 0;
 }
 }
 
 
 int AuswahlBox::getMsMausHintergrundFarbe( int i ) const // gibt die Multistyle Maus Hintergrund Farbe zurück
 int AuswahlBox::getMsMausHintergrundFarbe( int i ) const // gibt die Multistyle Maus Hintergrund Farbe zurück
@@ -2129,7 +2126,7 @@ Zeichnung *AuswahlBox::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
 {
 {
     AuswahlBox *obj = new AuswahlBox();
     AuswahlBox *obj = new AuswahlBox();
     obj->setPosition( pos );
     obj->setPosition( pos );
-    obj->setGröße( gr );
+    obj->setSize( gr );
     obj->setMausEreignisParameter( makParam );
     obj->setMausEreignisParameter( makParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setMausEreignis( Mak );
     obj->setMausEreignis( Mak );
@@ -2162,8 +2159,8 @@ Zeichnung *AuswahlBox::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
         obj->setMausHintergrundBild( mausBgB->getThis() );
         obj->setMausHintergrundBild( mausBgB->getThis() );
     if( mausAf )
     if( mausAf )
         obj->setMausAlphaFeldZ( (AlphaFeld*)mausAf->dublizieren() );
         obj->setMausAlphaFeldZ( (AlphaFeld*)mausAf->dublizieren() );
-    obj->setMaxAuskappHöhe( ausklapMaxHöhe );
-    obj->setEintragHöhe( eintragHöhe );
+    obj->setMaxAuskappHeight( ausklapMaxHeight );
+    obj->setEintragHeight( eintragHeight );
     for( int i = 0; i < anzahl; ++i )
     for( int i = 0; i < anzahl; ++i )
     {
     {
         if( members->z( i ) )
         if( members->z( i ) )

+ 24 - 24
AuswahlBox.h

@@ -32,7 +32,7 @@ namespace Framework
             const static __int64 AuswahlBuffer = 0x000100000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Farbübergang
             const static __int64 AuswahlBuffer = 0x000100000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Farbübergang
             const static __int64 AuswahlRahmen = 0x000200000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Rahmen
             const static __int64 AuswahlRahmen = 0x000200000; // Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade ausgewählt ist einen Rahmen
             const static __int64 MultiStyled = 0x000400000; // Wenn dieser Flag gesetzt ist, hat jeder Wert seine eigenen Hintergründe unt Rahmen und nicht alle die selben
             const static __int64 MultiStyled = 0x000400000; // Wenn dieser Flag gesetzt ist, hat jeder Wert seine eigenen Hintergründe unt Rahmen und nicht alle die selben
-            const static __int64 MaxHöhe = 0x004000000; // Legt eine maximale Höhe der ausgeklappten Liste fest. Es erscheint automatisch eine Scrollbar wenn mehr Elemente da sind als sichtbar sein können
+            const static __int64 MaxHeight = 0x004000000; // Legt eine maximale Höhe der ausgeklappten Liste fest. Es erscheint automatisch eine Scrollbar wenn mehr Elemente da sind als sichtbar sein können
             const static __int64 MausHintergrund = 0x008000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drau zeigt, einen Hintergrund
             const static __int64 MausHintergrund = 0x008000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drau zeigt, einen Hintergrund
             const static __int64 MausHBild = 0x010000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, ein Hintergrundbild
             const static __int64 MausHBild = 0x010000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, ein Hintergrundbild
             const static __int64 MausHAlpha = 0x020000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen transparenten Hintergrund
             const static __int64 MausHAlpha = 0x020000000; // Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf zeigt, einen transparenten Hintergrund
@@ -41,7 +41,7 @@ namespace Framework
             //const int NachObenAusklappen	= 0x100000000;
             //const int NachObenAusklappen	= 0x100000000;
             //const int AutoAusklappRichtung	= 0x200000000;
             //const int AutoAusklappRichtung	= 0x200000000;
 
 
-            const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldRahmen | AuswahlBuffer | AuswahlRahmen | MaxHöhe | VScroll | MausRahmen | MausBuffer; // Normaler Style: Sichtbar, Erlaubt, Rahmen, FeldRahmen, AuswahlBuffer, AuswahlRahmen, MaxHöhe, VScroll, MausRahmen, MausBuffer
+            const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldRahmen | AuswahlBuffer | AuswahlRahmen | MaxHeight | VScroll | MausRahmen | MausBuffer; // Normaler Style: Sichtbar, Erlaubt, Rahmen, FeldRahmen, AuswahlBuffer, AuswahlRahmen, MaxHöhe, VScroll, MausRahmen, MausBuffer
         };
         };
     private:
     private:
         Schrift *schrift;
         Schrift *schrift;
@@ -67,9 +67,9 @@ namespace Framework
         int anzahl;
         int anzahl;
         int auswahl;
         int auswahl;
         bool ausgeklappt;
         bool ausgeklappt;
-        int ausklappHöhe;
-        int ausklapMaxHöhe;
-        int eintragHöhe;
+        int ausklappHeight;
+        int ausklapMaxHeight;
+        int eintragHeight;
         double tickval;
         double tickval;
         int mausEintrag;
         int mausEintrag;
         bool scrollAnzeigen;
         bool scrollAnzeigen;
@@ -81,7 +81,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) AuswahlBox();
         __declspec( dllexport ) AuswahlBox();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~AuswahlBox();
+        __declspec( dllexport ) virtual ~AuswahlBox();
         // Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Benutzer ein neues element auswählt
         // Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Benutzer ein neues element auswählt
         //  p: Der Parameter
         //  p: Der Parameter
         __declspec( dllexport ) void setEventParam( void *p );
         __declspec( dllexport ) void setEventParam( void *p );
@@ -114,7 +114,7 @@ namespace Framework
         __declspec( dllexport ) void setEintragZ( int i, TextFeld *txt );
         __declspec( dllexport ) void setEintragZ( int i, TextFeld *txt );
         // Löscht einen Eintrag
         // Löscht einen Eintrag
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
-        __declspec( dllexport ) void löscheEintrag( int i );
+        __declspec( dllexport ) void removeEintrag( int i );
         // Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der Liste verwendet wird
         // Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der Liste verwendet wird
         //  ausK: Der Knopf
         //  ausK: Der Knopf
         __declspec( dllexport ) void setAusklappKnopfZ( Knopf *ausK );
         __declspec( dllexport ) void setAusklappKnopfZ( Knopf *ausK );
@@ -153,7 +153,7 @@ namespace Framework
         // Setzt dei Stärke eines Farbübergangns, der für einen bestimmten Eintrag benutzt wird
         // Setzt dei Stärke eines Farbübergangns, der für einen bestimmten Eintrag benutzt wird
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         //  afSt: Die Stärke
         //  afSt: Die Stärke
-        __declspec( dllexport ) void setEintragAlphaFeldStärke( int i, int afSt );
+        __declspec( dllexport ) void setEintragAlphaFeldStrength( int i, int afSt );
         // Setzt eienen Zeiger auf einen Rahmen, der bei dem ausgewählten Eintrag verwendet wird
         // Setzt eienen Zeiger auf einen Rahmen, der bei dem ausgewählten Eintrag verwendet wird
         //  rahmen: Der Rahmen
         //  rahmen: Der Rahmen
         __declspec( dllexport ) void setAuswRahmenZ( LRahmen *rahmen );
         __declspec( dllexport ) void setAuswRahmenZ( LRahmen *rahmen );
@@ -180,7 +180,7 @@ namespace Framework
         __declspec( dllexport ) void setAuswAlphaFeldFarbe( int afF );
         __declspec( dllexport ) void setAuswAlphaFeldFarbe( int afF );
         // Setzt die Stärke eines Farbübergangs, der bei dem ausgewählten Eintrag verwendet wird
         // Setzt die Stärke eines Farbübergangs, der bei dem ausgewählten Eintrag verwendet wird
         //  afSt: Die Stärke
         //  afSt: Die Stärke
-        __declspec( dllexport ) void setAuswAlphaFeldStärke( int afSt );
+        __declspec( dllexport ) void setAuswAlphaFeldStrength( int afSt );
         // Setzt eienen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
         // Setzt eienen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         //  rahmen: Der Rahmen
         //  rahmen: Der Rahmen
@@ -216,7 +216,7 @@ namespace Framework
         // Setzt die Stärke eines Farbverlaufs, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
         // Setzt die Stärke eines Farbverlaufs, der bei dem Flag MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         //  afSt: Die Stärke
         //  afSt: Die Stärke
-        __declspec( dllexport ) void setMsAuswAlphaFeldStärke( int i, int afSt );
+        __declspec( dllexport ) void setMsAuswAlphaFeldStrength( int i, int afSt );
         // Setzt einen Zeiger auf einen Rahmen, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
         // Setzt einen Zeiger auf einen Rahmen, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
         //  rahmen: Der Rahmen
         //  rahmen: Der Rahmen
         __declspec( dllexport ) void setMausRahmenZ( LRahmen *rahmen );
         __declspec( dllexport ) void setMausRahmenZ( LRahmen *rahmen );
@@ -243,7 +243,7 @@ namespace Framework
         __declspec( dllexport ) void setMausAlphaFeldFarbe( int afF );
         __declspec( dllexport ) void setMausAlphaFeldFarbe( int afF );
         // Setzt die Stärke eines Farbverlaufs, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
         // Setzt die Stärke eines Farbverlaufs, der bei dem Eintrag verwendet wird, auf den die Maus zeigt
         //  afSt: Die Stärke
         //  afSt: Die Stärke
-        __declspec( dllexport ) void setMausAlphaFeldStärke( int afSt );
+        __declspec( dllexport ) void setMausAlphaFeldStrength( int afSt );
         // Setzt einen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
         // Setzt einen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         //  rahmen: Der Rahmen
         //  rahmen: Der Rahmen
@@ -279,7 +279,7 @@ namespace Framework
         // Setzt die Stärke einens Farbübergangs, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
         // Setzt die Stärke einens Farbübergangs, der bei dem Flag MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         //  afSt: Die Stärke
         //  afSt: Die Stärke
-        __declspec( dllexport ) void setMsMausAlphaFeldStärke( int i, int afSt );
+        __declspec( dllexport ) void setMsMausAlphaFeldStrength( int i, int afSt );
         // Wählt ein Element aus
         // Wählt ein Element aus
         //  i: Der Index des Elements
         //  i: Der Index des Elements
         __declspec( dllexport ) void setAuswahl( int i );
         __declspec( dllexport ) void setAuswahl( int i );
@@ -291,11 +291,11 @@ namespace Framework
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         __declspec( dllexport ) void scrollZuEintrag( int i );
         __declspec( dllexport ) void scrollZuEintrag( int i );
         // Setzt die maximale Ausklapp Höhe der Liste
         // Setzt die maximale Ausklapp Höhe der Liste
-        //  maxHöhe: Die maximale Höhe in Pixeln
-        __declspec( dllexport ) void setMaxAuskappHöhe( int maxHöhe );
+        //  maxHeight: Die maximale Höhe in Pixeln
+        __declspec( dllexport ) void setMaxAuskappHeight( int maxHeight );
         // Setzt die Höhe der Einträge
         // Setzt die Höhe der Einträge
-        //  höhe: Die Höhe in Pixeln
-        __declspec( dllexport ) void setEintragHöhe( int höhe );
+        //  height: Die Höhe in Pixeln
+        __declspec( dllexport ) void setEintragHeight( int height );
         // Fügt Styles zu einem bestimmten Eintrag hinzu, falls der Flag MultiStyled gesetzt wurde
         // Fügt Styles zu einem bestimmten Eintrag hinzu, falls der Flag MultiStyled gesetzt wurde
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         //  abStyle: Der Style, der hinzugefügt werden soll
         //  abStyle: Der Style, der hinzugefügt werden soll
@@ -312,7 +312,7 @@ namespace Framework
         // Entfernt Styles von einem bestimmten Eintrag, falls der Flag MultiStyled gesetzt wurde
         // Entfernt Styles von einem bestimmten Eintrag, falls der Flag MultiStyled gesetzt wurde
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         //  abStyle: Der Style, der entfernt werden soll
         //  abStyle: Der Style, der entfernt werden soll
-        __declspec( dllexport ) void löscheMsStyle( int i, __int64 abStyle );
+        __declspec( dllexport ) void removeMsStyle( int i, __int64 abStyle );
         // Aktualisiert das Objekt. Wird vom Framework aufgerufen
         // Aktualisiert das Objekt. Wird vom Framework aufgerufen
         //  tickVal: Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist
         //  tickVal: Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist
         //  return: 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst
         //  return: 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst
@@ -351,9 +351,9 @@ namespace Framework
         // Gibt zurück, ob die Liste gerade Ausgeklappt ist
         // Gibt zurück, ob die Liste gerade Ausgeklappt ist
         __declspec( dllexport ) bool istAusgeklappt() const;
         __declspec( dllexport ) bool istAusgeklappt() const;
         // Gibt die maximale Höhe der ausgeklappten Liste zurück
         // Gibt die maximale Höhe der ausgeklappten Liste zurück
-        __declspec( dllexport ) int getMaxHöhe() const;
+        __declspec( dllexport ) int getMaxHeight() const;
         // Gibt die Höhe eines Eintrags zurück
         // Gibt die Höhe eines Eintrags zurück
-        __declspec( dllexport ) int getEintragHöhe() const;
+        __declspec( dllexport ) int getEintragHeight() const;
         // Gibt den Knopf zurück, der zum aus- und einklappen dr Liste verwendet wird
         // Gibt den Knopf zurück, der zum aus- und einklappen dr Liste verwendet wird
         __declspec( dllexport ) Knopf *getAusklappKnopf() const;
         __declspec( dllexport ) Knopf *getAusklappKnopf() const;
         // Gibt den Knopf ohne erhöhten Reference Counter zurück, der zum aus- und einklappen dr Liste verwendet wird
         // Gibt den Knopf ohne erhöhten Reference Counter zurück, der zum aus- und einklappen dr Liste verwendet wird
@@ -381,7 +381,7 @@ namespace Framework
         __declspec( dllexport ) int getEintragAlphaFeldFarbe( int i ) const;
         __declspec( dllexport ) int getEintragAlphaFeldFarbe( int i ) const;
         // Gibt die Stärke eines Farbübergangs eines Eintrags zurück
         // Gibt die Stärke eines Farbübergangs eines Eintrags zurück
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
-        __declspec( dllexport ) int getEintragAlphaFeldStärke( int i ) const;
+        __declspec( dllexport ) int getEintragAlphaFeldStrength( int i ) const;
         // Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurück
         // Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurück
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         __declspec( dllexport ) int getEintragHintergrundFarbe( int i ) const;
         __declspec( dllexport ) int getEintragHintergrundFarbe( int i ) const;
@@ -406,7 +406,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
         // Gibt die Farbe des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
         __declspec( dllexport ) int getAuswAlphaFeldFarbe() const;
         __declspec( dllexport ) int getAuswAlphaFeldFarbe() const;
         // Gibt die Stärke des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
         // Gibt die Stärke des Farbübergangs zurück, der bei der Auswahl eines Eintrags verwendet wird
-        __declspec( dllexport ) int getAuswAlphaFeldStärke() const;
+        __declspec( dllexport ) int getAuswAlphaFeldStrength() const;
         // Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück, die bei der Auswahl eines Eintrags verwendet wird
         // Gibt die Hintergrundfarbe im A8R8G8B8 Format zurück, die bei der Auswahl eines Eintrags verwendet wird
         __declspec( dllexport ) int getAuswHintergrundFarbe() const;
         __declspec( dllexport ) int getAuswHintergrundFarbe() const;
         // Gibt das Hintergrundbild zurück, das bei der Auswahl eines Eintrags verwendet wird
         // Gibt das Hintergrundbild zurück, das bei der Auswahl eines Eintrags verwendet wird
@@ -436,7 +436,7 @@ namespace Framework
         __declspec( dllexport ) int getMsAuswAlphaFeldFarbe( int i ) const;
         __declspec( dllexport ) int getMsAuswAlphaFeldFarbe( int i ) const;
         // Gibt die Stärke des Farbübergangs zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
         // Gibt die Stärke des Farbübergangs zurück, der bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
-        __declspec( dllexport ) int getMsAuswAlphaFeldStärke( int i ) const;
+        __declspec( dllexport ) int getMsAuswAlphaFeldStrength( int i ) const;
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         __declspec( dllexport ) int getMsAuswHintergrundFarbe( int i ) const;
         __declspec( dllexport ) int getMsAuswHintergrundFarbe( int i ) const;
@@ -461,7 +461,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
         // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
         __declspec( dllexport ) int getMausAlphaFeldFarbe() const;
         __declspec( dllexport ) int getMausAlphaFeldFarbe() const;
         // Gibt die Breite des Farbübergangs zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
         // Gibt die Breite des Farbübergangs zurück, der verwendet wird, wenn die Maus auf einen Eintrag zeigt
-        __declspec( dllexport ) int getMausAlphaFeldStärke() const;
+        __declspec( dllexport ) int getMausAlphaFeldStrength() const;
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, wenn die Maus auf einen Eintrag zeigt
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, wenn die Maus auf einen Eintrag zeigt
         __declspec( dllexport ) int getMausHintergrundFarbe() const;
         __declspec( dllexport ) int getMausHintergrundFarbe() const;
         // Gibt das Hintergrund Bild zurück, das verwendet wird, wenn die Maus auf einen Eintrag zeigt
         // Gibt das Hintergrund Bild zurück, das verwendet wird, wenn die Maus auf einen Eintrag zeigt
@@ -491,7 +491,7 @@ namespace Framework
         __declspec( dllexport ) int getMsMausAlphaFeldFarbe( int i ) const;
         __declspec( dllexport ) int getMsMausAlphaFeldFarbe( int i ) const;
         // Gibt die Stärke des Farbübergangs zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
         // Gibt die Stärke des Farbübergangs zurück, der bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
-        __declspec( dllexport ) int getMsMausAlphaFeldStärke( int i ) const;
+        __declspec( dllexport ) int getMsMausAlphaFeldStrength( int i ) const;
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
         //  i: Der Index des Eintrags
         //  i: Der Index des Eintrags
         __declspec( dllexport ) int getMsMausHintergrundFarbe( int i ) const;
         __declspec( dllexport ) int getMsMausHintergrundFarbe( int i ) const;

+ 4 - 1
Betriebssystem.h

@@ -42,6 +42,7 @@
 #include <stdlib.h>
 #include <stdlib.h>
 #include <pthread.h>
 #include <pthread.h>
 #include <stdio.h>
 #include <stdio.h>
+#include <string.h>
 #ifndef CRITICAL_SECTION_CLASS
 #ifndef CRITICAL_SECTION_CLASS
 #define CRITICAL_SECTION_CLASS
 #define CRITICAL_SECTION_CLASS
 class CriticalSection
 class CriticalSection
@@ -53,7 +54,8 @@ public:
         pthread_mutexattr_init( &attr );
         pthread_mutexattr_init( &attr );
         pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
         pthread_mutexattr_settype( &attr, PTHREAD_MUTEX_RECURSIVE );
         pthread_mutex_init( &mutex, &attr );
         pthread_mutex_init( &mutex, &attr );
-    }
+    } // TODO dsfgdslgkjhlas
+	// HACK dsgdshgah
     ~CriticalSection()
     ~CriticalSection()
     {
     {
         pthread_mutex_destroy( &mutex );
         pthread_mutex_destroy( &mutex );
@@ -79,6 +81,7 @@ class CriticalSection;
 #define LeaveCriticalSection( x )      ( *( x ) )->Leave()
 #define LeaveCriticalSection( x )      ( *( x ) )->Leave()
 #include <unistd.h>
 #include <unistd.h>
 #define Sleep( x )   usleep( (x) * 1000 )
 #define Sleep( x )   usleep( (x) * 1000 )
+#define ZeroMemory( Destination, Length ) memset( ( Destination ), 0, ( Length ) )
 
 
 #endif
 #endif
 
 

+ 1935 - 1935
Bild.cpp

@@ -33,224 +33,224 @@ using namespace Framework;
 // Inhalt der Bild Klasse aus Bild.h
 // Inhalt der Bild Klasse aus Bild.h
 // Konstruktor 
 // Konstruktor 
 Bild::Bild( bool options )
 Bild::Bild( bool options )
-    : fc( 0 ),
-    delFc( 1 ),
-    größe( 0, 0 ),
-    ref( 1 ),
-    drawOff( options ? new Punkt[ 2000 ] : new Punkt[ 1 ] ),
-    dPosA( options ? new Punkt[ 2000 ] : new Punkt[ 1 ] ),
-    dGrößeA( options ? new Punkt[ 2000 ] : new Punkt[ 1 ] ),
-    doa( 0 ),
-    alpha( options ? new unsigned char[ 1000 ] : new unsigned char[ 1 ] ),
-    alphaAnzahl( 0 ),
-    rend( 0 ),
-    alpha3D( 0 )
-{
-    alpha[ 0 ] = 0;
+	: fc( 0 ),
+	delFc( 1 ),
+	size( 0, 0 ),
+	ref( 1 ),
+	drawOff( options ? new Punkt[ 2000 ] : new Punkt[ 1 ] ),
+	dPosA( options ? new Punkt[ 2000 ] : new Punkt[ 1 ] ),
+	dSizeA( options ? new Punkt[ 2000 ] : new Punkt[ 1 ] ),
+	doa( 0 ),
+	alpha( options ? new unsigned char[ 1000 ] : new unsigned char[ 1 ] ),
+	alphaAnzahl( 0 ),
+	rend( 0 ),
+	alpha3D( 0 )
+{
+	alpha[ 0 ] = 0;
 }
 }
 
 
 // Destruktor 
 // Destruktor 
 Bild::~Bild()
 Bild::~Bild()
 {
 {
-    if( delFc )
-    {
-        delete[] fc;
-        fc = 0;
-    }
-    delete[] dPosA;
-    delete[] dGrößeA;
-    delete[] alpha;
-    delete[] drawOff;
+	if( delFc )
+	{
+		delete[] fc;
+		fc = 0;
+	}
+	delete[] dPosA;
+	delete[] dSizeA;
+	delete[] alpha;
+	delete[] drawOff;
 }
 }
 
 
 // privat
 // privat
 inline void Bild::alphaPixelP( int x, int y, int f )
 inline void Bild::alphaPixelP( int x, int y, int f )
 {
 {
-    alphaPixelP( fc[ x + y * größe.x ], f );
+	alphaPixelP( fc[ x + y * size.x ], f );
 }
 }
 
 
 inline void Bild::alphaPixelP( int &fc, int colorb )
 inline void Bild::alphaPixelP( int &fc, int colorb )
 {
 {
-    int alpha = ( ( colorb >> 24 ) & 0xFF );
-    int na = ( 0x100 - alpha );
-    fc = ( ( ( ( ( na * ( fc & 0xFF00FF ) ) >> 8 ) + ( ( alpha * ( colorb & 0xFF00FF ) ) >> 8 ) ) & 0xFF00FF ) |
-        ( ( ( ( na * ( fc & 0x00FF00 ) ) >> 8 ) + ( ( alpha * ( colorb & 0x00FF00 ) ) >> 8 ) ) & 0x00FF00 ) |
-           ( ( fc & 0xFF000000 ) ) ) * ( fc != 0 || !alpha3D ) | ( fc == 0 && alpha3D ) * colorb;
-    //unsigned char *fc1 = (unsigned char*)&fc[ i ];
-    //unsigned char *fc2 = (unsigned char*)&colorb;
-    //unsigned char na = ~fc2[ 3 ];
-    //fc1[ 3 ] = fc2[ 3 ];
-    //fc1[ 2 ] = (unsigned char)( ( fc2[ 2 ] * fc2[ 3 ] + fc1[ 2 ] * na ) / 255 );
-    //fc1[ 1 ] = (unsigned char)( ( fc2[ 1 ] * fc2[ 3 ] + fc1[ 1 ] * na ) / 255 );
-    //fc1[ 0 ] = (unsigned char)( ( fc2[ 0 ] * fc2[ 3 ] + fc1[ 0 ] * na ) / 255 );
-}
-
-char Bild::getOutCode( Punkt& p ) const
-{
-    char ret = 0;
-    if( p.x < dPosA[ doa ].x )
-        ret |= 1;
-    else if( p.x >= dGrößeA[ doa ].x )
-        ret |= 2;
-    if( p.y < dPosA[ doa ].y )
-        ret |= 4;
-    else if( p.y >= dGrößeA[ doa ].y )
-        ret |= 8;
-    return ret;
+	int alpha = ( ( colorb >> 24 ) & 0xFF );
+	int na = ( 0x100 - alpha );
+	fc = ( ( ( ( ( na * ( fc & 0xFF00FF ) ) >> 8 ) + ( ( alpha * ( colorb & 0xFF00FF ) ) >> 8 ) ) & 0xFF00FF ) |
+		( ( ( ( na * ( fc & 0x00FF00 ) ) >> 8 ) + ( ( alpha * ( colorb & 0x00FF00 ) ) >> 8 ) ) & 0x00FF00 ) |
+		   ( ( fc & 0xFF000000 ) ) ) * ( fc != 0 || !alpha3D ) | ( fc == 0 && alpha3D ) * colorb;
+	//unsigned char *fc1 = (unsigned char*)&fc[ i ];
+	//unsigned char *fc2 = (unsigned char*)&colorb;
+	//unsigned char na = ~fc2[ 3 ];
+	//fc1[ 3 ] = fc2[ 3 ];
+	//fc1[ 2 ] = (unsigned char)( ( fc2[ 2 ] * fc2[ 3 ] + fc1[ 2 ] * na ) / 255 );
+	//fc1[ 1 ] = (unsigned char)( ( fc2[ 1 ] * fc2[ 3 ] + fc1[ 1 ] * na ) / 255 );
+	//fc1[ 0 ] = (unsigned char)( ( fc2[ 0 ] * fc2[ 3 ] + fc1[ 0 ] * na ) / 255 );
+}
+
+char Bild::getOutCode( Punkt p ) const
+{
+	char ret = 0;
+	if( p.x < dPosA[ doa ].x )
+		ret = 1;
+	if( p.x >= dSizeA[ doa ].x )
+		ret = 2;
+	if( p.y < dPosA[ doa ].y )
+		ret |= 4;
+	if( p.y >= dSizeA[ doa ].y )
+		ret |= 8;
+	return ret;
 }
 }
 
 
 void Bild::drawFlatDreieck( int y1, int y2, float m1, float b1, float m2, float b2, int farbe )
 void Bild::drawFlatDreieck( int y1, int y2, float m1, float b1, float m2, float b2, int farbe )
 {
 {
-    const int yStart = max( y1, dPosA[ doa ].y );
-    const int yEnd = min( y2, dGrößeA[ doa ].y );
-    for( int y = yStart; y < yEnd; y++ )
-    {
-        const int xStart = max( (int)( m1 * y + b1 + 0.5f ), dPosA[ doa ].x );
-        const int xEnd = min( (int)( m2 * y + b2 + 0.5f ), dGrößeA[ doa ].x );
-        for( int x = xStart; x < xEnd; x++ )
-            fc[ x + y * größe.x ] = farbe;
-    }
+	const int yStart = max( y1, dPosA[ doa ].y );
+	const int yEnd = min( y2, dSizeA[ doa ].y );
+	for( int y = yStart; y < yEnd; y++ )
+	{
+		const int xStart = max( (int)( m1 * (float)y + b1 + 0.5f ), dPosA[ doa ].x );
+		const int xEnd = min( (int)( m2 * (float)y + b2 + 0.5f ), dSizeA[ doa ].x );
+		for( int x = xStart; x < xEnd; x++ )
+			fc[ x + y * size.x ] = farbe;
+	}
 }
 }
 
 
 void Bild::drawFlatDreieckTextur( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
 void Bild::drawFlatDreieckTextur( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
-                                  double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur )
+								  double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur )
 {
 {
-    const double yStart = max( y1, dPosA[ doa ].y );
-    const double yEnd = min( y2, dGrößeA[ doa ].y );
-    double tx_1 = tx1 + tx_1o * ( yStart - y1 ), ty_1 = ty1 + ty_1o * ( yStart - y1 ), tx_2 = tx2 + tx_2o * ( yStart - y1 ), ty_2 = ty2 + ty_2o * ( yStart - y1 );
-    for( double y = yStart; y < yEnd; y++, tx_1 += tx_1o, ty_1 += ty_1o, tx_2 += tx_2o, ty_2 += ty_2o )
-    {
-        const double xStart = m1 * y + b1;
-        const double xEnd = m2 * y + b2;
-        drawLinieHTextur( Vec2< double >( xStart, y ), xEnd - xStart, Vec2< double >( tx_1, ty_1 ), Vec2< double >( tx_2, ty_2 ), txf, tyf, textur );
-    }
+	const double yStart = max( y1, dPosA[ doa ].y );
+	const double yEnd = min( y2, dSizeA[ doa ].y );
+	double tx_1 = tx1 + tx_1o * ( yStart - y1 ), ty_1 = ty1 + ty_1o * ( yStart - y1 ), tx_2 = tx2 + tx_2o * ( yStart - y1 ), ty_2 = ty2 + ty_2o * ( yStart - y1 );
+	for( double y = yStart; y < yEnd; y++, tx_1 += tx_1o, ty_1 += ty_1o, tx_2 += tx_2o, ty_2 += ty_2o )
+	{
+		const double xStart = m1 * y + b1;
+		const double xEnd = m2 * y + b2;
+		drawLinieHTextur( Vec2< double >( xStart, y ), xEnd - xStart, Vec2< double >( tx_1, ty_1 ), Vec2< double >( tx_2, ty_2 ), txf, tyf, textur );
+	}
 }
 }
 
 
 void Bild::drawFlatDreieckAlpha( int y1, int y2, float m1, float b1, float m2, float b2, int farbe )
 void Bild::drawFlatDreieckAlpha( int y1, int y2, float m1, float b1, float m2, float b2, int farbe )
 {
 {
-    const int yStart = max( (int)( y1 + 0.5 ), dPosA[ doa ].y );
-    const int yEnd = min( (int)( y2 + 0.5 ), dGrößeA[ doa ].y );
-    for( int y = yStart; y < yEnd; y++ )
-    {
-        const int xStart = max( (int)( m1 * ( (float)y + 0.5f ) + b1 + 0.5f ), dPosA[ doa ].x );
-        const int xEnd = min( (int)( m2 * ( (float)y + 0.5 ) + b2 + 0.5f ), dGrößeA[ doa ].x );
-        for( int x = xStart; x < xEnd; x++ )
-            alphaPixelP( fc[ x + y * größe.x ], farbe );
-    }
+	const int yStart = max( (int)( y1 + 0.5 ), dPosA[ doa ].y );
+	const int yEnd = min( (int)( y2 + 0.5 ), dSizeA[ doa ].y );
+	for( int y = yStart; y < yEnd; y++ )
+	{
+		const int xStart = max( (int)( m1 * ( (float)y + 0.5f ) + b1 + 0.5f ), dPosA[ doa ].x );
+		const int xEnd = min( (int)( m2 * ( (float)y + 0.5 ) + b2 + 0.5f ), dSizeA[ doa ].x );
+		for( int x = xStart; x < xEnd; x++ )
+			alphaPixelP( fc[ x + y * size.x ], farbe );
+	}
 }
 }
 
 
 void Bild::drawFlatDreieckTexturAlpha( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
 void Bild::drawFlatDreieckTexturAlpha( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
-                                       double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur )
-{
-    const double yStart = max( y1, dPosA[ doa ].y );
-    const double yEnd = min( y2, dGrößeA[ doa ].y );
-    double tx_1 = tx1 + tx_1o * ( yStart - y1 ), ty_1 = ty1 + ty_1o * ( yStart - y1 ), tx_2 = tx2 + tx_2o * ( yStart - y1 ), ty_2 = ty2 + ty_2o * ( yStart - y1 );
-    for( double y = yStart; y < yEnd; y++, tx_1 += tx_1o, ty_1 += ty_1o, tx_2 += tx_2o, ty_2 += ty_2o )
-    {
-        const double xStart = m1 * y + b1;
-        const double xEnd = m2 * y + b2;
-        drawLinieHTexturAlpha( Vec2< double >( xStart, y ), xEnd - xStart, Vec2< double >( tx_1, ty_1 ), Vec2< double >( tx_2, ty_2 ), txf, tyf, textur );
-    }
-}
-
-void Bild::drawLinieHTextur( Vec2< double > p, double län, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur ) // zeichnet eine horizontale Linie
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        drawLinieHTexturAlpha( p, län, ta, tb, txo, tyo, textur );
-        return;
-    }
-    if( län < 0 )
-    {
-        p.x += län;
-        län = -län;
-        ta.Swap( tb );
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    if( p.y < dpy || p.y >= dgy )
-        return;
-    double off = 0;
-    if( p.x < dpx )
-    {
-        off = dpx - p.x;
-n -= dpx - p.x;
-        if( län <= 0 )
-            return;
-        p.x = dpx;
-    }
-    if( p.x + län >= dgx )
-    {
-        län -= p.x - dgx + län;
-        if( län <= 0 )
-            return;
-    }
-    int br = größe.x;
-    int *fc = this->fc + (int)( p.x + (int)p.y * br );
-    double x = ta.x + txo * off, y = ta.y + tyo * off;
-    int *buffer = textur.getBuffer();
-    int txtBr = textur.getBreite();
-    for( int i = 0; i < län; ++i, ++fc )
-    {
-        *fc = buffer[ (int)( (int)( x + 0.5 ) + (int)( y + 0.5 ) * txtBr ) ];
-        x += txo, y += tyo;
-    }
-    rend = 1;
-}
-
-void Bild::drawLinieHTexturAlpha( Vec2< double > p, double län, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur ) // zeichnet eine horizontale Linie
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( län < 0 )
-    {
-        p.x += län;
-        län = -län;
-        ta.Swap( tb );
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    if( p.y < dpy || p.y >= dgy )
-        return;
-    double off = 0;
-    if( p.x < dpx )
-    {
-        off = dpx - p.x;
-n -= dpx - p.x;
-        if( län <= 0 )
-            return;
-        p.x = dpx;
-    }
-    if( p.x + län >= dgx )
-    {
-        län -= p.x - dgx + län;
-        if( län <= 0 )
-            return;
-    }
-    int br = größe.x;
-    int *fc = this->fc + (int)( p.x + (int)p.y * br );
-    double x = ta.x + txo * off, y = ta.y + tyo * off;
-    int *buffer = textur.getBuffer();
-    int txtBr = textur.getBreite();
-    int f;
-    for( int i = 0; i < län; ++i, ++fc )
-    {
-        f = buffer[ (int)( (int)( x + 0.5 ) + (int)( y + 0.5 ) * txtBr ) ];
-        if( alpha[ alphaAnzahl ] )
-        {
-            unsigned char *cf = (unsigned char*)&f;
-            cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-        }
-        alphaPixelP( *fc, f );
-        x += txo, y += tyo;
-    }
-    rend = 1;
+									   double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur )
+{
+	const double yStart = max( y1, dPosA[ doa ].y );
+	const double yEnd = min( y2, dSizeA[ doa ].y );
+	double tx_1 = tx1 + tx_1o * ( yStart - y1 ), ty_1 = ty1 + ty_1o * ( yStart - y1 ), tx_2 = tx2 + tx_2o * ( yStart - y1 ), ty_2 = ty2 + ty_2o * ( yStart - y1 );
+	for( double y = yStart; y < yEnd; y++, tx_1 += tx_1o, ty_1 += ty_1o, tx_2 += tx_2o, ty_2 += ty_2o )
+	{
+		const double xStart = m1 * y + b1;
+		const double xEnd = m2 * y + b2;
+		drawLinieHTexturAlpha( Vec2< double >( xStart, y ), xEnd - xStart, Vec2< double >( tx_1, ty_1 ), Vec2< double >( tx_2, ty_2 ), txf, tyf, textur );
+	}
+}
+
+void Bild::drawLinieHTextur( Vec2< double > p, double len, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur ) // zeichnet eine horizontale Linie
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		drawLinieHTexturAlpha( p, len, ta, tb, txo, tyo, textur );
+		return;
+	}
+	if( len < 0 )
+	{
+		p.x += len;
+		len = -len;
+		ta.Swap( tb );
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	if( p.y < dpy || p.y >= dgy )
+		return;
+	double off = 0;
+	if( p.x < dpx )
+	{
+		off = dpx - p.x;
+		len -= dpx - p.x;
+		if( len <= 0 )
+			return;
+		p.x = dpx;
+	}
+	if( p.x + len >= dgx )
+	{
+		len -= p.x - dgx + len;
+		if( len <= 0 )
+			return;
+	}
+	int br = size.x;
+	int *fc = this->fc + (int)( p.x + (int)p.y * br );
+	double x = ta.x + txo * off, y = ta.y + tyo * off;
+	int *buffer = textur.getBuffer();
+	int txtBr = textur.getBreite();
+	for( int i = 0; i < len; ++i, ++fc )
+	{
+		*fc = buffer[ (int)( (int)( x + 0.5 ) + (int)( y + 0.5 ) * txtBr ) ];
+		x += txo, y += tyo;
+	}
+	rend = 1;
+}
+
+void Bild::drawLinieHTexturAlpha( Vec2< double > p, double len, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur ) // zeichnet eine horizontale Linie
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( len < 0 )
+	{
+		p.x += len;
+		len = -len;
+		ta.Swap( tb );
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	if( p.y < dpy || p.y >= dgy )
+		return;
+	double off = 0;
+	if( p.x < dpx )
+	{
+		off = dpx - p.x;
+		len -= dpx - p.x;
+		if( len <= 0 )
+			return;
+		p.x = dpx;
+	}
+	if( p.x + len >= dgx )
+	{
+		len -= p.x - dgx + len;
+		if( len <= 0 )
+			return;
+	}
+	int br = size.x;
+	int *fc = this->fc + (int)( p.x + (int)p.y * br );
+	double x = ta.x + txo * off, y = ta.y + tyo * off;
+	int *buffer = textur.getBuffer();
+	int txtBr = textur.getBreite();
+	int f;
+	for( int i = 0; i < len; ++i, ++fc )
+	{
+		f = buffer[ (int)( (int)( x + 0.5 ) + (int)( y + 0.5 ) * txtBr ) ];
+		if( alpha[ alphaAnzahl ] )
+		{
+			unsigned char *cf = (unsigned char*)&f;
+			cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+		}
+		alphaPixelP( *fc, f );
+		x += txo, y += tyo;
+	}
+	rend = 1;
 }
 }
 
 
 // nicht constant
 // nicht constant
@@ -259,1708 +259,1708 @@ void Bild::drawLinieHTexturAlpha( Vec2< double > p, double l
 // Das ist sinnvoll für die Verwendung im 3DBildschirm, wo das Gezeichnette Bild später mittels Alpha Blending angezeigt wird
 // Das ist sinnvoll für die Verwendung im 3DBildschirm, wo das Gezeichnette Bild später mittels Alpha Blending angezeigt wird
 void Bild::setAlpha3D( bool erlaubt )
 void Bild::setAlpha3D( bool erlaubt )
 {
 {
-    alpha3D = erlaubt;
+	alpha3D = erlaubt;
 }
 }
 
 
 void Bild::setAlpha( unsigned char alpha ) // setzt die Transparenz der nachfolgenden Zeichnunge
 void Bild::setAlpha( unsigned char alpha ) // setzt die Transparenz der nachfolgenden Zeichnunge
 {
 {
-    int last = this->alpha[ alphaAnzahl ];
-    ++alphaAnzahl;
-    assert( alphaAnzahl < 1000 );
-    this->alpha[ alphaAnzahl ] = ( 255 - alpha ) > last ? ( 255 - alpha ) : last;
+	int last = this->alpha[ alphaAnzahl ];
+	++alphaAnzahl;
+	assert( alphaAnzahl < 1000 );
+	this->alpha[ alphaAnzahl ] = (unsigned char)( ( 255 - alpha ) > last ? ( 255 - alpha ) : last );
 }
 }
 
 
 void Bild::releaseAlpha() // Löscht alpha
 void Bild::releaseAlpha() // Löscht alpha
 {
 {
-    --alphaAnzahl;
+	--alphaAnzahl;
 }
 }
 
 
-void Bild::setPixelBuffer( int *buffer, bool deleteBuffer, int breite, int höhe ) // setzt den Zeiger auf die Pixel des Bildes
+void Bild::setPixelBuffer( int *buffer, bool deleteBuffer, int breite, int height ) // setzt den Zeiger auf die Pixel des Bildes
 {
 {
-    if( delFc )
-        delete[]fc;
-    fc = buffer;
-    delFc = deleteBuffer;
-    größe.x = breite;
-    größe.y = höhe;
-    rend = 1;
+	if( delFc )
+		delete[]fc;
+	fc = buffer;
+	delFc = deleteBuffer;
+	size.x = breite;
+	size.y = height;
+	rend = 1;
 }
 }
 
 
-void Bild::neuBild( int breite, int höhe, int füllFarbe )
+void Bild::neuBild( int breite, int height, int fillColor )
 {
 {
-    if( fc && delFc )
-        delete[] fc;
-    größe.x = breite;
-    größe.y = höhe;
-    fc = new int[ größe.x * größe.y ];
-    setFarbe( füllFarbe );
-    drawOff[ 0 ].x = 0;
-    drawOff[ 0 ].y = 0;
-    dPosA[ 0 ].x = 0;
-    dPosA[ 0 ].y = 0;
-    dGrößeA[ 0 ] = größe;
-    alphaAnzahl = 0;
-    alpha[ 0 ] = 0;
-    doa = 0;
-    rend = 1;
+	if( fc && delFc )
+		delete[] fc;
+	size.x = breite;
+	size.y = height;
+	fc = new int[ size.x * size.y ];
+	setFarbe( fillColor );
+	drawOff[ 0 ].x = 0;
+	drawOff[ 0 ].y = 0;
+	dPosA[ 0 ].x = 0;
+	dPosA[ 0 ].y = 0;
+	dSizeA[ 0 ] = size;
+	alphaAnzahl = 0;
+	alpha[ 0 ] = 0;
+	doa = 0;
+	rend = 1;
 }
 }
 
 
 void Bild::setFarbe( int f )
 void Bild::setFarbe( int f )
 {
 {
-    if( ( f & 0xFF ) == ( ( f >> 8 ) & 0xFF ) && ( f & 0xFF ) == ( ( f >> 16 ) & 0xFF ) && ( f & 0xFF ) == ( ( f >> 24 ) & 0xFF ) )
-        memset( fc, f, größe.x * größe.y * 4 );
-    else
-    {
-        for( int *i = fc, *end = i + größe.x * größe.y; i < end; i++ )
-            *i = f;
-    }
-    rend = 1;
-}
-
-void Bild::füllRegion( int x, int y, int b, int h, int ff )
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        alphaRegion( x, y, b, h, ff );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + b < dpx || y + h < dpy || x > dgx || y > dgy )
-        return;
-    if( x < dpx )
-    {
-        b -= dpx - x;
-        x = dpx;
-    }
-    if( y < dpy )
-    {
-        h -= dpy - y;
-        y = dpy;
-    }
-    b = ( x + b ) >= dgx ? ( dgx - x ) : b;
-    h = ( y + h ) >= dgy ? ( dgy - y ) : h;
-    int *pixel = fc + y * größe.x + x;
-    int *rowEnd = pixel + b;
-    for( int i = 0; i < h; pixel += größe.x - b, ++i, rowEnd += größe.x )
-    {
-        for( ; pixel < rowEnd; ++pixel )
-            *pixel = ff;
-    }
-    rend = 1;
+	if( ( f & 0xFF ) == ( ( f >> 8 ) & 0xFF ) && ( f & 0xFF ) == ( ( f >> 16 ) & 0xFF ) && ( f & 0xFF ) == ( ( f >> 24 ) & 0xFF ) )
+		memset( fc, f, size.x * size.y * 4 );
+	else
+	{
+		for( int *i = fc, *end = i + size.x * size.y; i < end; i++ )
+			*i = f;
+	}
+	rend = 1;
+}
+
+void Bild::fillRegion( int x, int y, int b, int h, int ff )
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		alphaRegion( x, y, b, h, ff );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + b < dpx || y + h < dpy || x > dgx || y > dgy )
+		return;
+	if( x < dpx )
+	{
+		b -= dpx - x;
+		x = dpx;
+	}
+	if( y < dpy )
+	{
+		h -= dpy - y;
+		y = dpy;
+	}
+	b = ( x + b ) >= dgx ? ( dgx - x ) : b;
+	h = ( y + h ) >= dgy ? ( dgy - y ) : h;
+	int *pixel = fc + y * size.x + x;
+	int *rowEnd = pixel + b;
+	for( int i = 0; i < h; pixel += size.x - b, ++i, rowEnd += size.x )
+	{
+		for( ; pixel < rowEnd; ++pixel )
+			*pixel = ff;
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::alphaRegion( int x, int y, int b, int h, int ff )
 void Bild::alphaRegion( int x, int y, int b, int h, int ff )
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + b < dpx || y + h < dpy || x > dgx || y > dgy )
-        return;
-    if( x < dpx )
-    {
-        b -= dpx - x;
-        x = dpx;
-    }
-    if( y < dpy )
-    {
-        h -= dpy - y;
-        y = dpy;
-    }
-    b = ( x + b ) >= dgx ? ( dgx - x ) : b;
-    h = ( y + h ) >= dgy ? ( dgy - y ) : h;
-    if( alpha[ alphaAnzahl ] )
-    {
-        unsigned char *cf = (unsigned char*)&ff;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-    }
-    int *pixel = fc + y * größe.x + x;
-    int *rowEnd = pixel + b;
-    int alpha = ( ( ff >> 24 ) & 0xFF );
-    int na = ( 0x100 - alpha );
-    int i1 = ( alpha * ( ff & 0xFF00FF ) ) >> 8;
-    int i2 = ( alpha * ( ff & 0x00FF00 ) ) >> 8;
-    for( int i = 0; i < h; pixel += größe.x - b, ++i, rowEnd += größe.x )
-    {
-        for( ; pixel < rowEnd; ++pixel )
-        {
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( ( *pixel & 0xFF000000 ) ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * ff;
-        }
-    }
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + b < dpx || y + h < dpy || x > dgx || y > dgy )
+		return;
+	if( x < dpx )
+	{
+		b -= dpx - x;
+		x = dpx;
+	}
+	if( y < dpy )
+	{
+		h -= dpy - y;
+		y = dpy;
+	}
+	b = ( x + b ) >= dgx ? ( dgx - x ) : b;
+	h = ( y + h ) >= dgy ? ( dgy - y ) : h;
+	if( alpha[ alphaAnzahl ] )
+	{
+		unsigned char *cf = (unsigned char*)&ff;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+	}
+	int *pixel = fc + y * size.x + x;
+	int *rowEnd = pixel + b;
+	int alpha = ( ( ff >> 24 ) & 0xFF );
+	int na = ( 0x100 - alpha );
+	int i1 = ( alpha * ( ff & 0xFF00FF ) ) >> 8;
+	int i2 = ( alpha * ( ff & 0x00FF00 ) ) >> 8;
+	for( int i = 0; i < h; pixel += size.x - b, ++i, rowEnd += size.x )
+	{
+		for( ; pixel < rowEnd; ++pixel )
+		{
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( ( *pixel & 0xFF000000 ) ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * ff;
+		}
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::alphaPixel( int i, int f )
 void Bild::alphaPixel( int i, int f )
 {
 {
-    if( !alpha[ alphaAnzahl ] )
-        alphaPixelP( fc[ i ], f );
-    if( alpha[ alphaAnzahl ] < 0xFF )
-    {
-        unsigned char *cf = (unsigned char*)&f;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-        alphaPixelP( fc[ i ], f );
-        rend = 1;
-    }
+	if( !alpha[ alphaAnzahl ] )
+		alphaPixelP( fc[ i ], f );
+	if( alpha[ alphaAnzahl ] < 0xFF )
+	{
+		unsigned char *cf = (unsigned char*)&f;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+		alphaPixelP( fc[ i ], f );
+		rend = 1;
+	}
 }
 }
 
 
 void Bild::alphaPixel( int x, int y, int f )
 void Bild::alphaPixel( int x, int y, int f )
 {
 {
-    if( !alpha[ alphaAnzahl ] )
-        alphaPixelP( fc[ x + y * größe.x ], f );
-    if( alpha[ alphaAnzahl ] < 0xFF )
-    {
-        unsigned char *cf = (unsigned char*)&f;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-        alphaPixelP( fc[ x + y * größe.x ], f );
-        rend = 1;
-    }
+	if( !alpha[ alphaAnzahl ] )
+		alphaPixelP( fc[ x + y * size.x ], f );
+	if( alpha[ alphaAnzahl ] < 0xFF )
+	{
+		unsigned char *cf = (unsigned char*)&f;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+		alphaPixelP( fc[ x + y * size.x ], f );
+		rend = 1;
+	}
 }
 }
 
 
 void Bild::alphaPixelDP( int x, int y, int f )
 void Bild::alphaPixelDP( int x, int y, int f )
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    if( x < dpx || y < dpy || x > dgx || y > dgy )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        unsigned char *cf = (unsigned char*)&f;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-    }
-    alphaPixelP( fc[ x + y * größe.x ], f );
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	if( x < dpx || y < dpy || x > dgx || y > dgy )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		unsigned char *cf = (unsigned char*)&f;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+	}
+	alphaPixelP( fc[ x + y * size.x ], f );
+	rend = 1;
 }
 }
 
 
 void Bild::alphaPixelDP( int i, int f )
 void Bild::alphaPixelDP( int i, int f )
 {
 {
-    int x = i % größe.x;
-    int y = i / größe.x;
-    alphaPixelDP( x, y, f );
-    rend = 1;
+	int x = i % size.x;
+	int y = i / size.x;
+	alphaPixelDP( x, y, f );
+	rend = 1;
 }
 }
 
 
 void Bild::setPixelDP( int x, int y, int f )
 void Bild::setPixelDP( int x, int y, int f )
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        alphaPixelDP( x, y, f );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    if( x < dpx || y < dpy || x > dgx || y > dgy )
-        return;
-    fc[ x + y * größe.x ] = f;
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		alphaPixelDP( x, y, f );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	if( x < dpx || y < dpy || x > dgx || y > dgy )
+		return;
+	fc[ x + y * size.x ] = f;
+	rend = 1;
 }
 }
 
 
 void Bild::setPixelDP( int i, int f )
 void Bild::setPixelDP( int i, int f )
 {
 {
-    int x = i % größe.x;
-    int y = i / größe.x;
-    setPixelDP( x, y, f );
-    rend = 1;
-}
-
-void Bild::drawLinieH( int x, int y, int län, int f ) // zeichnet eine horizontale Linie
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        drawLinieHAlpha( x, y, län, f );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( y < dpy || y >= dgy )
-        return;
-    if( x < dpx )
-    {
-n -= dpx - x;
-        if( län <= 0 )
-            return;
-        x = dpx;
-    }
-    if( x + län >= dgx )
-    {
-        län -= x - dgx + län;
-        if( län <= 0 )
-            return;
-    }
-    int br = größe.x;
-    int *fc = this->fc + x + y * br;
-    int pval = län < 0 ? -1 : 1;
-    län = län > 0 ? län : -län;
-    for( int i = 0; i < län; ++i, fc += pval )
-        *fc = f;
-    rend = 1;
-}
-
-void Bild::drawLinieV( int x, int y, int län, int f ) // zeichnet eine vertikale Linie
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        drawLinieVAlpha( x, y, län, f );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x < dpx || x >= dgx )
-        return;
-    if( y < dpy )
-    {
-n -= dpy - y;
-        if( län <= 0 )
-            return;
-        y = dpy;
-    }
-    if( y + län >= dgy )
-    {
-        län -= y - dgy + län;
-        if( län < 0 )
-            return;
-    }
-    int br = größe.x;
-    int *fc = this->fc + x + y * br;
-    int pval = län < 0 ? -br : br;
-    län = län > 0 ? län : -län;
-    for( int i = 0; i < län; ++i, fc += pval )
-        *fc = f;
-    rend = 1;
-}
-
-void Bild::drawLinieHAlpha( int x, int y, int län, int f ) // zeichnet eine horizontale Linie
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( y < dpy || y >= dgy )
-        return;
-    if( x < dpx )
-    {
-n -= dpx - x;
-        if( län <= 0 )
-            return;
-        x = dpx;
-    }
-    if( x + län >= dgx )
-    {
-        län -= x - dgx + län;
-        if( län <= 0 )
-            return;
-    }
-    int br = größe.x;
-    int pval = län < 0 ? -1 : 1;
-    län = län > 0 ? län : -län;
-    int end = 0;
-    if( alpha[ alphaAnzahl ] )
-    {
-        unsigned char *cf = (unsigned char*)&f;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-    }
-    int alpha = ( ( f >> 24 ) & 0xFF );
-    int na = ( 0x100 - alpha );
-    int i1 = ( alpha * ( f & 0xFF00FF ) ) >> 8;
-    int i2 = ( alpha * ( f & 0x00FF00 ) ) >> 8;
-    for( int i = x + y * br; end < län; ++end, i += pval )
-    {
-        fc[ i ] = ( ( ( ( ( na * ( fc[ i ] & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-            ( ( ( ( na * ( fc[ i ] & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                    ( ( fc[ i ] & 0xFF000000 ) ) ) * ( fc[ i ] != 0 || !alpha3D ) | ( fc[ i ] == 0 && alpha3D ) * f;
-    }
-    rend = 1;
-}
-
-void Bild::drawLinieVAlpha( int x, int y, int län, int f ) // zeichnet eine vertikale Linie
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x < dpx || x >= dgx )
-        return;
-    if( y < dpy )
-    {
-n -= dpy - y;
-        if( län <= 0 )
-            return;
-        y = dpy;
-    }
-    if( y + län >= dgy )
-    {
-        län -= y - dgy + län;
-        if( län < 0 )
-            return;
-    }
-    int br = größe.x;
-    int pval = län < 0 ? -br : br;
-    län = län > 0 ? län : -län;
-    int end = 0;
-    if( alpha[ alphaAnzahl ] )
-    {
-        unsigned char *cf = (unsigned char*)&f;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-    }
-    int alpha = ( ( f >> 24 ) & 0xFF );
-    int na = ( 0x100 - alpha );
-    int i1 = ( alpha * ( f & 0xFF00FF ) ) >> 8;
-    int i2 = ( alpha * ( f & 0x00FF00 ) ) >> 8;
-    for( int i = x + y * br; end < län; ++end, i += pval )
-    {
-        fc[ i ] = ( ( ( ( ( na * ( fc[ i ] & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-            ( ( ( ( na * ( fc[ i ] & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                    ( fc[ i ] & 0xFF000000 ) ) * ( fc[ i ] != 0 || !alpha3D ) | ( fc[ i ] == 0 && alpha3D ) * f;
-    }
-    rend = 1;
+	int x = i % size.x;
+	int y = i / size.x;
+	setPixelDP( x, y, f );
+	rend = 1;
+}
+
+void Bild::drawLinieH( int x, int y, int len, int f ) // zeichnet eine horizontale Linie
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		drawLinieHAlpha( x, y, len, f );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( y < dpy || y >= dgy )
+		return;
+	if( x < dpx )
+	{
+		len -= dpx - x;
+		if( len <= 0 )
+			return;
+		x = dpx;
+	}
+	if( x + len >= dgx )
+	{
+		len -= x - dgx + len;
+		if( len <= 0 )
+			return;
+	}
+	int br = size.x;
+	int *fc = this->fc + x + y * br;
+	int pval = len < 0 ? -1 : 1;
+	len = len > 0 ? len : -len;
+	for( int i = 0; i < len; ++i, fc += pval )
+		*fc = f;
+	rend = 1;
+}
+
+void Bild::drawLinieV( int x, int y, int len, int f ) // zeichnet eine vertikale Linie
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		drawLinieVAlpha( x, y, len, f );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x < dpx || x >= dgx )
+		return;
+	if( y < dpy )
+	{
+		len -= dpy - y;
+		if( len <= 0 )
+			return;
+		y = dpy;
+	}
+	if( y + len >= dgy )
+	{
+		len -= y - dgy + len;
+		if( len < 0 )
+			return;
+	}
+	int br = size.x;
+	int *fc = this->fc + x + y * br;
+	int pval = len < 0 ? -br : br;
+	len = len > 0 ? len : -len;
+	for( int i = 0; i < len; ++i, fc += pval )
+		*fc = f;
+	rend = 1;
+}
+
+void Bild::drawLinieHAlpha( int x, int y, int len, int f ) // zeichnet eine horizontale Linie
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( y < dpy || y >= dgy )
+		return;
+	if( x < dpx )
+	{
+		len -= dpx - x;
+		if( len <= 0 )
+			return;
+		x = dpx;
+	}
+	if( x + len >= dgx )
+	{
+		len -= x - dgx + len;
+		if( len <= 0 )
+			return;
+	}
+	int br = size.x;
+	int pval = len < 0 ? -1 : 1;
+	len = len > 0 ? len : -len;
+	int end = 0;
+	if( alpha[ alphaAnzahl ] )
+	{
+		unsigned char *cf = (unsigned char*)&f;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+	}
+	int alpha = ( ( f >> 24 ) & 0xFF );
+	int na = ( 0x100 - alpha );
+	int i1 = ( alpha * ( f & 0xFF00FF ) ) >> 8;
+	int i2 = ( alpha * ( f & 0x00FF00 ) ) >> 8;
+	for( int i = x + y * br; end < len; ++end, i += pval )
+	{
+		fc[ i ] = ( ( ( ( ( na * ( fc[ i ] & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+			( ( ( ( na * ( fc[ i ] & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					( ( fc[ i ] & 0xFF000000 ) ) ) * ( fc[ i ] != 0 || !alpha3D ) | ( fc[ i ] == 0 && alpha3D ) * f;
+	}
+	rend = 1;
+}
+
+void Bild::drawLinieVAlpha( int x, int y, int len, int f ) // zeichnet eine vertikale Linie
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x < dpx || x >= dgx )
+		return;
+	if( y < dpy )
+	{
+		len -= dpy - y;
+		if( len <= 0 )
+			return;
+		y = dpy;
+	}
+	if( y + len >= dgy )
+	{
+		len -= y - dgy + len;
+		if( len < 0 )
+			return;
+	}
+	int br = size.x;
+	int pval = len < 0 ? -br : br;
+	len = len > 0 ? len : -len;
+	int end = 0;
+	if( alpha[ alphaAnzahl ] )
+	{
+		unsigned char *cf = (unsigned char*)&f;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+	}
+	int alpha = ( ( f >> 24 ) & 0xFF );
+	int na = ( 0x100 - alpha );
+	int i1 = ( alpha * ( f & 0xFF00FF ) ) >> 8;
+	int i2 = ( alpha * ( f & 0x00FF00 ) ) >> 8;
+	for( int i = x + y * br; end < len; ++end, i += pval )
+	{
+		fc[ i ] = ( ( ( ( ( na * ( fc[ i ] & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+			( ( ( ( na * ( fc[ i ] & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					( fc[ i ] & 0xFF000000 ) ) * ( fc[ i ] != 0 || !alpha3D ) | ( fc[ i ] == 0 && alpha3D ) * f;
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::drawLinie( Punkt a, Punkt b, int fc ) // zeichnet eine Linie von Punkt( x1, y1 ) nach Punke( x2, y2 )
 void Bild::drawLinie( Punkt a, Punkt b, int fc ) // zeichnet eine Linie von Punkt( x1, y1 ) nach Punke( x2, y2 )
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        drawLinieAlpha( a, b, fc );
-        return;
-    }
-    a += drawOff[ doa ];
-    b += drawOff[ doa ];
-    char outCode1 = getOutCode( a );
-    char outCode2 = getOutCode( b );
-    bool ok = 0;
-    while( 1 )
-    {
-        int xMax = dGrößeA[ doa ].x - 1;
-        int yMax = dGrößeA[ doa ].y - 1;
-        if( !( outCode1 | outCode2 ) )
-        {
-            ok = 1;
-            break;
-        }
-        else if( outCode1 & outCode2 )
-            break;
-        else
-        {
-            int x, y;
-            char outCodeOut = outCode1 ? outCode1 : outCode2;
-            if( outCodeOut & 8 )
-            {
-                x = (int)( a.x + ( b.x - a.x ) * ( yMax - a.y ) / ( b.y - a.y ) + 0.5 );
-                y = yMax;
-            }
-            else if( outCodeOut & 4 )
-            {
-                x = (int)( a.x + ( b.x - a.x ) * ( dPosA[ doa ].y - a.y ) / ( b.y - a.y ) + 0.5 );
-                y = dPosA[ doa ].y;
-            }
-            else if( outCodeOut & 2 )
-            {
-                y = (int)( a.y + ( b.y - a.y ) * ( xMax - a.x ) / ( b.x - a.x ) + 0.5 );
-                x = xMax;
-            }
-            else if( outCodeOut & 1 )
-            {
-                y = (int)( a.y + ( b.y - a.y ) * ( dPosA[ doa ].x - a.x ) / ( b.x - a.x ) + 0.5 );
-                x = dPosA[ doa ].x;
-            }
-            if( outCodeOut == outCode1 )
-            {
-                a.x = x;
-                a.y = y;
-                outCode1 = getOutCode( a );
-            }
-            else
-            {
-                b.x = x;
-                b.y = y;
-                outCode2 = getOutCode( b );
-            }
-        }
-    }
-    if( ok )
-    {
-        int xlän = b.x - a.x, axlän = abs( xlän );
-        int ylän = b.y - a.y, aylän = abs( ylän );
-        double xf = (double)xlän / ( aylän ? aylän : 1 );
-        double yf = (double)ylän / ( axlän ? axlän : 1 );
-        if( axlän > aylän )
-            xf = xf < 0 ? -1 : 1;
-        else
-            yf = yf < 0 ? -1 : 1;
-        double x = (double)a.x, y = (double)a.y;
-        int maxP = (int)( sqrt( xlän * xlän + ylän * ylän ) + 0.5 );
-        int count = 0;
-        while( !( (int)( x + 0.5 ) == b.x && (int)( y + 0.5 ) == b.y ) && count < maxP )
-        {
-            ++count;
-            this->fc[ (int)( (int)( x + 0.5 ) + (int)( y + 0.5 ) * größe.x ) ] = fc;
-            x += xf, y += yf;
-        }
-        rend = 1;
-    }
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		drawLinieAlpha( a, b, fc );
+		return;
+	}
+	a += drawOff[ doa ];
+	b += drawOff[ doa ];
+	char outCode1 = getOutCode( a );
+	char outCode2 = getOutCode( b );
+	bool ok = 0;
+	while( 1 )
+	{
+		int xMax = dSizeA[ doa ].x - 1;
+		int yMax = dSizeA[ doa ].y - 1;
+		if( !( outCode1 | outCode2 ) )
+		{
+			ok = 1;
+			break;
+		}
+		else if( outCode1 & outCode2 )
+			break;
+		else
+		{
+			int x = 0, y = 0;
+			char outCodeOut = outCode1 ? outCode1 : outCode2;
+			if( outCodeOut & 8 )
+			{
+				x = (int)( a.x + ( b.x - a.x ) * ( yMax - a.y ) / ( b.y - a.y ) + 0.5 );
+				y = yMax;
+			}
+			else if( outCodeOut & 4 )
+			{
+				x = (int)( a.x + ( b.x - a.x ) * ( dPosA[ doa ].y - a.y ) / ( b.y - a.y ) + 0.5 );
+				y = dPosA[ doa ].y;
+			}
+			else if( outCodeOut & 2 )
+			{
+				y = (int)( a.y + ( b.y - a.y ) * ( xMax - a.x ) / ( b.x - a.x ) + 0.5 );
+				x = xMax;
+			}
+			else if( outCodeOut & 1 )
+			{
+				y = (int)( a.y + ( b.y - a.y ) * ( dPosA[ doa ].x - a.x ) / ( b.x - a.x ) + 0.5 );
+				x = dPosA[ doa ].x;
+			}
+			if( outCodeOut == outCode1 )
+			{
+				a.x = x;
+				a.y = y;
+				outCode1 = getOutCode( a );
+			}
+			else
+			{
+				b.x = x;
+				b.y = y;
+				outCode2 = getOutCode( b );
+			}
+		}
+	}
+	if( ok )
+	{
+		int xlen = b.x - a.x, axlen = abs( xlen );
+		int ylen = b.y - a.y, aylen = abs( ylen );
+		double xf = (double)xlen / ( aylen ? aylen : 1 );
+		double yf = (double)ylen / ( axlen ? axlen : 1 );
+		if( axlen > aylen )
+			xf = xf < 0 ? -1 : 1;
+		else
+			yf = yf < 0 ? -1 : 1;
+		double x = (double)a.x, y = (double)a.y;
+		int maxP = (int)( sqrt( xlen * xlen + ylen * ylen ) + 0.5 );
+		int count = 0;
+		while( !( (int)( x + 0.5 ) == b.x && (int)( y + 0.5 ) == b.y ) && count < maxP )
+		{
+			++count;
+			this->fc[ (int)( (int)( x + 0.5 ) + (int)( y + 0.5 ) * size.x ) ] = fc;
+			x += xf, y += yf;
+		}
+		rend = 1;
+	}
 }
 }
 
 
 void Bild::drawLinieAlpha( Punkt a, Punkt b, int fc )
 void Bild::drawLinieAlpha( Punkt a, Punkt b, int fc )
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    a += drawOff[ doa ];
-    b += drawOff[ doa ];
-    char outCode1 = getOutCode( a );
-    char outCode2 = getOutCode( b );
-    bool ok = 0;
-    while( 1 )
-    {
-        int xMax = dGrößeA[ doa ].x - 1;
-        int yMax = dGrößeA[ doa ].y - 1;
-        if( !( outCode1 | outCode2 ) )
-        {
-            ok = 1;
-            break;
-        }
-        else if( outCode1 & outCode2 )
-            break;
-        else
-        {
-            int x, y;
-            char outCodeOut = outCode1 ? outCode1 : outCode2;
-            if( outCodeOut & 8 )
-            {
-                x = (int)( a.x + ( b.x - a.x ) * ( yMax - a.y ) / ( b.y - a.y ) + 0.5 );
-                y = yMax;
-            }
-            else if( outCodeOut & 4 )
-            {
-                x = (int)( a.x + ( b.x - a.x ) * ( dPosA[ doa ].y - a.y ) / ( b.y - a.y ) + 0.5 );
-                y = dPosA[ doa ].y;
-            }
-            else if( outCodeOut & 2 )
-            {
-                y = (int)( a.y + ( b.y - a.y ) * ( xMax - a.x ) / ( b.x - a.x ) + 0.5 );
-                x = xMax;
-            }
-            else if( outCodeOut & 1 )
-            {
-                y = (int)( a.y + ( b.y - a.y ) * ( dPosA[ doa ].x - a.x ) / ( b.x - a.x ) + 0.5 );
-                x = dPosA[ doa ].x;
-            }
-            if( outCodeOut == outCode1 )
-            {
-                a.x = x;
-                a.y = y;
-                outCode1 = getOutCode( a );
-            }
-            else
-            {
-                b.x = x;
-                b.y = y;
-                outCode2 = getOutCode( b );
-            }
-        }
-    }
-    if( ok )
-    {
-        int xlän = b.x - a.x, axlän = abs( xlän );
-        int ylän = b.y - a.y, aylän = abs( ylän );
-        double xf = (double)xlän / ( aylän ? aylän : 1 );
-        double yf = (double)ylän / ( axlän ? axlän : 1 );
-        if( axlän > aylän )
-            xf = xf < 0 ? -1 : 1;
-        else
-            yf = yf < 0 ? -1 : 1;
-        double x = (double)a.x, y = (double)a.y;
-        if( alpha[ alphaAnzahl ] )
-        {
-            unsigned char *cf = (unsigned char*)&fc;
-            cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-        }
-        int maxP = (int)( sqrt( xlän * xlän + ylän * ylän ) + 0.5 );
-        int count = 0;
-        int alpha = ( ( fc >> 24 ) & 0xFF );
-        int na = ( 0x100 - alpha );
-        int i1 = ( alpha * ( fc & 0xFF00FF ) ) >> 8;
-        int i2 = ( alpha * ( fc & 0x00FF00 ) ) >> 8;
-        while( !( (int)( x + 0.5 ) == b.x && (int)( y + 0.5 ) == b.y ) && count < maxP )
-        {
-            ++count;
-            int &pixel = this->fc[ (int)( x + 0.5 ) + (int)( y + 0.5 ) * größe.x ];
-            pixel = ( ( ( ( ( na * ( pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                      ( pixel & 0xFF000000 ) ) * ( pixel != 0 || !alpha3D ) | ( pixel == 0 && alpha3D ) * fc;
-            x += xf, y += yf;
-        }
-        rend = 1;
-    }
-}
-
-void Bild::füllKreis( int xOff, int yOff, int r, int fc ) // zeichnet einen Kreis um Punkt( xOff, yOff ) mit radius r
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    for( int i = r; i > 0; i-- )
-        drawKreis( xOff, yOff, i, fc );
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	a += drawOff[ doa ];
+	b += drawOff[ doa ];
+	char outCode1 = getOutCode( a );
+	char outCode2 = getOutCode( b );
+	bool ok = 0;
+	while( 1 )
+	{
+		int xMax = dSizeA[ doa ].x - 1;
+		int yMax = dSizeA[ doa ].y - 1;
+		if( !( outCode1 | outCode2 ) )
+		{
+			ok = 1;
+			break;
+		}
+		else if( outCode1 & outCode2 )
+			break;
+		else
+		{
+			int x = 0, y = 0;
+			char outCodeOut = outCode1 ? outCode1 : outCode2;
+			if( outCodeOut & 8 )
+			{
+				x = (int)( a.x + ( b.x - a.x ) * ( yMax - a.y ) / ( b.y - a.y ) + 0.5 );
+				y = yMax;
+			}
+			else if( outCodeOut & 4 )
+			{
+				x = (int)( a.x + ( b.x - a.x ) * ( dPosA[ doa ].y - a.y ) / ( b.y - a.y ) + 0.5 );
+				y = dPosA[ doa ].y;
+			}
+			else if( outCodeOut & 2 )
+			{
+				y = (int)( a.y + ( b.y - a.y ) * ( xMax - a.x ) / ( b.x - a.x ) + 0.5 );
+				x = xMax;
+			}
+			else if( outCodeOut & 1 )
+			{
+				y = (int)( a.y + ( b.y - a.y ) * ( dPosA[ doa ].x - a.x ) / ( b.x - a.x ) + 0.5 );
+				x = dPosA[ doa ].x;
+			}
+			if( outCodeOut == outCode1 )
+			{
+				a.x = x;
+				a.y = y;
+				outCode1 = getOutCode( a );
+			}
+			else
+			{
+				b.x = x;
+				b.y = y;
+				outCode2 = getOutCode( b );
+			}
+		}
+	}
+	if( ok )
+	{
+		int xlen = b.x - a.x, axlen = abs( xlen );
+		int ylen = b.y - a.y, aylen = abs( ylen );
+		double xf = (double)xlen / ( aylen ? aylen : 1 );
+		double yf = (double)ylen / ( axlen ? axlen : 1 );
+		if( axlen > aylen )
+			xf = xf < 0 ? -1 : 1;
+		else
+			yf = yf < 0 ? -1 : 1;
+		double x = (double)a.x, y = (double)a.y;
+		if( alpha[ alphaAnzahl ] )
+		{
+			unsigned char *cf = (unsigned char*)&fc;
+			cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+		}
+		int maxP = (int)( sqrt( xlen * xlen + ylen * ylen ) + 0.5 );
+		int count = 0;
+		int alpha = ( ( fc >> 24 ) & 0xFF );
+		int na = ( 0x100 - alpha );
+		int i1 = ( alpha * ( fc & 0xFF00FF ) ) >> 8;
+		int i2 = ( alpha * ( fc & 0x00FF00 ) ) >> 8;
+		while( !( (int)( x + 0.5 ) == b.x && (int)( y + 0.5 ) == b.y ) && count < maxP )
+		{
+			++count;
+			int &pixel = this->fc[ (int)( x + 0.5 ) + (int)( y + 0.5 ) * size.x ];
+			pixel = ( ( ( ( ( na * ( pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					  ( pixel & 0xFF000000 ) ) * ( pixel != 0 || !alpha3D ) | ( pixel == 0 && alpha3D ) * fc;
+			x += xf, y += yf;
+		}
+		rend = 1;
+	}
+}
+
+void Bild::fillCircle( int xOff, int yOff, int r, int fc ) // zeichnet einen Kreis um Punkt( xOff, yOff ) mit radius r
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	for( int i = r; i > 0; i-- )
+		drawKreis( xOff, yOff, i, fc );
 }
 }
 
 
 void Bild::drawKreis( int xOff, int yOff, int r, int fc ) // zeichnet einen Kreis um Punkt( xOff, yOff ) mit radius r
 void Bild::drawKreis( int xOff, int yOff, int r, int fc ) // zeichnet einen Kreis um Punkt( xOff, yOff ) mit radius r
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        drawKreisAlpha( xOff, yOff, r, fc );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    xOff += drawOff[ doa ].x;
-    yOff += drawOff[ doa ].y;
-    if( xOff + r < dpx || xOff - r >= dgx || yOff + r < dpy || yOff - r >= dgy )
-        return;
-    for( int a = 0; a < r; ++a )
-    {
-        int b = (int)( sqrt( (long)( r * r - a * a ) ) + 0.5 );
-        if( xOff + a < dgx && xOff + a > dpx && yOff + b < dgy && yOff + b > dpy )
-            this->fc[ xOff + a + ( yOff + b ) * größe.x ] = fc;
-        if( xOff - a < dgx && xOff - a > dpx && yOff + b < dgy && yOff + b > dpy )
-            this->fc[ xOff - a + ( yOff + b ) * größe.x ] = fc;
-        if( xOff + a < dgx && xOff + a > dpx && yOff - b < dgy && yOff - b > dpy )
-            this->fc[ xOff + a + ( yOff - b ) * größe.x ] = fc;
-        if( xOff - a < dgx && xOff - a > dpx && yOff - b < dgy && yOff - b > dpy )
-            this->fc[ xOff - a + ( yOff - b ) * größe.x ] = fc;
-        if( xOff + b < dgx && xOff + b > dpx && yOff + a < dgy && yOff + a > dpy )
-            this->fc[ xOff + b + ( yOff + a ) * größe.x ] = fc;
-        if( xOff - b < dgx && xOff - b > dpx && yOff + a < dgy && yOff + a > dpy )
-            this->fc[ xOff - b + ( yOff + a ) * größe.x ] = fc;
-        if( xOff + b < dgx && xOff + b > dpx && yOff - a < dgy && yOff - a > dpy )
-            this->fc[ xOff + b + ( yOff - a ) * größe.x ] = fc;
-        if( xOff - b < dgx && xOff - b > dpx && yOff - a < dgy && yOff - a > dpy )
-            this->fc[ xOff - b + ( yOff - a ) * größe.x ] = fc;
-    }
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		drawKreisAlpha( xOff, yOff, r, fc );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	xOff += drawOff[ doa ].x;
+	yOff += drawOff[ doa ].y;
+	if( xOff + r < dpx || xOff - r >= dgx || yOff + r < dpy || yOff - r >= dgy )
+		return;
+	for( int a = 0; a < r; ++a )
+	{
+		int b = (int)( sqrt( (long)( r * r - a * a ) ) + 0.5 );
+		if( xOff + a < dgx && xOff + a > dpx && yOff + b < dgy && yOff + b > dpy )
+			this->fc[ xOff + a + ( yOff + b ) * size.x ] = fc;
+		if( xOff - a < dgx && xOff - a > dpx && yOff + b < dgy && yOff + b > dpy )
+			this->fc[ xOff - a + ( yOff + b ) * size.x ] = fc;
+		if( xOff + a < dgx && xOff + a > dpx && yOff - b < dgy && yOff - b > dpy )
+			this->fc[ xOff + a + ( yOff - b ) * size.x ] = fc;
+		if( xOff - a < dgx && xOff - a > dpx && yOff - b < dgy && yOff - b > dpy )
+			this->fc[ xOff - a + ( yOff - b ) * size.x ] = fc;
+		if( xOff + b < dgx && xOff + b > dpx && yOff + a < dgy && yOff + a > dpy )
+			this->fc[ xOff + b + ( yOff + a ) * size.x ] = fc;
+		if( xOff - b < dgx && xOff - b > dpx && yOff + a < dgy && yOff + a > dpy )
+			this->fc[ xOff - b + ( yOff + a ) * size.x ] = fc;
+		if( xOff + b < dgx && xOff + b > dpx && yOff - a < dgy && yOff - a > dpy )
+			this->fc[ xOff + b + ( yOff - a ) * size.x ] = fc;
+		if( xOff - b < dgx && xOff - b > dpx && yOff - a < dgy && yOff - a > dpy )
+			this->fc[ xOff - b + ( yOff - a ) * size.x ] = fc;
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::drawKreisAlpha( int xOff, int yOff, int r, int fc )
 void Bild::drawKreisAlpha( int xOff, int yOff, int r, int fc )
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    xOff += drawOff[ doa ].x;
-    yOff += drawOff[ doa ].y;
-    if( xOff + r < dpx || xOff - r >= dgx || yOff + r < dpy || yOff - r >= dgy )
-        return;
-    if( alpha[ alphaAnzahl ] < 0xFF )
-    {
-        unsigned char *cf = (unsigned char*)&fc;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-    }
-    int alpha = ( ( fc >> 24 ) & 0xFF );
-    int na = ( 0x100 - alpha );
-    int i1 = ( alpha * ( fc & 0xFF00FF ) ) >> 8;
-    int i2 = ( alpha * ( fc & 0x00FF00 ) ) >> 8;
-    for( int a = 0; a < r; ++a )
-    {
-        int b = (int)( sqrt( (long)( r * r - a * a ) ) + 0.5 );
-        int *pixel = 0;
-        if( xOff + a < dgx && xOff + a > dpx && yOff + b < dgy && yOff + b > dpy )
-        {
-            pixel = &this->fc[ xOff + a + ( yOff + b ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-        if( xOff - a < dgx && xOff - a > dpx && yOff + b < dgy && yOff + b > dpy )
-        {
-            pixel = &this->fc[ xOff - a + ( yOff + b ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-        if( xOff + a < dgx && xOff + a > dpx && yOff - b < dgy && yOff - b > dpy )
-        {
-            pixel = &this->fc[ xOff + a + ( yOff - b ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-        if( xOff - a < dgx && xOff - a > dpx && yOff - b < dgy && yOff - b > dpy )
-        {
-            pixel = &this->fc[ xOff - a + ( yOff - b ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-        if( xOff + b < dgx && xOff + b > dpx && yOff + a < dgy && yOff + a > dpy )
-        {
-            pixel = &this->fc[ xOff + b + ( yOff + a ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-        if( xOff - b < dgx && xOff - b > dpx && yOff + a < dgy && yOff + a > dpy )
-        {
-            pixel = &this->fc[ xOff - b + ( yOff + a ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-        if( xOff + b < dgx && xOff + b > dpx && yOff - a < dgy && yOff - a > dpy )
-        {
-            pixel = &this->fc[ xOff + b + ( yOff - a ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-        if( xOff - b < dgx && xOff - b > dpx && yOff - a < dgy && yOff - a > dpy )
-        {
-            pixel = &this->fc[ xOff - b + ( yOff - a ) * größe.x ];
-            *pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
-                ( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
-                       ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
-        }
-    }
-    rend = 1;
-}
-
-void Bild::drawBild( int x, int y, int br, int hö, Bild &zBild ) // zeichet zBild
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        alphaBild( x, y, br, hö, zBild );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + br < dpx || y + hö < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getHöhe() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + br, dgx );
-    dgy = minInt( y + hö, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    int xx, ygr, ygr2;
-    for( int yy = yst2; yy < dgy; ++yy )
-    {
-        ygr = yy * größe.x;
-        ygr2 = ( yy - yst2 + yst ) * bb;
-        for( xx = xst2; xx < dgx; ++xx )
-            fc[ xx + ygr ] = ff[ ( xx - xst2 + xst ) + ygr2 ];
-    }
-    rend = 1;
-}
-
-void Bild::alphaBild( int x, int y, int br, int hö, Bild &zBild )
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + br < dpx || y + hö < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getHöhe() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + br, dgx );
-    dgy = minInt( y + hö, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    if( !alpha[ alphaAnzahl ] )
-    {
-        int xx, ygr, ygr2;
-        for( int yy = yst2; yy < dgy; ++yy )
-        {
-            ygr = yy * größe.x;
-            ygr2 = ( yy - yst2 + yst ) * bb;
-            for( xx = xst2; xx < dgx; ++xx )
-                alphaPixelP( fc[ xx + ygr ], ff[ ( xx - xst2 + xst ) + ygr2 ] );
-        }
-    }
-    else
-    {
-        int xx, ygr, ygr2;
-        for( int yy = yst2; yy < dgy; ++yy )
-        {
-            ygr = yy * größe.x;
-            ygr2 = ( yy - yst2 + yst ) * bb;
-            for( xx = xst2; xx < dgx; ++xx )
-            {
-                int fc = ff[ ( xx - xst2 + xst ) + ygr2 ];
-                unsigned char *cf = (unsigned char*)&fc;
-                cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-                alphaPixelP( this->fc[ xx + ygr ], fc );
-            }
-        }
-    }
-    rend = 1;
-}
-
-void Bild::drawBild90( int x, int y, int br, int hö, Bild &zBild ) // Zeichnet ein um 90 Grad nach rchts gedrehtes Bild
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        alphaBild90( x, y, br, hö, zBild );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + hö < dpx || y + br < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getHöhe() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + hö, dgx );
-    dgy = minInt( y + br, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    int yy, xbb;
-    for( int xx = xst2; xx < dgx; ++xx )
-    {
-        xbb = ( zBild.getHöhe() - ( xx - xst2 + xst + 1 ) ) * bb;
-        for( yy = yst2; yy < dgy; ++yy )
-            fc[ xx + yy * größe.x ] = ff[ ( yy - yst2 + yst ) + xbb ];
-    }
-    rend = 1;
-}
-
-void Bild::alphaBild90( int x, int y, int br, int hö, Bild &zBild )
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + hö < dpx || y + br < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getHöhe() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + hö, dgx );
-    dgy = minInt( y + br, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    if( !alpha[ alphaAnzahl ] )
-    {
-        int yy, xbb;
-        for( int xx = xst2; xx < dgx; ++xx )
-        {
-            xbb = ( zBild.getHöhe() - ( xx - xst2 + xst + 1 ) ) * bb;
-            for( yy = yst2; yy < dgy; ++yy )
-                alphaPixelP( xx, yy, ff[ ( yy - yst2 + yst ) + xbb ] );
-        }
-    }
-    else
-    {
-        int yy, xbb;
-        for( int xx = xst2; xx < dgx; ++xx )
-        {
-            xbb = ( zBild.getHöhe() - ( xx - xst2 + xst + 1 ) ) * bb;
-            for( yy = yst2; yy < dgy; ++yy )
-            {
-                int fc = ff[ ( yy - yst2 + yst ) + xbb ];
-                unsigned char *cf = (unsigned char*)&fc;
-                cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-                alphaPixelP( xx, yy, fc );
-            }
-        }
-    }
-    rend = 1;
-}
-
-void Bild::drawBild180( int x, int y, int br, int hö, Bild &zBild ) // Zeichnet ein um 180 Grad nach rchts gedrehtes Bild
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        alphaBild180( x, y, br, hö, zBild );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + br < dpx || y + hö < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getHöhe() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + br, dgx );
-    dgy = minInt( y + hö, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    int xx, ygr, ybb;
-    for( int yy = yst2; yy < dgy; ++yy )
-    {
-        ygr = yy * größe.x;
-        ybb = ( zBild.getHöhe() - ( yy - yst2 + yst + 1 ) ) * bb;
-        for( xx = xst2; xx < dgx; ++xx )
-            fc[ xx + ygr ] = ff[ ( bb - ( xx - xst2 + xst + 1 ) ) + ybb ];
-    }
-    rend = 1;
-}
-
-void Bild::alphaBild180( int x, int y, int br, int hö, Bild &zBild )
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + br < dpx || y + hö < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getHöhe() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + br, dgx );
-    dgy = minInt( y + hö, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    if( !alpha[ alphaAnzahl ] )
-    {
-        int xx, ygr, ybb;
-        for( int yy = yst2; yy < dgy; ++yy )
-        {
-            ygr = yy * größe.x;
-            ybb = ( zBild.getHöhe() - ( yy - yst2 + yst + 1 ) ) * bb;
-            for( xx = xst2; xx < dgx; ++xx )
-                alphaPixelP( fc[ xx + ygr ], ff[ ( bb - ( xx - xst2 + xst + 1 ) ) + ybb ] );
-        }
-    }
-    else
-    {
-        int xx, ygr, ybb;
-        for( int yy = yst2; yy < dgy; ++yy )
-        {
-            ygr = yy * größe.x;
-            ybb = ( zBild.getHöhe() - ( yy - yst2 + yst + 1 ) ) * bb;
-            for( xx = xst2; xx < dgx; ++xx )
-            {
-                int fc = ff[ ( bb - ( xx - xst2 + xst + 1 ) ) + ybb ];
-                unsigned char *cf = (unsigned char*)&fc;
-                cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-                alphaPixelP( this->fc[ xx + ygr ], fc );
-            }
-        }
-    }
-    rend = 1;
-}
-
-void Bild::drawBild270( int x, int y, int br, int hö, Bild &zBild ) // Zeichnet ein um 270 Grad nach rchts gedrehtes Bild
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        alphaBild270( x, y, br, hö, zBild );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + hö < dpx || y + br < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getHöhe() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + hö, dgx );
-    dgy = minInt( y + br, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    int yy, xbb;
-    for( int xx = xst2; xx < dgx; ++xx )
-    {
-        xbb = ( xx - xst2 + xst ) * bb;
-        for( yy = yst2; yy < dgy; ++yy )
-            fc[ xx + yy * größe.x ] = ff[ ( bb - ( yy - yst2 + yst + 1 ) ) + xbb ];
-    }
-    rend = 1;
-}
-
-void Bild::alphaBild270( int x, int y, int br, int hö, Bild &zBild )
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + hö < dpx || y + br < dpy || x > dgx || y > dgy )
-        return;
-    br = minInt( br, zBild.getBreite() );
-    hö = minInt( hö, zBild.getBreite() );
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + hö, dgx );
-    dgy = minInt( y + br, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    if( !alpha[ alphaAnzahl ] )
-    {
-        int yy, xbb;
-        for( int xx = xst2; xx < dgx; ++xx )
-        {
-            xbb = ( xx - xst2 + xst ) * bb;
-            for( yy = yst2; yy < dgy; ++yy )
-                alphaPixelP( xx, yy, ff[ ( bb - ( yy - yst2 + yst + 1 ) ) + xbb ] );
-        }
-    }
-    else
-    {
-        int yy, xbb;
-        for( int xx = xst2; xx < dgx; ++xx )
-        {
-            xbb = ( xx - xst2 + xst ) * bb;
-            for( yy = yst2; yy < dgy; ++yy )
-            {
-                int fc = ff[ ( bb - ( yy - yst2 + yst + 1 ) ) + xbb ];
-                unsigned char *cf = (unsigned char*)&fc;
-                cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-                alphaPixelP( xx, yy, fc );
-            }
-        }
-    }
-    rend = 1;
-}
-
-void Bild::drawBildSkall( int x, int y, int br, int hö, Bild &zBild ) // zeichet zBild Skalliert
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        alphaBildSkall( x, y, br, hö, zBild );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + br < dpx || y + hö < dpy || x > dgx || y > dgy )
-        return;
-    double xo = zBild.getBreite() / (double)br;
-    double yo = zBild.getHöhe() / (double)hö;
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + br, dgx );
-    dgy = minInt( y + hö, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    int xx, ygr, ygr2;
-    double xb = 0, yb = yst * yo;
-    for( int yy = yst2; yy < dgy; ++yy, yb += yo )
-    {
-        ygr = yy * größe.x;
-        ygr2 = (int)( ( yy - yst2 + yst ) * yo ) * bb;
-        for( xx = xst2, xb = xst * xo; xx < dgx; ++xx, xb += xo )
-            fc[ xx + ygr ] = ff[ (int)xb + ygr2 ];
-    }
-    rend = 1;
-}
-
-void Bild::alphaBildSkall( int x, int y, int br, int hö, Bild &zBild )
-{
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    x += drawOff[ doa ].x;
-    y += drawOff[ doa ].y;
-    if( x + br < dpx || y + hö < dpy || x > dgx || y > dgy )
-        return;
-    double xo = zBild.getBreite() / (double)br;
-    double yo = zBild.getHöhe() / (double)hö;
-    int xst = maxInt( dpx - x, 0 );
-    int yst = maxInt( dpy - y, 0 );
-    int xst2 = maxInt( x, dpx );
-    int yst2 = maxInt( y, dpy );
-    dgx = minInt( x + br, dgx );
-    dgy = minInt( y + hö, dgy );
-    int bb = zBild.getBreite();
-    int *ff = zBild.getBuffer();
-    int xx, ygr, ygr2;
-    double xb = 0;
-    for( int yy = yst2; yy < dgy; ++yy )
-    {
-        ygr = yy * größe.x;
-        ygr2 = (int)( ( yy - yst2 + yst ) * yo ) * bb;
-        for( xx = xst2, xb = xst * xo; xx < dgx; ++xx, xb += xo )
-        {
-            int f = ff[ (int)xb + ygr2 ];
-            unsigned char *cf = (unsigned char*)&f;
-            cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-            alphaPixelP( fc[ xx + ygr ], f );
-        }
-    }
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	xOff += drawOff[ doa ].x;
+	yOff += drawOff[ doa ].y;
+	if( xOff + r < dpx || xOff - r >= dgx || yOff + r < dpy || yOff - r >= dgy )
+		return;
+	if( alpha[ alphaAnzahl ] < 0xFF )
+	{
+		unsigned char *cf = (unsigned char*)&fc;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+	}
+	int alpha = ( ( fc >> 24 ) & 0xFF );
+	int na = ( 0x100 - alpha );
+	int i1 = ( alpha * ( fc & 0xFF00FF ) ) >> 8;
+	int i2 = ( alpha * ( fc & 0x00FF00 ) ) >> 8;
+	for( int a = 0; a < r; ++a )
+	{
+		int b = (int)( sqrt( (long)( r * r - a * a ) ) + 0.5 );
+		int *pixel = 0;
+		if( xOff + a < dgx && xOff + a > dpx && yOff + b < dgy && yOff + b > dpy )
+		{
+			pixel = &this->fc[ xOff + a + ( yOff + b ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+		if( xOff - a < dgx && xOff - a > dpx && yOff + b < dgy && yOff + b > dpy )
+		{
+			pixel = &this->fc[ xOff - a + ( yOff + b ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+		if( xOff + a < dgx && xOff + a > dpx && yOff - b < dgy && yOff - b > dpy )
+		{
+			pixel = &this->fc[ xOff + a + ( yOff - b ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+		if( xOff - a < dgx && xOff - a > dpx && yOff - b < dgy && yOff - b > dpy )
+		{
+			pixel = &this->fc[ xOff - a + ( yOff - b ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+		if( xOff + b < dgx && xOff + b > dpx && yOff + a < dgy && yOff + a > dpy )
+		{
+			pixel = &this->fc[ xOff + b + ( yOff + a ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+		if( xOff - b < dgx && xOff - b > dpx && yOff + a < dgy && yOff + a > dpy )
+		{
+			pixel = &this->fc[ xOff - b + ( yOff + a ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+		if( xOff + b < dgx && xOff + b > dpx && yOff - a < dgy && yOff - a > dpy )
+		{
+			pixel = &this->fc[ xOff + b + ( yOff - a ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+		if( xOff - b < dgx && xOff - b > dpx && yOff - a < dgy && yOff - a > dpy )
+		{
+			pixel = &this->fc[ xOff - b + ( yOff - a ) * size.x ];
+			*pixel = ( ( ( ( ( na * ( *pixel & 0xFF00FF ) ) >> 8 ) + i1 ) & 0xFF00FF ) |
+				( ( ( ( na * ( *pixel & 0x00FF00 ) ) >> 8 ) + i2 ) & 0x00FF00 ) |
+					   ( *pixel & 0xFF000000 ) ) * ( *pixel != 0 || !alpha3D ) | ( *pixel == 0 && alpha3D ) * fc;
+		}
+	}
+	rend = 1;
+}
+
+void Bild::drawBild( int x, int y, int br, int hi, Bild &zBild ) // zeichet zBild
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		alphaBild( x, y, br, hi, zBild );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + br < dpx || y + hi < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getHeight() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + br, dgx );
+	dgy = minInt( y + hi, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	int xx, ygr, ygr2;
+	for( int yy = yst2; yy < dgy; ++yy )
+	{
+		ygr = yy * size.x;
+		ygr2 = ( yy - yst2 + yst ) * bb;
+		for( xx = xst2; xx < dgx; ++xx )
+			fc[ xx + ygr ] = ff[ ( xx - xst2 + xst ) + ygr2 ];
+	}
+	rend = 1;
+}
+
+void Bild::alphaBild( int x, int y, int br, int hi, Bild &zBild )
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + br < dpx || y + hi < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getHeight() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + br, dgx );
+	dgy = minInt( y + hi, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	if( !alpha[ alphaAnzahl ] )
+	{
+		int xx, ygr, ygr2;
+		for( int yy = yst2; yy < dgy; ++yy )
+		{
+			ygr = yy * size.x;
+			ygr2 = ( yy - yst2 + yst ) * bb;
+			for( xx = xst2; xx < dgx; ++xx )
+				alphaPixelP( fc[ xx + ygr ], ff[ ( xx - xst2 + xst ) + ygr2 ] );
+		}
+	}
+	else
+	{
+		int xx, ygr, ygr2;
+		for( int yy = yst2; yy < dgy; ++yy )
+		{
+			ygr = yy * size.x;
+			ygr2 = ( yy - yst2 + yst ) * bb;
+			for( xx = xst2; xx < dgx; ++xx )
+			{
+				int fc = ff[ ( xx - xst2 + xst ) + ygr2 ];
+				unsigned char *cf = (unsigned char*)&fc;
+				cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+				alphaPixelP( this->fc[ xx + ygr ], fc );
+			}
+		}
+	}
+	rend = 1;
+}
+
+void Bild::drawBild90( int x, int y, int br, int hi, Bild &zBild ) // Zeichnet ein um 90 Grad nach rchts gedrehtes Bild
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		alphaBild90( x, y, br, hi, zBild );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + hi < dpx || y + br < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getHeight() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + hi, dgx );
+	dgy = minInt( y + br, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	int yy, xbb;
+	for( int xx = xst2; xx < dgx; ++xx )
+	{
+		xbb = ( zBild.getHeight() - ( xx - xst2 + xst + 1 ) ) * bb;
+		for( yy = yst2; yy < dgy; ++yy )
+			fc[ xx + yy * size.x ] = ff[ ( yy - yst2 + yst ) + xbb ];
+	}
+	rend = 1;
+}
+
+void Bild::alphaBild90( int x, int y, int br, int hi, Bild &zBild )
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + hi < dpx || y + br < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getHeight() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + hi, dgx );
+	dgy = minInt( y + br, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	if( !alpha[ alphaAnzahl ] )
+	{
+		int yy, xbb;
+		for( int xx = xst2; xx < dgx; ++xx )
+		{
+			xbb = ( zBild.getHeight() - ( xx - xst2 + xst + 1 ) ) * bb;
+			for( yy = yst2; yy < dgy; ++yy )
+				alphaPixelP( xx, yy, ff[ ( yy - yst2 + yst ) + xbb ] );
+		}
+	}
+	else
+	{
+		int yy, xbb;
+		for( int xx = xst2; xx < dgx; ++xx )
+		{
+			xbb = ( zBild.getHeight() - ( xx - xst2 + xst + 1 ) ) * bb;
+			for( yy = yst2; yy < dgy; ++yy )
+			{
+				int fc = ff[ ( yy - yst2 + yst ) + xbb ];
+				unsigned char *cf = (unsigned char*)&fc;
+				cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+				alphaPixelP( xx, yy, fc );
+			}
+		}
+	}
+	rend = 1;
+}
+
+void Bild::drawBild180( int x, int y, int br, int hi, Bild &zBild ) // Zeichnet ein um 180 Grad nach rchts gedrehtes Bild
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		alphaBild180( x, y, br, hi, zBild );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + br < dpx || y + hi < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getHeight() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + br, dgx );
+	dgy = minInt( y + hi, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	int xx, ygr, ybb;
+	for( int yy = yst2; yy < dgy; ++yy )
+	{
+		ygr = yy * size.x;
+		ybb = ( zBild.getHeight() - ( yy - yst2 + yst + 1 ) ) * bb;
+		for( xx = xst2; xx < dgx; ++xx )
+			fc[ xx + ygr ] = ff[ ( bb - ( xx - xst2 + xst + 1 ) ) + ybb ];
+	}
+	rend = 1;
+}
+
+void Bild::alphaBild180( int x, int y, int br, int hi, Bild &zBild )
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + br < dpx || y + hi < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getHeight() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + br, dgx );
+	dgy = minInt( y + hi, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	if( !alpha[ alphaAnzahl ] )
+	{
+		int xx, ygr, ybb;
+		for( int yy = yst2; yy < dgy; ++yy )
+		{
+			ygr = yy * size.x;
+			ybb = ( zBild.getHeight() - ( yy - yst2 + yst + 1 ) ) * bb;
+			for( xx = xst2; xx < dgx; ++xx )
+				alphaPixelP( fc[ xx + ygr ], ff[ ( bb - ( xx - xst2 + xst + 1 ) ) + ybb ] );
+		}
+	}
+	else
+	{
+		int xx, ygr, ybb;
+		for( int yy = yst2; yy < dgy; ++yy )
+		{
+			ygr = yy * size.x;
+			ybb = ( zBild.getHeight() - ( yy - yst2 + yst + 1 ) ) * bb;
+			for( xx = xst2; xx < dgx; ++xx )
+			{
+				int fc = ff[ ( bb - ( xx - xst2 + xst + 1 ) ) + ybb ];
+				unsigned char *cf = (unsigned char*)&fc;
+				cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+				alphaPixelP( this->fc[ xx + ygr ], fc );
+			}
+		}
+	}
+	rend = 1;
+}
+
+void Bild::drawBild270( int x, int y, int br, int hi, Bild &zBild ) // Zeichnet ein um 270 Grad nach rchts gedrehtes Bild
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		alphaBild270( x, y, br, hi, zBild );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + hi < dpx || y + br < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getHeight() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + hi, dgx );
+	dgy = minInt( y + br, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	int yy, xbb;
+	for( int xx = xst2; xx < dgx; ++xx )
+	{
+		xbb = ( xx - xst2 + xst ) * bb;
+		for( yy = yst2; yy < dgy; ++yy )
+			fc[ xx + yy * size.x ] = ff[ ( bb - ( yy - yst2 + yst + 1 ) ) + xbb ];
+	}
+	rend = 1;
+}
+
+void Bild::alphaBild270( int x, int y, int br, int hi, Bild &zBild )
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + hi < dpx || y + br < dpy || x > dgx || y > dgy )
+		return;
+	br = minInt( br, zBild.getBreite() );
+	hi = minInt( hi, zBild.getBreite() );
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + hi, dgx );
+	dgy = minInt( y + br, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	if( !alpha[ alphaAnzahl ] )
+	{
+		int yy, xbb;
+		for( int xx = xst2; xx < dgx; ++xx )
+		{
+			xbb = ( xx - xst2 + xst ) * bb;
+			for( yy = yst2; yy < dgy; ++yy )
+				alphaPixelP( xx, yy, ff[ ( bb - ( yy - yst2 + yst + 1 ) ) + xbb ] );
+		}
+	}
+	else
+	{
+		int yy, xbb;
+		for( int xx = xst2; xx < dgx; ++xx )
+		{
+			xbb = ( xx - xst2 + xst ) * bb;
+			for( yy = yst2; yy < dgy; ++yy )
+			{
+				int fc = ff[ ( bb - ( yy - yst2 + yst + 1 ) ) + xbb ];
+				unsigned char *cf = (unsigned char*)&fc;
+				cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+				alphaPixelP( xx, yy, fc );
+			}
+		}
+	}
+	rend = 1;
+}
+
+void Bild::drawBildSkall( int x, int y, int br, int hi, Bild &zBild ) // zeichet zBild Skalliert
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		alphaBildSkall( x, y, br, hi, zBild );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + br < dpx || y + hi < dpy || x > dgx || y > dgy )
+		return;
+	double xo = zBild.getBreite() / (double)br;
+	double yo = zBild.getHeight() / (double)hi;
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + br, dgx );
+	dgy = minInt( y + hi, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	int xx, ygr, ygr2;
+	double xb = 0, yb = yst * yo;
+	for( int yy = yst2; yy < dgy; ++yy, yb += yo )
+	{
+		ygr = yy * size.x;
+		ygr2 = (int)( ( yy - yst2 + yst ) * yo ) * bb;
+		for( xx = xst2, xb = xst * xo; xx < dgx; ++xx, xb += xo )
+			fc[ xx + ygr ] = ff[ (int)xb + ygr2 ];
+	}
+	rend = 1;
+}
+
+void Bild::alphaBildSkall( int x, int y, int br, int hi, Bild &zBild )
+{
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	x += drawOff[ doa ].x;
+	y += drawOff[ doa ].y;
+	if( x + br < dpx || y + hi < dpy || x > dgx || y > dgy )
+		return;
+	double xo = zBild.getBreite() / (double)br;
+	double yo = zBild.getHeight() / (double)hi;
+	int xst = maxInt( dpx - x, 0 );
+	int yst = maxInt( dpy - y, 0 );
+	int xst2 = maxInt( x, dpx );
+	int yst2 = maxInt( y, dpy );
+	dgx = minInt( x + br, dgx );
+	dgy = minInt( y + hi, dgy );
+	int bb = zBild.getBreite();
+	int *ff = zBild.getBuffer();
+	int xx, ygr, ygr2;
+	double xb = 0;
+	for( int yy = yst2; yy < dgy; ++yy )
+	{
+		ygr = yy * size.x;
+		ygr2 = (int)( ( yy - yst2 + yst ) * yo ) * bb;
+		for( xx = xst2, xb = xst * xo; xx < dgx; ++xx, xb += xo )
+		{
+			int f = ff[ (int)xb + ygr2 ];
+			unsigned char *cf = (unsigned char*)&f;
+			cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+			alphaPixelP( fc[ xx + ygr ], f );
+		}
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::drawDreieck( Punkt a, Punkt b, Punkt c, int farbe ) // füllt eine Dreieck aus
 void Bild::drawDreieck( Punkt a, Punkt b, Punkt c, int farbe ) // füllt eine Dreieck aus
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        drawDreieckAlpha( a, b, c, farbe );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    a += drawOff[ doa ];
-    b += drawOff[ doa ];
-    c += drawOff[ doa ];
-    if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
-        ( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
-        return;
-    if( b.y < a.y )
-        a.Swap( b );
-    if( c.y < b.y )
-        b.Swap( c );
-    if( b.y < a.y )
-        a.Swap( b );
-    if( a.y == b.y )
-    {
-        if( b.x < a.x )
-            a.Swap( b );
-        const float m2 = (float)( a.x - c.x ) / ( a.y - c.y );
-        const float m3 = (float)( b.x - c.x ) / ( b.y - c.y );
-        float b2 = a.x - m2 * a.y;
-        float b3 = b.x - m3 * b.y;
-        drawFlatDreieck( b.y, c.y, m2, b2, m3, b3, farbe );
-    }
-    else if( b.y == c.y )
-    {
-        if( c.x < b.x )
-            b.Swap( c );
-        const float m1 = (float)( a.x - b.x ) / ( a.y - b.y );
-        const float m2 = (float)( a.x - c.x ) / ( a.y - c.y );
-        float b1 = a.x - m1 * a.y;
-        float b2 = a.x - m2 * a.y;
-        drawFlatDreieck( a.y, b.y, m1, b1, m2, b2, farbe );
-    }
-    else
-    {
-        const float m1 = (float)( a.x - b.x ) / ( a.y - b.y );
-        const float m2 = (float)( a.x - c.x ) / ( a.y - c.y );
-        const float m3 = (float)( b.x - c.x ) / ( b.y - c.y );
-        float b1 = a.x - m1 * a.y;
-        float b2 = a.x - m2 * a.y;
-        float b3 = b.x - m3 * b.y;
-        const float qx = m2 * b.y + b2;
-        if( qx < b.x )
-        {
-            drawFlatDreieck( a.y, b.y, m2, b2, m1, b1, farbe );
-            drawFlatDreieck( b.y, c.y, m2, b2, m3, b3, farbe );
-        }
-        else
-        {
-            drawFlatDreieck( a.y, b.y, m1, b1, m2, b2, farbe );
-            drawFlatDreieck( b.y, c.y, m3, b3, m2, b2, farbe );
-        }
-    }
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		drawDreieckAlpha( a, b, c, farbe );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	a += drawOff[ doa ];
+	b += drawOff[ doa ];
+	c += drawOff[ doa ];
+	if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
+		( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
+		return;
+	if( b.y < a.y )
+		a.Swap( b );
+	if( c.y < b.y )
+		b.Swap( c );
+	if( b.y < a.y )
+		a.Swap( b );
+	if( a.y == b.y )
+	{
+		if( b.x < a.x )
+			a.Swap( b );
+		const float m2 = (float)( a.x - c.x ) / (float)( a.y - c.y );
+		const float m3 = (float)( b.x - c.x ) / (float)( b.y - c.y );
+		float b2 = (float)a.x - m2 * (float)a.y;
+		float b3 = (float)b.x - m3 * (float)b.y;
+		drawFlatDreieck( b.y, c.y, m2, b2, m3, b3, farbe );
+	}
+	else if( b.y == c.y )
+	{
+		if( c.x < b.x )
+			b.Swap( c );
+		const float m1 = (float)( a.x - b.x ) / (float)( a.y - b.y );
+		const float m2 = (float)( a.x - c.x ) / (float)( a.y - c.y );
+		float b1 = (float)a.x - m1 * (float)a.y;
+		float b2 = (float)a.x - m2 * (float)a.y;
+		drawFlatDreieck( a.y, b.y, m1, b1, m2, b2, farbe );
+	}
+	else
+	{
+		const float m1 = (float)( a.x - b.x ) / (float)( a.y - b.y );
+		const float m2 = (float)( a.x - c.x ) / (float)( a.y - c.y );
+		const float m3 = (float)( b.x - c.x ) / (float)( b.y - c.y );
+		float b1 = (float)a.x - m1 * (float)a.y;
+		float b2 = (float)a.x - m2 * (float)a.y;
+		float b3 = (float)b.x - m3 * (float)b.y;
+		const float qx = m2 * (float)b.y + b2;
+		if( qx < b.x )
+		{
+			drawFlatDreieck( a.y, b.y, m2, b2, m1, b1, farbe );
+			drawFlatDreieck( b.y, c.y, m2, b2, m3, b3, farbe );
+		}
+		else
+		{
+			drawFlatDreieck( a.y, b.y, m1, b1, m2, b2, farbe );
+			drawFlatDreieck( b.y, c.y, m3, b3, m2, b2, farbe );
+		}
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::drawDreieckTextur( Punkt a, Punkt b, Punkt c, Punkt ta, Punkt tb, Punkt tc, Bild &textur ) // füllt eine Dreieck aus
 void Bild::drawDreieckTextur( Punkt a, Punkt b, Punkt c, Punkt ta, Punkt tb, Punkt tc, Bild &textur ) // füllt eine Dreieck aus
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        drawDreieckTexturAlpha( a, b, c, ta, tb, tc, textur );
-        return;
-    }
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    a += drawOff[ doa ];
-    b += drawOff[ doa ];
-    c += drawOff[ doa ];
-    if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
-        ( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
-        return;
-    if( b.y < a.y )
-    {
-        a.Swap( b );
-        ta.Swap( tb );
-    }
-    if( c.y < b.y )
-    {
-        b.Swap( c );
-        tb.Swap( tc );
-    }
-    if( b.y < a.y )
-    {
-        a.Swap( b );
-        ta.Swap( tb );
-    }
-    const double m1 = (double)( a.x - b.x ) / ( a.y - b.y );
-    const double m2 = (double)( a.x - c.x ) / ( a.y - c.y );
-    const double m3 = (double)( b.x - c.x ) / ( b.y - c.y );
-    double b1 = a.x - m1 * a.y;
-    double b2 = a.x - m2 * a.y;
-    double b3 = b.x - m3 * b.y;
-    const double qx = m2 * b.y + b2;
-    if( qx < b.x )
-    {
-        double tx1o, ty1o, tx2o, ty2o;
-        if( c.y - a.y )
-        {
-            tx1o = (double)( tc.x - ta.x ) / ( c.y - a.y );
-            ty1o = (double)( tc.y - ta.y ) / ( c.y - a.y );
-        }
-        else
-        {
-            tx1o = 0;
-            ty1o = 0;
-        }
-        if( b.y - a.y )
-        {
-            tx2o = (double)( tb.x - ta.x ) / ( b.y - a.y );
-            ty2o = (double)( tb.y - ta.y ) / ( b.y - a.y );
-        }
-        else
-        {
-            tx2o = 0;
-            ty2o = 0;
-        }
-        Vec2< double > q( ta.x + tx1o * ( b.y - a.y ), ta.y + ty1o * ( b.y - a.y ) );
-        double txf, tyf;
-        if( b.x - qx )
-        {
-            txf = ( tb.x - q.x ) / ( b.x - qx );
-            tyf = ( tb.y - q.y ) / ( b.x - qx );
-        }
-        else
-        {
-            txf = 0;
-            tyf = 0;
-        }
-        drawFlatDreieckTextur( a.y, b.y, m2, b2, m1, b1, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-        if( c.y - b.y )
-        {
-            tx2o = (double)( tc.x - tb.x ) / ( c.y - b.y );
-            ty2o = (double)( tc.y - tb.y ) / ( c.y - b.y );
-        }
-        else
-        {
-            tx2o = 0;
-            ty2o = 0;
-        }
-        drawFlatDreieckTextur( b.y, c.y, m2, b2, m3, b3, q.x, q.y, tb.x, tb.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-    }
-    else
-    {
-        double tx1o, ty1o, tx2o, ty2o;
-        if( b.y - a.y )
-        {
-            tx1o = (double)( tb.x - ta.x ) / ( b.y - a.y );
-            ty1o = (double)( tb.y - ta.y ) / ( b.y - a.y );
-        }
-        else
-        {
-            tx1o = 0;
-            ty1o = 0;
-        }
-        if( c.y - a.y )
-        {
-            tx2o = (double)( tc.x - ta.x ) / ( c.y - a.y );
-            ty2o = (double)( tc.y - ta.y ) / ( c.y - a.y );
-        }
-        else
-        {
-            tx2o = 0;
-            ty2o = 0;
-        }
-        Vec2< double > q( ta.x + tx2o * ( b.y - a.y ), ta.y + ty2o * ( b.y - a.y ) );
-        double txf, tyf;
-        if( qx - b.x )
-        {
-            txf = ( q.x - tb.x ) / ( qx - b.x );
-            tyf = ( q.y - tb.y ) / ( qx - b.x );
-        }
-        else
-        {
-            txf = 0;
-            tyf = 0;
-        }
-        drawFlatDreieckTextur( a.y, b.y, m1, b1, m2, b2, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-        if( c.y - b.y )
-        {
-            tx1o = (double)( tc.x - tb.x ) / ( c.y - b.y );
-            ty1o = (double)( tc.y - tb.y ) / ( c.y - b.y );
-        }
-        else
-        {
-            tx1o = 0;
-            ty1o = 0;
-        }
-        drawFlatDreieckTextur( b.y, c.y, m3, b3, m2, b2, tb.x, tb.y, q.x, q.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-    }
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		drawDreieckTexturAlpha( a, b, c, ta, tb, tc, textur );
+		return;
+	}
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	a += drawOff[ doa ];
+	b += drawOff[ doa ];
+	c += drawOff[ doa ];
+	if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
+		( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
+		return;
+	if( b.y < a.y )
+	{
+		a.Swap( b );
+		ta.Swap( tb );
+	}
+	if( c.y < b.y )
+	{
+		b.Swap( c );
+		tb.Swap( tc );
+	}
+	if( b.y < a.y )
+	{
+		a.Swap( b );
+		ta.Swap( tb );
+	}
+	const double m1 = (double)( a.x - b.x ) / ( a.y - b.y );
+	const double m2 = (double)( a.x - c.x ) / ( a.y - c.y );
+	const double m3 = (double)( b.x - c.x ) / ( b.y - c.y );
+	double b1 = a.x - m1 * a.y;
+	double b2 = a.x - m2 * a.y;
+	double b3 = b.x - m3 * b.y;
+	const double qx = m2 * b.y + b2;
+	if( qx < b.x )
+	{
+		double tx1o, ty1o, tx2o, ty2o;
+		if( c.y - a.y )
+		{
+			tx1o = (double)( tc.x - ta.x ) / ( c.y - a.y );
+			ty1o = (double)( tc.y - ta.y ) / ( c.y - a.y );
+		}
+		else
+		{
+			tx1o = 0;
+			ty1o = 0;
+		}
+		if( b.y - a.y )
+		{
+			tx2o = (double)( tb.x - ta.x ) / ( b.y - a.y );
+			ty2o = (double)( tb.y - ta.y ) / ( b.y - a.y );
+		}
+		else
+		{
+			tx2o = 0;
+			ty2o = 0;
+		}
+		Vec2< double > q( ta.x + tx1o * ( b.y - a.y ), ta.y + ty1o * ( b.y - a.y ) );
+		double txf, tyf;
+		if( b.x - qx )
+		{
+			txf = ( tb.x - q.x ) / ( b.x - qx );
+			tyf = ( tb.y - q.y ) / ( b.x - qx );
+		}
+		else
+		{
+			txf = 0;
+			tyf = 0;
+		}
+		drawFlatDreieckTextur( a.y, b.y, m2, b2, m1, b1, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+		if( c.y - b.y )
+		{
+			tx2o = (double)( tc.x - tb.x ) / ( c.y - b.y );
+			ty2o = (double)( tc.y - tb.y ) / ( c.y - b.y );
+		}
+		else
+		{
+			tx2o = 0;
+			ty2o = 0;
+		}
+		drawFlatDreieckTextur( b.y, c.y, m2, b2, m3, b3, q.x, q.y, tb.x, tb.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+	}
+	else
+	{
+		double tx1o, ty1o, tx2o, ty2o;
+		if( b.y - a.y )
+		{
+			tx1o = (double)( tb.x - ta.x ) / ( b.y - a.y );
+			ty1o = (double)( tb.y - ta.y ) / ( b.y - a.y );
+		}
+		else
+		{
+			tx1o = 0;
+			ty1o = 0;
+		}
+		if( c.y - a.y )
+		{
+			tx2o = (double)( tc.x - ta.x ) / ( c.y - a.y );
+			ty2o = (double)( tc.y - ta.y ) / ( c.y - a.y );
+		}
+		else
+		{
+			tx2o = 0;
+			ty2o = 0;
+		}
+		Vec2< double > q( ta.x + tx2o * ( b.y - a.y ), ta.y + ty2o * ( b.y - a.y ) );
+		double txf, tyf;
+		if( qx - b.x )
+		{
+			txf = ( q.x - tb.x ) / ( qx - b.x );
+			tyf = ( q.y - tb.y ) / ( qx - b.x );
+		}
+		else
+		{
+			txf = 0;
+			tyf = 0;
+		}
+		drawFlatDreieckTextur( a.y, b.y, m1, b1, m2, b2, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+		if( c.y - b.y )
+		{
+			tx1o = (double)( tc.x - tb.x ) / ( c.y - b.y );
+			ty1o = (double)( tc.y - tb.y ) / ( c.y - b.y );
+		}
+		else
+		{
+			tx1o = 0;
+			ty1o = 0;
+		}
+		drawFlatDreieckTextur( b.y, c.y, m3, b3, m2, b2, tb.x, tb.y, q.x, q.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::drawDreieckAlpha( Punkt a, Punkt b, Punkt c, int farbe ) // füllt eine Dreieck aus
 void Bild::drawDreieckAlpha( Punkt a, Punkt b, Punkt c, int farbe ) // füllt eine Dreieck aus
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    a += drawOff[ doa ];
-    b += drawOff[ doa ];
-    c += drawOff[ doa ];
-    if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
-        ( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
-        return;
-    if( alpha[ alphaAnzahl ] )
-    {
-        unsigned char *cf = (unsigned char*)&farbe;
-        cf[ 3 ] = ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] );
-    }
-    if( b.y < a.y )
-        a.Swap( b );
-    if( c.y < b.y )
-        b.Swap( c );
-    if( b.y < a.y )
-        a.Swap( b );
-    if( a.y == b.y )
-    {
-        if( b.x < a.x )
-            a.Swap( b );
-        const float m2 = (float)( a.x - c.x ) / ( a.y - c.y );
-        const float m3 = (float)( b.x - c.x ) / ( b.y - c.y );
-        float b2 = a.x - m2 * a.y;
-        float b3 = b.x - m3 * b.y;
-        drawFlatDreieckAlpha( b.y, c.y, m2, b2, m3, b3, farbe );
-    }
-    else if( b.y == c.y )
-    {
-        if( c.x < b.x )
-            b.Swap( c );
-        const float m1 = (float)( a.x - b.x ) / ( a.y - b.y );
-        const float m2 = (float)( a.x - c.x ) / ( a.y - c.y );
-        float b1 = a.x - m1 * a.y;
-        float b2 = a.x - m2 * a.y;
-        drawFlatDreieckAlpha( a.y, b.y, m1, b1, m2, b2, farbe );
-    }
-    else
-    {
-        const float m1 = (float)( a.x - b.x ) / ( a.y - b.y );
-        const float m2 = (float)( a.x - c.x ) / ( a.y - c.y );
-        const float m3 = (float)( b.x - c.x ) / ( b.y - c.y );
-        float b1 = a.x - m1 * a.y;
-        float b2 = a.x - m2 * a.y;
-        float b3 = b.x - m3 * b.y;
-        const float qx = m2 * b.y + b2;
-        if( qx < b.x )
-        {
-            drawFlatDreieckAlpha( a.y, b.y, m2, b2, m1, b1, farbe );
-            drawFlatDreieckAlpha( b.y, c.y, m2, b2, m3, b3, farbe );
-        }
-        else
-        {
-            drawFlatDreieckAlpha( a.y, b.y, m1, b1, m2, b2, farbe );
-            drawFlatDreieckAlpha( b.y, c.y, m3, b3, m2, b2, farbe );
-        }
-    }
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	a += drawOff[ doa ];
+	b += drawOff[ doa ];
+	c += drawOff[ doa ];
+	if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
+		( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
+		return;
+	if( alpha[ alphaAnzahl ] )
+	{
+		unsigned char *cf = (unsigned char*)&farbe;
+		cf[ 3 ] = (unsigned char)( ( cf[ 3 ] > alpha[ alphaAnzahl ] ) * ( cf[ 3 ] - alpha[ alphaAnzahl ] ) );
+	}
+	if( b.y < a.y )
+		a.Swap( b );
+	if( c.y < b.y )
+		b.Swap( c );
+	if( b.y < a.y )
+		a.Swap( b );
+	if( a.y == b.y )
+	{
+		if( b.x < a.x )
+			a.Swap( b );
+		const float m2 = (float)( a.x - c.x ) / (float)( a.y - c.y );
+		const float m3 = (float)( b.x - c.x ) / (float)( b.y - c.y );
+		float b2 = (float)a.x - m2 * (float)a.y;
+		float b3 = (float)b.x - m3 * (float)b.y;
+		drawFlatDreieckAlpha( b.y, c.y, m2, b2, m3, b3, farbe );
+	}
+	else if( b.y == c.y )
+	{
+		if( c.x < b.x )
+			b.Swap( c );
+		const float m1 = (float)( a.x - b.x ) / (float)( a.y - b.y );
+		const float m2 = (float)( a.x - c.x ) / (float)( a.y - c.y );
+		float b1 = (float)a.x - m1 * (float)a.y;
+		float b2 = (float)a.x - m2 * (float)a.y;
+		drawFlatDreieckAlpha( a.y, b.y, m1, b1, m2, b2, farbe );
+	}
+	else
+	{
+		const float m1 = (float)( a.x - b.x ) / (float)( a.y - b.y );
+		const float m2 = (float)( a.x - c.x ) / (float)( a.y - c.y );
+		const float m3 = (float)( b.x - c.x ) / (float)( b.y - c.y );
+		float b1 = (float)a.x - m1 * (float)a.y;
+		float b2 = (float)a.x - m2 * (float)a.y;
+		float b3 = (float)b.x - m3 * (float)b.y;
+		const float qx = m2 * (float)b.y + b2;
+		if( qx < b.x )
+		{
+			drawFlatDreieckAlpha( a.y, b.y, m2, b2, m1, b1, farbe );
+			drawFlatDreieckAlpha( b.y, c.y, m2, b2, m3, b3, farbe );
+		}
+		else
+		{
+			drawFlatDreieckAlpha( a.y, b.y, m1, b1, m2, b2, farbe );
+			drawFlatDreieckAlpha( b.y, c.y, m3, b3, m2, b2, farbe );
+		}
+	}
+	rend = 1;
 }
 }
 
 
 void Bild::drawDreieckTexturAlpha( Punkt a, Punkt b, Punkt c, Punkt ta, Punkt tb, Punkt tc, Bild &textur ) // füllt eine Dreieck aus
 void Bild::drawDreieckTexturAlpha( Punkt a, Punkt b, Punkt c, Punkt ta, Punkt tb, Punkt tc, Bild &textur ) // füllt eine Dreieck aus
 {
 {
-    if( alpha[ alphaAnzahl ] == 0xFF )
-        return;
-    int dpx = dPosA[ doa ].x;
-    int dpy = dPosA[ doa ].y;
-    int dgx = dGrößeA[ doa ].x;
-    int dgy = dGrößeA[ doa ].y;
-    a += drawOff[ doa ];
-    b += drawOff[ doa ];
-    c += drawOff[ doa ];
-    if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
-        ( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
-        return;
-    if( b.y < a.y )
-    {
-        a.Swap( b );
-        ta.Swap( tb );
-    }
-    if( c.y < b.y )
-    {
-        b.Swap( c );
-        tb.Swap( tc );
-    }
-    if( b.y < a.y )
-    {
-        a.Swap( b );
-        ta.Swap( tb );
-    }
-    const double m1 = (double)( a.x - b.x ) / ( a.y - b.y );
-    const double m2 = (double)( a.x - c.x ) / ( a.y - c.y );
-    const double m3 = (double)( b.x - c.x ) / ( b.y - c.y );
-    double b1 = a.x - m1 * a.y;
-    double b2 = a.x - m2 * a.y;
-    double b3 = b.x - m3 * b.y;
-    const double qx = m2 * b.y + b2;
-    if( qx < b.x )
-    {
-        double tx1o, ty1o, tx2o, ty2o;
-        if( c.y - a.y )
-        {
-            tx1o = (double)( tc.x - ta.x ) / ( c.y - a.y );
-            ty1o = (double)( tc.y - ta.y ) / ( c.y - a.y );
-        }
-        else
-        {
-            tx1o = 0;
-            ty1o = 0;
-        }
-        if( b.y - a.y )
-        {
-            tx2o = (double)( tb.x - ta.x ) / ( b.y - a.y );
-            ty2o = (double)( tb.y - ta.y ) / ( b.y - a.y );
-        }
-        else
-        {
-            tx2o = 0;
-            ty2o = 0;
-        }
-        Vec2< double > q( ta.x + tx1o * ( b.y - a.y ), ta.y + ty1o * ( b.y - a.y ) );
-        double txf, tyf;
-        if( b.x - qx )
-        {
-            txf = ( tb.x - q.x ) / ( b.x - qx );
-            tyf = ( tb.y - q.y ) / ( b.x - qx );
-        }
-        else
-        {
-            txf = 0;
-            tyf = 0;
-        }
-        drawFlatDreieckTexturAlpha( a.y, b.y, m2, b2, m1, b1, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-        if( c.y - b.y )
-        {
-            tx2o = (double)( tc.x - tb.x ) / ( c.y - b.y );
-            ty2o = (double)( tc.y - tb.y ) / ( c.y - b.y );
-        }
-        else
-        {
-            tx2o = 0;
-            ty2o = 0;
-        }
-        drawFlatDreieckTexturAlpha( b.y, c.y, m2, b2, m3, b3, q.x, q.y, tb.x, tb.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-    }
-    else
-    {
-        double tx1o, ty1o, tx2o, ty2o;
-        if( b.y - a.y )
-        {
-            tx1o = (double)( tb.x - ta.x ) / ( b.y - a.y );
-            ty1o = (double)( tb.y - ta.y ) / ( b.y - a.y );
-        }
-        else
-        {
-            tx1o = 0;
-            ty1o = 0;
-        }
-        if( c.y - a.y )
-        {
-            tx2o = (double)( tc.x - ta.x ) / ( c.y - a.y );
-            ty2o = (double)( tc.y - ta.y ) / ( c.y - a.y );
-        }
-        else
-        {
-            tx2o = 0;
-            ty2o = 0;
-        }
-        Vec2< double > q( ta.x + tx2o * ( b.y - a.y ), ta.y + ty2o * ( b.y - a.y ) );
-        double txf, tyf;
-        if( qx - b.x )
-        {
-            txf = ( q.x - tb.x ) / ( qx - b.x );
-            tyf = ( q.y - tb.y ) / ( qx - b.x );
-        }
-        else
-        {
-            txf = 0;
-            tyf = 0;
-        }
-        drawFlatDreieckTexturAlpha( a.y, b.y, m1, b1, m2, b2, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-        if( c.y - b.y )
-        {
-            tx1o = (double)( tc.x - tb.x ) / ( c.y - b.y );
-            ty1o = (double)( tc.y - tb.y ) / ( c.y - b.y );
-        }
-        else
-        {
-            tx1o = 0;
-            ty1o = 0;
-        }
-        drawFlatDreieckTexturAlpha( b.y, c.y, m3, b3, m2, b2, tb.x, tb.y, q.x, q.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
-    }
-    rend = 1;
+	if( alpha[ alphaAnzahl ] == 0xFF )
+		return;
+	int dpx = dPosA[ doa ].x;
+	int dpy = dPosA[ doa ].y;
+	int dgx = dSizeA[ doa ].x;
+	int dgy = dSizeA[ doa ].y;
+	a += drawOff[ doa ];
+	b += drawOff[ doa ];
+	c += drawOff[ doa ];
+	if( ( a.x < dpx && b.x < dpx && c.x < dpx ) || ( a.y < dpy && b.y < dpy && c.y < dpy ) ||
+		( a.x > dgx && b.x > dgx && c.x > dgx ) || ( a.y > dgy && b.y > dgy && c.y > dgy ) )
+		return;
+	if( b.y < a.y )
+	{
+		a.Swap( b );
+		ta.Swap( tb );
+	}
+	if( c.y < b.y )
+	{
+		b.Swap( c );
+		tb.Swap( tc );
+	}
+	if( b.y < a.y )
+	{
+		a.Swap( b );
+		ta.Swap( tb );
+	}
+	const double m1 = (double)( a.x - b.x ) / ( a.y - b.y );
+	const double m2 = (double)( a.x - c.x ) / ( a.y - c.y );
+	const double m3 = (double)( b.x - c.x ) / ( b.y - c.y );
+	double b1 = a.x - m1 * a.y;
+	double b2 = a.x - m2 * a.y;
+	double b3 = b.x - m3 * b.y;
+	const double qx = m2 * b.y + b2;
+	if( qx < b.x )
+	{
+		double tx1o, ty1o, tx2o, ty2o;
+		if( c.y - a.y )
+		{
+			tx1o = (double)( tc.x - ta.x ) / ( c.y - a.y );
+			ty1o = (double)( tc.y - ta.y ) / ( c.y - a.y );
+		}
+		else
+		{
+			tx1o = 0;
+			ty1o = 0;
+		}
+		if( b.y - a.y )
+		{
+			tx2o = (double)( tb.x - ta.x ) / ( b.y - a.y );
+			ty2o = (double)( tb.y - ta.y ) / ( b.y - a.y );
+		}
+		else
+		{
+			tx2o = 0;
+			ty2o = 0;
+		}
+		Vec2< double > q( ta.x + tx1o * ( b.y - a.y ), ta.y + ty1o * ( b.y - a.y ) );
+		double txf, tyf;
+		if( b.x - qx )
+		{
+			txf = ( tb.x - q.x ) / ( b.x - qx );
+			tyf = ( tb.y - q.y ) / ( b.x - qx );
+		}
+		else
+		{
+			txf = 0;
+			tyf = 0;
+		}
+		drawFlatDreieckTexturAlpha( a.y, b.y, m2, b2, m1, b1, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+		if( c.y - b.y )
+		{
+			tx2o = (double)( tc.x - tb.x ) / ( c.y - b.y );
+			ty2o = (double)( tc.y - tb.y ) / ( c.y - b.y );
+		}
+		else
+		{
+			tx2o = 0;
+			ty2o = 0;
+		}
+		drawFlatDreieckTexturAlpha( b.y, c.y, m2, b2, m3, b3, q.x, q.y, tb.x, tb.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+	}
+	else
+	{
+		double tx1o, ty1o, tx2o, ty2o;
+		if( b.y - a.y )
+		{
+			tx1o = (double)( tb.x - ta.x ) / ( b.y - a.y );
+			ty1o = (double)( tb.y - ta.y ) / ( b.y - a.y );
+		}
+		else
+		{
+			tx1o = 0;
+			ty1o = 0;
+		}
+		if( c.y - a.y )
+		{
+			tx2o = (double)( tc.x - ta.x ) / ( c.y - a.y );
+			ty2o = (double)( tc.y - ta.y ) / ( c.y - a.y );
+		}
+		else
+		{
+			tx2o = 0;
+			ty2o = 0;
+		}
+		Vec2< double > q( ta.x + tx2o * ( b.y - a.y ), ta.y + ty2o * ( b.y - a.y ) );
+		double txf, tyf;
+		if( qx - b.x )
+		{
+			txf = ( q.x - tb.x ) / ( qx - b.x );
+			tyf = ( q.y - tb.y ) / ( qx - b.x );
+		}
+		else
+		{
+			txf = 0;
+			tyf = 0;
+		}
+		drawFlatDreieckTexturAlpha( a.y, b.y, m1, b1, m2, b2, ta.x, ta.y, ta.x, ta.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+		if( c.y - b.y )
+		{
+			tx1o = (double)( tc.x - tb.x ) / ( c.y - b.y );
+			ty1o = (double)( tc.y - tb.y ) / ( c.y - b.y );
+		}
+		else
+		{
+			tx1o = 0;
+			ty1o = 0;
+		}
+		drawFlatDreieckTexturAlpha( b.y, c.y, m3, b3, m2, b2, tb.x, tb.y, q.x, q.y, tx1o, ty1o, tx2o, ty2o, txf, tyf, textur );
+	}
+	rend = 1;
 }
 }
 
 
 bool Bild::setDrawOptions( const Punkt &pos, const Punkt &gr ) // setzt die Drawoptionen
 bool Bild::setDrawOptions( const Punkt &pos, const Punkt &gr ) // setzt die Drawoptionen
 {
 {
-    int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
-    int xx = dPosA[ doa ].x, yy = dPosA[ doa ].y;
-    int bb = dGrößeA[ doa ].x, hh = dGrößeA[ doa ].y;
-    if( dx + pos.x + gr.x < 0 || dy + pos.y + gr.y < 0 || dx + pos.x >= größe.x || dy + pos.y >= größe.y )
-        return 0;
-    if( pos.x + gr.x + dx < xx || pos.y + gr.y + dy < yy || dx + pos.x >= bb || dy + pos.y >= hh )
-        return 0;
-    ++doa;
-    assert( doa < 2000 );
-    dPosA[ doa ].x = maxInt( pos.x + dx, xx );
-    dPosA[ doa ].y = maxInt( pos.y + dy, yy );
-    dGrößeA[ doa ].x = minInt( pos.x + gr.x + dx, bb );
-    dGrößeA[ doa ].y = minInt( pos.y + gr.y + dy, hh );
-    drawOff[ doa ].x = dx + pos.x;
-    drawOff[ doa ].y = dy + pos.y;
-    return 1;
-}
-
-bool Bild::setDrawOptions( int x, int y, int br, int hö )
-{
-    int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
-    int xx = dPosA[ doa ].x, yy = dPosA[ doa ].y;
-    int bb = dGrößeA[ doa ].x, hh = dGrößeA[ doa ].y;
-    if( dx + x + br < 0 || dy + y + hö < 0 || dx + x >= größe.x || dy + y >= größe.y )
-        return 0;
-    if( x + br + dx < xx || y + hö + dy < yy || dx + x >= bb || dy + y >= hh )
-        return 0;
-    ++doa;
-    assert( doa < 2000 );
-    dPosA[ doa ].x = maxInt( x + dx, xx );
-    dPosA[ doa ].y = maxInt( y + dy, yy );
-    dGrößeA[ doa ].x = minInt( x + br + dx, bb );
-    dGrößeA[ doa ].y = minInt( y + hö + dy, hh );
-    drawOff[ doa ].x = dx + x;
-    drawOff[ doa ].y = dy + y;
-    return 1;
+	int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
+	int xx = dPosA[ doa ].x, yy = dPosA[ doa ].y;
+	int bb = dSizeA[ doa ].x, hh = dSizeA[ doa ].y;
+	if( dx + pos.x + gr.x < 0 || dy + pos.y + gr.y < 0 || dx + pos.x >= size.x || dy + pos.y >= size.y )
+		return 0;
+	if( pos.x + gr.x + dx < xx || pos.y + gr.y + dy < yy || dx + pos.x >= bb || dy + pos.y >= hh )
+		return 0;
+	++doa;
+	assert( doa < 2000 );
+	dPosA[ doa ].x = maxInt( pos.x + dx, xx );
+	dPosA[ doa ].y = maxInt( pos.y + dy, yy );
+	dSizeA[ doa ].x = minInt( pos.x + gr.x + dx, bb );
+	dSizeA[ doa ].y = minInt( pos.y + gr.y + dy, hh );
+	drawOff[ doa ].x = dx + pos.x;
+	drawOff[ doa ].y = dy + pos.y;
+	return 1;
+}
+
+bool Bild::setDrawOptions( int x, int y, int br, int hi )
+{
+	int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
+	int xx = dPosA[ doa ].x, yy = dPosA[ doa ].y;
+	int bb = dSizeA[ doa ].x, hh = dSizeA[ doa ].y;
+	if( dx + x + br < 0 || dy + y + hi < 0 || dx + x >= size.x || dy + y >= size.y )
+		return 0;
+	if( x + br + dx < xx || y + hi + dy < yy || dx + x >= bb || dy + y >= hh )
+		return 0;
+	++doa;
+	assert( doa < 2000 );
+	dPosA[ doa ].x = maxInt( x + dx, xx );
+	dPosA[ doa ].y = maxInt( y + dy, yy );
+	dSizeA[ doa ].x = minInt( x + br + dx, bb );
+	dSizeA[ doa ].y = minInt( y + hi + dy, hh );
+	drawOff[ doa ].x = dx + x;
+	drawOff[ doa ].y = dy + y;
+	return 1;
 }
 }
 
 
 bool Bild::setDrawOptionsErzwingen( const Punkt &pos, const Punkt &gr ) // setzt die Drawoptionen
 bool Bild::setDrawOptionsErzwingen( const Punkt &pos, const Punkt &gr ) // setzt die Drawoptionen
 {
 {
-    int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
-    if( dx + pos.x + gr.x < 0 || dy + pos.y + gr.y < 0 || dx + pos.x >= größe.x || dy + pos.y >= größe.y )
-        return 0;
-    ++doa;
-    assert( doa < 2000 );
-    dPosA[ doa ].x = maxInt( pos.x + dx, 0 );
-    dPosA[ doa ].y = maxInt( pos.y + dy, 0 );
-    dGrößeA[ doa ].x = minInt( pos.x + gr.x + dx, größe.x );
-    dGrößeA[ doa ].y = minInt( pos.y + gr.y + dy, größe.y );
-    drawOff[ doa ].x = dx + pos.x;
-    drawOff[ doa ].y = dy + pos.y;
-    return 1;
-}
-
-bool Bild::setDrawOptionsErzwingen( int x, int y, int br, int hö ) // setzt die Drawoptionen
-{
-    int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
-    if( dx + x + br < 0 || dy + y + hö < 0 || dx + x >= größe.x || dy + y >= größe.y )
-        return 0;
-    ++doa;
-    assert( doa < 2000 );
-    dPosA[ doa ].x = maxInt( x + dx, 0 );
-    dPosA[ doa ].y = maxInt( y + dy, 0 );
-    dGrößeA[ doa ].x = minInt( x + br + dx, größe.x );
-    dGrößeA[ doa ].y = minInt( y + hö + dy, größe.y );
-    drawOff[ doa ].x = dx + x;
-    drawOff[ doa ].y = dy + y;
-    return 1;
+	int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
+	if( dx + pos.x + gr.x < 0 || dy + pos.y + gr.y < 0 || dx + pos.x >= size.x || dy + pos.y >= size.y )
+		return 0;
+	++doa;
+	assert( doa < 2000 );
+	dPosA[ doa ].x = maxInt( pos.x + dx, 0 );
+	dPosA[ doa ].y = maxInt( pos.y + dy, 0 );
+	dSizeA[ doa ].x = minInt( pos.x + gr.x + dx, size.x );
+	dSizeA[ doa ].y = minInt( pos.y + gr.y + dy, size.y );
+	drawOff[ doa ].x = dx + pos.x;
+	drawOff[ doa ].y = dy + pos.y;
+	return 1;
+}
+
+bool Bild::setDrawOptionsErzwingen( int x, int y, int br, int hi ) // setzt die Drawoptionen
+{
+	int dx = drawOff[ doa ].x, dy = drawOff[ doa ].y;
+	if( dx + x + br < 0 || dy + y + hi < 0 || dx + x >= size.x || dy + y >= size.y )
+		return 0;
+	++doa;
+	assert( doa < 2000 );
+	dPosA[ doa ].x = maxInt( x + dx, 0 );
+	dPosA[ doa ].y = maxInt( y + dy, 0 );
+	dSizeA[ doa ].x = minInt( x + br + dx, size.x );
+	dSizeA[ doa ].y = minInt( y + hi + dy, size.y );
+	drawOff[ doa ].x = dx + x;
+	drawOff[ doa ].y = dy + y;
+	return 1;
 }
 }
 
 
 void Bild::addScrollOffset( int xOff, int yOff ) // setzt ScrollOffset
 void Bild::addScrollOffset( int xOff, int yOff ) // setzt ScrollOffset
 {
 {
-    drawOff[ doa ].x -= xOff;
-    drawOff[ doa ].y -= yOff;
+	drawOff[ doa ].x -= xOff;
+	drawOff[ doa ].y -= yOff;
 }
 }
 
 
 void Bild::releaseDrawOptions() // setzt die Drawoptionen zurück
 void Bild::releaseDrawOptions() // setzt die Drawoptionen zurück
 {
 {
-    --doa;
+	--doa;
 }
 }
 
 
 bool Bild::getRend()
 bool Bild::getRend()
 {
 {
-    bool ret = rend;
-    rend = 0;
-    return ret;
+	bool ret = rend;
+	rend = 0;
+	return ret;
 }
 }
 
 
 // constant 
 // constant 
 int *Bild::getBuffer()const // gibt buffer zurück
 int *Bild::getBuffer()const // gibt buffer zurück
 {
 {
-    return fc;
+	return fc;
 }
 }
 
 
 int Bild::getPixel( int x, int y ) const
 int Bild::getPixel( int x, int y ) const
 {
 {
-    if( x < 0 || y < 0 || x >= größe.x || y >= größe.y )
-        return 0;
-    return fc[ x + y * größe.x ];
+	if( x < 0 || y < 0 || x >= size.x || y >= size.y )
+		return 0;
+	return fc[ x + y * size.x ];
 }
 }
 
 
-const Punkt &Bild::getGröße() const // gibt die Größe zurück
+const Punkt &Bild::getSize() const // gibt die Größe zurück
 {
 {
-    return größe;
+	return size;
 }
 }
 
 
 int Bild::getBreite() const // gibt die Breite zurück
 int Bild::getBreite() const // gibt die Breite zurück
 {
 {
-    return größe.x;
+	return size.x;
 }
 }
 
 
-int Bild::getHöhe() const // gibt die Höhe zurück
+int Bild::getHeight() const // gibt die Höhe zurück
 {
 {
-    return größe.y;
+	return size.y;
 }
 }
 
 
 unsigned char Bild::getAlpha() const // gibt den Alpha wert zurück
 unsigned char Bild::getAlpha() const // gibt den Alpha wert zurück
 {
 {
-    return 255 - alpha[ alphaAnzahl ];
+	return (unsigned char)( 255 - alpha[ alphaAnzahl ] );
 }
 }
 
 
 const Punkt &Bild::getDrawPos() const
 const Punkt &Bild::getDrawPos() const
 {
 {
-    return dPosA[ doa ];
+	return dPosA[ doa ];
 }
 }
 
 
 const Punkt &Bild::getDrawGr() const
 const Punkt &Bild::getDrawGr() const
 {
 {
-    return dGrößeA[ doa ];
+	return dSizeA[ doa ];
 }
 }
 
 
 const Punkt &Bild::getDrawOff() const
 const Punkt &Bild::getDrawOff() const
 {
 {
-    return drawOff[ doa ];
+	return drawOff[ doa ];
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 Bild *Bild::getThis()
 Bild *Bild::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 Bild *Bild::release()
 Bild *Bild::release()
 {
 {
-    --ref;
-    if( ref < 1 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref < 1 )
+		delete this;
+	return 0;
 }
 }
 
 
 
 
@@ -1968,246 +1968,246 @@ Bild *Bild::release()
 // Inhalt der BildZ Klasse aus Bild.h
 // Inhalt der BildZ Klasse aus Bild.h
 // Konstruktor 
 // Konstruktor 
 BildZ::BildZ()
 BildZ::BildZ()
-    : ZeichnungHintergrund(),
-    bild( 0 ),
-    ref( 1 )
+	: ZeichnungHintergrund(),
+	bild( 0 ),
+	ref( 1 )
 {
 {
-    style = 0;
-    Mak = _ret1ME;
+	style = 0;
+	Mak = _ret1ME;
 }
 }
 
 
 // Destruktor 
 // Destruktor 
 BildZ::~BildZ()
 BildZ::~BildZ()
 {
 {
-    if( bild )
-        bild->release();
+	if( bild )
+		bild->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void BildZ::setBildZ( Bild *b ) // setzt das Bild
 void BildZ::setBildZ( Bild *b ) // setzt das Bild
 {
 {
-    if( bild )
-        bild->release();
-    bild = b;
-    if( !vertikalScrollBar )
-        vertikalScrollBar = new VScrollBar();
-    if( !horizontalScrollBar )
-        horizontalScrollBar = new HScrollBar();
-    horizontalScrollBar->getScrollData()->max = b->getBreite();
-    vertikalScrollBar->getScrollData()->max = b->getHöhe();
-    rend = 1;
+	if( bild )
+		bild->release();
+	bild = b;
+	if( !vertikalScrollBar )
+		vertikalScrollBar = new VScrollBar();
+	if( !horizontalScrollBar )
+		horizontalScrollBar = new HScrollBar();
+	horizontalScrollBar->getScrollData()->max = b->getBreite();
+	vertikalScrollBar->getScrollData()->max = b->getHeight();
+	rend = 1;
 }
 }
 
 
 void BildZ::setBild( Bild *b )
 void BildZ::setBild( Bild *b )
 {
 {
-    if( !bild )
-        bild = new Bild();
-    bild->neuBild( b->getBreite(), b->getHöhe(), 0 );
-    bild->drawBild( 0, 0, b->getBreite(), b->getHöhe(), *b );
-    if( !vertikalScrollBar )
-        vertikalScrollBar = new VScrollBar();
-    if( !horizontalScrollBar )
-        horizontalScrollBar = new HScrollBar();
-    horizontalScrollBar->getScrollData()->max = b->getBreite();
-    vertikalScrollBar->getScrollData()->max = b->getHöhe();
-    b->release();
-    rend = 1;
+	if( !bild )
+		bild = new Bild();
+	bild->neuBild( b->getBreite(), b->getHeight(), 0 );
+	bild->drawBild( 0, 0, b->getBreite(), b->getHeight(), *b );
+	if( !vertikalScrollBar )
+		vertikalScrollBar = new VScrollBar();
+	if( !horizontalScrollBar )
+		horizontalScrollBar = new HScrollBar();
+	horizontalScrollBar->getScrollData()->max = b->getBreite();
+	vertikalScrollBar->getScrollData()->max = b->getHeight();
+	b->release();
+	rend = 1;
 }
 }
 
 
 bool BildZ::tick( double tickVal ) // tick
 bool BildZ::tick( double tickVal ) // tick
 {
 {
-    return __super::tick( tickVal );
+	return __super::tick( tickVal );
 }
 }
 
 
 void BildZ::doMausEreignis( MausEreignis &me ) // ruft Mak auf
 void BildZ::doMausEreignis( MausEreignis &me ) // ruft Mak auf
 {
 {
-    if( me.verarbeitet || !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) )
-    {
-        if( mausIn )
-        {
-            mausIn = 0;
-            MausEreignis me2;
-            me2.id = ME_Verlässt;
-            me2.mx = me.mx;
-            me2.my = me.my;
-            me2.verarbeitet = 0;
-            doMausEreignis( me2 );
-            return;
-        }
-    }
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt )
-    {
-        return;
-    }
-    if( !mausIn && me.id != ME_Verlässt )
-    {
-        mausIn = 1;
-        MausEreignis me2;
-        me2.id = ME_Betritt;
-        me2.mx = me.mx;
-        me2.my = me.my;
-        me2.verarbeitet = 0;
-        doMausEreignis( me2 );
-    }
-    me.mx -= pos.x;
-    me.my -= pos.y;
-    if( hatStyle( Style::Sichtbar ) )
-    {
-        if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
-        {
-            if( me.id != ME_Betritt && me.id != ME_Verlässt )
-            {
-                lockZeichnung();
-                int rbr = 0;
-                if( hatStyle( Style::Rahmen ) && rahmen )
-                    rbr = rahmen->getRBreite();
-                bool vs = hatStyle( Style::VScroll ) && vertikalScrollBar;
-                bool hs = hatStyle( Style::HScroll ) && horizontalScrollBar;
-                if( vs )
-                {
-                    if( hs )
-                        horizontalScrollBar->doMausMessage( rbr, gr.y - rbr - 15, gr.x - rbr * 2 - 15, 15, me );
-                    vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me );
-                }
-                else if( hs )
-                    horizontalScrollBar->doMausMessage( rbr, gr.y - rbr - 15, gr.x - rbr * 2, 15, me );
-                unlockZeichnung();
-                if( vs || hs )
-                    me.verarbeitet = 1;
-            }
-        }
-    }
-    me.mx += pos.x;
-    me.my += pos.y;
+	if( me.verarbeitet || !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) )
+	{
+		if( mausIn )
+		{
+			mausIn = 0;
+			MausEreignis me2;
+			me2.id = ME_Leaves;
+			me2.mx = me.mx;
+			me2.my = me.my;
+			me2.verarbeitet = 0;
+			doMausEreignis( me2 );
+			return;
+		}
+	}
+	if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves )
+	{
+		return;
+	}
+	if( !mausIn && me.id != ME_Leaves )
+	{
+		mausIn = 1;
+		MausEreignis me2;
+		me2.id = ME_Betritt;
+		me2.mx = me.mx;
+		me2.my = me.my;
+		me2.verarbeitet = 0;
+		doMausEreignis( me2 );
+	}
+	me.mx -= pos.x;
+	me.my -= pos.y;
+	if( hatStyle( Style::Sichtbar ) )
+	{
+		if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
+		{
+			if( me.id != ME_Betritt && me.id != ME_Leaves )
+			{
+				lockZeichnung();
+				int rbr = 0;
+				if( hatStyle( Style::Rahmen ) && rahmen )
+					rbr = rahmen->getRBreite();
+				bool vs = hatStyle( Style::VScroll ) && vertikalScrollBar;
+				bool hs = hatStyle( Style::HScroll ) && horizontalScrollBar;
+				if( vs )
+				{
+					if( hs )
+						horizontalScrollBar->doMausMessage( rbr, gr.y - rbr - 15, gr.x - rbr * 2 - 15, 15, me );
+					vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me );
+				}
+				else if( hs )
+					horizontalScrollBar->doMausMessage( rbr, gr.y - rbr - 15, gr.x - rbr * 2, 15, me );
+				unlockZeichnung();
+				if( vs || hs )
+					me.verarbeitet = 1;
+			}
+		}
+	}
+	me.mx += pos.x;
+	me.my += pos.y;
 }
 }
 
 
 void BildZ::render( Bild &zRObj ) // zeichnet nach zRObj
 void BildZ::render( Bild &zRObj ) // zeichnet nach zRObj
 {
 {
-    if( hatStyle( Style::Sichtbar ) )
-    {
-        __super::render( zRObj );
-        lockZeichnung();
-        if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
-        {
-            unlockZeichnung();
-            return;
-        }
-        if( bild )
-        {
-            int x = 0;
-            int y = 0;
-            int br = innenGröße.x;
-            int hö = innenGröße.y;
-            if( !( vertikalScrollBar && hatStyle( Style::VScroll ) ) && !( horizontalScrollBar && hatStyle( Style::HScroll ) ) )
-            {
-                if( hatStyle( Style::Alpha ) )
-                    zRObj.alphaBild( x, y, br, hö, *bild );
-                else
-                    zRObj.drawBild( x, y, br, hö, *bild );
-            }
-            else
-            {
-                if( !zRObj.setDrawOptions( x, y, br, hö ) )
-                {
-                    zRObj.releaseDrawOptions();
-                    unlockZeichnung();
-                    return;
-                }
-                if( hatStyle( Style::Alpha ) )
-                    zRObj.alphaBild( -horizontalScrollBar->getScroll(), -vertikalScrollBar->getScroll(), bild->getBreite(), bild->getHöhe(), *bild );
-                else
-                    zRObj.drawBild( -horizontalScrollBar->getScroll(), -vertikalScrollBar->getScroll(), bild->getBreite(), bild->getHöhe(), *bild );
-                zRObj.releaseDrawOptions();
-            }
-        }
-        zRObj.releaseDrawOptions();
-        unlockZeichnung();
-    }
+	if( hatStyle( Style::Sichtbar ) )
+	{
+		__super::render( zRObj );
+		lockZeichnung();
+		if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
+		{
+			unlockZeichnung();
+			return;
+		}
+		if( bild )
+		{
+			int x = 0;
+			int y = 0;
+			int br = innenSize.x;
+			int hö = innenSize.y;
+			if( !( vertikalScrollBar && hatStyle( Style::VScroll ) ) && !( horizontalScrollBar && hatStyle( Style::HScroll ) ) )
+			{
+				if( hatStyle( Style::Alpha ) )
+					zRObj.alphaBild( x, y, br, hö, *bild );
+				else
+					zRObj.drawBild( x, y, br, hö, *bild );
+			}
+			else
+			{
+				if( !zRObj.setDrawOptions( x, y, br, hö ) )
+				{
+					zRObj.releaseDrawOptions();
+					unlockZeichnung();
+					return;
+				}
+				if( hatStyle( Style::Alpha ) )
+					zRObj.alphaBild( -horizontalScrollBar->getScroll(), -vertikalScrollBar->getScroll(), bild->getBreite(), bild->getHeight(), *bild );
+				else
+					zRObj.drawBild( -horizontalScrollBar->getScroll(), -vertikalScrollBar->getScroll(), bild->getBreite(), bild->getHeight(), *bild );
+				zRObj.releaseDrawOptions();
+			}
+		}
+		zRObj.releaseDrawOptions();
+		unlockZeichnung();
+	}
 }
 }
 
 
 // constant 
 // constant 
 Bild *BildZ::getBild() const // gibt das Bild zurück
 Bild *BildZ::getBild() const // gibt das Bild zurück
 {
 {
-    if( bild )
-        return bild->getThis();
-    return 0;
+	if( bild )
+		return bild->getThis();
+	return 0;
 }
 }
 
 
 Bild *BildZ::zBild() const
 Bild *BildZ::zBild() const
 {
 {
-    return bild;
+	return bild;
 }
 }
 
 
 Zeichnung *BildZ::dublizieren() const // erstellt eine Kopie des Zeichnungs
 Zeichnung *BildZ::dublizieren() const // erstellt eine Kopie des Zeichnungs
 {
 {
-    BildZ *obj = new BildZ();
-    obj->setPosition( pos );
-    obj->setGröße( gr );
-    obj->setMausEreignisParameter( makParam );
-    obj->setTastaturEreignisParameter( takParam );
-    obj->setMausEreignis( Mak );
-    obj->setTastaturEreignis( Tak );
-    if( toolTip )
-        obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
-    obj->setStyle( style );
-    obj->setHintergrundFarbe( hintergrundFarbe );
-    if( hintergrundFeld )
-        obj->setAlphaFeldZ( (AlphaFeld*)hintergrundFeld->dublizieren() );
-    if( rahmen )
-        obj->setLinienRahmenZ( (LRahmen*)rahmen->dublizieren() );
-    if( hintergrundBild )
-        obj->setHintergrundBild( hintergrundBild->getThis() );
-    if( bild )
-        obj->setBild( bild->getThis() );
-    obj->setStyle( style );
-    return obj;
+	BildZ *obj = new BildZ();
+	obj->setPosition( pos );
+	obj->setSize( gr );
+	obj->setMausEreignisParameter( makParam );
+	obj->setTastaturEreignisParameter( takParam );
+	obj->setMausEreignis( Mak );
+	obj->setTastaturEreignis( Tak );
+	if( toolTip )
+		obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
+	obj->setStyle( style );
+	obj->setHintergrundFarbe( hintergrundFarbe );
+	if( hintergrundFeld )
+		obj->setAlphaFeldZ( (AlphaFeld*)hintergrundFeld->dublizieren() );
+	if( rahmen )
+		obj->setLinienRahmenZ( (LRahmen*)rahmen->dublizieren() );
+	if( hintergrundBild )
+		obj->setHintergrundBild( hintergrundBild->getThis() );
+	if( bild )
+		obj->setBild( bild->getThis() );
+	obj->setStyle( style );
+	return obj;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 BildZ *BildZ::getThis()
 BildZ *BildZ::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 BildZ *BildZ::release()
 BildZ *BildZ::release()
 {
 {
-    --ref;
-    if( !ref )
-        delete this;
-    return 0;
+	--ref;
+	if( !ref )
+		delete this;
+	return 0;
 }
 }
 
 
 
 
 Bild *Framework::ladeBild( char *pfad, Text *zError )
 Bild *Framework::ladeBild( char *pfad, Text *zError )
 {
 {
-    Text p = pfad;
-    Text *txt = p.getTeilText( p.positionVon( '.', p.anzahlVon( '.' ) - 1 ) );
-    if( !( txt->istGleich( ".bmp" ) || txt->istGleich( ".jpg" ) || txt->istGleich( ".gif" ) || txt->istGleich( ".png" ) ) )
-    {
-        zError->setText( "Die Angegebene Datei ist keine gueltige Bilddatei!" );
-        txt->release();
-        return 0;
-    }
-    txt->release();
-    wchar_t *name = new wchar_t[ p.getLänge() + 1 ];
-    for( int i = 0; i < p.getLänge(); i++ )
-        name[ i ] = (wchar_t)p.getText()[ i ];
-    name[ p.getLänge() ] = '\0';
-
-    Gdiplus::Bitmap bitmap( name );
-    Gdiplus::Color pix;
-    delete[]name;
-
-    Bild *ret = new Bild();
-    ret->neuBild( bitmap.GetWidth(), bitmap.GetHeight(), 0 );
-    int *buff = ret->getBuffer();
-    for( unsigned int i = 0; i < bitmap.GetWidth() * bitmap.GetHeight(); i++ )
-    {
-        bitmap.GetPixel( i % bitmap.GetWidth(), i / bitmap.GetWidth(), &pix );
-        buff[ i ] = pix.GetValue();
-    }
-    return ret;
+	Text p = pfad;
+	Text *txt = p.getTeilText( p.positionVon( '.', p.anzahlVon( '.' ) - 1 ) );
+	if( !( txt->istGleich( ".bmp" ) || txt->istGleich( ".jpg" ) || txt->istGleich( ".gif" ) || txt->istGleich( ".png" ) ) )
+	{
+		zError->setText( "Die Angegebene Datei ist keine gueltige Bilddatei!" );
+		txt->release();
+		return 0;
+	}
+	txt->release();
+	wchar_t *name = new wchar_t[ p.getLength() + 1 ];
+	for( int i = 0; i < p.getLength(); i++ )
+		name[ i ] = (wchar_t)p.getText()[ i ];
+	name[ p.getLength() ] = '\0';
+
+	Gdiplus::Bitmap bitmap( name );
+	Gdiplus::Color pix;
+	delete[]name;
+
+	Bild *ret = new Bild();
+	ret->neuBild( bitmap.GetWidth(), bitmap.GetHeight(), 0 );
+	int *buff = ret->getBuffer();
+	for( unsigned int i = 0; i < bitmap.GetWidth() * bitmap.GetHeight(); i++ )
+	{
+		bitmap.GetPixel( i % bitmap.GetWidth(), i / bitmap.GetWidth(), &pix );
+		buff[ i ] = pix.GetValue();
+	}
+	return ret;
 }
 }
 
 
 #endif
 #endif

+ 45 - 45
Bild.h

@@ -27,11 +27,11 @@ namespace Framework
     private:
     private:
         int *fc;
         int *fc;
         bool delFc;
         bool delFc;
-        Punkt größe;
+        Punkt size;
         int ref;
         int ref;
         Punkt *drawOff;
         Punkt *drawOff;
         Punkt *dPosA;
         Punkt *dPosA;
-        Punkt *dGrößeA;
+        Punkt *dSizeA;
         int doa;
         int doa;
         unsigned char *alpha;
         unsigned char *alpha;
         int alphaAnzahl;
         int alphaAnzahl;
@@ -41,15 +41,15 @@ namespace Framework
         // privat
         // privat
         inline void alphaPixelP( int x, int y, int f );
         inline void alphaPixelP( int x, int y, int f );
         inline void alphaPixelP( int &fc, int f );
         inline void alphaPixelP( int &fc, int f );
-        inline char getOutCode( Punkt& p ) const;
+        inline char getOutCode( Punkt p ) const;
         void drawFlatDreieck( int y1, int y2, float m1, float b1, float m2, float b2, int farbe );
         void drawFlatDreieck( int y1, int y2, float m1, float b1, float m2, float b2, int farbe );
         void drawFlatDreieckTextur( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
         void drawFlatDreieckTextur( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
                                     double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur );
                                     double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur );
         void drawFlatDreieckAlpha( int y1, int y2, float m1, float b1, float m2, float b2, int farbe );
         void drawFlatDreieckAlpha( int y1, int y2, float m1, float b1, float m2, float b2, int farbe );
         void drawFlatDreieckTexturAlpha( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
         void drawFlatDreieckTexturAlpha( int y1, int y2, double m1, double b1, double m2, double b2, double tx1, double ty1, double tx2, double ty2,
                                          double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur );
                                          double tx_1o, double ty_1o, double tx_2o, double ty_2o, double txf, double tyf, Bild &textur );
-        void drawLinieHTextur( Vec2< double > p, double län, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur );
-        void drawLinieHTexturAlpha( Vec2< double > p, double län, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur );
+        void drawLinieHTextur( Vec2< double > p, double length, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur );
+        void drawLinieHTexturAlpha( Vec2< double > p, double length, Vec2< double > ta, Vec2< double > tb, double txo, double tyo, Bild &textur );
 
 
     public:
     public:
         // Konstruktor
         // Konstruktor
@@ -70,13 +70,13 @@ namespace Framework
         //  buffer: Ein Array mit den A8R8G8B8 Farbwerten
         //  buffer: Ein Array mit den A8R8G8B8 Farbwerten
         //  deleteBuffer: 1, fals der Array vom Bild gelöscht werden soll
         //  deleteBuffer: 1, fals der Array vom Bild gelöscht werden soll
         //  breite: Die Breite in Pixeln
         //  breite: Die Breite in Pixeln
-        //  höhe: Die Höhe in Pixeln
-        __declspec( dllexport ) void setPixelBuffer( int *buffer, bool deleteBuffer, int breite, int höhe );
+        //  height: Die Höhe in Pixeln
+        __declspec( dllexport ) void setPixelBuffer( int *buffer, bool deleteBuffer, int breite, int height );
         // Erstellt ein neues Bild
         // Erstellt ein neues Bild
         //  breite: Die Breite des Bildes in Pixeln
         //  breite: Die Breite des Bildes in Pixeln
         //  höhe: Die Höhe des Bildes in Pixeln
         //  höhe: Die Höhe des Bildes in Pixeln
-        //  füllFarbe: Die startfarbe, auf die alle Pixel gesetzt werden
-        __declspec( dllexport ) void neuBild( int breite, int höhe, int füllFarbe );
+        //  fillColor: Die startfarbe, auf die alle Pixel gesetzt werden
+        __declspec( dllexport ) void neuBild( int breite, int height, int fillColor );
         // Blendet mittels Alphablending eine Farbe auf einen bestimmten Pixel
         // Blendet mittels Alphablending eine Farbe auf einen bestimmten Pixel
         // Beachtet nicht die begrenzung der Zeichnenfläche und das Skroll Offset
         // Beachtet nicht die begrenzung der Zeichnenfläche und das Skroll Offset
         //  x: Die X Koordinate des Pixels
         //  x: Die X Koordinate des Pixels
@@ -115,7 +115,7 @@ namespace Framework
         //  b: Die Breite des Rechtecks
         //  b: Die Breite des Rechtecks
         //  h: Die Höhe des Rechtecks
         //  h: Die Höhe des Rechtecks
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
-        __declspec( dllexport ) void füllRegion( int x, int y, int b, int h, int fc );
+        __declspec( dllexport ) void fillRegion( int x, int y, int b, int h, int fc );
         // Blendet eine Farbe mit Alphablending in einem Rechteck
         // Blendet eine Farbe mit Alphablending in einem Rechteck
         //  x: Die X Koordinate
         //  x: Die X Koordinate
         //  y: Die Y Koordinate
         //  y: Die Y Koordinate
@@ -126,27 +126,27 @@ namespace Framework
         // Zeichnet eine horizontale Linie
         // Zeichnet eine horizontale Linie
         //  x: Die X Koordinate des Startpunktes der Linie
         //  x: Die X Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
-        //  län: Die Länge der Linie
+        //  length: Die Länge der Linie
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
-        __declspec( dllexport ) void drawLinieH( int x, int y, int län, int fc );
+        __declspec( dllexport ) void drawLinieH( int x, int y, int length, int fc );
         // Zeichnet eine vertikale Linie
         // Zeichnet eine vertikale Linie
         //  x: Die X Koordinate des Startpunktes der Linie
         //  x: Die X Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
-        //  län: Die Länge der Linie
+        //  length: Die Länge der Linie
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
-        __declspec( dllexport ) void drawLinieV( int x, int y, int län, int fc );
+        __declspec( dllexport ) void drawLinieV( int x, int y, int length, int fc );
         // Zeichnet eine horizontale Linie mit Alpha blending
         // Zeichnet eine horizontale Linie mit Alpha blending
         //  x: Die X Koordinate des Startpunktes der Linie
         //  x: Die X Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
-        //  län: Die Länge der Linie
+        //  length: Die Länge der Linie
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
-        __declspec( dllexport ) void drawLinieHAlpha( int x, int y, int län, int fc );
+        __declspec( dllexport ) void drawLinieHAlpha( int x, int y, int length, int fc );
         // Zeichnet eine vertikale Linie mit Alpha Blending
         // Zeichnet eine vertikale Linie mit Alpha Blending
         //  x: Die X Koordinate des Startpunktes der Linie
         //  x: Die X Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
         //  y: Die Y Koordinate des Startpunktes der Linie
-        //  län: Die Länge der Linie
+        //  length: Die Länge der Linie
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
-        __declspec( dllexport ) void drawLinieVAlpha( int x, int y, int län, int fc );
+        __declspec( dllexport ) void drawLinieVAlpha( int x, int y, int length, int fc );
         // Zeichnet eine Linie
         // Zeichnet eine Linie
         //  a: Der Startpunkt der Linie
         //  a: Der Startpunkt der Linie
         //  b: der Endpunkt der Linie
         //  b: der Endpunkt der Linie
@@ -162,7 +162,7 @@ namespace Framework
         //  yOff: Die Y Koordinate des Kreismittelpunktes
         //  yOff: Die Y Koordinate des Kreismittelpunktes
         //  r: Der Radius des Kreises in Pixeln
         //  r: Der Radius des Kreises in Pixeln
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
-        __declspec( dllexport ) void füllKreis( int xOff, int yOff, int r, int fc );
+        __declspec( dllexport ) void fillCircle( int xOff, int yOff, int r, int fc );
         // Zeichnet den Umriss eines Kreises
         // Zeichnet den Umriss eines Kreises
         //  xOff: Die X Koordinate des Kreismittelpunktes
         //  xOff: Die X Koordinate des Kreismittelpunktes
         //  yOff: Die Y Koordinate des Kreismittelpunktes
         //  yOff: Die Y Koordinate des Kreismittelpunktes
@@ -179,72 +179,72 @@ namespace Framework
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void drawBild( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void drawBild( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild in ein bestimmtes Feld ohne Skallierung mit alpha blending
         // Zeichnet ein Bild in ein bestimmtes Feld ohne Skallierung mit alpha blending
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void alphaBild( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void alphaBild( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild um 90 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung
         // Zeichnet ein Bild um 90 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void drawBild90( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void drawBild90( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild um 90 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung mit alpha Blending
         // Zeichnet ein Bild um 90 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung mit alpha Blending
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void alphaBild90( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void alphaBild90( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild um 180 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung
         // Zeichnet ein Bild um 180 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void drawBild180( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void drawBild180( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild um 180 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung mit alpha Blending
         // Zeichnet ein Bild um 180 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung mit alpha Blending
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void alphaBild180( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void alphaBild180( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild um 270 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung
         // Zeichnet ein Bild um 270 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void drawBild270( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void drawBild270( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild um 270 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung mit alpha Blending
         // Zeichnet ein Bild um 270 grad nach rechts gedreht in ein bestimmtes Feld ohne Skallierung mit alpha Blending
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void alphaBild270( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void alphaBild270( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild in ein bestimmtes Feld mit Skallierung
         // Zeichnet ein Bild in ein bestimmtes Feld mit Skallierung
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void drawBildSkall( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void drawBildSkall( int x, int y, int br, int hi, Bild &zBild );
         // Zeichnet ein Bild in ein bestimmtes Feld mit Skallierung mit Alpha Blending
         // Zeichnet ein Bild in ein bestimmtes Feld mit Skallierung mit Alpha Blending
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  x: Die X Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  y: Die Y Koordinate der linken oberen Ecke des Rechtecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
         //  br: Die Breite des Rechecks in dem das Bild gezeichnet werden soll
-        //  hö: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
+        //  hi: Die Höhe des Rechecks in dem das Bild gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
         //  zBild: Das Bild, was gezeichnet werden soll
-        __declspec( dllexport ) void alphaBildSkall( int x, int y, int br, int hö, Bild &zBild );
+        __declspec( dllexport ) void alphaBildSkall( int x, int y, int br, int hi, Bild &zBild );
         // Füllt ein Dreieck mit einer bestimmten Farbe
         // Füllt ein Dreieck mit einer bestimmten Farbe
         //  a: Eine Ecke des Dreiecks
         //  a: Eine Ecke des Dreiecks
         //  b: Eine Ecke des Dreiecks
         //  b: Eine Ecke des Dreiecks
@@ -286,9 +286,9 @@ namespace Framework
         //  x: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  x: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  y: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  y: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  br: Die Breite der Zeichenfläche
         //  br: Die Breite der Zeichenfläche
-        //  hö: Die Höhe der Zeichenfläche
+        //  hi: Die Höhe der Zeichenfläche
         //  return: 1, falls die neue Zeichenfläche ganz oder teilweise innerhalb der bestehenden Zeichenfläche ligt. Wenn 0 zurückgegeben wird, wurde die Zeichenfläche nicht gesetzt und es braucht nicht releaseDrawOptions() aufgerufen werden
         //  return: 1, falls die neue Zeichenfläche ganz oder teilweise innerhalb der bestehenden Zeichenfläche ligt. Wenn 0 zurückgegeben wird, wurde die Zeichenfläche nicht gesetzt und es braucht nicht releaseDrawOptions() aufgerufen werden
-        __declspec( dllexport ) bool setDrawOptions( int x, int y, int br, int hö );
+        __declspec( dllexport ) bool setDrawOptions( int x, int y, int br, int hi );
         // Begrenzt die Zeichenfläche in die bis zum nächsten aufruf von releaseDrawOptions() gezeichnet werden kann. Alles außerhalb der Fläche wird automatisch ignoriert.
         // Begrenzt die Zeichenfläche in die bis zum nächsten aufruf von releaseDrawOptions() gezeichnet werden kann. Alles außerhalb der Fläche wird automatisch ignoriert.
         // Wenn die Zeichenfläche darf über den Rand einer bestehenden Zeichenfläche hinausragen
         // Wenn die Zeichenfläche darf über den Rand einer bestehenden Zeichenfläche hinausragen
         //  pos: Die Koordinaten der linken oberen Ecke der Zeichenfläche
         //  pos: Die Koordinaten der linken oberen Ecke der Zeichenfläche
@@ -300,9 +300,9 @@ namespace Framework
         //  x: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  x: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  y: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  y: Die X Koordinate der linken oberen Ecke der Zeichenfläche
         //  br: Die Breite der Zeichenfläche
         //  br: Die Breite der Zeichenfläche
-        //  hö: Die Höhe der Zeichenfläche
+        //  hi: Die Höhe der Zeichenfläche
         //  return: 1, falls die neue Zeichenfläche ganz oder teilweise innerhalb des Bildes ligt. Wenn 0 zurückgegeben wird, wurde die Zeichenfläche nicht gesetzt und es braucht nicht releaseDrawOptions() aufgerufen werden
         //  return: 1, falls die neue Zeichenfläche ganz oder teilweise innerhalb des Bildes ligt. Wenn 0 zurückgegeben wird, wurde die Zeichenfläche nicht gesetzt und es braucht nicht releaseDrawOptions() aufgerufen werden
-        __declspec( dllexport ) bool setDrawOptionsErzwingen( int x, int y, int br, int hö );
+        __declspec( dllexport ) bool setDrawOptionsErzwingen( int x, int y, int br, int hi );
         // Setzt Koordinaten, die bei den Zeichenfunktionen von den Positionen abgezogen werden
         // Setzt Koordinaten, die bei den Zeichenfunktionen von den Positionen abgezogen werden
         // Vorher sollte eine Zeichenfläche mit SetDrawOptions gesetzt worden sein. Die Werte werden mit dem aufruf von releaseDrawOptions() wieder zurückgesetzt.
         // Vorher sollte eine Zeichenfläche mit SetDrawOptions gesetzt worden sein. Die Werte werden mit dem aufruf von releaseDrawOptions() wieder zurückgesetzt.
         //  xOff: Ein Wert, der von allen X Koordinaten abgezogen wird
         //  xOff: Ein Wert, der von allen X Koordinaten abgezogen wird
@@ -321,11 +321,11 @@ namespace Framework
         //  y: Die Y Koordinate des Pixels
         //  y: Die Y Koordinate des Pixels
         __declspec( dllexport ) int getPixel( int x, int y ) const;
         __declspec( dllexport ) int getPixel( int x, int y ) const;
         // Gibt die Größe des Bildes zurück
         // Gibt die Größe des Bildes zurück
-        __declspec( dllexport ) const Punkt &getGröße() const;
+        __declspec( dllexport ) const Punkt &getSize() const;
         // Gibt die Breite des Bildes zurück
         // Gibt die Breite des Bildes zurück
         __declspec( dllexport ) int getBreite() const;
         __declspec( dllexport ) int getBreite() const;
         // Gibt die Höhe des Bildes zurück
         // Gibt die Höhe des Bildes zurück
-        __declspec( dllexport ) int getHöhe() const;
+        __declspec( dllexport ) int getHeight() const;
         // Gibt den aktuellen mindest Transparenz Wert zurück
         // Gibt den aktuellen mindest Transparenz Wert zurück
         __declspec( dllexport ) unsigned char getAlpha() const;
         __declspec( dllexport ) unsigned char getAlpha() const;
         // Gibt die Koordinaten der linken oberen Ecke der aktuellen Zeichenfläche zurück
         // Gibt die Koordinaten der linken oberen Ecke der aktuellen Zeichenfläche zurück

+ 78 - 72
Bildschirm.cpp

@@ -8,23 +8,25 @@
 #include "ToolTip.h"
 #include "ToolTip.h"
 #include "MausEreignis.h"
 #include "MausEreignis.h"
 #include <iostream>
 #include <iostream>
-#include <DirectXMath.h>
-#include <D3Dcompiler.h>
 #include "Datei.h"
 #include "Datei.h"
-#include "DefaultShader.h"
-#include "comdef.h"
 #include "Zeichnung3D.h"
 #include "Zeichnung3D.h"
-#include "Shader.h"
-#include "Kam3D.h"
-#include "Render3D.h"
 #include "Mat3.h"
 #include "Mat3.h"
-#include "DXBuffer.h"
 #include "Model3D.h"
 #include "Model3D.h"
 #include "Textur.h"
 #include "Textur.h"
 #include "TexturModel.h"
 #include "TexturModel.h"
 #include "TexturList.h"
 #include "TexturList.h"
+#ifdef WIN32
+#include "Kam3D.h"
+#include "DefaultShader.h"
+#include <DirectXMath.h>
+#include <D3Dcompiler.h>
 #include <d3d11.h>
 #include <d3d11.h>
 #include <d3d9.h>
 #include <d3d9.h>
+#include "comdef.h"
+#include "DXBuffer.h"
+#include "Shader.h"
+#include "Render3D.h"
+#endif
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -35,7 +37,7 @@ Bildschirm::Bildschirm( WFenster *f )
     renderB( new Bild( 1 ) ),
     renderB( new Bild( 1 ) ),
     ref( 1 ),
     ref( 1 ),
     members( new ZeichnungArray() ),
     members( new ZeichnungArray() ),
-    füllFarbe( 0xFF000000 ),
+    fillColor( 0xFF000000 ),
     deckFarbe( 0 ),
     deckFarbe( 0 ),
     onTop( 0 ),
     onTop( 0 ),
     renderOnTop( 0 ),
     renderOnTop( 0 ),
@@ -43,11 +45,11 @@ Bildschirm::Bildschirm( WFenster *f )
     vollbild( 0 ),
     vollbild( 0 ),
     rendering( 0 ),
     rendering( 0 ),
     renderZeit( new ZeitMesser() ),
     renderZeit( new ZeitMesser() ),
-    backBufferGröße( 0, 0 ),
+    backBufferSize( 0, 0 ),
     tips( new RCArray< ToolTip >() ),
     tips( new RCArray< ToolTip >() ),
     tipAnzahl( 0 ),
     tipAnzahl( 0 ),
     testRend( 1 ),
     testRend( 1 ),
-    füll( 1 ),
+    fill( 1 ),
     rend( 0 )
     rend( 0 )
 {
 {
     InitializeCriticalSection( &cs );
     InitializeCriticalSection( &cs );
@@ -59,8 +61,10 @@ Bildschirm::~Bildschirm()
     lock();
     lock();
     if( renderB )
     if( renderB )
         renderB->release();
         renderB->release();
+#ifdef Win32
     if( fenster )
     if( fenster )
         fenster->release();
         fenster->release();
+#endif
     delete members;
     delete members;
     tipAnzahl = 0;
     tipAnzahl = 0;
     tips->release();
     tips->release();
@@ -80,9 +84,9 @@ void Bildschirm::unlock()
     LeaveCriticalSection( &cs );
     LeaveCriticalSection( &cs );
 }
 }
 
 
-void Bildschirm::setFüll( bool f )
+void Bildschirm::setFill( bool f )
 {
 {
-    füll = f;
+    fill = f;
 }
 }
 
 
 void Bildschirm::setTestRend( bool tr ) // legt fest, ob vo rendern auf updates geprüft werden soll
 void Bildschirm::setTestRend( bool tr ) // legt fest, ob vo rendern auf updates geprüft werden soll
@@ -136,9 +140,9 @@ void Bildschirm::removeMember( Zeichnung *obj ) // Entfernt ein Zeichnung
     unlock();
     unlock();
 }
 }
 
 
-void Bildschirm::setFüllFarbe( int f ) // setzt die Fill Farbe
+void Bildschirm::setFillFarbe( int f ) // setzt die Fill Farbe
 {
 {
-    füllFarbe = f;
+    fillColor = f;
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -168,34 +172,36 @@ void Bildschirm::tick( double tickval )
     unlock();
     unlock();
 }
 }
 
 
-void Bildschirm::setBackBufferGröße( int breite, int höhe ) // setzt die Größe des Backbuffers
+void Bildschirm::setBackBufferSize( int breite, int height ) // setzt die Größe des Backbuffers
 {
 {
     lock();
     lock();
-    backBufferGröße.x = breite;
-    backBufferGröße.y = höhe;
+    backBufferSize.x = breite;
+    backBufferSize.y = height;
     rend = 1;
     rend = 1;
     unlock();
     unlock();
 }
 }
 
 
-void Bildschirm::setBackBufferGröße( Punkt &größe )
+void Bildschirm::setBackBufferSize( Punkt &size )
 {
 {
     lock();
     lock();
-    backBufferGröße = größe;
+    backBufferSize = size;
     rend = 1;
     rend = 1;
     unlock();
     unlock();
 }
 }
 
 
 void Bildschirm::doMausEreignis( MausEreignis &me ) // sendet maus Ereignis
 void Bildschirm::doMausEreignis( MausEreignis &me ) // sendet maus Ereignis
 {
 {
-    int fBr = backBufferGröße.x;
-    int fHö = backBufferGröße.y;
-    if( fenster )
-    {
-        fBr = fenster->getKörperBreite();
-        fHö = fenster->getKörperHöhe();
-    }
-    me.mx = (int)( me.mx * backBufferGröße.x / (double)fBr + 0.5 );
-    me.my = (int)( me.my * backBufferGröße.y / (double)fHö + 0.5 );
+    int fBr = backBufferSize.x;
+    int fHi = backBufferSize.y;
+#ifdef WIN32
+	if( fenster )
+	{
+		fBr = fenster->getKörperBreite();
+		fHi = fenster->getKörperHöhe();
+	}
+#endif
+    me.mx = (int)( me.mx * backBufferSize.x / (double)fBr + 0.5 );
+    me.my = (int)( me.my * backBufferSize.y / (double)fHi + 0.5 );
     lock();
     lock();
     if( !renderOnTop )
     if( !renderOnTop )
     {
     {
@@ -240,7 +246,7 @@ bool Bildschirm::removeToolTip( ToolTip *zTip ) // entfernt ToolTip
         ToolTip *tmp = tips->z( i );
         ToolTip *tmp = tips->z( i );
         if( tmp == zTip )
         if( tmp == zTip )
         {
         {
-            tips->lösche( i );
+            tips->remove( i );
             --tipAnzahl;
             --tipAnzahl;
             gefunden = 1;
             gefunden = 1;
             rend = 1;
             rend = 1;
@@ -267,9 +273,9 @@ ZeichnungArray *Bildschirm::getMembers() const // gibt die Zeichnunge zur
     return members;
     return members;
 }
 }
 
 
-int Bildschirm::getFüllFarbe() const // gibt die Füll Farbe zurück
+int Bildschirm::getFillFarbe() const // gibt die Füll Farbe zurück
 {
 {
-    return füllFarbe;
+    return fillColor;
 }
 }
 
 
 bool Bildschirm::istVolbild() const // gibt zurück, ob vollbild an ist
 bool Bildschirm::istVolbild() const // gibt zurück, ob vollbild an ist
@@ -277,9 +283,9 @@ bool Bildschirm::istVolbild() const // gibt zur
     return vollbild;
     return vollbild;
 }
 }
 
 
-const Punkt &Bildschirm::getBackBufferGröße() const // gibt die Größe des Backbuffers zurück
+const Punkt &Bildschirm::getBackBufferSize() const // gibt die Größe des Backbuffers zurück
 {
 {
-    return backBufferGröße;
+    return backBufferSize;
 }
 }
 
 
 void Bildschirm::warteAufRendern() const // wartet auf die render Funktion
 void Bildschirm::warteAufRendern() const // wartet auf die render Funktion
@@ -310,7 +316,7 @@ Bildschirm *Bildschirm::release()
         delete this;
         delete this;
     return 0;
     return 0;
 }
 }
-
+#ifdef WIN32
 int MonitorEnum( HMONITOR m, HDC dc, LPRECT r, LPARAM p )
 int MonitorEnum( HMONITOR m, HDC dc, LPRECT r, LPARAM p )
 {
 {
     Monitor *mon = new Monitor();
     Monitor *mon = new Monitor();
@@ -318,7 +324,7 @@ int MonitorEnum( HMONITOR m, HDC dc, LPRECT r, LPARAM p )
     mon->x = r->left;
     mon->x = r->left;
     mon->y = r->top;
     mon->y = r->top;
     mon->breite = r->right - r->left;
     mon->breite = r->right - r->left;
-    mon->höhe = r->bottom - r->top;
+    mon->height = r->bottom - r->top;
     ( ( Array< Monitor* >* )p )->add( mon );
     ( ( Array< Monitor* >* )p )->add( mon );
     return 1;
     return 1;
 }
 }
@@ -349,7 +355,6 @@ Monitor Framework::getMonitor( int id )
     delete monitore;
     delete monitore;
     return m;
     return m;
 }
 }
-
 // Bildschirm2D
 // Bildschirm2D
 // Konstruktor 
 // Konstruktor 
 Bildschirm2D::Bildschirm2D( WFenster *fenster )
 Bildschirm2D::Bildschirm2D( WFenster *fenster )
@@ -406,14 +411,14 @@ void Bildschirm2D::update() // aktualisiert directX
     d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
     d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
     d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
     d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_ONE;
     d3dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
     d3dpp.Flags = D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
-    if( !backBufferGröße.x || !backBufferGröße.y )
-        backBufferGröße = fenster->getKörperGröße();
-    d3dpp.BackBufferHeight = backBufferGröße.y;
-    d3dpp.BackBufferWidth = backBufferGröße.x;
+    if( !backBufferSize.x || !backBufferSize.y )
+        backBufferSize = fenster->getKörperGröße();
+    d3dpp.BackBufferHeight = backBufferSize.y;
+    d3dpp.BackBufferWidth = backBufferSize.x;
     if( renderB )
     if( renderB )
         renderB->release();
         renderB->release();
     renderB = new Bild( 1 );
     renderB = new Bild( 1 );
-    renderB->neuBild( backBufferGröße.x, backBufferGröße.y, füllFarbe );
+    renderB->neuBild( backBufferSize.x, backBufferSize.y, fillColor );
 
 
     result = pDirect3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, fenster->getFensterHandle(),
     result = pDirect3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, fenster->getFensterHandle(),
                                       D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE, &d3dpp, &pDevice );
                                       D3DCREATE_HARDWARE_VERTEXPROCESSING | D3DCREATE_PUREDEVICE, &d3dpp, &pDevice );
@@ -433,11 +438,11 @@ void Bildschirm2D::render() // Zeichnet das Bild
     {
     {
         lock();
         lock();
         renderZeit->messungStart();
         renderZeit->messungStart();
-        if( füll )
-            renderB->setFarbe( füllFarbe );
+        if( fill )
+            renderB->setFarbe( fillColor );
         if( renderZeichnungen )
         if( renderZeichnungen )
         {
         {
-            if( renderOnTop && deckFarbe && ( deckFarbe & ( füllFarbe | 0xFF000000 ) ) == deckFarbe )
+            if( renderOnTop && deckFarbe && ( deckFarbe & ( fillColor | 0xFF000000 ) ) == deckFarbe )
             {
             {
                 renderB->setAlpha( 255 - (unsigned char)( deckFarbe >> 24 ) );
                 renderB->setAlpha( 255 - (unsigned char)( deckFarbe >> 24 ) );
                 members->render( *renderB ); // zeichnen nach zwischenbuffer
                 members->render( *renderB ); // zeichnen nach zwischenbuffer
@@ -447,7 +452,7 @@ void Bildschirm2D::render() // Zeichnet das Bild
             {
             {
                 members->render( *renderB ); // zeichnen nach zwischenbuffer
                 members->render( *renderB ); // zeichnen nach zwischenbuffer
                 if( renderOnTop && deckFarbe )
                 if( renderOnTop && deckFarbe )
-                    renderB->alphaRegion( 0, 0, renderB->getBreite(), renderB->getHöhe(), deckFarbe );
+                    renderB->alphaRegion( 0, 0, renderB->getBreite(), renderB->getHeight(), deckFarbe );
             }
             }
             for( int i = 0; i < tipAnzahl; ++i )
             for( int i = 0; i < tipAnzahl; ++i )
                 tips->z( i )->render( *renderB );
                 tips->z( i )->render( *renderB );
@@ -458,13 +463,13 @@ void Bildschirm2D::render() // Zeichnet das Bild
         unlock();
         unlock();
         // Beginne Bild 
         // Beginne Bild 
         HRESULT result;
         HRESULT result;
-        if( !füllFarbe )
+        if( !fillColor )
             result = pDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 0, 0, 0 ), 0.0f, 0 );
             result = pDevice->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 0, 0, 0 ), 0.0f, 0 );
         result = pBackBuffer->LockRect( backRect, 0, 0 );
         result = pBackBuffer->LockRect( backRect, 0, 0 );
         // kopieren zum Bildschrirm 
         // kopieren zum Bildschrirm 
         int *bgBuff = tmp->getBuffer();
         int *bgBuff = tmp->getBuffer();
         int tmpBr = sizeof( D3DCOLOR )* tmp->getBreite();
         int tmpBr = sizeof( D3DCOLOR )* tmp->getBreite();
-        for( int y = 0, pitch = 0, bry = 0; y < tmp->getHöhe(); ++y, pitch += backRect->Pitch, bry += tmp->getBreite() )
+        for( int y = 0, pitch = 0, bry = 0; y < tmp->getHeight(); ++y, pitch += backRect->Pitch, bry += tmp->getBreite() )
             memcpy( &( (BYTE *)backRect->pBits )[ pitch ], ( void* )&( bgBuff[ bry ] ), tmpBr );
             memcpy( &( (BYTE *)backRect->pBits )[ pitch ], ( void* )&( bgBuff[ bry ] ), tmpBr );
         // Beende Bild 
         // Beende Bild 
         result = pBackBuffer->UnlockRect();
         result = pBackBuffer->UnlockRect();
@@ -622,7 +627,7 @@ void Bildschirm3D::removeKamera( Kam3D *zObj ) // Entfernt ein Zeichnung
     {
     {
         if( kameras->z( i ) == zObj )
         if( kameras->z( i ) == zObj )
         {
         {
-            kameras->lösche( i );
+            kameras->remove( i );
             break;
             break;
         }
         }
     }
     }
@@ -653,10 +658,10 @@ void Bildschirm3D::update() // aktualisiert directX
     scd.BufferDesc.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED;
     scd.BufferDesc.ScanlineOrdering = DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED;
     scd.BufferDesc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;
     scd.BufferDesc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;
     scd.Windowed = !vollbild;
     scd.Windowed = !vollbild;
-    if( !backBufferGröße.x || !backBufferGröße.y )
-        backBufferGröße = fenster ? fenster->getKörperGröße() : Punkt( 0, 0 );
-    scd.BufferDesc.Width = backBufferGröße.x;
-    scd.BufferDesc.Height = backBufferGröße.y;                 // windowed/full-screen mode
+    if( !backBufferSize.x || !backBufferSize.y )
+        backBufferSize = fenster ? fenster->getKörperGröße() : Punkt( 0, 0 );
+    scd.BufferDesc.Width = backBufferSize.x;
+    scd.BufferDesc.Height = backBufferSize.y;                 // windowed/full-screen mode
     scd.BufferDesc.RefreshRate.Denominator = 1;
     scd.BufferDesc.RefreshRate.Denominator = 1;
     scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;       // use 32-bit color
     scd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;       // use 32-bit color
                                                               // Discard the back buffer contents after presenting.
                                                               // Discard the back buffer contents after presenting.
@@ -665,7 +670,7 @@ void Bildschirm3D::update() // aktualisiert directX
         renderB->release();
         renderB->release();
     renderB = new Bild( 1 );
     renderB = new Bild( 1 );
     renderB->setAlpha3D( 1 );
     renderB->setAlpha3D( 1 );
-    renderB->neuBild( backBufferGröße.x, backBufferGröße.y, füllFarbe );
+    renderB->neuBild( backBufferSize.x, backBufferSize.y, fillColor );
 
 
     D3D_FEATURE_LEVEL featureLevel = D3D_FEATURE_LEVEL_11_0;
     D3D_FEATURE_LEVEL featureLevel = D3D_FEATURE_LEVEL_11_0;
     D3D_FEATURE_LEVEL support = D3D_FEATURE_LEVEL_11_0;
     D3D_FEATURE_LEVEL support = D3D_FEATURE_LEVEL_11_0;
@@ -698,8 +703,8 @@ void Bildschirm3D::update() // aktualisiert directX
     D3D11_TEXTURE2D_DESC depthBufferDesc;
     D3D11_TEXTURE2D_DESC depthBufferDesc;
     ZeroMemory( &depthBufferDesc, sizeof( depthBufferDesc ) );
     ZeroMemory( &depthBufferDesc, sizeof( depthBufferDesc ) );
     // Set up the description of the depth buffer.
     // Set up the description of the depth buffer.
-    depthBufferDesc.Width = backBufferGröße.x;
-    depthBufferDesc.Height = backBufferGröße.y;
+    depthBufferDesc.Width = backBufferSize.x;
+    depthBufferDesc.Height = backBufferSize.y;
     depthBufferDesc.MipLevels = 1;
     depthBufferDesc.MipLevels = 1;
     depthBufferDesc.ArraySize = 1;
     depthBufferDesc.ArraySize = 1;
     depthBufferDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;
     depthBufferDesc.Format = DXGI_FORMAT_D24_UNORM_S8_UINT;
@@ -750,8 +755,8 @@ void Bildschirm3D::update() // aktualisiert directX
 
 
     vp = new D3D11_VIEWPORT();
     vp = new D3D11_VIEWPORT();
     memset( vp, 0, sizeof( D3D11_VIEWPORT ) );
     memset( vp, 0, sizeof( D3D11_VIEWPORT ) );
-    vp->Width = (float)backBufferGröße.x;
-    vp->Height = (float)backBufferGröße.y;
+    vp->Width = (float)backBufferSize.x;
+    vp->Height = (float)backBufferSize.y;
     vp->MinDepth = 0.0f;
     vp->MinDepth = 0.0f;
     vp->MaxDepth = 1.0f;
     vp->MaxDepth = 1.0f;
     vp->TopLeftX = 0.0f;
     vp->TopLeftX = 0.0f;
@@ -852,7 +857,7 @@ void Bildschirm3D::update() // aktualisiert directX
     frameworkTextur->setBildZ( renderB->getThis() );
     frameworkTextur->setBildZ( renderB->getThis() );
     texturRegister->addTextur( frameworkTextur->getThis(), "f_Render_Bild" );
     texturRegister->addTextur( frameworkTextur->getThis(), "f_Render_Bild" );
 
 
-    texturModel->setGröße( backBufferGröße );
+    texturModel->setSize( backBufferSize );
     texturModel->setTextur( frameworkTextur->getId() );
     texturModel->setTextur( frameworkTextur->getId() );
 
 
     D3D11_BLEND_DESC blendState;
     D3D11_BLEND_DESC blendState;
@@ -928,14 +933,14 @@ void Bildschirm3D::render() // Zeichnet das Bild
         renderZeit->messungStart();
         renderZeit->messungStart();
         float color[ 4 ];
         float color[ 4 ];
         // Setup the color to clear the buffer to.
         // Setup the color to clear the buffer to.
-        color[ 0 ] = ( ( füllFarbe >> 16 ) & 0xFF ) / 255.f; // R
-        color[ 1 ] = ( ( füllFarbe >> 8 ) & 0xFF ) / 255.f; // G
-        color[ 2 ] = ( füllFarbe & 0xFF ) / 255.f; // B
-        color[ 3 ] = ( ( füllFarbe >> 24 ) & 0xFF ) / 255.f; // A
+        color[ 0 ] = ( ( fillColor >> 16 ) & 0xFF ) / 255.f; // R
+        color[ 1 ] = ( ( fillColor >> 8 ) & 0xFF ) / 255.f; // G
+        color[ 2 ] = ( fillColor & 0xFF ) / 255.f; // B
+        color[ 3 ] = ( ( fillColor >> 24 ) & 0xFF ) / 255.f; // A
         // Clear the back buffer.
         // Clear the back buffer.
         if( rend3D || !testRend || rend )
         if( rend3D || !testRend || rend )
         {
         {
-            if( füll )
+            if( fill )
             {
             {
                 d3d11Context->ClearRenderTargetView( rtview, color );
                 d3d11Context->ClearRenderTargetView( rtview, color );
                 // Clear the depth buffer.
                 // Clear the depth buffer.
@@ -956,11 +961,11 @@ void Bildschirm3D::render() // Zeichnet das Bild
 
 
         if( rend || !testRend )
         if( rend || !testRend )
         {
         {
-            if( füll )
-                renderB->setFarbe( füllFarbe );
+            if( fill )
+                renderB->setFarbe( fillColor );
             if( renderZeichnungen )
             if( renderZeichnungen )
             {
             {
-                if( renderOnTop && deckFarbe && ( deckFarbe & ( füllFarbe | 0xFF000000 ) ) == deckFarbe )
+                if( renderOnTop && deckFarbe && ( deckFarbe & ( fillColor | 0xFF000000 ) ) == deckFarbe )
                 {
                 {
                     renderB->setAlpha( 255 - (unsigned char)( deckFarbe >> 24 ) );
                     renderB->setAlpha( 255 - (unsigned char)( deckFarbe >> 24 ) );
                     members->render( *renderB ); // zeichnen nach zwischenbuffer
                     members->render( *renderB ); // zeichnen nach zwischenbuffer
@@ -970,7 +975,7 @@ void Bildschirm3D::render() // Zeichnet das Bild
                 {
                 {
                     members->render( *renderB ); // zeichnen nach zwischenbuffer
                     members->render( *renderB ); // zeichnen nach zwischenbuffer
                     if( renderOnTop && deckFarbe )
                     if( renderOnTop && deckFarbe )
-                        renderB->alphaRegion( 0, 0, renderB->getBreite(), renderB->getHöhe(), deckFarbe );
+                        renderB->alphaRegion( 0, 0, renderB->getBreite(), renderB->getHeight(), deckFarbe );
                 }
                 }
                 for( int i = 0; i < tipAnzahl; ++i )
                 for( int i = 0; i < tipAnzahl; ++i )
                     tips->z( i )->render( *renderB );
                     tips->z( i )->render( *renderB );
@@ -987,9 +992,9 @@ void Bildschirm3D::render() // Zeichnet das Bild
 
 
         d3d11Context->RSSetViewports( 1, vp );
         d3d11Context->RSSetViewports( 1, vp );
 
 
-        float screenAspect = (float)backBufferGröße.x / (float)backBufferGröße.y;
-        Mat4< float > view = view.translation( Vec3< float >( 0.f, 0.f, backBufferGröße.y * 1.2075f ) );
-        renderObj->setKameraMatrix( view, view.projektion( DirectX::XM_PI / 4.0f, screenAspect, 0.1f, 10000.f ), Vec3< float >( 0.f, 0.f, backBufferGröße.y * 1.2075f ) );
+        float screenAspect = (float)backBufferSize.x / (float)backBufferSize.y;
+        Mat4< float > view = view.translation( Vec3< float >( 0.f, 0.f, backBufferSize.y * 1.2075f ) );
+        renderObj->setKameraMatrix( view, view.projektion( DirectX::XM_PI / 4.0f, screenAspect, 0.1f, 10000.f ), Vec3< float >( 0.f, 0.f, backBufferSize.y * 1.2075f ) );
         texturModel->render( renderObj );
         texturModel->render( renderObj );
 
 
         result = d3d11SpawChain->Present( 0, 0 );
         result = d3d11SpawChain->Present( 0, 0 );
@@ -1026,4 +1031,5 @@ Bildschirm *Bildschirm3D::release()
     if( !ref )
     if( !ref )
         delete this;
         delete this;
     return 0;
     return 0;
-}
+}
+#endif

+ 15 - 14
Bildschirm.h

@@ -51,7 +51,7 @@ namespace Framework
     // Eine Struktur, die Informationen über einen Monitor beinhaltet
     // Eine Struktur, die Informationen über einen Monitor beinhaltet
     struct Monitor
     struct Monitor
     {
     {
-        int x, y, breite, höhe; // Koordinaten des Monitors und die Auflösung
+        int x, y, breite, height; // Koordinaten des Monitors und die Auflösung
         bool existiert; // Speichert, ob der Monitor wirklich existiert
         bool existiert; // Speichert, ob der Monitor wirklich existiert
     };
     };
 
 
@@ -63,7 +63,7 @@ namespace Framework
         Bild *renderB;
         Bild *renderB;
         int ref;
         int ref;
         ZeichnungArray *members;
         ZeichnungArray *members;
-        int füllFarbe;
+        int fillColor;
         int deckFarbe;
         int deckFarbe;
         Zeichnung *onTop;
         Zeichnung *onTop;
         bool renderOnTop;
         bool renderOnTop;
@@ -71,12 +71,12 @@ namespace Framework
         bool vollbild;
         bool vollbild;
         bool rendering;
         bool rendering;
         ZeitMesser *renderZeit;
         ZeitMesser *renderZeit;
-        Punkt backBufferGröße;
+        Punkt backBufferSize;
         CRITICAL_SECTION cs;
         CRITICAL_SECTION cs;
         RCArray< ToolTip > *tips;
         RCArray< ToolTip > *tips;
         int tipAnzahl;
         int tipAnzahl;
         bool testRend;
         bool testRend;
-        bool füll;
+        bool fill;
         bool rend;
         bool rend;
 
 
     public:
     public:
@@ -84,7 +84,7 @@ namespace Framework
         //  fenster: Das Fenster, dessen Inhalt verwaltet werden soll
         //  fenster: Das Fenster, dessen Inhalt verwaltet werden soll
         __declspec( dllexport ) Bildschirm( WFenster *fenster );
         __declspec( dllexport ) Bildschirm( WFenster *fenster );
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~Bildschirm();
+        __declspec( dllexport ) virtual ~Bildschirm();
         // Dies ist notwendig, falls mehrere Threads gleichzeitig den Bildschirm benutzen.
         // Dies ist notwendig, falls mehrere Threads gleichzeitig den Bildschirm benutzen.
         // Wenn lock() von zwei threads aufgerufen wird, wartet der letzte so lange, bis der erste unlock() aufgerufen hat.
         // Wenn lock() von zwei threads aufgerufen wird, wartet der letzte so lange, bis der erste unlock() aufgerufen hat.
         __declspec( dllexport ) virtual void lock();
         __declspec( dllexport ) virtual void lock();
@@ -93,7 +93,7 @@ namespace Framework
         __declspec( dllexport ) virtual void unlock();
         __declspec( dllexport ) virtual void unlock();
         // Legt fest, ob der Bildschirm nach jedem Bild neu mit einer Farbe ausgefüllt wird (Standartmäßig gesetzt)
         // Legt fest, ob der Bildschirm nach jedem Bild neu mit einer Farbe ausgefüllt wird (Standartmäßig gesetzt)
         //  f: 1, falls das Bild vor dem Zeichnen zurückgesetzt werden soll
         //  f: 1, falls das Bild vor dem Zeichnen zurückgesetzt werden soll
-        __declspec( dllexport ) virtual void setFüll( bool f );
+        __declspec( dllexport ) virtual void setFill( bool f );
         // Aktualisiert die Objekte, mit der die Grafikkarte verwaltet wird
         // Aktualisiert die Objekte, mit der die Grafikkarte verwaltet wird
         __declspec( dllexport ) virtual void update() = 0;
         __declspec( dllexport ) virtual void update() = 0;
         // Legt fest, ob von dem Zeichnen überprüft wird, ob sich das Bild vom letzten unterscheidet (Standartmäßig gesetzt)
         // Legt fest, ob von dem Zeichnen überprüft wird, ob sich das Bild vom letzten unterscheidet (Standartmäßig gesetzt)
@@ -121,7 +121,7 @@ namespace Framework
         __declspec( dllexport ) virtual void render() = 0;
         __declspec( dllexport ) virtual void render() = 0;
         // Setzt die Farbe, mit der das Bild for dem Zeichnen gefüllt wird, wenn setFüll( 1 ) gesetzt wurde
         // Setzt die Farbe, mit der das Bild for dem Zeichnen gefüllt wird, wenn setFüll( 1 ) gesetzt wurde
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
-        __declspec( dllexport ) virtual void setFüllFarbe( int f );
+        __declspec( dllexport ) virtual void setFillFarbe( int f );
         // Legt fest, ob das Bild im Vollbildmodus präsentiert werden soll. (Standartmäßig nicht gesetzt)
         // Legt fest, ob das Bild im Vollbildmodus präsentiert werden soll. (Standartmäßig nicht gesetzt)
         //  fullscreen: 1, für Vollbildmodus
         //  fullscreen: 1, für Vollbildmodus
         __declspec( dllexport ) virtual void setVollbild( bool fullscreen );
         __declspec( dllexport ) virtual void setVollbild( bool fullscreen );
@@ -131,11 +131,11 @@ namespace Framework
         __declspec( dllexport ) virtual void tick( double tickval );
         __declspec( dllexport ) virtual void tick( double tickval );
         // Setzt die Auflösung des Bildes, das angezeigt wird. Es wird von der Grafikkarte automatisch skalliert, so das es das Fenster ausfüllt
         // Setzt die Auflösung des Bildes, das angezeigt wird. Es wird von der Grafikkarte automatisch skalliert, so das es das Fenster ausfüllt
         //  breite: Die Breite des Bildes in Pixeln
         //  breite: Die Breite des Bildes in Pixeln
-        //  höhe: Die Höhe des Bildes in Pixeln
-        __declspec( dllexport ) virtual void setBackBufferGröße( int breite, int höhe );
+        //  height: Die Höhe des Bildes in Pixeln
+        __declspec( dllexport ) virtual void setBackBufferSize( int breite, int height );
         // Setzt die Auflösung des Bildes, das angezeigt wird. Es wird von der Grafikkarte automatisch skalliert, so das es das Fenster ausfüllt
         // Setzt die Auflösung des Bildes, das angezeigt wird. Es wird von der Grafikkarte automatisch skalliert, so das es das Fenster ausfüllt
-        //  größe: Die Breite und Höhe in Pixeln
-        __declspec( dllexport ) virtual void setBackBufferGröße( Punkt &größe );
+        //  size: Die Breite und Höhe in Pixeln
+        __declspec( dllexport ) virtual void setBackBufferSize( Punkt &size );
         // Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
         // Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
         // Gibt das Ereignis automatisch an alle sich im Bild befindenden Zeichnungen weiter
         // Gibt das Ereignis automatisch an alle sich im Bild befindenden Zeichnungen weiter
         //  me: Das Ereignis
         //  me: Das Ereignis
@@ -157,11 +157,11 @@ namespace Framework
         // Gibt ein Array von 2D GUI Zeichnungen zurück, die sich im Bild befinden
         // Gibt ein Array von 2D GUI Zeichnungen zurück, die sich im Bild befinden
         __declspec( dllexport ) virtual ZeichnungArray *getMembers() const;
         __declspec( dllexport ) virtual ZeichnungArray *getMembers() const;
         // Gibt die Farbe im A8R8G8B8 Format zurück, mit der das Bild vor dem Zeichnen befüllt wird
         // Gibt die Farbe im A8R8G8B8 Format zurück, mit der das Bild vor dem Zeichnen befüllt wird
-        __declspec( dllexport ) virtual int getFüllFarbe() const;
+        __declspec( dllexport ) virtual int getFillFarbe() const;
         // Gibt zurück, ob man sich im Vollbildmodus befindet
         // Gibt zurück, ob man sich im Vollbildmodus befindet
         __declspec( dllexport ) virtual bool istVolbild() const;
         __declspec( dllexport ) virtual bool istVolbild() const;
         // Gibt die Auflösung in Pixeln zurück, in der gezeichnet wird
         // Gibt die Auflösung in Pixeln zurück, in der gezeichnet wird
-        __declspec( dllexport ) virtual const Punkt &getBackBufferGröße() const;
+        __declspec( dllexport ) virtual const Punkt &getBackBufferSize() const;
         // Wartet, bis das Zeichnen des aktuellen Bildes abgeschlossen ist
         // Wartet, bis das Zeichnen des aktuellen Bildes abgeschlossen ist
         __declspec( dllexport ) virtual void warteAufRendern() const;
         __declspec( dllexport ) virtual void warteAufRendern() const;
         // Gibt die Zeit in Sekunden zurück, die benötigt wurde, um das letzte Bild zu zeichnen
         // Gibt die Zeit in Sekunden zurück, die benötigt wurde, um das letzte Bild zu zeichnen
@@ -173,7 +173,7 @@ namespace Framework
         //  Return: 0
         //  Return: 0
         __declspec( dllexport ) virtual Bildschirm *release();
         __declspec( dllexport ) virtual Bildschirm *release();
     };
     };
-
+#ifdef WIN32
     // Diese Klasse verwaltet das Bild auf dem Bildschirm ohne 3D Elemente
     // Diese Klasse verwaltet das Bild auf dem Bildschirm ohne 3D Elemente
     class Bildschirm2D : public Bildschirm
     class Bildschirm2D : public Bildschirm
     {
     {
@@ -260,6 +260,7 @@ namespace Framework
     // Findet die Psition und Auflösung eines Monitors heraus
     // Findet die Psition und Auflösung eines Monitors heraus
     //  id: Die ID des Monitors. Falls der Monitor nicht gefunden wurde ist der existiert flag der zurückgegebenen Monitor Struktur 0
     //  id: Die ID des Monitors. Falls der Monitor nicht gefunden wurde ist der existiert flag der zurückgegebenen Monitor Struktur 0
     __declspec( dllexport ) Monitor getMonitor( int id );
     __declspec( dllexport ) Monitor getMonitor( int id );
+#endif
 }
 }
 
 
 #endif
 #endif

+ 10 - 10
Cube.cpp

@@ -1,9 +1,9 @@
 #include "Cube.h"
 #include "Cube.h"
-#include "DXBuffer.h"
 #include "Textur.h"
 #include "Textur.h"
 #include "Globals.h"
 #include "Globals.h"
 #include "Model3DList.h"
 #include "Model3DList.h"
 #include "TexturList.h"
 #include "TexturList.h"
+#include "DXBuffer.h"
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -14,12 +14,12 @@ using namespace Framework;
 Cube::Cube( float size )
 Cube::Cube( float size )
     : Model3D()
     : Model3D()
 {
 {
-    if( m3dRegister->hatModel( Standart3DTypes::würfel ) )
-        model = m3dRegister->getModel( Standart3DTypes::würfel );
+    if( m3dRegister->hatModel( Standart3DTypes::cube ) )
+        model = m3dRegister->getModel( Standart3DTypes::cube );
     else
     else
     {
     {
         model = new Model3DData();
         model = new Model3DData();
-        m3dRegister->addModel( model->getThis(), Standart3DTypes::würfel );
+        m3dRegister->addModel( model->getThis(), Standart3DTypes::cube );
         float stdSize = 100;
         float stdSize = 100;
         float left, right, top, bottom;
         float left, right, top, bottom;
         // Calculate the screen coordinates of the left side of the bitmap.
         // Calculate the screen coordinates of the left side of the bitmap.
@@ -93,7 +93,7 @@ Cube::Cube( float size )
         Polygon3D *p = new Polygon3D();
         Polygon3D *p = new Polygon3D();
         p->indexAnz = 6;
         p->indexAnz = 6;
         p->indexList = new int[ p->indexAnz ];
         p->indexList = new int[ p->indexAnz ];
-        p->indexBuffer->setLänge( p->indexAnz * 4 );
+        p->indexBuffer->setLength( p->indexAnz * 4 );
         p->indexBuffer->setData( p->indexList );
         p->indexBuffer->setData( p->indexList );
         p->indexList[ 0 ] = 0;
         p->indexList[ 0 ] = 0;
         p->indexList[ 1 ] = 3;
         p->indexList[ 1 ] = 3;
@@ -106,7 +106,7 @@ Cube::Cube( float size )
         p = new Polygon3D();
         p = new Polygon3D();
         p->indexAnz = 6;
         p->indexAnz = 6;
         p->indexList = new int[ p->indexAnz ];
         p->indexList = new int[ p->indexAnz ];
-        p->indexBuffer->setLänge( p->indexAnz * 4 );
+        p->indexBuffer->setLength( p->indexAnz * 4 );
         p->indexBuffer->setData( p->indexList );
         p->indexBuffer->setData( p->indexList );
         p->indexList[ 0 ] = 4;
         p->indexList[ 0 ] = 4;
         p->indexList[ 1 ] = 6;
         p->indexList[ 1 ] = 6;
@@ -119,7 +119,7 @@ Cube::Cube( float size )
         p = new Polygon3D();
         p = new Polygon3D();
         p->indexAnz = 6;
         p->indexAnz = 6;
         p->indexList = new int[ p->indexAnz ];
         p->indexList = new int[ p->indexAnz ];
-        p->indexBuffer->setLänge( p->indexAnz * 4 );
+        p->indexBuffer->setLength( p->indexAnz * 4 );
         p->indexBuffer->setData( p->indexList );
         p->indexBuffer->setData( p->indexList );
         p->indexList[ 0 ] = 1 + 8;
         p->indexList[ 0 ] = 1 + 8;
         p->indexList[ 1 ] = 7 + 8;
         p->indexList[ 1 ] = 7 + 8;
@@ -132,7 +132,7 @@ Cube::Cube( float size )
         p = new Polygon3D();
         p = new Polygon3D();
         p->indexAnz = 6;
         p->indexAnz = 6;
         p->indexList = new int[ p->indexAnz ];
         p->indexList = new int[ p->indexAnz ];
-        p->indexBuffer->setLänge( p->indexAnz * 4 );
+        p->indexBuffer->setLength( p->indexAnz * 4 );
         p->indexBuffer->setData( p->indexList );
         p->indexBuffer->setData( p->indexList );
         p->indexList[ 0 ] = 0 + 8;
         p->indexList[ 0 ] = 0 + 8;
         p->indexList[ 1 ] = 2 + 8;
         p->indexList[ 1 ] = 2 + 8;
@@ -145,7 +145,7 @@ Cube::Cube( float size )
         p = new Polygon3D();
         p = new Polygon3D();
         p->indexAnz = 6;
         p->indexAnz = 6;
         p->indexList = new int[ p->indexAnz ];
         p->indexList = new int[ p->indexAnz ];
-        p->indexBuffer->setLänge( p->indexAnz * 4 );
+        p->indexBuffer->setLength( p->indexAnz * 4 );
         p->indexBuffer->setData( p->indexList );
         p->indexBuffer->setData( p->indexList );
         p->indexList[ 0 ] = 4 + 16;
         p->indexList[ 0 ] = 4 + 16;
         p->indexList[ 1 ] = 1 + 16;
         p->indexList[ 1 ] = 1 + 16;
@@ -158,7 +158,7 @@ Cube::Cube( float size )
         p = new Polygon3D();
         p = new Polygon3D();
         p->indexAnz = 6;
         p->indexAnz = 6;
         p->indexList = new int[ p->indexAnz ];
         p->indexList = new int[ p->indexAnz ];
-        p->indexBuffer->setLänge( p->indexAnz * 4 );
+        p->indexBuffer->setLength( p->indexAnz * 4 );
         p->indexBuffer->setData( p->indexList );
         p->indexBuffer->setData( p->indexList );
         p->indexList[ 0 ] = 6 + 16;
         p->indexList[ 0 ] = 6 + 16;
         p->indexList[ 1 ] = 2 + 16;
         p->indexList[ 1 ] = 2 + 16;

+ 48 - 24
DXBuffer.cpp

@@ -1,7 +1,9 @@
 #include "DXBuffer.h"
 #include "DXBuffer.h"
-#include "Render3D.h"
 #include <iostream>
 #include <iostream>
+#ifdef WIN32
+#include "Render3D.h"
 #include <d3d11.h>
 #include <d3d11.h>
+#endif
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -10,37 +12,41 @@ using namespace Framework;
 // Konstruktor
 // Konstruktor
 //  bind: Der verwendungszweck des Buffers. Beispiel: D3D11_BIND_INDEX_BUFFER, D3D11_BIND_VERTEX_BUFFER.
 //  bind: Der verwendungszweck des Buffers. Beispiel: D3D11_BIND_INDEX_BUFFER, D3D11_BIND_VERTEX_BUFFER.
 //  eLän: Länge eines einzelnen Elements in Bytes
 //  eLän: Länge eines einzelnen Elements in Bytes
-DXBuffer::DXBuffer( D3D11_BIND_FLAG bind, int eLän )
+DXBuffer::DXBuffer( D3D11_BIND_FLAG bind, int eLen )
 {
 {
+#ifdef WIN32
     buffer = 0;
     buffer = 0;
     bf = bind;
     bf = bind;
+#endif
     data = 0;
     data = 0;
-    geändert = 0;
-    län = 0;
-    altLän = 0;
-    elLän = eLän;
+    changed = 0;
+    len = 0;
+    altLen = 0;
+    elLem = eLen;
     ref = 1;
     ref = 1;
 }
 }
 
 
 // Destruktor
 // Destruktor
 DXBuffer::~DXBuffer()
 DXBuffer::~DXBuffer()
 {
 {
+#ifdef WIN32
     if( buffer )
     if( buffer )
         buffer->Release();
         buffer->Release();
+#endif
 }
 }
 
 
 // Setzt den geändert fläg, so das beim nächsten auruf von 'kopieren' die daten neu kopiert werden
 // Setzt den geändert fläg, so das beim nächsten auruf von 'kopieren' die daten neu kopiert werden
-void DXBuffer::setGeändert()
+void DXBuffer::setChanged()
 {
 {
-    geändert = 1;
+    changed = 1;
 }
 }
 
 
 // Ändert die länge des Buffers beim nächsten aufruf von 'kopieren'
 // Ändert die länge des Buffers beim nächsten aufruf von 'kopieren'
 //  län: Die Länge in Bytes
 //  län: Die Länge in Bytes
-void DXBuffer::setLänge( int län )
+void DXBuffer::setLength( int len )
 {
 {
-    this->län = län;
-    geändert = 1;
+    this->len = len;
+    changed = 1;
 }
 }
 
 
 // Legt fest, was beim nächsten aufruf von 'kopieren' kopiert wird
 // Legt fest, was beim nächsten aufruf von 'kopieren' kopiert wird
@@ -48,16 +54,17 @@ void DXBuffer::setL
 void DXBuffer::setData( void *data )
 void DXBuffer::setData( void *data )
 {
 {
     this->data = data;
     this->data = data;
-    geändert = 1;
+    changed = 1;
 }
 }
 
 
 // Kopiert die Daten in den Buffer, fals sie sich verändert haben
 // Kopiert die Daten in den Buffer, fals sie sich verändert haben
 //  zRObj: Das Objekt, mit dem die Grafikkarte angesprochen wird
 //  zRObj: Das Objekt, mit dem die Grafikkarte angesprochen wird
 void DXBuffer::copieren( Render3D *zRObj )
 void DXBuffer::copieren( Render3D *zRObj )
 {
 {
-    if( !geändert || !län || !data )
+#ifdef WIN32
+    if( !changed || !len || !data )
         return;
         return;
-    if( län != altLän )
+    if( len != altLen )
     {
     {
         if( buffer )
         if( buffer )
             buffer->Release();
             buffer->Release();
@@ -68,7 +75,7 @@ void DXBuffer::copieren( Render3D *zRObj )
         D3D11_BUFFER_DESC desk;
         D3D11_BUFFER_DESC desk;
         memset( &desk, 0, sizeof( desk ) );
         memset( &desk, 0, sizeof( desk ) );
         desk.Usage = D3D11_USAGE_DYNAMIC;
         desk.Usage = D3D11_USAGE_DYNAMIC;
-        desk.ByteWidth = län;
+        desk.ByteWidth = len;
         desk.BindFlags = bf;
         desk.BindFlags = bf;
         desk.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
         desk.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
 
 
@@ -77,34 +84,35 @@ void DXBuffer::copieren( Render3D *zRObj )
         ini.pSysMem = data;
         ini.pSysMem = data;
 
 
         zRObj->zDevice()->CreateBuffer( &desk, &ini, &buffer );
         zRObj->zDevice()->CreateBuffer( &desk, &ini, &buffer );
-        altLän = län;
+        altLen = len;
     }
     }
-    else if( geändert )
+    else if( changed )
     {
     {
         D3D11_MAPPED_SUBRESOURCE map;
         D3D11_MAPPED_SUBRESOURCE map;
         zRObj->zContext()->Map( buffer, 0, D3D11_MAP::D3D11_MAP_WRITE_DISCARD, 0, &map );
         zRObj->zContext()->Map( buffer, 0, D3D11_MAP::D3D11_MAP_WRITE_DISCARD, 0, &map );
-        memcpy( map.pData, data, län );
+        memcpy( map.pData, data, len );
         zRObj->zContext()->Unmap( buffer, 0 );
         zRObj->zContext()->Unmap( buffer, 0 );
-        geändert = 0;
+        changed = 0;
     }
     }
+#endif
 }
 }
 
 
 // Gibt die Länge eines Elementes in bytes zurück
 // Gibt die Länge eines Elementes in bytes zurück
-int DXBuffer::getElementLänge() const
+int DXBuffer::getElementLength() const
 {
 {
-    return elLän;
+    return elLem;
 }
 }
-
+#ifdef WIN32
 // Gibt den Buffer zurück
 // Gibt den Buffer zurück
 ID3D11Buffer *DXBuffer::zBuffer() const
 ID3D11Buffer *DXBuffer::zBuffer() const
 {
 {
     return buffer;
     return buffer;
 }
 }
-
+#endif
 // Gibt die Anzahl der Elemente im Buffer zurück
 // Gibt die Anzahl der Elemente im Buffer zurück
 int DXBuffer::getElementAnzahl() const
 int DXBuffer::getElementAnzahl() const
 {
 {
-    return altLän / elLän;
+    return altLen / elLem;
 }
 }
 
 
 // Erhöht den Reference Counting Zähler.
 // Erhöht den Reference Counting Zähler.
@@ -131,7 +139,15 @@ DXBuffer *DXBuffer::release()
 // Konstruktor
 // Konstruktor
 // eSize: Die Länge eines Elementes in Bytes
 // eSize: Die Länge eines Elementes in Bytes
 DXVertexBuffer::DXVertexBuffer( int eSize )
 DXVertexBuffer::DXVertexBuffer( int eSize )
+#ifdef WIN32
     : DXBuffer( D3D11_BIND_VERTEX_BUFFER, eSize )
     : DXBuffer( D3D11_BIND_VERTEX_BUFFER, eSize )
+#else
+	: DXBuffer( 0, eSize )
+#endif
+{}
+
+// Destruktor
+DXVertexBuffer::~DXVertexBuffer()
 {}
 {}
 
 
 // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
 // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
@@ -150,7 +166,15 @@ DXBuffer *DXVertexBuffer::release()
 // Konstruktor
 // Konstruktor
 // eSize: Die Länge eines Elementes in Bytes
 // eSize: Die Länge eines Elementes in Bytes
 DXIndexBuffer::DXIndexBuffer( int eSize )
 DXIndexBuffer::DXIndexBuffer( int eSize )
+#ifdef WIN32
     : DXBuffer( D3D11_BIND_INDEX_BUFFER, eSize )
     : DXBuffer( D3D11_BIND_INDEX_BUFFER, eSize )
+#else
+: DXBuffer( 0, eSize )
+#endif
+{}
+
+// Destruktor
+DXIndexBuffer::~DXIndexBuffer()
 {}
 {}
 
 
 // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
 // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.

+ 23 - 11
DXBuffer.h

@@ -2,8 +2,12 @@
 
 
 #include "Betriebssystem.h"
 #include "Betriebssystem.h"
 
 
+#ifdef WIN32
 struct ID3D11Buffer;
 struct ID3D11Buffer;
 enum D3D11_BIND_FLAG;
 enum D3D11_BIND_FLAG;
+#else
+typedef int D3D11_BIND_FLAG;
+#endif
 
 
 namespace Framework
 namespace Framework
 {
 {
@@ -13,13 +17,15 @@ namespace Framework
     class DXBuffer
     class DXBuffer
     {
     {
     private:
     private:
+#ifdef WIN32
         ID3D11Buffer *buffer;
         ID3D11Buffer *buffer;
         D3D11_BIND_FLAG bf;
         D3D11_BIND_FLAG bf;
+#endif
         void *data;
         void *data;
-        bool geändert;
-        int län;
-        int altLän;
-        int elLän;
+        bool changed;
+        int len;
+        int altLen;
+        int elLem;
 
 
     protected:
     protected:
         int ref;
         int ref;
@@ -27,15 +33,15 @@ namespace Framework
     public:
     public:
         // Konstruktor
         // Konstruktor
         //  bind: Der verwendungszweck des Buffers. Beispiel: D3D11_BIND_INDEX_BUFFER, D3D11_BIND_VERTEX_BUFFER.
         //  bind: Der verwendungszweck des Buffers. Beispiel: D3D11_BIND_INDEX_BUFFER, D3D11_BIND_VERTEX_BUFFER.
-        //  eLän: Länge eines einzelnen Elements in Bytes
-        __declspec( dllexport ) DXBuffer( D3D11_BIND_FLAG bind, int eLän );
+        //  eLen: Länge eines einzelnen Elements in Bytes
+        __declspec( dllexport ) DXBuffer( D3D11_BIND_FLAG bind, int eLen );
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~DXBuffer();
+        __declspec( dllexport ) virtual ~DXBuffer();
         // Setzt den geändert fläg, so das beim nächsten auruf von 'kopieren' die daten neu kopiert werden
         // Setzt den geändert fläg, so das beim nächsten auruf von 'kopieren' die daten neu kopiert werden
-        __declspec( dllexport ) void setGeändert();
+        __declspec( dllexport ) void setChanged();
         // Ändert die länge des Buffers beim nächsten aufruf von 'kopieren'
         // Ändert die länge des Buffers beim nächsten aufruf von 'kopieren'
-        //  län: Die Länge in Bytes
-        __declspec( dllexport ) void setLänge( int län );
+        //  len: Die Länge in Bytes
+        __declspec( dllexport ) void setLength( int len );
         // Legt fest, was beim nächsten aufruf von 'kopieren' kopiert wird
         // Legt fest, was beim nächsten aufruf von 'kopieren' kopiert wird
         //  data: Ein zeiger auf die Daten
         //  data: Ein zeiger auf die Daten
         __declspec( dllexport ) void setData( void *data );
         __declspec( dllexport ) void setData( void *data );
@@ -43,9 +49,11 @@ namespace Framework
         //  zRObj: Das Objekt, mit dem die Grafikkarte angesprochen wird
         //  zRObj: Das Objekt, mit dem die Grafikkarte angesprochen wird
         __declspec( dllexport ) void copieren( Render3D *zRObj );
         __declspec( dllexport ) void copieren( Render3D *zRObj );
         // Gibt die Länge eines Elementes in bytes zurück
         // Gibt die Länge eines Elementes in bytes zurück
-        __declspec( dllexport ) int getElementLänge() const;
+        __declspec( dllexport ) int getElementLength() const;
+#ifdef WIN32
         // Gibt den Buffer zurück
         // Gibt den Buffer zurück
         __declspec( dllexport ) ID3D11Buffer *zBuffer() const;
         __declspec( dllexport ) ID3D11Buffer *zBuffer() const;
+#endif
         // Gibt die Anzahl der Elemente im Buffer zurück
         // Gibt die Anzahl der Elemente im Buffer zurück
         __declspec( dllexport ) int getElementAnzahl() const;
         __declspec( dllexport ) int getElementAnzahl() const;
         // Erhöht den Reference Counting Zähler.
         // Erhöht den Reference Counting Zähler.
@@ -63,6 +71,8 @@ namespace Framework
         // Konstruktor
         // Konstruktor
         // eSize: Die Länge eines Elementes in Bytes
         // eSize: Die Länge eines Elementes in Bytes
         __declspec( dllexport ) DXVertexBuffer( int eSize );
         __declspec( dllexport ) DXVertexBuffer( int eSize );
+		// Destruktor
+		__declspec( dllexport ) virtual ~DXVertexBuffer();
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         //  return: 0.
         //  return: 0.
         __declspec( dllexport ) virtual DXBuffer *release();
         __declspec( dllexport ) virtual DXBuffer *release();
@@ -75,6 +85,8 @@ namespace Framework
         // Konstruktor
         // Konstruktor
         // eSize: Die Länge eines Elementes in Bytes
         // eSize: Die Länge eines Elementes in Bytes
         __declspec( dllexport ) DXIndexBuffer( int eSize );
         __declspec( dllexport ) DXIndexBuffer( int eSize );
+		// Destruktor
+		__declspec( dllexport ) virtual ~DXIndexBuffer();
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         //  return: 0.
         //  return: 0.
         __declspec( dllexport ) virtual DXBuffer *release();
         __declspec( dllexport ) virtual DXBuffer *release();

+ 64 - 64
Datei.cpp

@@ -1,7 +1,7 @@
 #include "Datei.h"
 #include "Datei.h"
 #include "Text.h"
 #include "Text.h"
 #include "Zeit.h"
 #include "Zeit.h"
-#include "Schluessel.h"
+#include "Key.h"
 #ifdef WIN32
 #ifdef WIN32
 #include <direct.h>
 #include <direct.h>
 #include <Shlwapi.h>
 #include <Shlwapi.h>
@@ -13,7 +13,7 @@
 #endif
 #endif
 
 
 using namespace Framework;
 using namespace Framework;
-using namespace Verschlüsselung;
+using namespace Encryption;
 
 
 // Inhalt der Datei Klasse aus Datei.h
 // Inhalt der Datei Klasse aus Datei.h
 // Konstruktor 
 // Konstruktor 
@@ -44,7 +44,7 @@ Datei::~Datei()
 void Datei::setDatei( const char *pfad ) // setzt die Datei
 void Datei::setDatei( const char *pfad ) // setzt die Datei
 {
 {
     if( istOffen() )
     if( istOffen() )
-        schließen();
+        close();
     if( !this->pfad )
     if( !this->pfad )
         this->pfad = new Text();
         this->pfad = new Text();
     this->pfad->setText( pfad );
     this->pfad->setText( pfad );
@@ -54,7 +54,7 @@ void Datei::setDatei( const char *pfad ) // setzt die Datei
 void Datei::setDatei( Text *pfad )
 void Datei::setDatei( Text *pfad )
 {
 {
     if( istOffen() )
     if( istOffen() )
-        schließen();
+        close();
     if( !this->pfad )
     if( !this->pfad )
         this->pfad = new Text();
         this->pfad = new Text();
     this->pfad->setText( pfad );
     this->pfad->setText( pfad );
@@ -89,11 +89,11 @@ bool Datei::umbenennen( Text *pfad )
     return 0;
     return 0;
 }
 }
 
 
-bool Datei::löschen() // löscht die Datei
+bool Datei::remove() // löscht die Datei
 {
 {
     if( !pfad )
     if( !pfad )
         return 0;
         return 0;
-    return DateiLöschen( pfad->getThis() );
+    return DateiRemove( pfad->getThis() );
 }
 }
 
 
 bool Datei::erstellen() // erstellt die Datei
 bool Datei::erstellen() // erstellt die Datei
@@ -103,7 +103,7 @@ bool Datei::erstellen() // erstellt die Datei
     return DateiPfadErstellen( pfad->getThis() );
     return DateiPfadErstellen( pfad->getThis() );
 }
 }
 
 
-bool Datei::öffnen( int style ) // öffnet die Datei
+bool Datei::open( int style ) // öffnet die Datei
 {
 {
     if( !pfad )
     if( !pfad )
         return 0;
         return 0;
@@ -162,7 +162,7 @@ void Datei::setSPosition( __int64 pos, bool ende ) // setzt die Schreibeposition
     tmpSBPos = -1;
     tmpSBPos = -1;
 }
 }
 
 
-void Datei::schreibe( char *bytes, int län ) // schreibt bytes in datei
+void Datei::schreibe( char *bytes, int len ) // schreibt bytes in datei
 {
 {
     if( !pfad || !stream )
     if( !pfad || !stream )
         return;
         return;
@@ -175,28 +175,28 @@ void Datei::schreibe( char *bytes, int l
 	if( key )
 	if( key )
 	{
 	{
 		key->setPos( getSPosition() );
 		key->setPos( getSPosition() );
-		Bytes *n = new Bytes( bytes, län );
+		Bytes *n = new Bytes( bytes, len );
 		key->codieren( n->getThis() );
 		key->codieren( n->getThis() );
-		stream->write( n->getBytes(), län );
+		stream->write( n->getBytes(), len );
 		n->release();
 		n->release();
 	}
 	}
 	else
 	else
-		stream->write( bytes, län );
+		stream->write( bytes, len );
 }
 }
 
 
-void Datei::lese( char *bytes, int län ) // ließt bytes aus datei
+void Datei::lese( char *bytes, int len ) // ließt bytes aus datei
 {
 {
     if( !pfad )
     if( !pfad )
         return;
         return;
 	if( stream )
 	if( stream )
 	{
 	{
-		int tmp = getLPosition();
-		stream->read( bytes, län );
+		__int64 tmp = getLPosition();
+		stream->read( bytes, len );
 		if( key )
 		if( key )
 		{
 		{
 			key->setPos( tmp );
 			key->setPos( tmp );
 			Bytes *n = new Bytes();
 			Bytes *n = new Bytes();
-			n->setBytesZ( bytes, län );
+			n->setBytesZ( bytes, len );
 			key->decodieren( n );
 			key->decodieren( n );
 		}
 		}
 	}
 	}
@@ -211,10 +211,10 @@ Text *Datei::leseZeile() // lie
     if( istEnde() )
     if( istEnde() )
         return 0;
         return 0;
     Text *ret = new Text( "" );
     Text *ret = new Text( "" );
-    __int64 län = getGröße();
-    for( char c = 0; c != '\n' && stream->tellg() < län; )
+    __int64 len = getSize();
+    for( char c = 0; c != '\n' && stream->tellg() < len; )
     {
     {
-		int tmp = getLPosition();
+		__int64 tmp = getLPosition();
         stream->read( &c, 1 );
         stream->read( &c, 1 );
 		if( key )
 		if( key )
 		{
 		{
@@ -224,14 +224,14 @@ Text *Datei::leseZeile() // lie
 			key->decodieren( n );
 			key->decodieren( n );
 		}
 		}
         if( c )
         if( c )
-            ret->anhängen( (const char*)&c, 1 );
+            ret->append( (const char*)&c, 1 );
     }
     }
     tmpSBPos = 7;
     tmpSBPos = 7;
     tmpSBPos = -1;
     tmpSBPos = -1;
     return ret;
     return ret;
 }
 }
 
 
-void Datei::schließen() // schließt die Datei
+void Datei::close() // schließt die Datei
 {
 {
     if( !pfad || !stream )
     if( !pfad || !stream )
         return;
         return;
@@ -310,7 +310,7 @@ bool Datei::getNextBit( bool &bit ) // Datei Bitweise auslesen
     if( tmpLBPos == 7 )
     if( tmpLBPos == 7 )
     {
     {
         tmpLBPos = -1;
         tmpLBPos = -1;
-		int tmp = getLPosition();
+		__int64 tmp = getLPosition();
         stream->read( &tmpLByte, 1 );
         stream->read( &tmpLByte, 1 );
 		if( key )
 		if( key )
 		{
 		{
@@ -330,7 +330,7 @@ bool Datei::setNextBit( bool bit ) // Datei Bitweise speichern
     if( !pfad || !stream )
     if( !pfad || !stream )
         return 0;
         return 0;
     tmpSBPos++;
     tmpSBPos++;
-    tmpSByte |= ( (char)bit << ( 7 - tmpSBPos ) ) & ( 1 << ( 7 - tmpSBPos ) );
+    tmpSByte |= (char)( ( (char)bit << ( 7 - tmpSBPos ) ) & ( 1 << ( 7 - tmpSBPos ) ) );
     if( tmpSBPos == 7 )
     if( tmpSBPos == 7 )
     {
     {
         tmpSBPos = -1;
         tmpSBPos = -1;
@@ -350,7 +350,7 @@ bool Datei::setNextBit( bool bit ) // Datei Bitweise speichern
 }
 }
 
 
 // Setzt den Schlüssel für die Datei
 // Setzt den Schlüssel für die Datei
-void Datei::setSchlüssel( char *s, int l )
+void Datei::setKey( char *s, int l )
 {
 {
 	if( l == 0 )
 	if( l == 0 )
 	{
 	{
@@ -358,9 +358,9 @@ void Datei::setSchl
 		return;
 		return;
 	}
 	}
 	if( key )
 	if( key )
-		key->setSchlüssel( s, l );
+		key->setKey( s, l );
 	else
 	else
-		key = new Schlüssel( s, l );
+		key = new Key( s, l );
 }
 }
 
 
 // constant 
 // constant 
@@ -392,10 +392,10 @@ int Datei::getUnterdateiAnzahl() const // gibt die Anzahl der unterdateien an
     WIN32_FIND_DATA wfd;
     WIN32_FIND_DATA wfd;
     Text stxt = pfad->getText();
     Text stxt = pfad->getText();
     stxt.ersetzen( '/', '\\' );
     stxt.ersetzen( '/', '\\' );
-    if( stxt.positionVon( '\\' ) == stxt.getLänge() - 1 )
-        stxt.anhängen( "*" );
+    if( stxt.positionVon( '\\' ) == stxt.getLength() - 1 )
+        stxt.append( "*" );
     else
     else
-        stxt.anhängen( "\\*" );
+        stxt.append( "\\*" );
     fHandle = FindFirstFile( stxt.getText(), &wfd );
     fHandle = FindFirstFile( stxt.getText(), &wfd );
     FindNextFile( fHandle, &wfd );
     FindNextFile( fHandle, &wfd );
     while( FindNextFile( fHandle, &wfd ) )
     while( FindNextFile( fHandle, &wfd ) )
@@ -410,8 +410,8 @@ int Datei::getUnterdateiAnzahl() const // gibt die Anzahl der unterdateien an
     int ret = 0;
     int ret = 0;
     Text stxt = pfad->getText();
     Text stxt = pfad->getText();
     stxt.ersetzen( '\\', '/' );
     stxt.ersetzen( '\\', '/' );
-    if( stxt.positionVon( '/' ) == stxt.getLaenge() - 1 )
-        stxt.loeschen( stxt.getLaenge() - 1 );
+    if( stxt.positionVon( '/' ) == stxt.getLength() - 1 )
+        stxt.remove( stxt.getLength() - 1 );
     DIR *hdir;
     DIR *hdir;
     hdir = opendir( stxt.getText() );
     hdir = opendir( stxt.getText() );
     for( dirent *entry = readdir( hdir ); entry; entry = readdir( hdir ) )
     for( dirent *entry = readdir( hdir ); entry; entry = readdir( hdir ) )
@@ -435,10 +435,10 @@ RCArray< Text > *Datei::getDateiListe() const // gibt eine Liste mit unterdateie
     WIN32_FIND_DATA wfd;
     WIN32_FIND_DATA wfd;
     Text stxt = pfad->getText();
     Text stxt = pfad->getText();
     stxt.ersetzen( '/', '\\' );
     stxt.ersetzen( '/', '\\' );
-    if( stxt.positionVon( '\\' ) == stxt.getLänge() - 1 )
-        stxt.anhängen( "*" );
+    if( stxt.positionVon( '\\' ) == stxt.getLength() - 1 )
+        stxt.append( "*" );
     else
     else
-        stxt.anhängen( "\\*" );
+        stxt.append( "\\*" );
     fHandle = FindFirstFile( stxt.getText(), &wfd );
     fHandle = FindFirstFile( stxt.getText(), &wfd );
     FindNextFile( fHandle, &wfd );
     FindNextFile( fHandle, &wfd );
     RCArray< Text > *ret = new RCArray< Text >();
     RCArray< Text > *ret = new RCArray< Text >();
@@ -458,8 +458,8 @@ RCArray< Text > *Datei::getDateiListe() const // gibt eine Liste mit unterdateie
         return 0;
         return 0;
     Text stxt = pfad->getText();
     Text stxt = pfad->getText();
     stxt.ersetzen( '\\', '/' );
     stxt.ersetzen( '\\', '/' );
-    if( stxt.positionVon( '/' ) == stxt.getLaenge() - 1 )
-        stxt.loeschen( stxt.getLaenge() - 1 );
+    if( stxt.positionVon( '/' ) == stxt.getLength() - 1 )
+        stxt.remove( stxt.getLength() - 1 );
     DIR *hdir;
     DIR *hdir;
     hdir = opendir( stxt.getText() );
     hdir = opendir( stxt.getText() );
     if( hdir )
     if( hdir )
@@ -481,7 +481,7 @@ RCArray< Text > *Datei::getDateiListe() const // gibt eine Liste mit unterdateie
 #endif
 #endif
 }
 }
 
 
-__int64 Datei::getGröße() const // gibt die Größe der Datei zurück
+__int64 Datei::getSize() const // gibt die Größe der Datei zurück
 {
 {
     if( !pfad )
     if( !pfad )
         return 0;
         return 0;
@@ -497,20 +497,20 @@ __int64 Datei::getGr
         stream->seekg( tmp, std::ios::beg );
         stream->seekg( tmp, std::ios::beg );
         stream->close();
         stream->close();
         delete stream;
         delete stream;
-        __int64 *größe = (__int64*)&gr;
-        *größe = ret;
+        __int64 *size = (__int64*)&gr;
+        *size = ret;
         return ret;
         return ret;
     }
     }
     __int64 tmp = stream->tellg();
     __int64 tmp = stream->tellg();
     stream->seekg( 0, std::ios::end );
     stream->seekg( 0, std::ios::end );
     __int64 ret = stream->tellg();
     __int64 ret = stream->tellg();
     stream->seekg( tmp, std::ios::beg );
     stream->seekg( tmp, std::ios::beg );
-    __int64 *größe = (__int64*)&gr;
-    *größe = ret;
+    __int64 *size = (__int64*)&gr;
+    *size = ret;
     return ret;
     return ret;
 }
 }
 
 
-Zeit *Datei::getLetzteÄnderung() const // gibt das Datum der letzten Änderung
+Zeit *Datei::getLastChange() const // gibt das Datum der letzten Änderung
 {
 {
     if( !pfad )
     if( !pfad )
         return 0;
         return 0;
@@ -568,7 +568,7 @@ bool Datei::istEnde() const // pr
 {
 {
     if( !stream || stream->tellg() < 0 )
     if( !stream || stream->tellg() < 0 )
         return 1;
         return 1;
-    __int64 i = getGröße();
+    __int64 i = getSize();
     return stream->tellg() >= i;
     return stream->tellg() >= i;
 }
 }
 
 
@@ -604,7 +604,7 @@ void Framework::GetFreePfad( Text *zPfad ) // Sucht einen unbenutzten Dateinamen
     for( int i = 0; DateiExistiert( txt ); i++ )
     for( int i = 0; DateiExistiert( txt ); i++ )
     {
     {
         txt = zPfad->getText();
         txt = zPfad->getText();
-        txt.anhängen( i );
+        txt.append( i );
     }
     }
     zPfad->setText( txt );
     zPfad->setText( txt );
 }
 }
@@ -616,9 +616,9 @@ bool Framework::DateiPfadErstellen( Text *pfad ) // Erstellt eine Datei in dem P
     return ret;
     return ret;
 }
 }
 
 
-bool Framework::DateiLöschen( Text *pfad ) // Löscht die angegebene Datei
+bool Framework::DateiRemove( Text *pfad ) // Löscht die angegebene Datei
 {
 {
-    bool ret = DateiLöschen( pfad->getText() );
+    bool ret = DateiRemove( pfad->getText() );
     pfad->release();
     pfad->release();
     return ret;
     return ret;
 }
 }
@@ -655,7 +655,7 @@ bool Framework::DateiPfadErstellen( const char *pfad ) // Erstellt eine Datei in
     for( int i = 0; i < pf.anzahlVon( "\\" ); ++i ) // Jeden ordner erstellen wenn er nicht existiert
     for( int i = 0; i < pf.anzahlVon( "\\" ); ++i ) // Jeden ordner erstellen wenn er nicht existiert
     {
     {
         Text *t = pf.getTeilText( 0, pf.positionVon( "\\", i ) );
         Text *t = pf.getTeilText( 0, pf.positionVon( "\\", i ) );
-        if( !t || !t->getLänge() )
+        if( !t || !t->getLength() )
         {
         {
             if( t )
             if( t )
                 t->release();
                 t->release();
@@ -665,7 +665,7 @@ bool Framework::DateiPfadErstellen( const char *pfad ) // Erstellt eine Datei in
 #pragma warning(suppress: 6031)
 #pragma warning(suppress: 6031)
             _mkdir( t->getText() );
             _mkdir( t->getText() );
         t->release();
         t->release();
-        if( pf.positionVon( "\\", i ) == pf.getLänge() - 1 )
+        if( pf.positionVon( "\\", i ) == pf.getLength() - 1 )
             erst = 0;
             erst = 0;
     }
     }
 #else
 #else
@@ -673,7 +673,7 @@ bool Framework::DateiPfadErstellen( const char *pfad ) // Erstellt eine Datei in
     for( int i = 0; i < pf.anzahlVon( "/" ); ++i ) // Jeden ordner erstellen wenn er nicht existiert
     for( int i = 0; i < pf.anzahlVon( "/" ); ++i ) // Jeden ordner erstellen wenn er nicht existiert
     {
     {
         Text *t = pf.getTeilText( 0, pf.positionVon( "/", i ) );
         Text *t = pf.getTeilText( 0, pf.positionVon( "/", i ) );
-        if( !t || !t->getLänge() )
+        if( !t || !t->getLength() )
         {
         {
             if( t )
             if( t )
                 t->release();
                 t->release();
@@ -682,7 +682,7 @@ bool Framework::DateiPfadErstellen( const char *pfad ) // Erstellt eine Datei in
         if( !DateiExistiert( t->getThis() ) )
         if( !DateiExistiert( t->getThis() ) )
             mkdir( t->getText(), 0777 );
             mkdir( t->getText(), 0777 );
         t->release();
         t->release();
-        if( pf.positionVon( "\\", i ) == pf.getLänge() - 1 )
+        if( pf.positionVon( "\\", i ) == pf.getLength() - 1 )
             erst = 0;
             erst = 0;
     }
     }
 #endif
 #endif
@@ -694,7 +694,7 @@ bool Framework::DateiPfadErstellen( const char *pfad ) // Erstellt eine Datei in
     return DateiExistiert( pf );
     return DateiExistiert( pf );
 }
 }
 
 
-bool Framework::DateiLöschen( const char *pfad ) // Löscht die angegebene Datei
+bool Framework::DateiRemove( const char *pfad ) // Löscht die angegebene Datei
 {
 {
     Text pfa = pfad;
     Text pfa = pfad;
 #ifdef WIN32
 #ifdef WIN32
@@ -713,13 +713,13 @@ bool Framework::DateiL
         for( int i = 0; i < anz; ++i )
         for( int i = 0; i < anz; ++i )
         {
         {
             Text *pf = new Text( pfa.getText() );
             Text *pf = new Text( pfa.getText() );
-            if( pf->getText()[ pf->getLänge() - 1 ] != '/' )
-                pf->anhängen( "/" );
-            pf->anhängen( liste->get( i ) );
+            if( pf->getText()[ pf->getLength() - 1 ] != '/' )
+                pf->append( "/" );
+            pf->append( liste->get( i ) );
             if( ret )
             if( ret )
-                ret = DateiLöschen( pf );
+                ret = DateiRemove( pf );
             else
             else
-                DateiLöschen( pf );
+                DateiRemove( pf );
         }
         }
         liste->release();
         liste->release();
         dat->release();
         dat->release();
@@ -745,13 +745,13 @@ bool Framework::DateiL
         for( int i = 0; i < anz; ++i )
         for( int i = 0; i < anz; ++i )
         {
         {
             Text *pf = new Text( pfa.getText() );
             Text *pf = new Text( pfa.getText() );
-            if( pf->getText()[ pf->getLaenge() - 1 ] != '/' )
-                pf->anhaengen( "/" );
-            pf->anhaengen( liste->get( i ) );
+            if( pf->getText()[ pf->getLength() - 1 ] != '/' )
+                pf->append( "/" );
+            pf->append( liste->get( i ) );
             if( ret )
             if( ret )
-                ret = DateiLoeschen( pf );
+                ret = DateiRemove( pf );
             else
             else
-                DateiLoeschen( pf );
+				DateiRemove( pf );
         }
         }
         liste->release();
         liste->release();
         dat->release();
         dat->release();
@@ -777,7 +777,7 @@ bool Framework::DateiUmbenennen( const char *pfad_alt, const char *pfad_neu ) //
                 Text tmp = pfad_neu;
                 Text tmp = pfad_neu;
                 tmp += "/a";
                 tmp += "/a";
                 DateiPfadErstellen( tmp );
                 DateiPfadErstellen( tmp );
-                DateiLöschen( tmp );
+                DateiRemove( tmp );
             }
             }
             Datei d;
             Datei d;
             d.setDatei( pfad_alt );
             d.setDatei( pfad_alt );
@@ -793,7 +793,7 @@ bool Framework::DateiUmbenennen( const char *pfad_alt, const char *pfad_neu ) //
                 pf_a += list->z( i )->getText();
                 pf_a += list->z( i )->getText();
                 ret |= DateiUmbenennen( pf_a, pf );
                 ret |= DateiUmbenennen( pf_a, pf );
             }
             }
-            d.löschen();
+            d.remove();
         }
         }
         else
         else
         {
         {
@@ -815,7 +815,7 @@ bool Framework::DateiUmbenennen( const char *pfad_alt, const char *pfad_neu ) //
                 Text tmp = pfad_neu;
                 Text tmp = pfad_neu;
                 tmp += "/a";
                 tmp += "/a";
                 DateiPfadErstellen( tmp );
                 DateiPfadErstellen( tmp );
-                DateiLöschen( tmp );
+				DateiRemove( tmp );
             }
             }
             Datei d;
             Datei d;
             d.setDatei( pfad_alt );
             d.setDatei( pfad_alt );
@@ -831,7 +831,7 @@ bool Framework::DateiUmbenennen( const char *pfad_alt, const char *pfad_neu ) //
                 pf_a += list->z( i )->getText();
                 pf_a += list->z( i )->getText();
                 ret |= DateiUmbenennen( pf_a, pf );
                 ret |= DateiUmbenennen( pf_a, pf );
             }
             }
-            d.löschen();
+            d.remove();
         }
         }
         else
         else
         {
         {

+ 15 - 15
Datei.h

@@ -8,9 +8,9 @@ namespace Framework
 {
 {
     class Text; // Text.h
     class Text; // Text.h
     class Zeit; // Zeit.h
     class Zeit; // Zeit.h
-	namespace Verschlüsselung
+	namespace Encryption
 	{
 	{
-		class Schlüssel; // Schlüssel.h
+		class Key; // Schlüssel.h
 	}
 	}
     class Datei; // aus dieser Datei
     class Datei; // aus dieser Datei
 
 
@@ -34,7 +34,7 @@ namespace Framework
         char tmpLBPos;
         char tmpLBPos;
         char tmpSByte;
         char tmpSByte;
         char tmpSBPos;
         char tmpSBPos;
-		Verschlüsselung::Schlüssel *key;
+		Encryption::Key *key;
 
 
     public:
     public:
         // Konstruktor 
         // Konstruktor 
@@ -57,14 +57,14 @@ namespace Framework
         __declspec( dllexport ) bool umbenennen( Text *pfad );
         __declspec( dllexport ) bool umbenennen( Text *pfad );
         // Löscht die Datei
         // Löscht die Datei
         //  return: 1, wenn das löschen erfolgreich war. 0 sonst
         //  return: 1, wenn das löschen erfolgreich war. 0 sonst
-        __declspec( dllexport ) bool löschen();
+        __declspec( dllexport ) bool remove();
         // Erstellt die Datei neu. Wenn im Pfad Ordner vorkommen, die nicht existieren, so werden sie erstellt
         // Erstellt die Datei neu. Wenn im Pfad Ordner vorkommen, die nicht existieren, so werden sie erstellt
         //  return 1: wenn das erstellen erfolgreich war. 0, sonst
         //  return 1: wenn das erstellen erfolgreich war. 0, sonst
         __declspec( dllexport ) bool erstellen();
         __declspec( dllexport ) bool erstellen();
         // Öffnet die Datei
         // Öffnet die Datei
         //  style: Legt fest, ob die Datei zum lesen und/oder schreiben geöffnet wird. Alle Elemente aus Datei::Style:: sin möglich
         //  style: Legt fest, ob die Datei zum lesen und/oder schreiben geöffnet wird. Alle Elemente aus Datei::Style:: sin möglich
         //  return 1: wenn die datei erfolgreich geöffnet werden konnte. 0 sonnst
         //  return 1: wenn die datei erfolgreich geöffnet werden konnte. 0 sonnst
-        __declspec( dllexport ) bool öffnen( int style );
+        __declspec( dllexport ) bool open( int style );
         // Setzt die Position des Bytes, das als nächstes gelesen werden soll
         // Setzt die Position des Bytes, das als nächstes gelesen werden soll
         //  pos: Der Index des Bytes
         //  pos: Der Index des Bytes
         //  ende: 1, wenn der Index vom ende der Datei zählt. 0, wenn der Index vom Beginn der Datei zählt
         //  ende: 1, wenn der Index vom ende der Datei zählt. 0, wenn der Index vom Beginn der Datei zählt
@@ -75,19 +75,19 @@ namespace Framework
         __declspec( dllexport ) void setSPosition( __int64 pos, bool ende );
         __declspec( dllexport ) void setSPosition( __int64 pos, bool ende );
         // Schreibt in die Datei
         // Schreibt in die Datei
         //  bytes: Ein Array von bytes, die geschrieben werden sollen.
         //  bytes: Ein Array von bytes, die geschrieben werden sollen.
-        //  län: Wie viele Bytes in die Datei geschrieben werden sollen
-        __declspec( dllexport ) void schreibe( char *bytes, int län );
+        //  len: Wie viele Bytes in die Datei geschrieben werden sollen
+        __declspec( dllexport ) void schreibe( char *bytes, int len );
         // Ließt aus der Datei
         // Ließt aus der Datei
         //  bytes: Ein Array, der mit Bytes aus der Datei gefüllt werden soll
         //  bytes: Ein Array, der mit Bytes aus der Datei gefüllt werden soll
-        //  län: Wie viele Bytes aus der Datei gelesen werden sollen
-        __declspec( dllexport ) void lese( char *bytes, int län );
+        //  len: Wie viele Bytes aus der Datei gelesen werden sollen
+        __declspec( dllexport ) void lese( char *bytes, int len );
         // Ließt die nächste zeile der Datei ein
         // Ließt die nächste zeile der Datei ein
         //  return: Die gelesene Zeile als Text mit zeilenumbruch
         //  return: Die gelesene Zeile als Text mit zeilenumbruch
         __declspec( dllexport ) Text *leseZeile();
         __declspec( dllexport ) Text *leseZeile();
         // Schließt die datei
         // Schließt die datei
-        __declspec( dllexport ) void schließen();
+        __declspec( dllexport ) void close();
 		// Setzt den Schlüssel für die Datei
 		// Setzt den Schlüssel für die Datei
-		__declspec( dllexport ) void setSchlüssel( char *s, int l );
+		__declspec( dllexport ) void setKey( char *s, int l );
 #ifdef WIN32
 #ifdef WIN32
         // Setzt den Zeitpunkt der letzten Änderung der Datei (nur für Windows)
         // Setzt den Zeitpunkt der letzten Änderung der Datei (nur für Windows)
         //  zeit: den Zeitpunkt der letzten Änderung
         //  zeit: den Zeitpunkt der letzten Änderung
@@ -116,10 +116,10 @@ namespace Framework
         __declspec( dllexport ) RCArray< Text > *getDateiListe() const;
         __declspec( dllexport ) RCArray< Text > *getDateiListe() const;
         // Gibt die Größe der Datei zurück
         // Gibt die Größe der Datei zurück
         // return -1, falls die Datei ein Verzeichnis ist oder ein Fehler auftrat. Sonst die größe der Datei
         // return -1, falls die Datei ein Verzeichnis ist oder ein Fehler auftrat. Sonst die größe der Datei
-        __declspec( dllexport ) __int64 getGröße() const;
+        __declspec( dllexport ) __int64 getSize() const;
         // Gibt den Zeitpunkt der letzten änderung zurück
         // Gibt den Zeitpunkt der letzten änderung zurück
         //  return: 0, falls ein Fehler aufgetreten ist. Der Zeitpunkt der letzten Änderung sonst
         //  return: 0, falls ein Fehler aufgetreten ist. Der Zeitpunkt der letzten Änderung sonst
-        __declspec( dllexport ) Zeit *getLetzteÄnderung() const;
+        __declspec( dllexport ) Zeit *getLastChange() const;
         // Prüft, ob die Datei existiert
         // Prüft, ob die Datei existiert
         //  return: 1, falls die Datei existiert. 0 sonnst
         //  return: 1, falls die Datei existiert. 0 sonnst
         __declspec( dllexport ) bool existiert() const;
         __declspec( dllexport ) bool existiert() const;
@@ -157,7 +157,7 @@ namespace Framework
     // Löscht die angegebene Datei
     // Löscht die angegebene Datei
     //  pfad: Der Pfad zur Datei
     //  pfad: Der Pfad zur Datei
     //  return: 1, falls die Datei gelöscht wurde
     //  return: 1, falls die Datei gelöscht wurde
-    __declspec( dllexport ) bool DateiLöschen( Text *pfad );
+    __declspec( dllexport ) bool DateiRemove( Text *pfad );
     // Benennt eine Datei um oder verschiebt sie
     // Benennt eine Datei um oder verschiebt sie
     //  pfad_alt: Der Pfad zur Datei, die umbenannt werden soll.
     //  pfad_alt: Der Pfad zur Datei, die umbenannt werden soll.
     //  pfad_neu: Der neue Pfad zur Datei. Wenn sich nur der Name ändert, wird sie nur umbenannt
     //  pfad_neu: Der neue Pfad zur Datei. Wenn sich nur der Name ändert, wird sie nur umbenannt
@@ -178,7 +178,7 @@ namespace Framework
     // Löscht die angegebene Datei
     // Löscht die angegebene Datei
     //  pfad: Der Pfad zur Datei
     //  pfad: Der Pfad zur Datei
     //  return: 1, falls die Datei gelöscht wurde
     //  return: 1, falls die Datei gelöscht wurde
-    __declspec( dllexport ) bool DateiLöschen( const char *pfad );
+    __declspec( dllexport ) bool DateiRemove( const char *pfad );
     // Benennt eine Datei um oder verschiebt sie
     // Benennt eine Datei um oder verschiebt sie
     //  pfad_alt: Der Pfad zur Datei, die umbenannt werden soll.
     //  pfad_alt: Der Pfad zur Datei, die umbenannt werden soll.
     //  pfad_neu: Der neue Pfad zur Datei. Wenn sich nur der Name ändert, wird sie nur umbenannt
     //  pfad_neu: Der neue Pfad zur Datei. Wenn sich nur der Name ändert, wird sie nur umbenannt

+ 16 - 16
DateiDialog.cpp

@@ -29,7 +29,7 @@ DateiDialog::~DateiDialog()
 }
 }
 
 
 // nicht constant
 // nicht constant
-void DateiDialog::löscheDateiTypen()
+void DateiDialog::removeDateiTypen()
 {
 {
     typeName->leeren();
     typeName->leeren();
     type->leeren();
     type->leeren();
@@ -93,12 +93,12 @@ Text *DateiDialog::anzeigen( bool open ) const
                     c_rgSaveTypes = new COMDLG_FILTERSPEC[ anz ];
                     c_rgSaveTypes = new COMDLG_FILTERSPEC[ anz ];
                     for( int i = 0; i < anz; i++ )
                     for( int i = 0; i < anz; i++ )
                     {
                     {
-                        wchar_t *n = new wchar_t[ typeName->z( i )->getLänge() + 1 ];
+                        wchar_t *n = new wchar_t[ typeName->z( i )->getLength() + 1 ];
 #pragma warning( disable : 4996 )
 #pragma warning( disable : 4996 )
-                        mbstowcs( n, typeName->z( i )->getText(), typeName->z( i )->getLänge() + 1 );
-                        wchar_t *t = new wchar_t[ type->z( i )->getLänge() + 1 ];
+                        mbstowcs( n, typeName->z( i )->getText(), typeName->z( i )->getLength() + 1 );
+                        wchar_t *t = new wchar_t[ type->z( i )->getLength() + 1 ];
 #pragma warning( disable : 4996 )
 #pragma warning( disable : 4996 )
-                        mbstowcs( t, type->z( i )->getText(), type->z( i )->getLänge() + 1 );
+                        mbstowcs( t, type->z( i )->getText(), type->z( i )->getLength() + 1 );
                         c_rgSaveTypes[ i ].pszName = n;
                         c_rgSaveTypes[ i ].pszName = n;
                         c_rgSaveTypes[ i ].pszSpec = t;
                         c_rgSaveTypes[ i ].pszSpec = t;
                     }
                     }
@@ -114,15 +114,15 @@ Text *DateiDialog::anzeigen( bool open ) const
                         {
                         {
                             if( !type->z( i )->hat( ".*" ) )
                             if( !type->z( i )->hat( ".*" ) )
                             {
                             {
-                                txt.anhängen( type->z( i )->getTeilText( type->z( i )->positionVon( "." ) + 1 ) );
+                                txt.append( type->z( i )->getTeilText( type->z( i )->positionVon( "." ) + 1 ) );
                                 txt += ";";
                                 txt += ";";
                             }
                             }
                         }
                         }
-                        if( txt.getLänge() > 0 )
-                            txt.löschen( txt.getLänge() - 1 );
-                        wchar_t *defEnd = new wchar_t[ txt.getLänge() + 1 ];
+                        if( txt.getLength() > 0 )
+                            txt.remove( txt.getLength() - 1 );
+                        wchar_t *defEnd = new wchar_t[ txt.getLength() + 1 ];
 #pragma warning( disable : 4996 )
 #pragma warning( disable : 4996 )
-                        mbstowcs( defEnd, txt, txt.getLänge() + 1 );
+                        mbstowcs( defEnd, txt, txt.getLength() + 1 );
                         hr = pfd->SetDefaultExtension( defEnd );
                         hr = pfd->SetDefaultExtension( defEnd );
                         if( SUCCEEDED( hr ) )
                         if( SUCCEEDED( hr ) )
                         {
                         {
@@ -196,7 +196,7 @@ DateiDialogTh::DateiDialogTh()
 {
 {
     dialog = new DateiDialog();
     dialog = new DateiDialog();
     ret = 0;
     ret = 0;
-    öffnen = 0;
+    open = 0;
     ref = 1;
     ref = 1;
 }
 }
 
 
@@ -215,14 +215,14 @@ DateiDialogTh::~DateiDialogTh()
 }
 }
 
 
 // nicht constant
 // nicht constant
-void DateiDialogTh::setÖffnen( bool b )
+void DateiDialogTh::setOpen( bool b )
 {
 {
-    öffnen = b;
+    open = b;
 }
 }
 
 
-void DateiDialogTh::löscheDateiTypen()
+void DateiDialogTh::removeDateiTypen()
 {
 {
-    dialog->löscheDateiTypen();
+    dialog->removeDateiTypen();
 }
 }
 
 
 void DateiDialogTh::addDateiTyp( char *name, char *typ )
 void DateiDialogTh::addDateiTyp( char *name, char *typ )
@@ -244,7 +244,7 @@ void DateiDialogTh::thread()
 {
 {
     if( ret )
     if( ret )
         ret = ret->release();
         ret = ret->release();
-    ret = dialog->anzeigen( öffnen );
+    ret = dialog->anzeigen( open );
 }
 }
 
 
 // constant
 // constant

+ 4 - 4
DateiDialog.h

@@ -25,7 +25,7 @@ namespace Framework
         // Destruktor
         // Destruktor
         __declspec( dllexport ) ~DateiDialog();
         __declspec( dllexport ) ~DateiDialog();
         // Löscht die Liste mit zugelassenen Dateitypen
         // Löscht die Liste mit zugelassenen Dateitypen
-        __declspec( dllexport ) void löscheDateiTypen();
+        __declspec( dllexport ) void removeDateiTypen();
         // Fügt einen zugelassenen Dateityp hinzu
         // Fügt einen zugelassenen Dateityp hinzu
         //  name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
         //  name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
         //  typ: Der Dateityp, der ausgewählt werden darf
         //  typ: Der Dateityp, der ausgewählt werden darf
@@ -55,7 +55,7 @@ namespace Framework
     private:
     private:
         DateiDialog *dialog;
         DateiDialog *dialog;
         Text *ret;
         Text *ret;
-        bool öffnen;
+        bool open;
         int ref;
         int ref;
 
 
     public:
     public:
@@ -65,9 +65,9 @@ namespace Framework
         __declspec( dllexport ) ~DateiDialogTh();
         __declspec( dllexport ) ~DateiDialogTh();
         // Legt fest, ob der Dialog zum öffnen oder speichern ist
         // Legt fest, ob der Dialog zum öffnen oder speichern ist
         //  b: 1, wenn er zum öfnen ist. 0, wenn er zum speichern ist
         //  b: 1, wenn er zum öfnen ist. 0, wenn er zum speichern ist
-        __declspec( dllexport ) void setÖffnen( bool b );
+        __declspec( dllexport ) void setOpen( bool b );
         // Löscht die liste mit erlaubten Dateitypen
         // Löscht die liste mit erlaubten Dateitypen
-        __declspec( dllexport ) void löscheDateiTypen();
+        __declspec( dllexport ) void removeDateiTypen();
         // Fügt einen zugelassenen Dateityp hinzu
         // Fügt einen zugelassenen Dateityp hinzu
         //  name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
         //  name: Der Name des Dateitypes. Ist für den Nutzer in der Select Box sichtbar
         //  typ: Der Dateityp, der ausgewählt werden darf
         //  typ: Der Dateityp, der ausgewählt werden darf

+ 2511 - 2511
DateiSystem.cpp

@@ -16,3182 +16,3182 @@ using namespace Framework;
 // Inhalt der LTDBPixel Klasse aus Dateisystem.h
 // Inhalt der LTDBPixel Klasse aus Dateisystem.h
 // Konstruktor 
 // Konstruktor 
 LTDBPixel::LTDBPixel( LTDBPixel *davor )
 LTDBPixel::LTDBPixel( LTDBPixel *davor )
-    : davor( davor ),
-    index( 0 ),
-    iR( 0 ),
-    iG( 0 ),
-    iB( 0 ),
-    iA( 0 ),
-    miR( 8 ),
-    miG( 8 ),
-    miB( 8 ),
-    miA( 8 ),
-    maxIndex( 1 ),
-    änder( 0 ),
-    änderR( 0 ),
-    änderG( 0 ),
-    änderB( 0 ),
-    änderA( 0 ),
-    komp( 0 ),
-    R( 0 ),
-    G( 0 ),
-    B( 0 ),
-    A( 0 ),
-    ref( 1 )
+	: davor( davor ),
+	index( 0 ),
+	iR( 0 ),
+	iG( 0 ),
+	iB( 0 ),
+	iA( 0 ),
+	miR( 8 ),
+	miG( 8 ),
+	miB( 8 ),
+	miA( 8 ),
+	maxIndex( 1 ),
+	change( 0 ),
+	changeR( 0 ),
+	changeG( 0 ),
+	changeB( 0 ),
+	changeA( 0 ),
+	komp( 0 ),
+	R( 0 ),
+	G( 0 ),
+	B( 0 ),
+	A( 0 ),
+	ref( 1 )
 {}
 {}
 
 
 // Destruktor 
 // Destruktor 
 LTDBPixel::~LTDBPixel()
 LTDBPixel::~LTDBPixel()
 {
 {
-    if( davor )
-        davor->release();
+	if( davor )
+		davor->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 bool LTDBPixel::addBitZuFarbe( unsigned char bit ) // Fügt den Farbwerten ein Bit hinzu
 bool LTDBPixel::addBitZuFarbe( unsigned char bit ) // Fügt den Farbwerten ein Bit hinzu
 {
 {
-    if( änderR && iR != miR ) // Das Bit gehört zu Rot
-    {
-        R |= ( ( bit & 0x1 ) ) << ( 7 - komp - iR );
-        ++iR;
-    }
-    else if( änderG && iG != miG ) // Das Bit gehört zu Grün
-    {
-        G |= ( ( bit & 0x1 ) ) << ( 7 - komp - iG );
-        ++iG;
-    }
-    else if( änderB && iB != miB ) // Das Bit gehört zu Blau
-    {
-        B |= ( ( bit & 0x1 ) ) << ( 7 - komp - iB );
-        ++iB;
-    }
-    else if( änderA && iA != miA ) // Das Bit gehört zu Alpha
-    {
-        A |= ( ( bit & 0x1 ) ) << ( 7 - komp - iA );
-        ++iA;
-    }
-    else // Das Bit gehört zum nächsten Pixel
-        return false;
-    return true;
+	if( changeR && iR != miR ) // Das Bit gehört zu Rot
+	{
+		R |= (unsigned char)( ( bit & 0x1 ) << ( 7 - komp - iR ) );
+		++iR;
+	}
+	else if( changeG && iG != miG ) // Das Bit gehört zu Grün
+	{
+		G |= (unsigned char)( ( bit & 0x1 ) << ( 7 - komp - iG ) );
+		++iG;
+	}
+	else if( changeB && iB != miB ) // Das Bit gehört zu Blau
+	{
+		B |= (unsigned char)( ( bit & 0x1 ) << ( 7 - komp - iB ) );
+		++iB;
+	}
+	else if( changeA && iA != miA ) // Das Bit gehört zu Alpha
+	{
+		A |= (unsigned char)( ( bit & 0x1 ) << ( 7 - komp - iA ) );
+		++iA;
+	}
+	else // Das Bit gehört zum nächsten Pixel
+		return false;
+	return true;
 }
 }
 
 
 char LTDBPixel::addByte( char byte, char begin ) // gibt ende des Pixels zurück, -1 wenn nicht zu ende
 char LTDBPixel::addByte( char byte, char begin ) // gibt ende des Pixels zurück, -1 wenn nicht zu ende
 {
 {
-    if( begin >= 8 || begin < 0 )
-        return -1;
-    for( int i = begin; i < 8; ++i )
-    {
-        switch( index )
-        {
-        case 0:
-            // Das erste Bit eines Pixels speichert, ob sich an der Komprimierung etwas änderte
-            änder = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
-            if( !änder ) // Ändert sich nichts an der Komprimierung, so werden die Werte vom vorherigen Pixel übernommen
-            {
-                if( !davor ) // Die Datei ist beschädigt ( Der erste Pixel kann nicht von dem davor Übernemen )
-                {
+	if( begin >= 8 || begin < 0 )
+		return -1;
+	for( int i = begin; i < 8; ++i )
+	{
+		switch( index )
+		{
+		case 0:
+			// Das erste Bit eines Pixels speichert, ob sich an der Komprimierung etwas änderte
+			change = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
+			if( !change ) // Ändert sich nichts an der Komprimierung, so werden die Werte vom vorherigen Pixel übernommen
+			{
+				if( !davor ) // Die Datei ist beschädigt ( Der erste Pixel kann nicht von dem davor Übernemen )
+				{
 #ifdef WIN32
 #ifdef WIN32
-                    MessageBox( NULL, "Fehler, die Bilddatei ist beschädigt", "Fehler", MB_ICONERROR );
+					MessageBox( NULL, "Fehler, die Bilddatei ist beschädigt", "Fehler", MB_ICONERROR );
 #endif
 #endif
-                    exit( 0 );
-                }
-                änderR = davor->getÄnderR();
-                änderG = davor->getÄnderG();
-                änderB = davor->getÄnderB();
-                änderA = davor->getÄnderA();
-                komp = davor->getKomp();
-                miR -= komp, miG -= komp, miB -= komp, miA -= komp;
-                if( !änderR )
-                    R = davor->getR();
-                if( !änderG )
-                    G = davor->getG();
-                if( !änderB )
-                    B = davor->getB();
-                if( !änderA )
-                    A = davor->getA();
-                maxIndex += ( änderR + änderG + änderB + änderA ) * ( 8 - komp ); // Bestimmung der Länge
-                // des Pixels in Bits. Jede Farbe hat von grund auf 8 Bits, durch komprimierung kanns kleiner sein
-            }
-            else
-                maxIndex += 7; // Da der Pixel nicht die Werte des vorherigen übernimmt, wird er um 7 Bits größer
-            break;
-        case 1: // Das zweite Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 7 Komprimierungsbits
-                änderR = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 2: // Das dritte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 7 Komprimierungsbits
-                änderG = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 3: // Das vierte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 7 Komprimierungsbits
-                änderB = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 4: // Das fünfte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 7 Komprimierungsbits
-                änderA = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 5: // Das sechste Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 7 Komprimierungsbits
-                komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & 0x1 ) << 2;
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 6: // Das siebte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 7 Komprimierungsbits
-                komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & 0x1 ) << 1;
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 7: // Das achte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 7 Komprimierungsbits
-            {
-                komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & 0x1 );
-                // Das war das letzte Komprimierungsbit
-                // Komprimierung auswerten 
-                miR -= komp, miG -= komp, miB -= komp, miA -= komp;
-                if( !änderR )
-                    R = davor->getR();
-                if( !änderG )
-                    G = davor->getG();
-                if( !änderB )
-                    B = davor->getB();
-                if( !änderA )
-                    A = davor->getA();
-                maxIndex += ( änderR + änderG + änderB + änderA ) * ( 8 - komp ); // Bitlänge des Pixels
-            }
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        default: // Die restlichen Bits speichern alle die Farbwerte des Pixels
-            if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                return i;
-            break;
-        }
-        ++index;
-        if( index >= maxIndex )
-        {
-            if( davor )
-            {
-                if( änderR )
-                    R = davor->getR() + R;
-                if( änderG )
-                    G = davor->getG() + G;
-                if( änderB )
-                    B = davor->getB() + B;
-                if( änderA )
-                    A = davor->getA() + A;
-                davor = davor->release();
-            }
-            return i + 1;
-        }
-    }
-    return -1;
+					exit( 0 );
+				}
+				changeR = davor->getChangeR();
+				changeG = davor->getChangeG();
+				changeB = davor->getChangeB();
+				changeA = davor->getChangeA();
+				komp = davor->getKomp() & 7;
+				miR = (char)( miR - komp ), miG = (char)( miG - komp ), miB = (char)( miB - komp ), miA = (char)( miA - komp );
+				if( !changeR )
+					R = davor->getR();
+				if( !changeG )
+					G = davor->getG();
+				if( !changeB )
+					B = davor->getB();
+				if( !changeA )
+					A = davor->getA();
+				maxIndex = (char)( maxIndex + ( changeR + changeG + changeB + changeA ) * ( 8 - komp ) ); // Bestimmung der Länge
+				// des Pixels in Bits. Jede Farbe hat von grund auf 8 Bits, durch komprimierung kanns kleiner sein
+			}
+			else
+				maxIndex = (char)( maxIndex + 7 ); // Da der Pixel nicht die Werte des vorherigen übernimmt, wird er um 7 Bits größer
+			break;
+		case 1: // Das zweite Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( change ) // Das Bit gehört zu den 7 Komprimierungsbits
+				changeR = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
+			else
+			{
+				if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+					return (unsigned char)i;
+			}
+			break;
+		case 2: // Das dritte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( change ) // Das Bit gehört zu den 7 Komprimierungsbits
+				changeG = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
+			else
+			{
+				if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+					return (unsigned char)i;
+			}
+			break;
+		case 3: // Das vierte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( change ) // Das Bit gehört zu den 7 Komprimierungsbits
+				changeB = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
+			else
+			{
+				if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+					return (unsigned char)i;
+			}
+			break;
+		case 4: // Das fünfte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( change ) // Das Bit gehört zu den 7 Komprimierungsbits
+				changeA = (bool)( ( byte >> ( 7 - i ) ) & 0x1 );
+			else
+			{
+				if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+					return (unsigned char)i;
+			}
+			break;
+		case 5: // Das sechste Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( change ) // Das Bit gehört zu den 7 Komprimierungsbits
+				komp = (unsigned char)( komp | ( (unsigned char)( ( byte >> ( 7 - i ) ) & 0x1 ) << 2 ) ) & 7;
+			else
+			{
+				if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+					return (unsigned char)i;
+			}
+			break;
+		case 6: // Das siebte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( change ) // Das Bit gehört zu den 7 Komprimierungsbits
+				komp = (unsigned char)( komp | ( (unsigned char)( ( byte >> ( 7 - i ) ) & 0x1 ) << 1 ) ) & 7;
+			else
+			{
+				if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+					return (unsigned char)i;
+			}
+			break;
+		case 7: // Das achte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( change ) // Das Bit gehört zu den 7 Komprimierungsbits
+			{
+				komp = (unsigned char)( komp | ( ( byte >> ( 7 - i ) ) & 0x1 ) ) & 7;
+				// Das war das letzte Komprimierungsbit
+				// Komprimierung auswerten 
+				miR = (char)( miR - komp ), miG = (char)( miG - komp ), miB = (char)( miB - komp ), miA = (char)( miA - komp );
+				if( !changeR )
+					R = davor->getR();
+				if( !changeG )
+					G = davor->getG();
+				if( !changeB )
+					B = davor->getB();
+				if( !changeA )
+					A = davor->getA();
+				maxIndex = (char)( maxIndex + ( changeR + changeG + changeB + changeA ) * ( 8 - komp ) ); // Bitlänge des Pixels
+			}
+			else
+			{
+				if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+					return (unsigned char)i;
+			}
+			break;
+		default: // Die restlichen Bits speichern alle die Farbwerte des Pixels
+			if( !addBitZuFarbe( (unsigned char)( byte >> ( 7 - i ) ) ) ) // Das Bit gehört zur Farbe
+				return (unsigned char)i;
+			break;
+		}
+		++index;
+		if( index >= maxIndex )
+		{
+			if( davor )
+			{
+				if( changeR )
+					R = (unsigned char)( davor->getR() + R );
+				if( changeG )
+					G = (unsigned char)( davor->getG() + G );
+				if( changeB )
+					B = (unsigned char)( davor->getB() + B );
+				if( changeA )
+					A = (unsigned char)( davor->getA() + A );
+				davor = davor->release();
+			}
+			return (char)( i + 1 );
+		}
+	}
+	return -1;
 }
 }
 
 
 void LTDBPixel::setFarbe( int f ) // setzt die Farbe des Pixels
 void LTDBPixel::setFarbe( int f ) // setzt die Farbe des Pixels
 {   // Da diese Funktion aufgerufen wird, möchte man die Klasse nun zum speichern verwenden
 {   // Da diese Funktion aufgerufen wird, möchte man die Klasse nun zum speichern verwenden
-    // Werte zurücksetzen, fals mit der Klasse schon geladen oder gespeichert wurde
-    index = 0, maxIndex = 1;
-    änder = 0, änderR = 0, änderG = 0, änderB = 0, änderA = 0, komp = 0;
-    iR = 0, iG = 0, iB = 0, iA = 0;
-    miR = 8, miG = 8, miB = 8, miA = 8;
-    // Farbwerte setzen
-    R = (unsigned char)( f >> 16 );
-    G = (unsigned char)( f >> 8 );
-    B = (unsigned char)f;
-    A = (unsigned char)( f >> 24 );
+	// Werte zurücksetzen, fals mit der Klasse schon geladen oder gespeichert wurde
+	index = 0, maxIndex = 1;
+	change = 0, changeR = 0, changeG = 0, changeB = 0, changeA = 0, komp = 0;
+	iR = 0, iG = 0, iB = 0, iA = 0;
+	miR = 8, miG = 8, miB = 8, miA = 8;
+	// Farbwerte setzen
+	R = (unsigned char)( f >> 16 );
+	G = (unsigned char)( f >> 8 );
+	B = (unsigned char)f;
+	A = (unsigned char)( f >> 24 );
 }
 }
 
 
 void LTDBPixel::komprimieren() // Komprimiert den Pixel
 void LTDBPixel::komprimieren() // Komprimiert den Pixel
 {
 {
-    maxIndex = 1;
-    if( !davor )
-    {// Das ist der erste Pixel
-        änder = 1;
-        änderR = 1;
-        änderG = 1;
-        änderB = 1;
-        änderA = 1;
-        maxIndex += 7;
-        miR = getBits( R );
-        miG = getBits( G );
-        miB = getBits( B );
-        miA = getBits( A );
-    }
-    else
-    { // Es wird die differenz zum vorrigen Pixel gespeichert
-        miR = getBits( R - davor->getR() );
-        miG = getBits( G - davor->getG() );
-        miB = getBits( B - davor->getB() );
-        miA = getBits( A - davor->getA() );
-        änderR = R != davor->getR();
-        änderG = G != davor->getG();
-        änderB = B != davor->getB();
-        änderA = A != davor->getA();
-    }// Prüfen ob sich etwas ändert
-    if( !miR && änderR )
-        ++miR;
-    if( !miG && änderG )
-        ++miG;
-    if( !miB && änderB )
-        ++miB;
-    if( !miA && änderA )
-        ++miA;
-    int k = ( miR > miG ? miR : miG );
-    k = ( k > miB ? k : miB );
-    k = ( k > miA ? k : miA );
-    miR = k, miG = k, miB = k, miA = k;
-    komp = 8 - k;
-    maxIndex += ( änderR + änderG + änderB + änderA ) * ( k );
-    if( davor )
-    {
-        if( änderR != davor->getÄnderR() ||
-            änderG != davor->getÄnderG() ||
-            änderB != davor->getÄnderB() ||
-            änderA != davor->getÄnderA() ||
-            komp != davor->getKomp() )
-        { // Es ändert sich etwas
-            änder = 1;
-            maxIndex += 7;
-        }
-        else
-        { // Es ändert sich nichts
-            änder = 0;
-        }
-    }
+	maxIndex = 1;
+	if( !davor )
+	{// Das ist der erste Pixel
+		change = 1;
+		changeR = 1;
+		changeG = 1;
+		changeB = 1;
+		changeA = 1;
+		maxIndex = (char)( maxIndex + 7 );
+		miR = (char)getBits( R );
+		miG = (char)getBits( G );
+		miB = (char)getBits( B );
+		miA = (char)getBits( A );
+	}
+	else
+	{ // Es wird die differenz zum vorrigen Pixel gespeichert
+		miR = (char)getBits( (char)( R - davor->getR() ) );
+		miG = (char)getBits( (char)( G - davor->getG() ) );
+		miB = (char)getBits( (char)( B - davor->getB() ) );
+		miA = (char)getBits( (char)( A - davor->getA() ) );
+		changeR = R != davor->getR();
+		changeG = G != davor->getG();
+		changeB = B != davor->getB();
+		changeA = A != davor->getA();
+	}// Prüfen ob sich etwas ändert
+	if( !miR && changeR )
+		++miR;
+	if( !miG && changeG )
+		++miG;
+	if( !miB && changeB )
+		++miB;
+	if( !miA && changeA )
+		++miA;
+	int k = ( miR > miG ? miR : miG );
+	k = ( k > miB ? k : miB );
+	k = ( k > miA ? k : miA );
+	miR = (char)k, miG = (char)k, miB = (char)k, miA = (char)k;
+	komp = (unsigned char)( 8 - k ) & 7;
+	maxIndex = (char)( maxIndex + ( changeR + changeG + changeB + changeA ) * k );
+	if( davor )
+	{
+		if( changeR != davor->getChangeR() ||
+			changeG != davor->getChangeG() ||
+			changeB != davor->getChangeB() ||
+			changeA != davor->getChangeA() ||
+			komp != davor->getKomp() )
+		{ // Es ändert sich etwas
+			change = 1;
+			maxIndex = (char)( maxIndex + 7 );
+		}
+		else
+		{ // Es ändert sich nichts
+			change = 0;
+		}
+	}
 }
 }
 
 
 bool LTDBPixel::getNextFarbeBit( char &byte, int i ) // Speichert das nächste Farbbit in byte
 bool LTDBPixel::getNextFarbeBit( char &byte, int i ) // Speichert das nächste Farbbit in byte
 {
 {
-    unsigned char RR = R;
-    unsigned char GG = G;
-    unsigned char BB = B;
-    unsigned char AA = A;
-    if( davor )
-    {
-        RR -= davor->getR();
-        GG -= davor->getG();
-        BB -= davor->getB();
-        AA -= davor->getA();
-    }
-    if( änderR && iR != miR ) // Das Bit gehört zu Rot
-    {
-        byte |= ( ( RR >> ( 7 - komp - iR ) ) & 0x1 ) << ( 7 - i );
-        ++iR;
-    }
-    else if( änderG && iG != miG ) // Das Bit gehört zu Grün
-    {
-        byte |= ( ( GG >> ( 7 - komp - iG ) ) & 0x1 ) << ( 7 - i );
-        ++iG;
-    }
-    else if( änderB && iB != miB ) // Das Bit gehört zu Blau
-    {
-        byte |= ( ( BB >> ( 7 - komp - iB ) ) & 0x1 ) << ( 7 - i );
-        ++iB;
-    }
-    else if( änderA && iA != miA ) // Das Bit gehört zu Alpha
-    {
-        byte |= ( ( AA >> ( 7 - komp - iA ) ) & 0x1 ) << ( 7 - i );
-        ++iA;
-    }
-    else // Der Pixel ist bereits zu ende
-        return false;
-    return true;
+	unsigned char RR = R;
+	unsigned char GG = G;
+	unsigned char BB = B;
+	unsigned char AA = A;
+	if( davor )
+	{
+		RR = (unsigned char)( RR - davor->getR() );
+		GG = (unsigned char)( GG - davor->getG() );
+		BB = (unsigned char)( BB - davor->getB() );
+		AA = (unsigned char)( AA - davor->getA() );
+	}
+	if( changeR && iR != miR ) // Das Bit gehört zu Rot
+	{
+		byte |= (char)( ( ( RR >> ( 7 - komp - iR ) ) & 0x1 ) << ( 7 - i ) );
+		++iR;
+	}
+	else if( changeG && iG != miG ) // Das Bit gehört zu Grün
+	{
+		byte |= (char)( ( ( GG >> ( 7 - komp - iG ) ) & 0x1 ) << ( 7 - i ) );
+		++iG;
+	}
+	else if( changeB && iB != miB ) // Das Bit gehört zu Blau
+	{
+		byte |= (char)( ( ( BB >> ( 7 - komp - iB ) ) & 0x1 ) << ( 7 - i ) );
+		++iB;
+	}
+	else if( changeA && iA != miA ) // Das Bit gehört zu Alpha
+	{
+		byte |= (char)( ( ( AA >> ( 7 - komp - iA ) ) & 0x1 ) << ( 7 - i ) );
+		++iA;
+	}
+	else // Der Pixel ist bereits zu ende
+		return false;
+	return true;
 }
 }
 
 
 char LTDBPixel::getNextByte( char &byte, int begin ) // Gibt die nächsten Bits Zurück, -1 wenn der Pixel nicht zu ende ist
 char LTDBPixel::getNextByte( char &byte, int begin ) // Gibt die nächsten Bits Zurück, -1 wenn der Pixel nicht zu ende ist
 {
 {
-    // bbegin gibt an wohin in die byte-variable geschrieben werden soll
-    // die Funktion gibt das ende des Pixels in der byte-variable zurück
-    // -1 heißt, dass der Pixel nicht zu ende ist
-    for( int i = begin; i < 8; ++i )
-    {
-        switch( index )
-        {
-        case 0: // Das erste Bit des Pixels speichert, ob sich etwas an der Komprimierung ändert
-            byte |= ( (int)änder & 0x1 ) << ( 7 - i );
-            break;
-        case 1: // Das zweite Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( (int)änderR & 0x1 ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 2: // Das dritte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( (int)änderG & 0x1 ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 3: // Das vierte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( (int)änderB & 0x1 ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 4: // Das fünfte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( (int)änderA & 0x1 ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 5: // Das sechste Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( ( komp >> 2 ) & 0x1 ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 6: // Das siebte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( ( komp >> 1 ) & 0x1 ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 7: // Das sechste Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( komp & 0x1 ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        default: // Die restlichen Bits speichern die Farbe des Pixels
-            if( !getNextFarbeBit( byte, i ) )
-                return i;
-            break;
-        }
-        ++index;
-        if( index >= maxIndex )
-        {
-            if( davor )
-                davor = davor->release();
-            return i + 1;
-        }
-    }
-    return -1;
+	// bbegin gibt an wohin in die byte-variable geschrieben werden soll
+	// die Funktion gibt das ende des Pixels in der byte-variable zurück
+	// -1 heißt, dass der Pixel nicht zu ende ist
+	for( int i = begin; i < 8; ++i )
+	{
+		switch( index )
+		{
+		case 0: // Das erste Bit des Pixels speichert, ob sich etwas an der Komprimierung ändert
+			byte |= (char)( ( (int)change & 0x1 ) << ( 7 - i ) );
+			break;
+		case 1: // Das zweite Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( change ) // Komprimierung
+				byte |= (char)( ( (int)changeR & 0x1 ) << ( 7 - i ) );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return (char)i;
+			}
+			break;
+		case 2: // Das dritte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( change ) // Komprimierung
+				byte |= (char)( ( (int)changeG & 0x1 ) << ( 7 - i ) );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return (char)i;
+			}
+			break;
+		case 3: // Das vierte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( change ) // Komprimierung
+				byte |= (char)( ( (int)changeB & 0x1 ) << ( 7 - i ) );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return (char)i;
+			}
+			break;
+		case 4: // Das fünfte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( change ) // Komprimierung
+				byte |= (char)( ( (int)changeA & 0x1 ) << ( 7 - i ) );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return (char)i;
+			}
+			break;
+		case 5: // Das sechste Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( change ) // Komprimierung
+				byte |= (char)( ( ( komp >> 2 ) & 0x1 ) << ( 7 - i ) );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return (char)i;
+			}
+			break;
+		case 6: // Das siebte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( change ) // Komprimierung
+				byte |= (char)( ( ( komp >> 1 ) & 0x1 ) << ( 7 - i ) );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return (char)i;
+			}
+			break;
+		case 7: // Das sechste Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( change ) // Komprimierung
+				byte |= (char)( ( komp & 0x1 ) << ( 7 - i ) );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return (char)i;
+			}
+			break;
+		default: // Die restlichen Bits speichern die Farbe des Pixels
+			if( !getNextFarbeBit( byte, i ) )
+				return (char)i;
+			break;
+		}
+		++index;
+		if( index >= maxIndex )
+		{
+			if( davor )
+				davor = davor->release();
+			return (char)( i + 1 );
+		}
+	}
+	return -1;
 }
 }
 
 
 // constant 
 // constant 
 int LTDBPixel::zuFarbe() const // gibt den Pixel als Farbe zurück
 int LTDBPixel::zuFarbe() const // gibt den Pixel als Farbe zurück
 {
 {
-    return ( ( (int)R << 16 ) | ( (int)G << 8 ) | (int)B | ( (int)A << 24 ) );
+	return ( ( (int)R << 16 ) | ( (int)G << 8 ) | (int)B | ( (int)A << 24 ) );
 }
 }
 
 
-bool LTDBPixel::getÄnderR() const
+bool LTDBPixel::getChangeR() const
 {
 {
-    return änderR;
+	return changeR;
 }
 }
 
 
-bool LTDBPixel::getÄnderG() const
+bool LTDBPixel::getChangeG() const
 {
 {
-    return änderG;
+	return changeG;
 }
 }
 
 
-bool LTDBPixel::getÄnderB() const
+bool LTDBPixel::getChangeB() const
 {
 {
-    return änderB;
+	return changeB;
 }
 }
 
 
-bool LTDBPixel::getÄnderA() const
+bool LTDBPixel::getChangeA() const
 {
 {
-    return änderA;
+	return changeA;
 }
 }
 
 
 unsigned char LTDBPixel::getKomp() const
 unsigned char LTDBPixel::getKomp() const
 {
 {
-    return komp;
+	return komp;
 }
 }
 
 
 unsigned char LTDBPixel::getR() const // gibt Rot zurück 
 unsigned char LTDBPixel::getR() const // gibt Rot zurück 
 {
 {
-    return R;
+	return R;
 }
 }
 
 
 unsigned char LTDBPixel::getG() const // gibt Grün zurück
 unsigned char LTDBPixel::getG() const // gibt Grün zurück
 {
 {
-    return G;
+	return G;
 }
 }
 
 
 unsigned char LTDBPixel::getB() const // gibt Blau zurück
 unsigned char LTDBPixel::getB() const // gibt Blau zurück
 {
 {
-    return B;
+	return B;
 }
 }
 
 
 unsigned char LTDBPixel::getA() const // gibt Alpha zurück
 unsigned char LTDBPixel::getA() const // gibt Alpha zurück
 {
 {
-    return A;
+	return A;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDBPixel *LTDBPixel::getThis()
 LTDBPixel *LTDBPixel::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDBPixel *LTDBPixel::release()
 LTDBPixel *LTDBPixel::release()
 {
 {
-    --ref;
-    if( ref < 1 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref < 1 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDBDateiKopf Klasse aus Dateisystem.h
 // Inhalt der LTDBDateiKopf Klasse aus Dateisystem.h
 // konstructor
 // konstructor
 LTDBDateiKopf::LTDBDateiKopf()
 LTDBDateiKopf::LTDBDateiKopf()
-    : bilder( new RCArray< Text >() ),
-    pos( new Array< __int64 >() ),
-    bAnzahl( 0 ),
-    ref( 1 )
+	: bilder( new RCArray< Text >() ),
+	pos( new Array< __int64 >() ),
+	bAnzahl( 0 ),
+	ref( 1 )
 {}
 {}
 
 
 // destructor 
 // destructor 
 LTDBDateiKopf::~LTDBDateiKopf()
 LTDBDateiKopf::~LTDBDateiKopf()
 {
 {
-    bilder->release();
-    pos->release();
+	bilder->release();
+	pos->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void LTDBDateiKopf::removeBild( int i )
 void LTDBDateiKopf::removeBild( int i )
 {
 {
-    if( i >= bAnzahl )
-        return;
-    bilder->lösche( i );
-    pos->lösche( i );
-    --bAnzahl;
+	if( i >= bAnzahl )
+		return;
+	bilder->remove( i );
+	pos->remove( i );
+	--bAnzahl;
 }
 }
 
 
 void LTDBDateiKopf::removeBild( Text *txt )
 void LTDBDateiKopf::removeBild( Text *txt )
 {
 {
-    int i = -1;
-    for( int ii = 0; ii < bAnzahl; ++ii )
-    {
-        Text *b = bilder->z( ii );
-        if( b->istGleich( txt->getText() ) )
-        {
-            i = ii;
-            break;
-        }
-    }
-    txt->release();
-    if( i == -1 )
-        return;
-    bilder->lösche( i );
-    pos->lösche( i );
-    --bAnzahl;
+	int i = -1;
+	for( int ii = 0; ii < bAnzahl; ++ii )
+	{
+		Text *b = bilder->z( ii );
+		if( b->istGleich( txt->getText() ) )
+		{
+			i = ii;
+			break;
+		}
+	}
+	txt->release();
+	if( i == -1 )
+		return;
+	bilder->remove( i );
+	pos->remove( i );
+	--bAnzahl;
 }
 }
 
 
 void LTDBDateiKopf::addBild( Text *txt )
 void LTDBDateiKopf::addBild( Text *txt )
 {
 {
-    bilder->add( txt, bAnzahl );
-    pos->add( 0, bAnzahl );
-    ++bAnzahl;
+	bilder->add( txt, bAnzahl );
+	pos->add( 0, bAnzahl );
+	++bAnzahl;
 }
 }
 
 
 void LTDBDateiKopf::setBildPos( int i, __int64 pos )
 void LTDBDateiKopf::setBildPos( int i, __int64 pos )
 {
 {
-    this->pos->set( pos, i );
+	this->pos->set( pos, i );
 }
 }
 
 
 void LTDBDateiKopf::setBildPos( Text *txt, __int64 pos )
 void LTDBDateiKopf::setBildPos( Text *txt, __int64 pos )
 {
 {
-    int i = -1;
-    for( int ii = 0; ii < bAnzahl; ++ii )
-    {
-        Text *b = bilder->z( ii );
-        if( b->istGleich( txt->getText() ) )
-        {
-            i = ii;
-            break;
-        }
-    }
-    txt->release();
-    if( i == -1 )
-        return;
-    this->pos->set( pos, i );
+	int i = -1;
+	for( int ii = 0; ii < bAnzahl; ++ii )
+	{
+		Text *b = bilder->z( ii );
+		if( b->istGleich( txt->getText() ) )
+		{
+			i = ii;
+			break;
+		}
+	}
+	txt->release();
+	if( i == -1 )
+		return;
+	this->pos->set( pos, i );
 }
 }
 
 
 void LTDBDateiKopf::laden( FBalken *f, std::ifstream *inF )
 void LTDBDateiKopf::laden( FBalken *f, std::ifstream *inF )
 {
 {
-    if( inF->is_open() && inF->good() )
-    {
-        char b = 0;
-        inF->read( &b, 1 );
-        bAnzahl = b << 8;
-        inF->read( &b, 1 );
-        bAnzahl |= b & 0xFF;
+	if( inF->is_open() && inF->good() )
+	{
+		char b = 0;
+		inF->read( &b, 1 );
+		bAnzahl = b << 8;
+		inF->read( &b, 1 );
+		bAnzahl |= b & 0xFF;
 #ifdef WIN32
 #ifdef WIN32
-        if( f )
-        {
-            f->reset();
-            f->setAktionAnzahl( bAnzahl );
-        }
+		if( f )
+		{
+			f->reset();
+			f->setAktionAnzahl( bAnzahl );
+		}
 #endif
 #endif
-        bilder->leeren();
-        pos->leeren();
-        for( int i = 0; i < bAnzahl; ++i )
-        {
-            LTDBKopf *kpf = new LTDBKopf();
-            kpf->laden( inF ); // bildname und halbe datei position
-            bilder->set( kpf->getTitel(), i ); // setzt titel
-            Punkt gr = kpf->getGröße();
-            kpf->release();
-            char p[ 5 ];
-            inF->read( (char *)p, 5 ); // andere hälfte der Dateiposition
-            unsigned __int64 position = ( ( (__int64)gr.x << 52 ) & 0xFFF0000000000000 ) |
-                ( ( (__int64)gr.y << 40 ) & 0xFFF0000000000 ) |
-                ( ( (__int64)p[ 0 ] << 32 ) & 0xFF00000000 ) |
-                ( ( (__int64)p[ 1 ] << 24 ) & 0xFF000000 ) |
-                ( ( (__int64)p[ 2 ] << 16 ) & 0xFF0000 ) |
-                ( ( (__int64)p[ 3 ] << 8 ) & 0xFF00 ) |
-                ( (__int64)p[ 4 ] & 0xFF );
-            pos->set( position, i ); // setzt position
+		bilder->leeren();
+		pos->leeren();
+		for( int i = 0; i < bAnzahl; ++i )
+		{
+			LTDBKopf *kpf = new LTDBKopf();
+			kpf->laden( inF ); // bildname und halbe datei position
+			bilder->set( kpf->getTitel(), i ); // setzt titel
+			Punkt gr = kpf->getSize();
+			kpf->release();
+			char p[ 5 ];
+			inF->read( (char *)p, 5 ); // andere hälfte der Dateiposition
+			unsigned __int64 position = ( ( (__int64)gr.x << 52 ) & 0xFFF0000000000000 ) |
+				( ( (__int64)gr.y << 40 ) & 0xFFF0000000000 ) |
+				( ( (__int64)p[ 0 ] << 32 ) & 0xFF00000000 ) |
+				( ( (__int64)p[ 1 ] << 24 ) & 0xFF000000 ) |
+				( ( (__int64)p[ 2 ] << 16 ) & 0xFF0000 ) |
+				( ( (__int64)p[ 3 ] << 8 ) & 0xFF00 ) |
+				( (__int64)p[ 4 ] & 0xFF );
+			pos->set( position, i ); // setzt position
 #ifdef WIN32
 #ifdef WIN32
-            if( f )
-                f->aktionPlus();
+			if( f )
+				f->aktionPlus();
 #endif
 #endif
-        }
-    }
+		}
+	}
 }
 }
 
 
 // constant
 // constant
 void LTDBDateiKopf::speichern( std::ofstream *outF ) const
 void LTDBDateiKopf::speichern( std::ofstream *outF ) const
 {
 {
-    if( outF->is_open() && outF->good() )
-    {
-        char b = bAnzahl >> 8;
-        outF->write( &b, 1 );
-        b = (char)bAnzahl;
-        outF->write( &b, 1 );
-        for( int i = 0; i < bAnzahl; ++i )
-        {
-            LTDBKopf *kpf = new LTDBKopf();
-            __int64 position = pos->get( i );
-            kpf->Init( bilder->get( i ), Punkt( position >> 52, position >> 40 ) );
-            kpf->speichern( outF );
-            kpf->release();
-            char p[] = { (char)( position >> 32 ), (char)( position >> 24 ), (char)( position >> 16 ), (char)( position >> 8 ), (char)( position ) };
-            outF->write( (char *)p, 5 );
-        }
-    }
+	if( outF->is_open() && outF->good() )
+	{
+		char b = (char)( bAnzahl >> 8 );
+		outF->write( &b, 1 );
+		b = (char)bAnzahl;
+		outF->write( &b, 1 );
+		for( int i = 0; i < bAnzahl; ++i )
+		{
+			LTDBKopf *kpf = new LTDBKopf();
+			__int64 position = pos->get( i );
+			kpf->Init( bilder->get( i ), Punkt( (int)( position >> 52 ), (int)( position >> 40 ) ) );
+			kpf->speichern( outF );
+			kpf->release();
+			char p[] = { (char)( position >> 32 ), (char)( position >> 24 ), (char)( position >> 16 ), (char)( position >> 8 ), (char)( position ) };
+			outF->write( (char *)p, 5 );
+		}
+	}
 }
 }
 
 
 Text *LTDBDateiKopf::getBild( int i ) const
 Text *LTDBDateiKopf::getBild( int i ) const
 {
 {
-    return bilder->get( i );
+	return bilder->get( i );
 }
 }
 
 
 Text *LTDBDateiKopf::zBild( int i ) const
 Text *LTDBDateiKopf::zBild( int i ) const
 {
 {
-    return bilder->z( i );
+	return bilder->z( i );
 }
 }
 
 
 __int64 LTDBDateiKopf::getBildPosition( Text *txt ) const
 __int64 LTDBDateiKopf::getBildPosition( Text *txt ) const
 {
 {
-    int i = -1;
-    for( int ii = 0; ii < bAnzahl; ++ii )
-    {
-        Text *b = bilder->z( ii );
-        if( b->istGleich( txt->getText() ) )
-        {
-            i = ii;
-            break;
-        }
-    }
-    txt->release();
-    if( i == -1 )
-        return -1;
-    return pos->get( i );
+	int i = -1;
+	for( int ii = 0; ii < bAnzahl; ++ii )
+	{
+		Text *b = bilder->z( ii );
+		if( b->istGleich( txt->getText() ) )
+		{
+			i = ii;
+			break;
+		}
+	}
+	txt->release();
+	if( i == -1 )
+		return -1;
+	return pos->get( i );
 }
 }
 
 
 __int64 LTDBDateiKopf::getBildPosition( int index ) const
 __int64 LTDBDateiKopf::getBildPosition( int index ) const
 {
 {
-    return pos->get( index );
+	return pos->get( index );
 }
 }
 
 
 int LTDBDateiKopf::getBildIndex( Text *txt ) const
 int LTDBDateiKopf::getBildIndex( Text *txt ) const
 {
 {
-    int i = -1;
-    for( int ii = 0; ii < bAnzahl; ++ii )
-    {
-        Text *b = bilder->z( ii );
-        if( b->istGleich( txt->getText() ) )
-        {
-            i = ii;
-            break;
-        }
-    }
-    txt->release();
-    return i;
+	int i = -1;
+	for( int ii = 0; ii < bAnzahl; ++ii )
+	{
+		Text *b = bilder->z( ii );
+		if( b->istGleich( txt->getText() ) )
+		{
+			i = ii;
+			break;
+		}
+	}
+	txt->release();
+	return i;
 }
 }
 
 
 int LTDBDateiKopf::getbAnzahl() const
 int LTDBDateiKopf::getbAnzahl() const
 {
 {
-    return bAnzahl;
+	return bAnzahl;
 }
 }
 
 
 RCArray< Text > *LTDBDateiKopf::zBildListe() const
 RCArray< Text > *LTDBDateiKopf::zBildListe() const
 {
 {
-    return bilder;
+	return bilder;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDBDateiKopf *LTDBDateiKopf::getThis()
 LTDBDateiKopf *LTDBDateiKopf::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDBDateiKopf *LTDBDateiKopf::release()
 LTDBDateiKopf *LTDBDateiKopf::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDBKopf Klasse aus DateiSystem.h
 // Inhalt der LTDBKopf Klasse aus DateiSystem.h
 // Konstruktor 
 // Konstruktor 
 LTDBKopf::LTDBKopf()
 LTDBKopf::LTDBKopf()
-    : ref( 1 )
+	: ref( 1 )
 {}
 {}
 
 
 // nicht constant 
 // nicht constant 
 void LTDBKopf::laden( std::ifstream *f ) // Lät die Daten aus einer Datei
 void LTDBKopf::laden( std::ifstream *f ) // Lät die Daten aus einer Datei
 {
 {
-    if( f->is_open() )
-    {
-        a = 0;
-        b = 0;
-        c = 0;
-        char aa = 0;
-        f->read( &aa, 1 );
-        int tl = ( aa >> 4 ) & Bits( 4 );
-        int BitAnzahl = 4 + tl * 5 + 24;
-        f->seekg( -1, std::ios::cur );
-        int Bytes = BitAnzahl / 8;
-        if( ( (float)BitAnzahl / 8.0f ) != Bytes )
-            ++Bytes;
-        char byte = 0;
-        for( int i = 0; i < Bytes; ++i )
-        {
-            f->read( &byte, 1 );
-            setBits( i * 8, i * 8 + 8, byte );
-        }
-    }
+	if( f->is_open() )
+	{
+		a = 0;
+		b = 0;
+		c = 0;
+		char aa = 0;
+		f->read( &aa, 1 );
+		int tl = ( aa >> 4 ) & Bits( 4 );
+		int BitAnzahl = 4 + tl * 5 + 24;
+		f->seekg( -1, std::ios::cur );
+		int Bytes = BitAnzahl / 8;
+		if( ( (float)BitAnzahl / 8.0f ) != Bytes )
+			++Bytes;
+		char byte = 0;
+		for( int i = 0; i < Bytes; ++i )
+		{
+			f->read( &byte, 1 );
+			setBits( i * 8, i * 8 + 8, byte );
+		}
+	}
 }
 }
 
 
 int LTDBKopf::Init( Text *t, const Punkt &g ) // Befüllt die Daten
 int LTDBKopf::Init( Text *t, const Punkt &g ) // Befüllt die Daten
 {
 {
-    a = 0;
-    b = 0;
-    c = 0;
-    int tl = t->getLänge();
-    if( tl > 15 )
-        tl = 15;
-    char *titel = new char[ tl ];
-    int übersp = 0;
-    for( int i = 0; i < tl; ++i )
-    {
-        titel[ i - übersp ] = t->getText()[ i ];
-        if( titel[ i - übersp ] > 96 && titel[ i - übersp ] < 123 )
-            titel[ i - übersp ] -= 96;
-        else if( titel[ i - übersp ] > 64 && titel[ i - übersp ] < 91 )
-            titel[ i - übersp ] -= 64;
-        else if( titel[ i - übersp ] == 'ü' || titel[ i - übersp ] == 'Ü' )
-            titel[ i - übersp ] = 27;
-        else if( titel[ i - übersp ] == 'ö' || titel[ i - übersp ] == 'Ö' )
-            titel[ i - übersp ] = 28;
-        else if( titel[ i - übersp ] == 'ä' || titel[ i - übersp ] == 'Ä' )
-            titel[ i - übersp ] = 29;
-        else if( titel[ i - übersp ] == 'ß' )
-            titel[ i - übersp ] = 30;
-        else if( titel[ i - übersp ] == '.' )
-            titel[ i - übersp ] = 31;
-        else
-            ++übersp;
-    }
-    a = (__int64)( ( tl - übersp ) & Bits( 4 ) ) << 60;
-    int BeginBit = 4;
-    for( int i = 0; i < tl - übersp; ++i )
-    {
-        BeginBit += 5;
-        switch( i )
-        {
-        case 0:
-            a |= (__int64)( titel[ i ] & 31 ) << 55; // ersten Buchstaben speichern
-            break;
-        case 1:
-            a |= (__int64)( titel[ i ] & 31 ) << 50; // zweiten Buchstaben speichern
-            break;
-        case 2:
-            a |= (__int64)( titel[ i ] & 31 ) << 45; // dritten Buchstaben speichern
-            break;
-        case 3:
-            a |= (__int64)( titel[ i ] & 31 ) << 40; // vierten Buchstaben speichern
-            break;
-        case 4:
-            a |= (__int64)( titel[ i ] & 31 ) << 35; // fünften Buchstaben speichern
-            break;
-        case 5:
-            a |= (__int64)( titel[ i ] & 31 ) << 30; // sechsten Buchstaben speichern
-            break;
-        case 6:
-            a |= (__int64)( titel[ i ] & 31 ) << 25; // siebten Buchstaben speichern
-            break;
-        case 7:
-            a |= (__int64)( titel[ i ] & 31 ) << 20; // achten Buchstaben speichern
-            break;
-        case 8:
-            a |= (__int64)( titel[ i ] & 31 ) << 15; // neunten Buchstaben speichern
-            break;
-        case 9:
-            a |= (__int64)( titel[ i ] & 31 ) << 10; // zenten Buchstaben speichern
-            break;
-        case 10:
-            a |= (__int64)( titel[ i ] & 31 ) << 5; // elften Buchstaben speichern
-            break;
-        case 11:
-            a |= (__int64)( titel[ i ] & 31 ); // zwölften Buchstaben speichern
-            break;
-        case 12:
-            b |= (__int32)( titel[ i ] & 31 ) << 27; // dreizenten Buchstaben speichern
-            break;
-        case 13:
-            b |= (__int32)( titel[ i ] & 31 ) << 22; // vierzenten Buchstaben speichern
-            break;
-        case 14:
-            b |= (__int32)( titel[ i ] & 31 ) << 17; // fünfzenten Buchstaben speichern
-            break;
-        }
-    }
-    __int16 grx = g.x & Bits( 12 );
-    __int16 gry = g.y & Bits( 12 );
-    int EndBit = BeginBit + 24;
-    setBits( BeginBit, EndBit - 12, grx );
-    setBits( BeginBit + 12, EndBit, gry );
-    t->release();
-    delete[]titel;
-    return übersp;
+	a = 0;
+	b = 0;
+	c = 0;
+	int tl = t->getLength();
+	if( tl > 15 )
+		tl = 15;
+	char *titel = new char[ tl ];
+	int skipped = 0;
+	for( int i = 0; i < tl; ++i )
+	{
+		titel[ i - skipped ] = t->getText()[ i ];
+		if( titel[ i - skipped ] > 96 && titel[ i - skipped ] < 123 )
+			titel[ i - skipped ] = (char)( titel[ i - skipped ] - 96 );
+		else if( titel[ i - skipped ] > 64 && titel[ i - skipped ] < 91 )
+			titel[ i - skipped ] = (char)( titel[ i - skipped ] - 64 );
+		else if( titel[ i - skipped ] == 'ü' || titel[ i - skipped ] == 'Ü' )
+			titel[ i - skipped ] = 27;
+		else if( titel[ i - skipped ] == 'ö' || titel[ i - skipped ] == 'Ö' )
+			titel[ i - skipped ] = 28;
+		else if( titel[ i - skipped ] == 'ä' || titel[ i - skipped ] == 'Ä' )
+			titel[ i - skipped ] = 29;
+		else if( titel[ i - skipped ] == 'ß' )
+			titel[ i - skipped ] = 30;
+		else if( titel[ i - skipped ] == '.' )
+			titel[ i - skipped ] = 31;
+		else
+			++skipped;
+	}
+	a = (__int64)( ( tl - skipped ) & Bits( 4 ) ) << 60;
+	int BeginBit = 4;
+	for( int i = 0; i < tl - skipped; ++i )
+	{
+		BeginBit += 5;
+		switch( i )
+		{
+		case 0:
+			a |= (__int64)( titel[ i ] & 31 ) << 55; // ersten Buchstaben speichern
+			break;
+		case 1:
+			a |= (__int64)( titel[ i ] & 31 ) << 50; // zweiten Buchstaben speichern
+			break;
+		case 2:
+			a |= (__int64)( titel[ i ] & 31 ) << 45; // dritten Buchstaben speichern
+			break;
+		case 3:
+			a |= (__int64)( titel[ i ] & 31 ) << 40; // vierten Buchstaben speichern
+			break;
+		case 4:
+			a |= (__int64)( titel[ i ] & 31 ) << 35; // fünften Buchstaben speichern
+			break;
+		case 5:
+			a |= (__int64)( titel[ i ] & 31 ) << 30; // sechsten Buchstaben speichern
+			break;
+		case 6:
+			a |= (__int64)( titel[ i ] & 31 ) << 25; // siebten Buchstaben speichern
+			break;
+		case 7:
+			a |= (__int64)( titel[ i ] & 31 ) << 20; // achten Buchstaben speichern
+			break;
+		case 8:
+			a |= (__int64)( titel[ i ] & 31 ) << 15; // neunten Buchstaben speichern
+			break;
+		case 9:
+			a |= (__int64)( titel[ i ] & 31 ) << 10; // zenten Buchstaben speichern
+			break;
+		case 10:
+			a |= (__int64)( titel[ i ] & 31 ) << 5; // elften Buchstaben speichern
+			break;
+		case 11:
+			a |= (__int64)( titel[ i ] & 31 ); // zwölften Buchstaben speichern
+			break;
+		case 12:
+			b |= (__int32)( titel[ i ] & 31 ) << 27; // dreizenten Buchstaben speichern
+			break;
+		case 13:
+			b |= (__int32)( titel[ i ] & 31 ) << 22; // vierzenten Buchstaben speichern
+			break;
+		case 14:
+			b |= (__int32)( titel[ i ] & 31 ) << 17; // fünfzenten Buchstaben speichern
+			break;
+		}
+	}
+	__int16 grx = (short)( g.x & Bits( 12 ) );
+	__int16 gry = (short)( g.y & Bits( 12 ) );
+	int EndBit = BeginBit + 24;
+	setBits( BeginBit, EndBit - 12, grx );
+	setBits( BeginBit + 12, EndBit, gry );
+	t->release();
+	delete[]titel;
+	return skipped;
 }
 }
 
 
 void LTDBKopf::setBits( int BeginBit, int EndBit, __int16 bits )
 void LTDBKopf::setBits( int BeginBit, int EndBit, __int16 bits )
 {
 {
-    if( EndBit - BeginBit > 16 )
-        EndBit = BeginBit + 16;
-    if( BeginBit < 64 )
-    {
-        if( EndBit < 64 )
-        {
-            a |= ( (__int64)bits & Bits( EndBit - BeginBit ) ) << ( ( 64 - BeginBit ) - ( EndBit - BeginBit ) );
-        }
-        else
-        {
-            a |= ( ( (__int64)bits >> ( EndBit - 64 ) ) & Bits( 64 - BeginBit ) );
-            b |= ( (__int32)bits & Bits( EndBit - 64 ) ) << ( 32 - ( EndBit - 64 ) );
-        }
-    }
-    else
-    {
-        if( BeginBit < 96 )
-        {
-            if( EndBit < 96 )
-            {
-                b |= ( (__int32)bits & Bits( EndBit - BeginBit ) ) << ( ( 96 - BeginBit ) - ( EndBit - BeginBit ) );
-            }
-            else
-            {
-                b |= ( ( (__int32)bits >> ( EndBit - 96 ) ) & Bits( 96 - BeginBit ) );
-                c |= ( ( (__int8)bits & Bits( EndBit - 96 ) ) << ( 8 - ( EndBit - 96 ) ) );
-            }
-        }
-        else
-        {
-            c |= ( ( (__int8)bits & Bits( EndBit - BeginBit ) ) << ( 8 - ( EndBit - BeginBit ) ) );
-        }
-    }
+	if( EndBit - BeginBit > 16 )
+		EndBit = BeginBit + 16;
+	if( BeginBit < 64 )
+	{
+		if( EndBit < 64 )
+		{
+			a |= ( (__int64)bits & Bits( EndBit - BeginBit ) ) << ( ( 64 - BeginBit ) - ( EndBit - BeginBit ) );
+		}
+		else
+		{
+			a |= ( ( (__int64)bits >> ( EndBit - 64 ) ) & Bits( 64 - BeginBit ) );
+			b |= ( (__int32)bits & Bits( EndBit - 64 ) ) << ( 32 - ( EndBit - 64 ) );
+		}
+	}
+	else
+	{
+		if( BeginBit < 96 )
+		{
+			if( EndBit < 96 )
+			{
+				b |= ( (__int32)bits & Bits( EndBit - BeginBit ) ) << ( ( 96 - BeginBit ) - ( EndBit - BeginBit ) );
+			}
+			else
+			{
+				b |= ( ( (__int32)bits >> ( EndBit - 96 ) ) & Bits( 96 - BeginBit ) );
+				c = (char)( c | ( ( (__int8)bits & Bits( EndBit - 96 ) ) << ( 8 - ( EndBit - 96 ) ) ) );
+			}
+		}
+		else
+		{
+			c = (char)( c | ( ( (__int8)bits & Bits( EndBit - BeginBit ) ) << ( 8 - ( EndBit - BeginBit ) ) ) );
+		}
+	}
 }
 }
 
 
 // constant 
 // constant 
 void LTDBKopf::speichern( std::ofstream *f ) const // Speichert die Daten in eine Datei
 void LTDBKopf::speichern( std::ofstream *f ) const // Speichert die Daten in eine Datei
 {
 {
-    if( f->is_open() )
-    {
-        int bits = 4/*Titellänge*/ + getTitelLänge() * 5/*Titel*/ + 24/*Bildgröße*/;
-        int bytes = bits / 8; // Bytelänge des Dateikopfes
-        if( ( (float)bits / 8.0f ) != bytes )
-            ++bytes;
-        char c = 0;
-        for( int i = 0; i < bytes; ++i )
-        {
-            c = (char)getBits( i * 8, i * 8 + 8 );
-            f->write( &c, 1 );
-        }
-    }
+	if( f->is_open() )
+	{
+		int bits = 4/*Titellänge*/ + getTitelLength() * 5/*Titel*/ + 24/*Bildgröße*/;
+		int bytes = bits / 8; // Bytelänge des Dateikopfes
+		if( ( (float)bits / 8.0f ) != bytes )
+			++bytes;
+		char c = 0;
+		for( int i = 0; i < bytes; ++i )
+		{
+			c = (char)getBits( i * 8, i * 8 + 8 );
+			f->write( &c, 1 );
+		}
+	}
 }
 }
 
 
-int LTDBKopf::getTitelLänge() const // gibt die länge des Bildnamens zurück
+int LTDBKopf::getTitelLength() const // gibt die länge des Bildnamens zurück
 {
 {
-    return a >> 60 & Bits( 4 ); // Die Länge des Titels wird in den ersten 4 Bits der Tatei gespeichert
+	return (int)( a >> 60 & Bits( 4 ) ); // Die Länge des Titels wird in den ersten 4 Bits der Tatei gespeichert
 }
 }
 
 
 Text *LTDBKopf::getTitel() const // gibt den Namen des Bildes zurück
 Text *LTDBKopf::getTitel() const // gibt den Namen des Bildes zurück
 {
 {
-    Text *ret = new Text( "" );
-    char c[ 2 ];
-    c[ 1 ] = '\0';
-    int l = getTitelLänge();
-    for( int i = 0; i < l; ++i )
-    {
-        c[ 0 ] = 0;
-        switch( i )
-        {
-        case 0:
-            c[ 0 ] = ( a >> 55 ) & 31; // ersten Buchstaben holen
-            break;
-        case 1:
-            c[ 0 ] = ( a >> 50 ) & 31; // zweiten Buchstaben holen
-            break;
-        case 2:
-            c[ 0 ] = ( a >> 45 ) & 31; // dritten Buchstaben holen
-            break;
-        case 3:
-            c[ 0 ] = ( a >> 40 ) & 31; // vierten Buchstaben holen
-            break;
-        case 4:
-            c[ 0 ] = ( a >> 35 ) & 31; // fünften Buchstaben holen
-            break;
-        case 5:
-            c[ 0 ] = ( a >> 30 ) & 31; // sechsten Buchstaben holen
-            break;
-        case 6:
-            c[ 0 ] = ( a >> 25 ) & 31; // siebten Buchstaben holen
-            break;
-        case 7:
-            c[ 0 ] = ( a >> 20 ) & 31; // achten Buchstaben holen
-            break;
-        case 8:
-            c[ 0 ] = ( a >> 15 ) & 31; // neunten Buchstaben holen
-            break;
-        case 9:
-            c[ 0 ] = ( a >> 10 ) & 31; // zenten Buchstaben holen
-            break;
-        case 10:
-            c[ 0 ] = ( a >> 5 ) & 31; // elften Buchstaben holen
-            break;
-        case 11:
-            c[ 0 ] = a & 31; // zwölften Buchstaben holen
-            break;
-        case 12:
-            c[ 0 ] = ( b >> 27 ) & 31; // dreizenten Buchstaben holen
-            break;
-        case 13:
-            c[ 0 ] = ( b >> 22 ) & 31; // vierzenten Buchstaben holen
-            break;
-        case 14:
-            c[ 0 ] = ( b >> 17 ) & 31; // fünfzenten Buchstaben holen
-            break;
-        }
-        if( c[ 0 ] == 27 )
-            c[ 0 ] = 'ü';
-        else if( c[ 0 ] == 28 )
-            c[ 0 ] = 'ö';
-        else if( c[ 0 ] == 29 )
-            c[ 0 ] = 'ä';
-        else if( c[ 0 ] == 30 )
-            c[ 0 ] = 'ß';
-        else if( c[ 0 ] == 31 )
-            c[ 0 ] = '.';
-        else
-            c[ 0 ] += 96;
-        ret->anhängen( c );
-    }
-    return ret;
-}
-
-Punkt LTDBKopf::getGröße() const // gibt die Größe des Bildes zurück
-{
-    int BeginBit = 4/*Titellänge*/ + getTitelLänge() * 5/*Titel*/;
-    int EndBit = BeginBit + 24;
-    __int16 grx = getBits( BeginBit, EndBit - 12 );
-    __int16 gry = getBits( BeginBit + 12, EndBit );
-    return Punkt( (int)( grx & Bits( 12 ) ), (int)( gry & Bits( 12 ) ) );
+	Text *ret = new Text( "" );
+	char c[ 2 ];
+	c[ 1 ] = '\0';
+	int l = getTitelLength();
+	for( int i = 0; i < l; ++i )
+	{
+		c[ 0 ] = 0;
+		switch( i )
+		{
+		case 0:
+			c[ 0 ] = ( a >> 55 ) & 31; // ersten Buchstaben holen
+			break;
+		case 1:
+			c[ 0 ] = ( a >> 50 ) & 31; // zweiten Buchstaben holen
+			break;
+		case 2:
+			c[ 0 ] = ( a >> 45 ) & 31; // dritten Buchstaben holen
+			break;
+		case 3:
+			c[ 0 ] = ( a >> 40 ) & 31; // vierten Buchstaben holen
+			break;
+		case 4:
+			c[ 0 ] = ( a >> 35 ) & 31; // fünften Buchstaben holen
+			break;
+		case 5:
+			c[ 0 ] = ( a >> 30 ) & 31; // sechsten Buchstaben holen
+			break;
+		case 6:
+			c[ 0 ] = ( a >> 25 ) & 31; // siebten Buchstaben holen
+			break;
+		case 7:
+			c[ 0 ] = ( a >> 20 ) & 31; // achten Buchstaben holen
+			break;
+		case 8:
+			c[ 0 ] = ( a >> 15 ) & 31; // neunten Buchstaben holen
+			break;
+		case 9:
+			c[ 0 ] = ( a >> 10 ) & 31; // zenten Buchstaben holen
+			break;
+		case 10:
+			c[ 0 ] = ( a >> 5 ) & 31; // elften Buchstaben holen
+			break;
+		case 11:
+			c[ 0 ] = a & 31; // zwölften Buchstaben holen
+			break;
+		case 12:
+			c[ 0 ] = (char)( ( b >> 27 ) & 31 ); // dreizenten Buchstaben holen
+			break;
+		case 13:
+			c[ 0 ] = (char)( ( b >> 22 ) & 31 ); // vierzenten Buchstaben holen
+			break;
+		case 14:
+			c[ 0 ] = (char)( ( b >> 17 ) & 31 ); // fünfzenten Buchstaben holen
+			break;
+		}
+		if( c[ 0 ] == 27 )
+			c[ 0 ] = 'ü';
+		else if( c[ 0 ] == 28 )
+			c[ 0 ] = 'ö';
+		else if( c[ 0 ] == 29 )
+			c[ 0 ] = 'ä';
+		else if( c[ 0 ] == 30 )
+			c[ 0 ] = 'ß';
+		else if( c[ 0 ] == 31 )
+			c[ 0 ] = '.';
+		else
+			c[ 0 ] = (char)( c[ 0 ] + 96 );
+		ret->append( c );
+	}
+	return ret;
+}
+
+Punkt LTDBKopf::getSize() const // gibt die Größe des Bildes zurück
+{
+	int BeginBit = 4/*Titellänge*/ + getTitelLength() * 5/*Titel*/;
+	int EndBit = BeginBit + 24;
+	__int16 grx = getBits( BeginBit, EndBit - 12 );
+	__int16 gry = getBits( BeginBit + 12, EndBit );
+	return Punkt( (int)( grx & Bits( 12 ) ), (int)( gry & Bits( 12 ) ) );
 }
 }
 
 
 __int16 LTDBKopf::getBits( int begin, int ende )const // gibt die Bits von begin bis ende zurück( ohne ende );
 __int16 LTDBKopf::getBits( int begin, int ende )const // gibt die Bits von begin bis ende zurück( ohne ende );
 {
 {
-    if( ende < begin )
-        return 0;
-    if( ende - begin > 16 )
-        ende = begin + 16;
-    __int16 ret = 0;
-    if( begin < 64 )
-    {
-        if( ende < 64 )
-        {
-            ret = (__int16)( a >> ( ( 64 - begin ) - ( ende - begin ) ) & Bits( ende - begin ) );
-        }
-        else
-        {
-            ret = (__int16)( ( a & Bits( 64 - begin ) ) << ( ende - 64 ) );
-            ret |= (__int16)( ( b >> ( 32 - ( ende - 64 ) ) ) & Bits( ende - 64 ) );
-        }
-    }
-    else
-    {
-        if( begin < 96 )
-        {
-            if( ende < 96 )
-            {
-                ret = (__int16)( b >> ( ( 96 - begin ) - ( ende - begin ) ) & Bits( ende - begin ) );
-            }
-            else
-            {
-                ret = (__int16)( ( b & Bits( 96 - begin ) ) << ( ende - 96 ) );
-                ret |= (__int16)( ( c >> ( 8 - ( ende - 96 ) ) ) & Bits( ende - 96 ) );
-            }
-        }
-        else
-        {
-            ret = (__int16)( c >> ( ( 104 - begin ) - ( ende - begin ) ) & Bits( ende - begin ) );
-        }
-    }
-    return ret;
+	if( ende < begin )
+		return 0;
+	if( ende - begin > 16 )
+		ende = begin + 16;
+	__int16 ret = 0;
+	if( begin < 64 )
+	{
+		if( ende < 64 )
+		{
+			ret = (__int16)( a >> ( ( 64 - begin ) - ( ende - begin ) ) & Bits( ende - begin ) );
+		}
+		else
+		{
+			ret = (__int16)( ( a & Bits( 64 - begin ) ) << ( ende - 64 ) );
+			ret = (__int16)( ret | ( ( b >> ( 32 - ( ende - 64 ) ) ) & Bits( ende - 64 ) ) );
+		}
+	}
+	else
+	{
+		if( begin < 96 )
+		{
+			if( ende < 96 )
+			{
+				ret = (__int16)( b >> ( ( 96 - begin ) - ( ende - begin ) ) & Bits( ende - begin ) );
+			}
+			else
+			{
+				ret = (__int16)( ( b & Bits( 96 - begin ) ) << ( ende - 96 ) );
+				ret = (__int16)( ret | ( ( c >> ( 8 - ( ende - 96 ) ) ) & Bits( ende - 96 ) ) );
+			}
+		}
+		else
+		{
+			ret = (__int16)( c >> ( ( 104 - begin ) - ( ende - begin ) ) & Bits( ende - begin ) );
+		}
+	}
+	return ret;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDBKopf *LTDBKopf::getThis()
 LTDBKopf *LTDBKopf::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDBKopf *LTDBKopf::release()
 LTDBKopf *LTDBKopf::release()
 {
 {
-    --ref;
-    if( ref < 1 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref < 1 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDBKörper Klasse aus Dateisystem.h
 // Inhalt der LTDBKörper Klasse aus Dateisystem.h
 // Konstruktor 
 // Konstruktor 
-LTDBKörper::LTDBKörper()
-    : gr( 0, 0 ),
-    b( new Bild() ),
-    ref( 1 )
+LTDBBody::LTDBBody()
+	: gr( 0, 0 ),
+	b( new Bild() ),
+	ref( 1 )
 {}
 {}
 
 
-LTDBKörper::LTDBKörper( LTDBKopf *k ) // ruft Init auf
-    : gr( 0, 0 ),
-    b( new Bild() ),
-    ref( 1 )
+LTDBBody::LTDBBody( LTDBKopf *k ) // ruft Init auf
+	: gr( 0, 0 ),
+	b( new Bild() ),
+	ref( 1 )
 {
 {
-    init( k );
+	init( k );
 }
 }
 
 
 // Destruktor 
 // Destruktor 
-LTDBKörper::~LTDBKörper()
+LTDBBody::~LTDBBody()
 {
 {
-    b->release();
+	b->release();
 }
 }
 
 
 // nicht constant
 // nicht constant
-void LTDBKörper::init( LTDBKopf k ) // Initialisiert, wird vor dem laden benötigt 
+void LTDBBody::init( LTDBKopf k ) // Initialisiert, wird vor dem laden benötigt 
 {
 {
-    gr = k.getGröße();
-    int l = k.getTitelLänge();
-    l = 4 + l * 5 + 24;
-    dateiLänge = ( l / 8.0 == l ) ? ( l / 8 ) : ( l / 8 + 1 );
+	gr = k.getSize();
+	int l = k.getTitelLength();
+	l = 4 + l * 5 + 24;
+	dateiSize = ( l / 8.0 == l ) ? ( l / 8 ) : ( l / 8 + 1 );
 }
 }
 
 
-void LTDBKörper::init( LTDBKopf *k ) // Initialisiert, wird vor dem laden benötigt
+void LTDBBody::init( LTDBKopf *k ) // Initialisiert, wird vor dem laden benötigt
 {
 {
-    gr = k->getGröße();
-    int l = k->getTitelLänge();
-    l = 4 + l * 5 + 24;
-    dateiLänge = ( l / 8.0 == l ) ? ( l / 8 ) : ( l / 8 + 1 );
-    k->release();
+	gr = k->getSize();
+	int l = k->getTitelLength();
+	l = 4 + l * 5 + 24;
+	dateiSize = ( l / 8.0 == l ) ? ( l / 8 ) : ( l / 8 + 1 );
+	k->release();
 }
 }
 
 
-void LTDBKörper::laden( FBalken *zF, std::ifstream *inF ) // läd das Bild
+void LTDBBody::laden( FBalken *zF, std::ifstream *inF ) // läd das Bild
 {
 {
-    b->neuBild( gr.x, gr.y, 0xFF000000 ); // neues Bild erstellen
-    int *buff = b->getBuffer();
-    int breite = b->getBreite();
-    char byte = 0;
-    int index = 0;
-    LTDBPixel *davor = 0; // zuletzt geladener Pixel
-    LTDBPixel *dieser = new LTDBPixel( 0 ); // momentan zu ladener Pixel
-    int begin = 0; // Pixelbegin, endposition in der byte variable
+	b->neuBild( gr.x, gr.y, 0xFF000000 ); // neues Bild erstellen
+	int *buff = b->getBuffer();
+	int breite = b->getBreite();
+	char byte = 0;
+	int index = 0;
+	LTDBPixel *davor = 0; // zuletzt geladener Pixel
+	LTDBPixel *dieser = new LTDBPixel( 0 ); // momentan zu ladener Pixel
+	int begin = 0; // Pixelbegin, endposition in der byte variable
 #ifdef WIN32
 #ifdef WIN32
-    if( zF )
-    {
-        zF->reset();
-        zF->setAktionAnzahl( gr.x * gr.y );
-    }
+	if( zF )
+	{
+		zF->reset();
+		zF->setAktionAnzahl( gr.x * gr.y );
+	}
 #endif
 #endif
-    while( index < gr.x * gr.y ) // für jeden Pixel
-    {
-        if( !dieser ) // wenn es nicht der erste Pixel ist
-            dieser = new LTDBPixel( davor->getThis() );
-        int ende = -1;
-        while( ende < 0 ) // Pixel laden
-        {
-            if( begin == 0 )
-                inF->read( &byte, 1 );
-            ende = dieser->addByte( byte, begin ); // byte auswerten
-            begin = 0;
-        }
-        begin = ende;
-        if( begin == 8 )
-            begin = 0;
-        buff[ ( index % gr.x ) + ( index / gr.x ) * breite ] = dieser->zuFarbe();
-        if( davor )
-            davor = davor->release();
-        davor = dieser->getThis();
-        dieser = dieser->release();
-        ++index;
+	while( index < gr.x * gr.y ) // für jeden Pixel
+	{
+		if( !dieser ) // wenn es nicht der erste Pixel ist
+			dieser = new LTDBPixel( davor->getThis() );
+		int ende = -1;
+		while( ende < 0 ) // Pixel laden
+		{
+			if( begin == 0 )
+				inF->read( &byte, 1 );
+			ende = dieser->addByte( byte, (char)begin ); // byte auswerten
+			begin = 0;
+		}
+		begin = ende;
+		if( begin == 8 )
+			begin = 0;
+		buff[ ( index % gr.x ) + ( index / gr.x ) * breite ] = dieser->zuFarbe();
+		if( davor )
+			davor = davor->release();
+		davor = dieser->getThis();
+		dieser = dieser->release();
+		++index;
 #ifdef WIN32
 #ifdef WIN32
-        if( zF )
-            zF->aktionPlus();
+		if( zF )
+			zF->aktionPlus();
 #endif
 #endif
-    }
-    if( davor )
-        davor = davor->release();
+	}
+	if( davor )
+		davor = davor->release();
 }
 }
 
 
-void LTDBKörper::setBild( Bild *b ) // setzt das zu speichernde Bild
+void LTDBBody::setBild( Bild *b ) // setzt das zu speichernde Bild
 {
 {
-    this->b->release();
-    this->b = b;
+	this->b->release();
+	this->b = b;
 }
 }
 
 
 // constant 
 // constant 
-void LTDBKörper::speichern( FBalken *zF, std::ofstream *outF ) const // speichert Bild
-{
-    if( outF->is_open() )
-    {
-        LTDBPixel *letzter = 0; // Letzter gespeicherter Pixel
-        LTDBPixel *dieser = new LTDBPixel( 0 ); // Der momentan zu speichernde Pixel
-        int begin = 0, ende = 0; // Pixelbeginn, endposition in der byte variable
-        char byte = 0; // Der nächste byte der Datei
-        bool w = 0;
+void LTDBBody::speichern( FBalken *zF, std::ofstream *outF ) const // speichert Bild
+{
+	if( outF->is_open() )
+	{
+		LTDBPixel *letzter = 0; // Letzter gespeicherter Pixel
+		LTDBPixel *dieser = new LTDBPixel( 0 ); // Der momentan zu speichernde Pixel
+		int begin = 0, ende = 0; // Pixelbeginn, endposition in der byte variable
+		char byte = 0; // Der nächste byte der Datei
+		bool w = 0;
 #ifdef WIN32
 #ifdef WIN32
-        if( zF )
-        {
-            zF->reset();
-            zF->setAktionAnzahl( gr.x * gr.y );
-        }
+		if( zF )
+		{
+			zF->reset();
+			zF->setAktionAnzahl( gr.x * gr.y );
+		}
 #endif
 #endif
-        int *pBuff = b->getBuffer();
-        for( int i = 0; i < gr.x * gr.y; ++i ) // für jeden Pixel
-        {
-            if( !dieser ) // wenn es nicht der erste Pixel ist
-                dieser = new LTDBPixel( letzter->getThis() );
-            dieser->setFarbe( pBuff[ i ] ); // Farbe des Pixels setzen
-            dieser->komprimieren(); // Pixel komprimieren
-            ende = -1;
-            while( ende < 0 ) // byte befüllen
-            {
-                ende = dieser->getNextByte( byte, begin );
-                begin = 0;
-                w = 0;
-                if( ende == -1 || ende == 8 ) // byte speichern
-                {
-                    outF->write( &byte, 1 );
-                    w = 1;
-                    byte = 0;
-                }
-            } // Pixel fertig
-            begin = ende;
-            if( begin == 8 )
-                begin = 0;
-            if( letzter )
-                letzter->release();
-            letzter = dieser->getThis(); // dieser wird zu letzter
-            dieser = dieser->release();
+		int *pBuff = b->getBuffer();
+		for( int i = 0; i < gr.x * gr.y; ++i ) // für jeden Pixel
+		{
+			if( !dieser ) // wenn es nicht der erste Pixel ist
+				dieser = new LTDBPixel( letzter->getThis() );
+			dieser->setFarbe( pBuff[ i ] ); // Farbe des Pixels setzen
+			dieser->komprimieren(); // Pixel komprimieren
+			ende = -1;
+			while( ende < 0 ) // byte befüllen
+			{
+				ende = dieser->getNextByte( byte, begin );
+				begin = 0;
+				w = 0;
+				if( ende == -1 || ende == 8 ) // byte speichern
+				{
+					outF->write( &byte, 1 );
+					w = 1;
+					byte = 0;
+				}
+			} // Pixel fertig
+			begin = ende;
+			if( begin == 8 )
+				begin = 0;
+			if( letzter )
+				letzter->release();
+			letzter = dieser->getThis(); // dieser wird zu letzter
+			dieser = dieser->release();
 #ifdef WIN32
 #ifdef WIN32
-            if( zF )
-                zF->aktionPlus();
+			if( zF )
+				zF->aktionPlus();
 #endif
 #endif
-        }
-        if( letzter )
-            letzter = letzter->release();
-        if( !w )
-        {
-            outF->write( &byte, 1 ); // Das letzte byte speichern
-        }
-        outF->flush(); // dateistream speichern
-    }
+		}
+		if( letzter )
+			letzter = letzter->release();
+		if( !w )
+		{
+			outF->write( &byte, 1 ); // Das letzte byte speichern
+		}
+		outF->flush(); // dateistream speichern
+	}
 }
 }
 
 
-Bild *LTDBKörper::getBild() const // gibt das geladene Bild zurück
+Bild *LTDBBody::getBild() const // gibt das geladene Bild zurück
 {
 {
-    return b->getThis();
+	return b->getThis();
 }
 }
 
 
-const Punkt &LTDBKörper::getGröße() const // gibt die größe des Bildes zurück
+const Punkt &LTDBBody::getSize() const // gibt die größe des Bildes zurück
 {
 {
-    return gr;
+	return gr;
 }
 }
 
 
 // Reference Counting
 // Reference Counting
-LTDBKörper *LTDBKörper::getThis()
+LTDBBody *LTDBBody::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
-LTDBKörper *LTDBKörper::release()
+LTDBBody *LTDBBody::release()
 {
 {
-    --ref;
-    if( ref < 1 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref < 1 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt det LTDBDatei Klasse aus Dateisystem.h
 // Inhalt det LTDBDatei Klasse aus Dateisystem.h
 // Konstruktor 
 // Konstruktor 
 LTDBDatei::LTDBDatei()
 LTDBDatei::LTDBDatei()
-    : pfad( new Text() ),
-    datKpf( 0 ),
-    ref( 1 )
+	: pfad( new Text() ),
+	datKpf( 0 ),
+	ref( 1 )
 {}
 {}
 
 
 // Destruktor 
 // Destruktor 
 LTDBDatei::~LTDBDatei()
 LTDBDatei::~LTDBDatei()
 {
 {
-    if( pfad )
-        pfad->release();
-    if( datKpf )
-        datKpf->release();
+	if( pfad )
+		pfad->release();
+	if( datKpf )
+		datKpf->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void LTDBDatei::setDatei( Text *pfad ) // Setzt den Pfad zur Datei
 void LTDBDatei::setDatei( Text *pfad ) // Setzt den Pfad zur Datei
 { // Werte der eventuellen vorherigen Datei löschen
 { // Werte der eventuellen vorherigen Datei löschen
-    if( datKpf )
-        datKpf = datKpf->release();
-    // Pfad setzen
-    this->pfad->setText( pfad->getThis() );
-    pfad->release();
+	if( datKpf )
+		datKpf = datKpf->release();
+	// Pfad setzen
+	this->pfad->setText( pfad->getThis() );
+	pfad->release();
 }
 }
 
 
 void LTDBDatei::erstellen() // Erstellt die Datei
 void LTDBDatei::erstellen() // Erstellt die Datei
 {
 {
-    DateiPfadErstellen( pfad->getThis() );
-    std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary );
-    int i = 0;
-    outF->write( (char *)&i, 2 );
-    delete outF;
+	DateiPfadErstellen( pfad->getThis() );
+	std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary );
+	int i = 0;
+	outF->write( (char *)&i, 2 );
+	delete outF;
 }
 }
 
 
 void LTDBDatei::leseDaten( FBalken *f ) // Die Klasse ließt alle Bilder kurz ein, und merkt sich, an welcher stelle in der Datei was ist
 void LTDBDatei::leseDaten( FBalken *f ) // Die Klasse ließt alle Bilder kurz ein, und merkt sich, an welcher stelle in der Datei was ist
 { // Diese Funktion wird ein wenig Zeit in Anspruch nemen, dafüraber danach die anderen schneller machen
 { // Diese Funktion wird ein wenig Zeit in Anspruch nemen, dafüraber danach die anderen schneller machen
-    if( DateiExistiert( pfad->getThis() ) )
-    {
-        if( datKpf )
-            datKpf->release();
-        datKpf = new LTDBDateiKopf();
-        std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-        datKpf->laden( f, inF );
-        delete inF;
-    }
-}
-
-void LTDBDatei::löschen() // Löscht die Datei
-{
-    if( DateiExistiert( pfad->getThis() ) )
-    {
-        DateiLöschen( pfad->getThis() );
-        if( datKpf )
-            datKpf->release();
-    }
-}
-
-void LTDBDatei::löschen( FBalken *f, Text *name ) // Löscht ein Bild aus der Datei
-{
-    if( DateiExistiert( pfad->getThis() ) && name )
-    {
-        if( !datKpf )
-            leseDaten( 0 ); // Daten einlesen
-        // Prüfen, ob Datei nicht vorhanden
-        if( !datKpf )
-        {
-            name->release();
-            return;
-        }
-        int index = datKpf->getBildIndex( name->getThis() );
-        if( index == -1 ) // das bild existiert nicht
-        {
-            name->release();
-            return;
-        }
-        // Zwischenspeicherpfad ermitteln
-        Text *pf_tmp = new Text( pfad->getText() );
-        char c = '0';
-        pf_tmp->anhängen( "0" );
-        for( int i = 0; DateiExistiert( pf_tmp->getThis() ); ++i )
-        {
-            c = '0' + ( i % 10 );
-            if( ( i % 10 ) == 0 )
-                pf_tmp->anhängen( "$" );
-            pf_tmp->ersetzen( pf_tmp->anzahlVon( '0' - ( ( i - 1 ) % 10 ) ) - 1, '0' - ( ( i - 1 ) % 10 ), c );
-        }
-        std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // Alte Datei öffnen
-        inF->seekg( 0, std::ios::end );
-        __int64 Datlän = inF->tellg();
-        inF->seekg( 0, std::ios::beg );
-        std::ofstream *outF = new std::ofstream( pf_tmp->getText(), std::ios::binary ); // Neue Datei öffnen
-        if( inF->is_open() && outF->is_open() )
-        {
-            __int64 position = datKpf->getBildPosition( index );
-            datKpf->removeBild( index );
-            datKpf->speichern( outF );
-            LTDBDateiKopf *kpf_tmp = new LTDBDateiKopf();
-            kpf_tmp->laden( 0, inF );
-            kpf_tmp->release();
-            char byte = 0;
-            __int64 pos_minus = inF->tellg() - outF->tellp();
-            for( int i = 0; i < index; ++i )
-                datKpf->setBildPos( i, datKpf->getBildPosition( i ) - pos_minus );
-            // Bytes bis zur Datei kopieren
-            for( __int64 i = inF->tellg(); i < position; ++i )
-            {
-                inF->read( &byte, 1 );
-                outF->write( &byte, 1 );
-            } // zu löschendes Bild überspringen
-            LTDBKopf *delkpf = new LTDBKopf();
-            delkpf->laden( inF );
-            LTDBKörper *delkpr = new LTDBKörper( delkpf->getThis() );
-            delkpr->laden( f, inF );
-            delkpf = delkpf->release();
-            delkpr = delkpr->release(); // restliche bytes kopieren
-            pos_minus = inF->tellg() - outF->tellp();
-            for( __int64 i = (__int64)inF->tellg(); i < Datlän; ++i )
-            {
-                inF->read( &byte, 1 );
-                outF->write( &byte, 1 );
-            }
-            for( int i = index; i < datKpf->getbAnzahl(); ++i )
-                datKpf->setBildPos( i, datKpf->getBildPosition( i ) - pos_minus );
-            outF->seekp( 0, std::ios::beg );
-            datKpf->speichern( outF );
-            inF->close();
-            outF->close();
-            DateiLöschen( pfad->getThis() );
-            DateiUmbenennen( pf_tmp->getThis(), pfad->getThis() );
-        }
-        delete inF;
-        delete outF;
-        pf_tmp = pf_tmp->release();
-    }
-    if( name )
-        name = name->release();
+	if( DateiExistiert( pfad->getThis() ) )
+	{
+		if( datKpf )
+			datKpf->release();
+		datKpf = new LTDBDateiKopf();
+		std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+		datKpf->laden( f, inF );
+		delete inF;
+	}
+}
+
+void LTDBDatei::remove() // Löscht die Datei
+{
+	if( DateiExistiert( pfad->getThis() ) )
+	{
+		DateiRemove( pfad->getThis() );
+		if( datKpf )
+			datKpf->release();
+	}
+}
+
+void LTDBDatei::remove( FBalken *f, Text *name ) // Löscht ein Bild aus der Datei
+{
+	if( DateiExistiert( pfad->getThis() ) && name )
+	{
+		if( !datKpf )
+			leseDaten( 0 ); // Daten einlesen
+		// Prüfen, ob Datei nicht vorhanden
+		if( !datKpf )
+		{
+			name->release();
+			return;
+		}
+		int index = datKpf->getBildIndex( name->getThis() );
+		if( index == -1 ) // das bild existiert nicht
+		{
+			name->release();
+			return;
+		}
+		// Zwischenspeicherpfad ermitteln
+		Text *pf_tmp = new Text( pfad->getText() );
+		char c = '0';
+		pf_tmp->append( "0" );
+		for( int i = 0; DateiExistiert( pf_tmp->getThis() ); ++i )
+		{
+			c = (char)( '0' + ( i % 10 ) );
+			if( ( i % 10 ) == 0 )
+				pf_tmp->append( "$" );
+			pf_tmp->ersetzen( pf_tmp->anzahlVon( (char)( '0' - ( ( i - 1 ) % 10 ) ) ) - 1, (char)( '0' - ( ( i - 1 ) % 10 ) ), c );
+		}
+		std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // Alte Datei öffnen
+		inF->seekg( 0, std::ios::end );
+		__int64 datlen = inF->tellg();
+		inF->seekg( 0, std::ios::beg );
+		std::ofstream *outF = new std::ofstream( pf_tmp->getText(), std::ios::binary ); // Neue Datei öffnen
+		if( inF->is_open() && outF->is_open() )
+		{
+			__int64 position = datKpf->getBildPosition( index );
+			datKpf->removeBild( index );
+			datKpf->speichern( outF );
+			LTDBDateiKopf *kpf_tmp = new LTDBDateiKopf();
+			kpf_tmp->laden( 0, inF );
+			kpf_tmp->release();
+			char byte = 0;
+			__int64 pos_minus = inF->tellg() - outF->tellp();
+			for( int i = 0; i < index; ++i )
+				datKpf->setBildPos( i, datKpf->getBildPosition( i ) - pos_minus );
+			// Bytes bis zur Datei kopieren
+			for( __int64 i = inF->tellg(); i < position; ++i )
+			{
+				inF->read( &byte, 1 );
+				outF->write( &byte, 1 );
+			} // zu löschendes Bild überspringen
+			LTDBKopf *delkpf = new LTDBKopf();
+			delkpf->laden( inF );
+			LTDBBody *delkpr = new LTDBBody( delkpf->getThis() );
+			delkpr->laden( f, inF );
+			delkpf = delkpf->release();
+			delkpr = delkpr->release(); // restliche bytes kopieren
+			pos_minus = inF->tellg() - outF->tellp();
+			for( __int64 i = (__int64)inF->tellg(); i < datlen; ++i )
+			{
+				inF->read( &byte, 1 );
+				outF->write( &byte, 1 );
+			}
+			for( int i = index; i < datKpf->getbAnzahl(); ++i )
+				datKpf->setBildPos( i, datKpf->getBildPosition( i ) - pos_minus );
+			outF->seekp( 0, std::ios::beg );
+			datKpf->speichern( outF );
+			inF->close();
+			outF->close();
+			DateiRemove( pfad->getThis() );
+			DateiUmbenennen( pf_tmp->getThis(), pfad->getThis() );
+		}
+		delete inF;
+		delete outF;
+		pf_tmp = pf_tmp->release();
+	}
+	if( name )
+		name = name->release();
 }
 }
 
 
 Bild *LTDBDatei::laden( FBalken *f, Text *name ) // Läd ein Bild aus der Datei
 Bild *LTDBDatei::laden( FBalken *f, Text *name ) // Läd ein Bild aus der Datei
 {
 {
-    if( name )
-    {
-        if( !DateiExistiert( pfad->getThis() ) )
-        {
-            name->release();
-            return 0;
-        }
-        if( !datKpf )
-            leseDaten( 0 );
-        LTDBKopf *k_tmp = new LTDBKopf();
-        k_tmp->Init( name->getThis(), Punkt( 0, 0 ) );
-        int index = datKpf->getBildIndex( k_tmp->getTitel() );
-        k_tmp->release();
-        if( index == -1 )
-        { // Fehlermeldung 
-            Text *fehler = new Text( "Das Bild " );
-            fehler->anhängen( name );
-            fehler->anhängen( " wurde nicht in der Datei\n" );
-            fehler->anhängen( pfad->getThis() );
-            fehler->anhängen( " gefunden!" );
-            std::cout << fehler << "\n";
-            return 0;
-        }
-        std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-        // Begin der zu ladenden Datei ermitteln
-        __int64 position = datKpf->getBildPosition( index );
-        inF->seekg( position, std::ios::beg );
-        LTDBKopf *kpf = new LTDBKopf();
-        kpf->laden( inF );
-        Text *t = kpf->getTitel();
-        if( !t->istGleich( name->getThis() ) )
-        { // Fehlermeldung 
-            t->release();
-            kpf->release();
-            inF->close();
-            delete inF;
-            Text *fehler = new Text( "Die Datei " );
-            fehler->anhängen( pfad );
-            fehler->anhängen( " ist ist keine gültige LTDB Datei!" );
+	if( name )
+	{
+		if( !DateiExistiert( pfad->getThis() ) )
+		{
+			name->release();
+			return 0;
+		}
+		if( !datKpf )
+			leseDaten( 0 );
+		LTDBKopf *k_tmp = new LTDBKopf();
+		k_tmp->Init( name->getThis(), Punkt( 0, 0 ) );
+		int index = datKpf->getBildIndex( k_tmp->getTitel() );
+		k_tmp->release();
+		if( index == -1 )
+		{ // Fehlermeldung 
+			Text *fehler = new Text( "Das Bild " );
+			fehler->append( name );
+			fehler->append( " wurde nicht in der Datei\n" );
+			fehler->append( pfad->getThis() );
+			fehler->append( " gefunden!" );
+			std::cout << fehler << "\n";
+			return 0;
+		}
+		std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+		// Begin der zu ladenden Datei ermitteln
+		__int64 position = datKpf->getBildPosition( index );
+		inF->seekg( position, std::ios::beg );
+		LTDBKopf *kpf = new LTDBKopf();
+		kpf->laden( inF );
+		Text *t = kpf->getTitel();
+		if( !t->istGleich( name->getThis() ) )
+		{ // Fehlermeldung 
+			t->release();
+			kpf->release();
+			inF->close();
+			delete inF;
+			Text *fehler = new Text( "Die Datei " );
+			fehler->append( pfad );
+			fehler->append( " ist ist keine gültige LTDB Datei!" );
 #ifdef WIN32
 #ifdef WIN32
-            WMessageBox( 0, new Text( "Fehler" ), fehler, MB_ICONERROR );
+			WMessageBox( 0, new Text( "Fehler" ), fehler, MB_ICONERROR );
 #endif
 #endif
-            name->release();
-            return 0;
-        }
-        t->release();
-        LTDBKörper *kpr = new LTDBKörper( kpf->getThis() );
-        kpr->laden( f, inF ); // Bild laden
-        Bild *ret = kpr->getBild();
-        kpr->release();
-        kpf->release();
-        inF->close();
-        delete inF;
-        name->release();
-        return ret;
-    }
-    return 0;
+			name->release();
+			return 0;
+		}
+		t->release();
+		LTDBBody *kpr = new LTDBBody( kpf->getThis() );
+		kpr->laden( f, inF ); // Bild laden
+		Bild *ret = kpr->getBild();
+		kpr->release();
+		kpf->release();
+		inF->close();
+		delete inF;
+		name->release();
+		return ret;
+	}
+	return 0;
 }
 }
 
 
 int LTDBDatei::speichern( FBalken *f, Bild *bild, Text *name ) // Speichert ein Bild in die Datei
 int LTDBDatei::speichern( FBalken *f, Bild *bild, Text *name ) // Speichert ein Bild in die Datei
 {
 {
-    int warn = -1;
-    if( name && bild )
-    {
-        if( DateiExistiert( pfad->getThis() ) )
-        {
-            if( !datKpf )
-                leseDaten( 0 );
-            int index = datKpf->getBildIndex( name->getThis() );
-            if( index == -1 )
-            {
-                warn = 0;
-                LTDBKopf *kpf = new LTDBKopf();
-                warn = kpf->Init( name->getThis(), bild->getGröße() );
-                if( datKpf->getBildIndex( kpf->getTitel() ) != -1 )
-                {
-                    std::cout << "Es existiert bereits ein Bild mit diesem Namen!\n";
-                    bild->release();
-                    name->release();
-                    kpf->release();
-                    return -1;
-                }
-                // zwischendateipfad suchen
-                Text *pf_tmp = new Text( pfad->getText() );
-                char c = '0';
-                pf_tmp->anhängen( "0" );
-                for( int i = 0; DateiExistiert( pf_tmp->getThis() ); ++i )
-                {
-                    c = '0' + ( i % 10 );
-                    if( ( i % 10 ) == 0 )
-                        pf_tmp->anhängen( "$" );
-                    pf_tmp->ersetzen( pf_tmp->anzahlVon( '0' - ( ( i - 1 ) % 10 ) ) - 1, '0' - ( ( i - 1 ) % 10 ), c );
-                }
-                std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-                inF->seekg( 0, std::ios::end );
-                __int64 datLen = inF->tellg();
-                inF->seekg( 0, std::ios::beg );
-                std::ofstream *outF = new std::ofstream( pf_tmp->getText(), std::ios::binary );
-                datKpf->addBild( kpf->getTitel() );
-                index = datKpf->getBildIndex( kpf->getTitel() );
-                datKpf->speichern( outF );
-                LTDBDateiKopf *kpf_tmp = new LTDBDateiKopf();
-                kpf_tmp->laden( 0, inF );
-                kpf_tmp->release();
-                __int64 pos_plus = outF->tellp() - inF->tellg();
-                for( int i = 0; i < index; ++i )
-                    datKpf->setBildPos( i, datKpf->getBildPosition( i ) + pos_plus );
-                datKpf->setBildPos( index, datLen + pos_plus );
-                outF->seekp( 0, std::ios::beg );
-                datKpf->speichern( outF );
-                char byte = 0;
-                for( __int64 i = inF->tellg(); i < datLen; ++i )
-                {
-                    inF->read( &byte, 1 );
-                    outF->write( &byte, 1 );
-                }
-                kpf->speichern( outF ); // Bild Kopf speichern
-                LTDBKörper *kpr = new LTDBKörper( kpf->getThis() );
-                kpr->setBild( bild->getThis() );
-                kpr->speichern( f, outF ); // Bild speichern
-                kpf->release();
-                kpr->release();
-                inF->close();
-                outF->close();
-                delete inF;
-                delete outF;
-                DateiLöschen( pfad->getThis() );
-                DateiUmbenennen( pf_tmp, pfad->getThis() );
-            }
-        }
-    }
-    if( name )
-        name->release();
-    if( bild )
-        bild->release();
-    return warn;
+	int warn = -1;
+	if( name && bild )
+	{
+		if( DateiExistiert( pfad->getThis() ) )
+		{
+			if( !datKpf )
+				leseDaten( 0 );
+			int index = datKpf->getBildIndex( name->getThis() );
+			if( index == -1 )
+			{
+				warn = 0;
+				LTDBKopf *kpf = new LTDBKopf();
+				warn = kpf->Init( name->getThis(), bild->getSize() );
+				if( datKpf->getBildIndex( kpf->getTitel() ) != -1 )
+				{
+					std::cout << "Es existiert bereits ein Bild mit diesem Namen!\n";
+					bild->release();
+					name->release();
+					kpf->release();
+					return -1;
+				}
+				// zwischendateipfad suchen
+				Text *pf_tmp = new Text( pfad->getText() );
+				char c = '0';
+				pf_tmp->append( "0" );
+				for( int i = 0; DateiExistiert( pf_tmp->getThis() ); ++i )
+				{
+					c = (char)( '0' + ( i % 10 ) );
+					if( ( i % 10 ) == 0 )
+						pf_tmp->append( "$" );
+					pf_tmp->ersetzen( pf_tmp->anzahlVon( (char)( '0' - ( ( i - 1 ) % 10 ) ) ) - 1, (char)( '0' - ( ( i - 1 ) % 10 ) ), c );
+				}
+				std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+				inF->seekg( 0, std::ios::end );
+				__int64 datLen = inF->tellg();
+				inF->seekg( 0, std::ios::beg );
+				std::ofstream *outF = new std::ofstream( pf_tmp->getText(), std::ios::binary );
+				datKpf->addBild( kpf->getTitel() );
+				index = datKpf->getBildIndex( kpf->getTitel() );
+				datKpf->speichern( outF );
+				LTDBDateiKopf *kpf_tmp = new LTDBDateiKopf();
+				kpf_tmp->laden( 0, inF );
+				kpf_tmp->release();
+				__int64 pos_plus = outF->tellp() - inF->tellg();
+				for( int i = 0; i < index; ++i )
+					datKpf->setBildPos( i, datKpf->getBildPosition( i ) + pos_plus );
+				datKpf->setBildPos( index, datLen + pos_plus );
+				outF->seekp( 0, std::ios::beg );
+				datKpf->speichern( outF );
+				char byte = 0;
+				for( __int64 i = inF->tellg(); i < datLen; ++i )
+				{
+					inF->read( &byte, 1 );
+					outF->write( &byte, 1 );
+				}
+				kpf->speichern( outF ); // Bild Kopf speichern
+				LTDBBody *kpr = new LTDBBody( kpf->getThis() );
+				kpr->setBild( bild->getThis() );
+				kpr->speichern( f, outF ); // Bild speichern
+				kpf->release();
+				kpr->release();
+				inF->close();
+				outF->close();
+				delete inF;
+				delete outF;
+				DateiRemove( pfad->getThis() );
+				DateiUmbenennen( pf_tmp, pfad->getThis() );
+			}
+		}
+	}
+	if( name )
+		name->release();
+	if( bild )
+		bild->release();
+	return warn;
 }
 }
 
 
 RCArray< Text > *LTDBDatei::zBildListe() // Listet alle Bilder in der datei auf
 RCArray< Text > *LTDBDatei::zBildListe() // Listet alle Bilder in der datei auf
 {
 {
-    if( !datKpf )
-        leseDaten( 0 );
-    if( datKpf )
-        return datKpf->zBildListe();
-    return 0;
+	if( !datKpf )
+		leseDaten( 0 );
+	if( datKpf )
+		return datKpf->zBildListe();
+	return 0;
 }
 }
 
 
 // constant 
 // constant 
 Text *LTDBDatei::getPfad() const // Gibt den Pfad zur Datei zurück
 Text *LTDBDatei::getPfad() const // Gibt den Pfad zur Datei zurück
 {
 {
-    return pfad->getThis();
+	return pfad->getThis();
 }
 }
 
 
 int LTDBDatei::getBildAnzahl() const
 int LTDBDatei::getBildAnzahl() const
 {
 {
-    if( !datKpf )
-        return 0;
-    return datKpf->getbAnzahl();
+	if( !datKpf )
+		return 0;
+	return datKpf->getbAnzahl();
 }
 }
 
 
 bool LTDBDatei::istOffen() const // Prüft, ob die Datei geöffnet ist
 bool LTDBDatei::istOffen() const // Prüft, ob die Datei geöffnet ist
 {
 {
-    if( !pfad )
-        return 0;
-    return DateiExistiert( pfad->getThis() );
+	if( !pfad )
+		return 0;
+	return DateiExistiert( pfad->getThis() );
 }
 }
 
 
 // Reference Counting
 // Reference Counting
 LTDBDatei *LTDBDatei::getThis()
 LTDBDatei *LTDBDatei::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDBDatei *LTDBDatei::release()
 LTDBDatei *LTDBDatei::release()
 {
 {
-    --ref;
-    if( ref < 1 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref < 1 )
+		delete this;
+	return 0;
 }
 }
 #ifdef WIN32
 #ifdef WIN32
 // LTDS Dateivormat 
 // LTDS Dateivormat 
 // Inhalt der LTDSPixel Klasse aus DateiSystem.h
 // Inhalt der LTDSPixel Klasse aus DateiSystem.h
 // Konstruktor 
 // Konstruktor 
 LTDSPixel::LTDSPixel( LTDSPixel *davor )
 LTDSPixel::LTDSPixel( LTDSPixel *davor )
-    : ref( 1 ),
-    index( 0 ),
-    iA( 0 ),
-    miA( 8 ),
-    maxIndex( 1 ),
-    änder( 0 ),
-    änderA( 0 ),
-    komp( 0 ),
-    alpha( 0 ),
-    davor( davor )
+	: ref( 1 ),
+	index( 0 ),
+	iA( 0 ),
+	miA( 8 ),
+	maxIndex( 1 ),
+	änder( 0 ),
+	änderA( 0 ),
+	komp( 0 ),
+	alpha( 0 ),
+	davor( davor )
 {}
 {}
 
 
 // Destruktor 
 // Destruktor 
 LTDSPixel::~LTDSPixel()
 LTDSPixel::~LTDSPixel()
 {
 {
-    if( davor )
-        davor->release();
+	if( davor )
+		davor->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 // zum Laden gedacht 
 // zum Laden gedacht 
 bool LTDSPixel::addBitZuFarbe( unsigned char bit )
 bool LTDSPixel::addBitZuFarbe( unsigned char bit )
 {
 {
-    if( änderA && iA != miA ) // Das Bit gehört zu Alpha
-    {
-        alpha |= ( ( bit & Bits( 1 ) ) ) << ( 7 - komp - iA );
-        ++iA;
-    }
-    else // Das Bit gehört zum nächsten Pixel
-        return false;
-    return true;
+	if( änderA && iA != miA ) // Das Bit gehört zu Alpha
+	{
+		alpha |= ( ( bit & Bits( 1 ) ) ) << ( 7 - komp - iA );
+		++iA;
+	}
+	else // Das Bit gehört zum nächsten Pixel
+		return false;
+	return true;
 }
 }
 
 
 char LTDSPixel::addByte( char byte, char begin ) // gibt ende des Pixels zurück, -1 wenn nicht zu ende
 char LTDSPixel::addByte( char byte, char begin ) // gibt ende des Pixels zurück, -1 wenn nicht zu ende
 {
 {
-    if( begin >= 8 || begin < 0 )
-        return -1;
-    for( int i = begin; i < 8; ++i )
-    {
-        switch( index )
-        {
-        case 0:
-            // Das erste Bit eines Pixels speichert, ob sich an der Komprimierung etwas änderte
-            änder = ( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) == 1;
-            if( !änder ) // Ändert sich nichts an der Komprimierung, so werden die Werte vom vorherigen Pixel übernommen
-            {
-                if( !davor ) // Die Datei ist beschädigt ( Der erste Pixel kann nicht von dem davor Übernemen )
-                {
-                    MessageBox( NULL, "Fehler, die Bilddatei ist beschädigt", "Fehler", MB_ICONERROR );
-                    exit( 0 );
-                }
-                änderA = davor->getÄnderA();
-                komp = davor->getKomp();
-                miA -= komp;
-                if( !änderA )
-                    alpha = davor->getA();
-                maxIndex += änderA * ( 8 - komp ); // Bestimmung der Länge
-                // des Pixels in Bits. Jede Farbe hat von grund auf 8 Bits, durch komprimierung kanns kleiner sein
-            }
-            else
-                maxIndex += 4; // Da der Pixel nicht die Werte des vorherigen übernimmt, wird er um 4 Bits größer
-            break;
-        case 1: // Das zweite Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
-                änderA = ( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) == 1;
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 2: // Das sechste Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
-                komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) << 2;
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 3: // Das siebte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
-                komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) << 1;
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        case 4: // Das achte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
-            if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
-            {
-                komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & Bits( 1 ) );
-                // Das war das letzte Komprimierungsbit
-                // Komprimierung auswerten 
-                miA -= komp;
-                if( !änderA )
-                    alpha = davor->getA();
-                maxIndex += änderA * ( 8 - komp ); // Bitlänge des Pixels
-            }
-            else
-            {
-                if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                    return i;
-            }
-            break;
-        default: // Die restlichen Bits speichern alle die Farbwerte des Pixels
-            if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
-                return i;
-            break;
-        }
-        ++index;
-        if( index >= maxIndex )
-        {
-            if( davor )
-            {
-                if( änderA )
-                    alpha = davor->getA() + alpha;
-                davor = davor->release();
-            }
-            return i + 1;
-        }
-    }
-    return -1;
+	if( begin >= 8 || begin < 0 )
+		return -1;
+	for( int i = begin; i < 8; ++i )
+	{
+		switch( index )
+		{
+		case 0:
+			// Das erste Bit eines Pixels speichert, ob sich an der Komprimierung etwas änderte
+			änder = ( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) == 1;
+			if( !änder ) // Ändert sich nichts an der Komprimierung, so werden die Werte vom vorherigen Pixel übernommen
+			{
+				if( !davor ) // Die Datei ist beschädigt ( Der erste Pixel kann nicht von dem davor Übernemen )
+				{
+					MessageBox( NULL, "Fehler, die Bilddatei ist beschädigt", "Fehler", MB_ICONERROR );
+					exit( 0 );
+				}
+				änderA = davor->getÄnderA();
+				komp = davor->getKomp();
+				miA -= komp;
+				if( !änderA )
+					alpha = davor->getA();
+				maxIndex += änderA * ( 8 - komp ); // Bestimmung der Länge
+				// des Pixels in Bits. Jede Farbe hat von grund auf 8 Bits, durch komprimierung kanns kleiner sein
+			}
+			else
+				maxIndex += 4; // Da der Pixel nicht die Werte des vorherigen übernimmt, wird er um 4 Bits größer
+			break;
+		case 1: // Das zweite Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
+				änderA = ( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) == 1;
+			else
+			{
+				if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
+					return i;
+			}
+			break;
+		case 2: // Das sechste Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
+				komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) << 2;
+			else
+			{
+				if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
+					return i;
+			}
+			break;
+		case 3: // Das siebte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
+				komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & Bits( 1 ) ) << 1;
+			else
+			{
+				if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
+					return i;
+			}
+			break;
+		case 4: // Das achte Bit eines Pixels speichert entweder die Komprimierungsart, oder schon die Farbe
+			if( änder ) // Das Bit gehört zu den 4 Komprimierungsbits
+			{
+				komp |= (unsigned char)( ( byte >> ( 7 - i ) ) & Bits( 1 ) );
+				// Das war das letzte Komprimierungsbit
+				// Komprimierung auswerten 
+				miA -= komp;
+				if( !änderA )
+					alpha = davor->getA();
+				maxIndex += änderA * ( 8 - komp ); // Bitlänge des Pixels
+			}
+			else
+			{
+				if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
+					return i;
+			}
+			break;
+		default: // Die restlichen Bits speichern alle die Farbwerte des Pixels
+			if( !addBitZuFarbe( byte >> ( 7 - i ) ) ) // Das Bit gehört zur Farbe
+				return i;
+			break;
+		}
+		++index;
+		if( index >= maxIndex )
+		{
+			if( davor )
+			{
+				if( änderA )
+					alpha = davor->getA() + alpha;
+				davor = davor->release();
+			}
+			return i + 1;
+		}
+	}
+	return -1;
 }
 }
 
 
 // zum speichern gedacht 
 // zum speichern gedacht 
 void LTDSPixel::setAlpha( unsigned char alpha ) // setzt die Farbe des Pixels
 void LTDSPixel::setAlpha( unsigned char alpha ) // setzt die Farbe des Pixels
 {
 {
-    this->alpha = alpha;
+	this->alpha = alpha;
 }
 }
 
 
 void LTDSPixel::Komp() // Komprimiert den Pixel
 void LTDSPixel::Komp() // Komprimiert den Pixel
 {
 {
-    maxIndex = 1;
-    if( !davor )
-    {// Das ist der erste Pixel
-        änder = 1;
-        änderA = 1;
-        maxIndex += 4;
-        miA = getBits( alpha );
-    }
-    else
-    { // Es wird die differenz zum vorrigen Pixel gespeichert
-        miA = getBits( alpha - davor->getA() );
-        if( alpha != davor->getA() )
-            änderA = 1;
-        else
-            änderA = 0;
-    }// Prüfen ob sich etwas ändert
-    if( !miA && änderA )
-        ++miA;
-    komp = 8 - miA;
-    maxIndex += änderA * miA;
-    if( davor )
-    {
-        if( änderA != davor->getÄnderA() ||
-            komp != davor->getKomp() )
-        { // Es ändert sich etwas
-            änder = 1;
-            maxIndex += 4;
-        }
-        else
-        { // Es ändert sich nichts
-            änder = 0;
-        }
-    }
+	maxIndex = 1;
+	if( !davor )
+	{// Das ist der erste Pixel
+		änder = 1;
+		änderA = 1;
+		maxIndex += 4;
+		miA = getBits( alpha );
+	}
+	else
+	{ // Es wird die differenz zum vorrigen Pixel gespeichert
+		miA = getBits( alpha - davor->getA() );
+		if( alpha != davor->getA() )
+			änderA = 1;
+		else
+			änderA = 0;
+	}// Prüfen ob sich etwas ändert
+	if( !miA && änderA )
+		++miA;
+	komp = 8 - miA;
+	maxIndex += änderA * miA;
+	if( davor )
+	{
+		if( änderA != davor->getÄnderA() ||
+			komp != davor->getKomp() )
+		{ // Es ändert sich etwas
+			änder = 1;
+			maxIndex += 4;
+		}
+		else
+		{ // Es ändert sich nichts
+			änder = 0;
+		}
+	}
 }
 }
 
 
 bool LTDSPixel::getNextFarbeBit( char &byte, int i )
 bool LTDSPixel::getNextFarbeBit( char &byte, int i )
 {
 {
-    unsigned char AA = alpha;
-    if( davor )
-    {
-        AA -= davor->getA();
-    }
-    if( änderA && iA != miA ) // Das Bit gehört zu Alpha
-    {
-        byte |= ( ( AA >> ( 7 - komp - iA ) ) & Bits( 1 ) ) << ( 7 - i );
-        ++iA;
-    }
-    else // Der Pixel ist bereits zu ende
-        return false;
-    return true;
+	unsigned char AA = alpha;
+	if( davor )
+	{
+		AA -= davor->getA();
+	}
+	if( änderA && iA != miA ) // Das Bit gehört zu Alpha
+	{
+		byte |= ( ( AA >> ( 7 - komp - iA ) ) & Bits( 1 ) ) << ( 7 - i );
+		++iA;
+	}
+	else // Der Pixel ist bereits zu ende
+		return false;
+	return true;
 }
 }
 
 
 char LTDSPixel::getNextByte( char &byte, int bbegin ) // Gibt die nächsten Bits Zurück, -1 wenn der Pixel nicht zu ende ist
 char LTDSPixel::getNextByte( char &byte, int bbegin ) // Gibt die nächsten Bits Zurück, -1 wenn der Pixel nicht zu ende ist
 {
 {
-    // bbegin gibt an wohin in die byte-variable geschrieben werden soll
-    // die Funktion gibt das ende des Pixels in der byte-variable zurück
-    // -1 heißt, dass der Pixel nicht zu ende ist
-    for( int i = bbegin; i < 8; ++i )
-    {
-        switch( index )
-        {
-        case 0: // Das erste Bit des Pixels speichert, ob sich etwas an der Komprimierung ändert
-            byte |= ( (int)änder & Bits( 1 ) ) << ( 7 - i );
-            break;
-        case 1: // Das zweite Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( (int)änderA & Bits( 1 ) ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 2: // Das zweite Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( ( komp >> 2 ) & Bits( 1 ) ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 3: // Das dritte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( ( komp >> 1 ) & Bits( 1 ) ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        case 4: // Das vierte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
-            if( änder ) // Komprimierung
-                byte |= ( komp & Bits( 1 ) ) << ( 7 - i );
-            else // Farbe
-            {
-                if( !getNextFarbeBit( byte, i ) )
-                    return i;
-            }
-            break;
-        default: // Die restlichen Bits speichern die Farbe des Pixels
-            if( !getNextFarbeBit( byte, i ) )
-                return i;
-            break;
-        }
-        ++index;
-        if( index >= maxIndex )
-        {
-            if( davor )
-                davor = davor->release();
-            return i + 1;
-        }
-    }
-    return -1;
+	// bbegin gibt an wohin in die byte-variable geschrieben werden soll
+	// die Funktion gibt das ende des Pixels in der byte-variable zurück
+	// -1 heißt, dass der Pixel nicht zu ende ist
+	for( int i = bbegin; i < 8; ++i )
+	{
+		switch( index )
+		{
+		case 0: // Das erste Bit des Pixels speichert, ob sich etwas an der Komprimierung ändert
+			byte |= ( (int)änder & Bits( 1 ) ) << ( 7 - i );
+			break;
+		case 1: // Das zweite Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( änder ) // Komprimierung
+				byte |= ( (int)änderA & Bits( 1 ) ) << ( 7 - i );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return i;
+			}
+			break;
+		case 2: // Das zweite Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( änder ) // Komprimierung
+				byte |= ( ( komp >> 2 ) & Bits( 1 ) ) << ( 7 - i );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return i;
+			}
+			break;
+		case 3: // Das dritte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( änder ) // Komprimierung
+				byte |= ( ( komp >> 1 ) & Bits( 1 ) ) << ( 7 - i );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return i;
+			}
+			break;
+		case 4: // Das vierte Bit des Pixels speichert entweder schon die Farbe oder die Komprimierung
+			if( änder ) // Komprimierung
+				byte |= ( komp & Bits( 1 ) ) << ( 7 - i );
+			else // Farbe
+			{
+				if( !getNextFarbeBit( byte, i ) )
+					return i;
+			}
+			break;
+		default: // Die restlichen Bits speichern die Farbe des Pixels
+			if( !getNextFarbeBit( byte, i ) )
+				return i;
+			break;
+		}
+		++index;
+		if( index >= maxIndex )
+		{
+			if( davor )
+				davor = davor->release();
+			return i + 1;
+		}
+	}
+	return -1;
 }
 }
 
 
 // constant 
 // constant 
 unsigned char LTDSPixel::getKomp() const // hat sich die Komprimierung geändert
 unsigned char LTDSPixel::getKomp() const // hat sich die Komprimierung geändert
 {
 {
-    return komp;
+	return komp;
 }
 }
 
 
 bool LTDSPixel::getÄnderA() const // gibt zurück, ob sich der alphawert ändert
 bool LTDSPixel::getÄnderA() const // gibt zurück, ob sich der alphawert ändert
 {
 {
-    return änderA;
+	return änderA;
 }
 }
 
 
 unsigned char LTDSPixel::getA() const // gibt Alpha zurück
 unsigned char LTDSPixel::getA() const // gibt Alpha zurück
 {
 {
-    return alpha;
+	return alpha;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDSPixel *LTDSPixel::getThis()
 LTDSPixel *LTDSPixel::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDSPixel *LTDSPixel::release()
 LTDSPixel *LTDSPixel::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDSDateiKopf Klasse aus Dateisystem.h
 // Inhalt der LTDSDateiKopf Klasse aus Dateisystem.h
 // Konstruktor 
 // Konstruktor 
 LTDSDateiKopf::LTDSDateiKopf()
 LTDSDateiKopf::LTDSDateiKopf()
-    : ref( 1 ),
-    sganzahl( 0 ),
-    gr( 0 ),
-    pos( 0 )
+	: ref( 1 ),
+	sganzahl( 0 ),
+	gr( 0 ),
+	pos( 0 )
 {}
 {}
 
 
 // Destruktor 
 // Destruktor 
 LTDSDateiKopf::~LTDSDateiKopf()
 LTDSDateiKopf::~LTDSDateiKopf()
 {
 {
-    delete[]gr;
-    delete[]pos;
+	delete[]gr;
+	delete[]pos;
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void LTDSDateiKopf::laden( std::ifstream *inF ) // Lät aus inF
 void LTDSDateiKopf::laden( std::ifstream *inF ) // Lät aus inF
 {
 {
-    if( inF->good() && inF->is_open() )
-    {
-        inF->read( (char *)&sganzahl, 1 );
-        delete[]gr;
-        delete[]pos;
-        gr = new unsigned char[ sganzahl + 1 ];
-        pos = new int[ sganzahl + 1 ];
-        gr[ sganzahl ] = 0;
-        pos[ sganzahl ] = 0;
-        for( int i = 0; i < sganzahl; ++i )
-        {
-            inF->read( (char*)&gr[ i ], 1 );
-            inF->read( (char*)&pos[ i ], 4 );
-        }
-    }
+	if( inF->good() && inF->is_open() )
+	{
+		inF->read( (char *)&sganzahl, 1 );
+		delete[]gr;
+		delete[]pos;
+		gr = new unsigned char[ sganzahl + 1 ];
+		pos = new int[ sganzahl + 1 ];
+		gr[ sganzahl ] = 0;
+		pos[ sganzahl ] = 0;
+		for( int i = 0; i < sganzahl; ++i )
+		{
+			inF->read( (char*)&gr[ i ], 1 );
+			inF->read( (char*)&pos[ i ], 4 );
+		}
+	}
 }
 }
 
 
 void LTDSDateiKopf::addSG( char sg ) // Schriftgröße hinzufügen
 void LTDSDateiKopf::addSG( char sg ) // Schriftgröße hinzufügen
 {
 {
-    ++sganzahl;
-    unsigned char *gr_tmp = gr;
-    int *pos_tmp = pos;
-    gr = new unsigned char[ sganzahl + 1 ];
-    pos = new int[ sganzahl + 1 ];
-    gr[ sganzahl ] = 0;
-    pos[ sganzahl ] = 0;
-    if( sganzahl - 1 > 0 )
-    {
-        memcpy( gr, gr_tmp, 1 * ( sganzahl - 1 ) );
-        memcpy( pos, pos_tmp, 4 * ( sganzahl - 1 ) );
-    }
-    delete[]gr_tmp;
-    delete[]pos_tmp;
-    pos[ sganzahl - 1 ] = 0;
-    gr[ sganzahl - 1 ] = sg;
+	++sganzahl;
+	unsigned char *gr_tmp = gr;
+	int *pos_tmp = pos;
+	gr = new unsigned char[ sganzahl + 1 ];
+	pos = new int[ sganzahl + 1 ];
+	gr[ sganzahl ] = 0;
+	pos[ sganzahl ] = 0;
+	if( sganzahl - 1 > 0 )
+	{
+		memcpy( gr, gr_tmp, 1 * ( sganzahl - 1 ) );
+		memcpy( pos, pos_tmp, 4 * ( sganzahl - 1 ) );
+	}
+	delete[]gr_tmp;
+	delete[]pos_tmp;
+	pos[ sganzahl - 1 ] = 0;
+	gr[ sganzahl - 1 ] = sg;
 }
 }
 
 
 void LTDSDateiKopf::removeSG( char sg ) // Schriftgröße entfernen
 void LTDSDateiKopf::removeSG( char sg ) // Schriftgröße entfernen
 {
 {
-    bool hatsg = 0;
-    int sgpos = 0;
-    for( int i = 0; i < sganzahl; ++i )
-    {
-        hatsg = gr[ i ] == sg;
-        sgpos = i;
-        if( hatsg )
-            break;
-    }
-    if( hatsg )
-    {
-        --sganzahl;
-        unsigned char *gr_tmp = gr;
-        int *pos_tmp = pos;
-        gr = new unsigned char[ sganzahl + 1 ];
-        pos = new int[ sganzahl + 1 ];
-        gr[ sganzahl ] = 0;
-        pos[ sganzahl ] = 0;
-        for( int i = 0; i < sgpos; ++i )
-        {
-            gr[ i ] = gr_tmp[ i ];
-            pos[ i ] = pos_tmp[ i ];
-        }
-        for( int i = sgpos + 1; i < sganzahl; ++i )
-        {
-            gr[ i - 1 ] = gr_tmp[ i ];
-            pos[ i - 1 ] = pos_tmp[ i ];
-        }
-        delete[]gr_tmp;
-        delete[]pos_tmp;
-    }
+	bool hatsg = 0;
+	int sgpos = 0;
+	for( int i = 0; i < sganzahl; ++i )
+	{
+		hatsg = gr[ i ] == sg;
+		sgpos = i;
+		if( hatsg )
+			break;
+	}
+	if( hatsg )
+	{
+		--sganzahl;
+		unsigned char *gr_tmp = gr;
+		int *pos_tmp = pos;
+		gr = new unsigned char[ sganzahl + 1 ];
+		pos = new int[ sganzahl + 1 ];
+		gr[ sganzahl ] = 0;
+		pos[ sganzahl ] = 0;
+		for( int i = 0; i < sgpos; ++i )
+		{
+			gr[ i ] = gr_tmp[ i ];
+			pos[ i ] = pos_tmp[ i ];
+		}
+		for( int i = sgpos + 1; i < sganzahl; ++i )
+		{
+			gr[ i - 1 ] = gr_tmp[ i ];
+			pos[ i - 1 ] = pos_tmp[ i ];
+		}
+		delete[]gr_tmp;
+		delete[]pos_tmp;
+	}
 }
 }
 
 
 // constant 
 // constant 
 void LTDSDateiKopf::speichern( std::ofstream *outF ) const // Speichert nach outF
 void LTDSDateiKopf::speichern( std::ofstream *outF ) const // Speichert nach outF
 {
 {
-    if( outF->is_open() && outF->good() )
-    {
-        outF->write( (char*)&sganzahl, 1 );
-        for( int i = 0; i < sganzahl; ++i )
-        {
-            outF->write( (char*)&gr[ i ], 1 );
-            outF->write( (char*)&pos[ i ], 4 );
-        }
-    }
+	if( outF->is_open() && outF->good() )
+	{
+		outF->write( (char*)&sganzahl, 1 );
+		for( int i = 0; i < sganzahl; ++i )
+		{
+			outF->write( (char*)&gr[ i ], 1 );
+			outF->write( (char*)&pos[ i ], 4 );
+		}
+	}
 }
 }
 
 
 unsigned char *LTDSDateiKopf::getSchriftGrößeList() const // gibt eine Liste mit gespeicherten Schriftgrößen zurück
 unsigned char *LTDSDateiKopf::getSchriftGrößeList() const // gibt eine Liste mit gespeicherten Schriftgrößen zurück
 {
 {
-    return gr;
+	return gr;
 }
 }
 
 
 int *LTDSDateiKopf::getPositionList() const // gibt eine Positionsliste der gespeicherten Schriftgrößen zurück
 int *LTDSDateiKopf::getPositionList() const // gibt eine Positionsliste der gespeicherten Schriftgrößen zurück
 {
 {
-    return pos;
+	return pos;
 }
 }
 
 
 int LTDSDateiKopf::getSchriftGrößeAnzahl() const // gibt die Anzahl der gespeicherten Schriftgrößen zurück
 int LTDSDateiKopf::getSchriftGrößeAnzahl() const // gibt die Anzahl der gespeicherten Schriftgrößen zurück
 {
 {
-    return sganzahl;
+	return sganzahl;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDSDateiKopf *LTDSDateiKopf::getThis()
 LTDSDateiKopf *LTDSDateiKopf::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDSDateiKopf *LTDSDateiKopf::release()
 LTDSDateiKopf *LTDSDateiKopf::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDSSchriftKopf Klasse aus Dateisystem.h
 // Inhalt der LTDSSchriftKopf Klasse aus Dateisystem.h
 // Konstruktor 
 // Konstruktor 
 LTDSSchriftKopf::LTDSSchriftKopf()
 LTDSSchriftKopf::LTDSSchriftKopf()
-    : ref( 1 ),
-    schriftGröße( 0 ),
-    zeichen( 0 ),
-    pos( 0 ),
-    zeichenAnzahl( 0 )
+	: ref( 1 ),
+	schriftSize( 0 ),
+	zeichen( 0 ),
+	pos( 0 ),
+	zeichenAnzahl( 0 )
 {}
 {}
 
 
 // Destruktor 
 // Destruktor 
 LTDSSchriftKopf::~LTDSSchriftKopf()
 LTDSSchriftKopf::~LTDSSchriftKopf()
 {
 {
-    delete[]pos;
-    delete[]zeichen;
+	delete[]pos;
+	delete[]zeichen;
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void LTDSSchriftKopf::laden( std::ifstream *inF ) // läht von inF
 void LTDSSchriftKopf::laden( std::ifstream *inF ) // läht von inF
 {
 {
-    if( inF->good() && inF->is_open() )
-    {
-        inF->read( (char*)&schriftGröße, 1 );
-        inF->read( (char*)&zeichenAnzahl, 1 );
-        delete[]pos;
-        delete[]zeichen;
-        zeichen = new unsigned char[ zeichenAnzahl ];
-        pos = new int[ zeichenAnzahl + 1 ];
-        for( int i = 0; i < zeichenAnzahl; ++i )
-        {
-            inF->read( (char*)&zeichen[ i ], 1 );
-            inF->read( (char*)&pos[ i ], 4 );
-        }
-        pos[ zeichenAnzahl ] = 0;
-    }
+	if( inF->good() && inF->is_open() )
+	{
+		inF->read( (char*)&schriftSize, 1 );
+		inF->read( (char*)&zeichenAnzahl, 1 );
+		delete[]pos;
+		delete[]zeichen;
+		zeichen = new unsigned char[ zeichenAnzahl ];
+		pos = new int[ zeichenAnzahl + 1 ];
+		for( int i = 0; i < zeichenAnzahl; ++i )
+		{
+			inF->read( (char*)&zeichen[ i ], 1 );
+			inF->read( (char*)&pos[ i ], 4 );
+		}
+		pos[ zeichenAnzahl ] = 0;
+	}
 }
 }
 
 
 void LTDSSchriftKopf::setSchriftgröße( unsigned char gr ) // setze schriftgröße
 void LTDSSchriftKopf::setSchriftgröße( unsigned char gr ) // setze schriftgröße
 {
 {
-    schriftGröße = gr;
+	schriftSize = gr;
 }
 }
 
 
 void LTDSSchriftKopf::setZeichenAlphabet( Alphabet *alphabet ) // setzt die Zeichen von alphabet
 void LTDSSchriftKopf::setZeichenAlphabet( Alphabet *alphabet ) // setzt die Zeichen von alphabet
 {
 {
-    int count = 0;
-    for( int i = 0; i < 256; ++i )
-    {
-        Buchstabe *zeich = alphabet->zBuchstabe( i );
-        if( zeich )
-            ++count;
-    }
-    delete[]zeichen;
-    delete[]pos;
-    zeichen = new unsigned char[ count ];
-    pos = new int[ count + 1 ];
-    pos[ count ] = 0;
-    zeichenAnzahl = count;
-    count = 0;
-    for( int i = 0; i < 256; ++i )
-    {
-        Buchstabe *zeich = alphabet->getBuchstabe( i );
-        if( zeich )
-        {
-            zeichen[ count ] = i;
-            pos[ count ] = 0;
-            ++count;
-            zeich->release();
-        }
-    }
-    schriftGröße = alphabet->getSchriftgröße();
-    alphabet->release();
+	int count = 0;
+	for( int i = 0; i < 256; ++i )
+	{
+		Buchstabe *zeich = alphabet->zBuchstabe( i );
+		if( zeich )
+			++count;
+	}
+	delete[]zeichen;
+	delete[]pos;
+	zeichen = new unsigned char[ count ];
+	pos = new int[ count + 1 ];
+	pos[ count ] = 0;
+	zeichenAnzahl = count;
+	count = 0;
+	for( int i = 0; i < 256; ++i )
+	{
+		Buchstabe *zeich = alphabet->getBuchstabe( i );
+		if( zeich )
+		{
+			zeichen[ count ] = i;
+			pos[ count ] = 0;
+			++count;
+			zeich->release();
+		}
+	}
+	schriftSize = alphabet->getSchriftSize();
+	alphabet->release();
 }
 }
 
 
 void LTDSSchriftKopf::addZeichen( unsigned char zeichen ) // Zeichen hinzufügen
 void LTDSSchriftKopf::addZeichen( unsigned char zeichen ) // Zeichen hinzufügen
 {
 {
-    ++zeichenAnzahl;
-    unsigned char *zeichen_tmp = this->zeichen;
-    int *pos_tmp = pos;
-    this->zeichen = new unsigned char[ zeichenAnzahl ];
-    pos = new int[ zeichenAnzahl + 1 ];
-    if( zeichenAnzahl - 1 > 0 )
-    {
-        memcpy( this->zeichen, zeichen_tmp, 1 * ( zeichenAnzahl - 1 ) );
-        memcpy( pos, pos_tmp, 4 * ( zeichenAnzahl - 1 ) );
-    }
-    delete[]zeichen_tmp;
-    delete[]pos_tmp;
-    this->zeichen[ zeichenAnzahl - 1 ] = zeichen;
-    pos[ zeichenAnzahl - 1 ] = 0;
-    pos[ zeichenAnzahl ] = 0;
+	++zeichenAnzahl;
+	unsigned char *zeichen_tmp = this->zeichen;
+	int *pos_tmp = pos;
+	this->zeichen = new unsigned char[ zeichenAnzahl ];
+	pos = new int[ zeichenAnzahl + 1 ];
+	if( zeichenAnzahl - 1 > 0 )
+	{
+		memcpy( this->zeichen, zeichen_tmp, 1 * ( zeichenAnzahl - 1 ) );
+		memcpy( pos, pos_tmp, 4 * ( zeichenAnzahl - 1 ) );
+	}
+	delete[]zeichen_tmp;
+	delete[]pos_tmp;
+	this->zeichen[ zeichenAnzahl - 1 ] = zeichen;
+	pos[ zeichenAnzahl - 1 ] = 0;
+	pos[ zeichenAnzahl ] = 0;
 }
 }
 
 
 void LTDSSchriftKopf::removeZeichen( unsigned char zeich ) // Zeichen entfernen
 void LTDSSchriftKopf::removeZeichen( unsigned char zeich ) // Zeichen entfernen
 {
 {
-    bool hatZ = 0;
-    int zPos = 0;
-    for( int i = 0; i < zeichenAnzahl; ++i )
-    {
-        hatZ = zeichen[ i ] == zeich;
-        zPos = i;
-        if( hatZ )
-            break;
-    }
-    if( hatZ )
-    {
-        --zeichenAnzahl;
-        unsigned char *zeichen_tmp = zeichen;
-        int *pos_tmp = pos;
-        zeichen = new unsigned char[ zeichenAnzahl ];
-        pos = new int[ zeichenAnzahl + 1 ];
-        for( int i = 0; i < zPos; ++i )
-        {
-            zeichen[ i ] = zeichen_tmp[ i ];
-            pos[ i ] = pos_tmp[ i ];
-        }
-        for( int i = zPos + 1; i <= zeichenAnzahl; ++i )
-        {
-            zeichen[ i - 1 ] = zeichen_tmp[ i ];
-            pos[ i - 1 ] = pos_tmp[ i ];
-        }
-        pos[ zeichenAnzahl ] = 0;
-        delete[]zeichen_tmp;
-        delete[]pos_tmp;
-    }
+	bool hatZ = 0;
+	int zPos = 0;
+	for( int i = 0; i < zeichenAnzahl; ++i )
+	{
+		hatZ = zeichen[ i ] == zeich;
+		zPos = i;
+		if( hatZ )
+			break;
+	}
+	if( hatZ )
+	{
+		--zeichenAnzahl;
+		unsigned char *zeichen_tmp = zeichen;
+		int *pos_tmp = pos;
+		zeichen = new unsigned char[ zeichenAnzahl ];
+		pos = new int[ zeichenAnzahl + 1 ];
+		for( int i = 0; i < zPos; ++i )
+		{
+			zeichen[ i ] = zeichen_tmp[ i ];
+			pos[ i ] = pos_tmp[ i ];
+		}
+		for( int i = zPos + 1; i <= zeichenAnzahl; ++i )
+		{
+			zeichen[ i - 1 ] = zeichen_tmp[ i ];
+			pos[ i - 1 ] = pos_tmp[ i ];
+		}
+		pos[ zeichenAnzahl ] = 0;
+		delete[]zeichen_tmp;
+		delete[]pos_tmp;
+	}
 }
 }
 
 
 // constant 
 // constant 
 void LTDSSchriftKopf::speichern( std::ofstream *outF ) const // speichert nach outF
 void LTDSSchriftKopf::speichern( std::ofstream *outF ) const // speichert nach outF
 {
 {
-    if( outF->good() && outF->is_open() )
-    {
-        outF->write( (char*)&schriftGröße, 1 );
-        outF->write( (char*)&zeichenAnzahl, 1 );
-        for( int i = 0; i < zeichenAnzahl; ++i )
-        {
-            outF->write( (char*)&zeichen[ i ], 1 );
-            outF->write( (char*)&pos[ i ], 4 );
-        }
-    }
+	if( outF->good() && outF->is_open() )
+	{
+		outF->write( (char*)&schriftSize, 1 );
+		outF->write( (char*)&zeichenAnzahl, 1 );
+		for( int i = 0; i < zeichenAnzahl; ++i )
+		{
+			outF->write( (char*)&zeichen[ i ], 1 );
+			outF->write( (char*)&pos[ i ], 4 );
+		}
+	}
 }
 }
 
 
 unsigned char LTDSSchriftKopf::getSchriftGröße() const // gibt die Schriftgröße zurück
 unsigned char LTDSSchriftKopf::getSchriftGröße() const // gibt die Schriftgröße zurück
 {
 {
-    return schriftGröße;
+	return schriftSize;
 }
 }
 
 
 unsigned char LTDSSchriftKopf::getZeichenAnzahl() const // gibt die Zeichenanzahl zurück
 unsigned char LTDSSchriftKopf::getZeichenAnzahl() const // gibt die Zeichenanzahl zurück
 {
 {
-    return zeichenAnzahl;
+	return zeichenAnzahl;
 }
 }
 
 
 int *LTDSSchriftKopf::getPositionen() const // gibt die Zeichenpositionen zurück
 int *LTDSSchriftKopf::getPositionen() const // gibt die Zeichenpositionen zurück
 {
 {
-    return pos;
+	return pos;
 }
 }
 
 
 unsigned char *LTDSSchriftKopf::getZeichen() const // gibt die zeichen zurück
 unsigned char *LTDSSchriftKopf::getZeichen() const // gibt die zeichen zurück
 {
 {
-    return zeichen;
+	return zeichen;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDSSchriftKopf *LTDSSchriftKopf::getThis()
 LTDSSchriftKopf *LTDSSchriftKopf::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDSSchriftKopf *LTDSSchriftKopf::release()
 LTDSSchriftKopf *LTDSSchriftKopf::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDSBuchstabenKopf Klasse aus Dateisystem.h
 // Inhalt der LTDSBuchstabenKopf Klasse aus Dateisystem.h
 // Konstruktor 
 // Konstruktor 
 LTDSBuchstabenKopf::LTDSBuchstabenKopf()
 LTDSBuchstabenKopf::LTDSBuchstabenKopf()
-    : ref( 1 ),
-    zeichen( 0 ),
-    größe( 0, 0 )
+	: ref( 1 ),
+	zeichen( 0 ),
+	size( 0, 0 )
 {}
 {}
 
 
 // nicht constant 
 // nicht constant 
 void LTDSBuchstabenKopf::laden( std::ifstream *inF ) // lät aus inF
 void LTDSBuchstabenKopf::laden( std::ifstream *inF ) // lät aus inF
 {
 {
-    if( inF->good() && inF->is_open() )
-    {
-        inF->read( (char*)&zeichen, 1 );
-        inF->read( (char*)&größe.x, 1 );
-        inF->read( (char*)&größe.y, 1 );
-    }
+	if( inF->good() && inF->is_open() )
+	{
+		inF->read( (char*)&zeichen, 1 );
+		inF->read( (char*)&size.x, 1 );
+		inF->read( (char*)&size.y, 1 );
+	}
 }
 }
 
 
 void LTDSBuchstabenKopf::init( unsigned char zeichen, const Punkt &größe ) // initialisierung( für speichern )
 void LTDSBuchstabenKopf::init( unsigned char zeichen, const Punkt &größe ) // initialisierung( für speichern )
 {
 {
-    this->zeichen = zeichen;
-    this->größe = größe;
+	this->zeichen = zeichen;
+	this->size = größe;
 }
 }
 
 
 void LTDSBuchstabenKopf::init( unsigned char zeichen, int br, int hö )
 void LTDSBuchstabenKopf::init( unsigned char zeichen, int br, int hö )
 {
 {
-    this->zeichen = zeichen;
-    größe.x = br, größe.y = hö;
+	this->zeichen = zeichen;
+	size.x = br, size.y = hö;
 }
 }
 
 
 // constant 
 // constant 
 void LTDSBuchstabenKopf::speichern( std::ofstream *outF ) const // speichertn nach outF
 void LTDSBuchstabenKopf::speichern( std::ofstream *outF ) const // speichertn nach outF
 {
 {
-    if( outF->good() && outF->is_open() )
-    {
-        outF->write( (char*)&zeichen, 1 );
-        outF->write( (char*)&größe.x, 1 );
-        outF->write( (char*)&größe.y, 1 );
-    }
+	if( outF->good() && outF->is_open() )
+	{
+		outF->write( (char*)&zeichen, 1 );
+		outF->write( (char*)&size.x, 1 );
+		outF->write( (char*)&size.y, 1 );
+	}
 }
 }
 
 
 unsigned char LTDSBuchstabenKopf::getZeichen() const // gibt das Zeichen zurück
 unsigned char LTDSBuchstabenKopf::getZeichen() const // gibt das Zeichen zurück
 {
 {
-    return zeichen;
+	return zeichen;
 }
 }
 
 
 int LTDSBuchstabenKopf::getBreite() const // gibt die Breite zurück
 int LTDSBuchstabenKopf::getBreite() const // gibt die Breite zurück
 {
 {
-    return größe.x;
+	return size.x;
 }
 }
 
 
 int LTDSBuchstabenKopf::getHöhe() const // gibt die höhe zurück
 int LTDSBuchstabenKopf::getHöhe() const // gibt die höhe zurück
 {
 {
-    return größe.y;
+	return size.y;
 }
 }
 
 
 const Punkt &LTDSBuchstabenKopf::getGröße() const // gibt die Größe zurück
 const Punkt &LTDSBuchstabenKopf::getGröße() const // gibt die Größe zurück
 {
 {
-    return größe;
+	return size;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDSBuchstabenKopf *LTDSBuchstabenKopf::getThis()
 LTDSBuchstabenKopf *LTDSBuchstabenKopf::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDSBuchstabenKopf *LTDSBuchstabenKopf::release()
 LTDSBuchstabenKopf *LTDSBuchstabenKopf::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDSBuchstabenKörper Klasse aus Dateisystem.h
 // Inhalt der LTDSBuchstabenKörper Klasse aus Dateisystem.h
 // Konstruktor 
 // Konstruktor 
 LTDSBuchstabenKörper::LTDSBuchstabenKörper( LTDSBuchstabenKopf *kopf )
 LTDSBuchstabenKörper::LTDSBuchstabenKörper( LTDSBuchstabenKopf *kopf )
-    : ref( 1 ),
-    größe( kopf->getGröße() ),
-    zeichen( kopf->getZeichen() ),
-    buchstabe( new Buchstabe() )
+	: ref( 1 ),
+	size( kopf->getGröße() ),
+	zeichen( kopf->getZeichen() ),
+	buchstabe( new Buchstabe() )
 {
 {
-    buchstabe->NeuBuchstabe( größe );
-    kopf->release();
+	buchstabe->NeuBuchstabe( size );
+	kopf->release();
 }
 }
 
 
 // Destruktor 
 // Destruktor 
 LTDSBuchstabenKörper::~LTDSBuchstabenKörper()
 LTDSBuchstabenKörper::~LTDSBuchstabenKörper()
 {
 {
-    if( buchstabe )
-        buchstabe->release();
+	if( buchstabe )
+		buchstabe->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void LTDSBuchstabenKörper::setBuchstabe( Buchstabe *zeichen ) // setzt den Buchstaben
 void LTDSBuchstabenKörper::setBuchstabe( Buchstabe *zeichen ) // setzt den Buchstaben
 {
 {
-    if( buchstabe )
-        buchstabe->release();
-    buchstabe = zeichen;
+	if( buchstabe )
+		buchstabe->release();
+	buchstabe = zeichen;
 }
 }
 
 
 void LTDSBuchstabenKörper::laden( std::ifstream *inF ) // Läht aus inF
 void LTDSBuchstabenKörper::laden( std::ifstream *inF ) // Läht aus inF
 {
 {
-    if( inF->good() && inF->is_open() )
-    {
-        LTDSPixel *vorher = 0;
-        LTDSPixel *jetzt = new LTDSPixel( vorher );
-        char byte = 0;
-        int beg = 0;
-        int ende = -1;
-        for( int i = 0; i < größe.x * größe.y; ++i )
-        {
-            if( !jetzt ) // wenn es nicht der erste Pixel ist
-                jetzt = new LTDSPixel( vorher->getThis() );
-            int ende = -1;
-            while( ende < 0 ) // Pixel laden
-            {
-                if( beg == 0 )
-                    inF->read( &byte, 1 );
-                ende = jetzt->addByte( byte, beg ); // byte auswerten
-                beg = 0;
-            }
-            beg = ende;
-            if( beg == 8 )
-                beg = 0;
-            if( buchstabe )
-                buchstabe->setPixel( i, jetzt->getA() );
-            if( vorher )
-                vorher = vorher->release();
-            vorher = jetzt->getThis();
-            jetzt = jetzt->release();
-        }
-        if( vorher )
-            vorher->release();
-        if( jetzt )
-            jetzt->release();
-    }
+	if( inF->good() && inF->is_open() )
+	{
+		LTDSPixel *vorher = 0;
+		LTDSPixel *jetzt = new LTDSPixel( vorher );
+		char byte = 0;
+		int beg = 0;
+		int ende = -1;
+		for( int i = 0; i < size.x * size.y; ++i )
+		{
+			if( !jetzt ) // wenn es nicht der erste Pixel ist
+				jetzt = new LTDSPixel( vorher->getThis() );
+			int ende = -1;
+			while( ende < 0 ) // Pixel laden
+			{
+				if( beg == 0 )
+					inF->read( &byte, 1 );
+				ende = jetzt->addByte( byte, beg ); // byte auswerten
+				beg = 0;
+			}
+			beg = ende;
+			if( beg == 8 )
+				beg = 0;
+			if( buchstabe )
+				buchstabe->setPixel( i, jetzt->getA() );
+			if( vorher )
+				vorher = vorher->release();
+			vorher = jetzt->getThis();
+			jetzt = jetzt->release();
+		}
+		if( vorher )
+			vorher->release();
+		if( jetzt )
+			jetzt->release();
+	}
 }
 }
 
 
 // constant 
 // constant 
 void LTDSBuchstabenKörper::speichern( std::ofstream *outF ) const // speichert nach outF
 void LTDSBuchstabenKörper::speichern( std::ofstream *outF ) const // speichert nach outF
 {
 {
-    if( outF->good() && outF->is_open() )
-    {
-        LTDSPixel *vorher = 0; // Letzter gespeicherter Pixel
-        LTDSPixel *jetzt = new LTDSPixel( 0 ); // Der momentan zu speichernde Pixel
-        int begin = 0, ende = 0; // Pixelbeginn, endposition in der byte variable
-        char byte = 0; // Der nächste byte der Datei
-        bool w = 0;
-        unsigned char *alphaBuff = buchstabe->getBuff();
-        for( int i = 0; i < größe.x * größe.y; ++i ) // für jeden Pixel
-        {
-            if( !jetzt ) // wenn es nicht der erste Pixel ist
-                jetzt = new LTDSPixel( vorher->getThis() );
-            jetzt->setAlpha( alphaBuff[ i ] ); // Farbe des Pixels setzen
-            jetzt->Komp(); // Pixel komprimieren
-            ende = -1;
-            while( ende < 0 ) // byte befüllen
-            {
-                ende = jetzt->getNextByte( byte, begin );
-                begin = 0;
-                w = 0;
-                if( ende == -1 || ende == 8 ) // byte speichern
-                {
-                    outF->write( &byte, 1 );
-                    w = 1;
-                    byte = 0;
-                }
-            } // Pixel fertig
-            begin = ende;
-            if( begin == 8 )
-                begin = 0;
-            if( vorher )
-                vorher->release();
-            vorher = jetzt->getThis(); // dieser wird zu letzter
-            jetzt = jetzt->release();
-        }
-        if( vorher )
-            vorher = vorher->release();
-        if( !w )
-        {
-            outF->write( &byte, 1 ); // Das letzte byte speichern
-        }
-        outF->flush(); // dateistream speichern
-    }
+	if( outF->good() && outF->is_open() )
+	{
+		LTDSPixel *vorher = 0; // Letzter gespeicherter Pixel
+		LTDSPixel *jetzt = new LTDSPixel( 0 ); // Der momentan zu speichernde Pixel
+		int begin = 0, ende = 0; // Pixelbeginn, endposition in der byte variable
+		char byte = 0; // Der nächste byte der Datei
+		bool w = 0;
+		unsigned char *alphaBuff = buchstabe->getBuff();
+		for( int i = 0; i < size.x * size.y; ++i ) // für jeden Pixel
+		{
+			if( !jetzt ) // wenn es nicht der erste Pixel ist
+				jetzt = new LTDSPixel( vorher->getThis() );
+			jetzt->setAlpha( alphaBuff[ i ] ); // Farbe des Pixels setzen
+			jetzt->Komp(); // Pixel komprimieren
+			ende = -1;
+			while( ende < 0 ) // byte befüllen
+			{
+				ende = jetzt->getNextByte( byte, begin );
+				begin = 0;
+				w = 0;
+				if( ende == -1 || ende == 8 ) // byte speichern
+				{
+					outF->write( &byte, 1 );
+					w = 1;
+					byte = 0;
+				}
+			} // Pixel fertig
+			begin = ende;
+			if( begin == 8 )
+				begin = 0;
+			if( vorher )
+				vorher->release();
+			vorher = jetzt->getThis(); // dieser wird zu letzter
+			jetzt = jetzt->release();
+		}
+		if( vorher )
+			vorher = vorher->release();
+		if( !w )
+		{
+			outF->write( &byte, 1 ); // Das letzte byte speichern
+		}
+		outF->flush(); // dateistream speichern
+	}
 }
 }
 
 
 Buchstabe *LTDSBuchstabenKörper::getBuchstabe() const // gibt den Buchstaben zurück
 Buchstabe *LTDSBuchstabenKörper::getBuchstabe() const // gibt den Buchstaben zurück
 {
 {
-    return buchstabe->getThis();
+	return buchstabe->getThis();
 }
 }
 
 
 unsigned char LTDSBuchstabenKörper::getZeichen() const // gibt das Zeichen zurück
 unsigned char LTDSBuchstabenKörper::getZeichen() const // gibt das Zeichen zurück
 {
 {
-    return zeichen;
+	return zeichen;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDSBuchstabenKörper *LTDSBuchstabenKörper::getThis()
 LTDSBuchstabenKörper *LTDSBuchstabenKörper::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDSBuchstabenKörper *LTDSBuchstabenKörper::release()
 LTDSBuchstabenKörper *LTDSBuchstabenKörper::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }
 
 
 // Inhalt der LTDSDatei Klasse aus DAteisystem.h
 // Inhalt der LTDSDatei Klasse aus DAteisystem.h
 // Konstruktor 
 // Konstruktor 
 LTDSDatei::LTDSDatei()
 LTDSDatei::LTDSDatei()
-    : ref( 1 ),
-    pfad( new Text() ),
-    dateiKopf( 0 )
+	: ref( 1 ),
+	pfad( new Text() ),
+	dateiKopf( 0 )
 {}
 {}
 
 
 // Destruktor 
 // Destruktor 
 LTDSDatei::~LTDSDatei()
 LTDSDatei::~LTDSDatei()
 {
 {
-    if( dateiKopf )
-        dateiKopf->release();
-    pfad->release();
+	if( dateiKopf )
+		dateiKopf->release();
+	pfad->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void LTDSDatei::setPfad( Text *txt ) // setzt den Pfad zur Datei
 void LTDSDatei::setPfad( Text *txt ) // setzt den Pfad zur Datei
 {
 {
-    if( dateiKopf )
-        dateiKopf = dateiKopf->release();
-    pfad->setText( txt->getText() );
-    txt->release();
+	if( dateiKopf )
+		dateiKopf = dateiKopf->release();
+	pfad->setText( txt->getText() );
+	txt->release();
 }
 }
 
 
 void LTDSDatei::leseDaten() // ließt den Dateikopf
 void LTDSDatei::leseDaten() // ließt den Dateikopf
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return;
-    if( dateiKopf )
-        dateiKopf->release();
-    dateiKopf = new LTDSDateiKopf();
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-    dateiKopf->laden( inF );
-    inF->close();
-    delete inF;
+	if( !DateiExistiert( pfad->getThis() ) )
+		return;
+	if( dateiKopf )
+		dateiKopf->release();
+	dateiKopf = new LTDSDateiKopf();
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+	dateiKopf->laden( inF );
+	inF->close();
+	delete inF;
 }
 }
 
 
 void LTDSDatei::addSchriftgröße( Alphabet *alphabet ) // fügt eine Schriftgröße hinzu
 void LTDSDatei::addSchriftgröße( Alphabet *alphabet ) // fügt eine Schriftgröße hinzu
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) ) // prüfen, ob die Datei existiert
-        return;
-    if( !dateiKopf ) // prüfen, ob der Dateikopf schon gelesen wurde
-        leseDaten();
-    int sgröße = alphabet->getSchriftgröße(); // Schriftgröße die hinzugefügt werden soll
-    unsigned char *sglist = dateiKopf->getSchriftGrößeList(); // Liste von bereits vorhandenen Schriftgrößen
-    unsigned char sganzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl der bereits vorhandenen Schriftgrößen
-    for( int i = 0; i < sganzahl; ++i ) // prüfen, ob die Schriftgröße bereits existiert
-    {
-        if( sglist[ i ] == sgröße )
-        {
-            alphabet->release();
-            return;
-        }
-    }
-    dateiKopf->addSG( sgröße ); // Schriftgröße dem Dateikopf hinzufügen
-    int *sgPosList = dateiKopf->getPositionList(); // Liste mit positionen der Schriftgrößen
-    sglist = dateiKopf->getSchriftGrößeList(); // Liste von bereits vorhandenen Schriftgrößen
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // alte Datei
-    pfad->anhängen( "0" );
-    std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // neue Datei
-    dateiKopf->speichern( outF ); // Dateikopf in neue datei speichern
-    inF->seekg( 1 + 5 * sganzahl, std::ios::beg ); // Position der ersten Schriftgröße in der alten Datei
-    for( int i = 0; i < sganzahl; ++i ) // Buchstabenpositionen aller Schriftgrößen aktualisieren
-    {
-        LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
-        sgKpf_tmp->laden( inF ); // aus alter Datei laden
-        int *zeichP_tmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen der Schriftgröße
-        unsigned char zeichA_tmp = sgKpf_tmp->getZeichenAnzahl(); // Anzahl von Zeichen der Schriftgröße
-        for( int i1 = 0; i1 < zeichA_tmp; ++i1 )
-            zeichP_tmp[ i1 ] += 5; // Buchstabenpositionen aktualisieren
-        sgKpf_tmp->speichern( outF ); // Schriftgröße Kopf in neue Datei speichern
-        int beginByte = (int)inF->tellg(); // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
-        int endByte = sgPosList[ i + 1 ];
-        if( !endByte )
-        {
-            inF->seekg( 0, std::ios::end );
-            endByte = (int)inF->tellg();
-            inF->seekg( beginByte, std::ios::beg );
-        }
-        char byte;
-        for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang
-        {
-            inF->read( &byte, 1 );
-            outF->write( &byte, 1 );
-        }
-        sgKpf_tmp->release();
-    }
-    inF->close(); // Alte datei schließen
-    sgPosList[ sganzahl ] = (int)outF->tellp();
-    outF->seekp( 0, std::ios::beg );
-    for( int i = 0; i < sganzahl; ++i ) // Positionen im Dateikopf aktualisieren
-        sgPosList[ i ] += 5;
-    dateiKopf->speichern( outF ); // aktualisierter Dateikopf speichern
-    outF->seekp( sgPosList[ sganzahl ], std::ios::beg );
-    LTDSSchriftKopf *sgkopf = new LTDSSchriftKopf(); // Kopf der neuen Schriftgröße
-    sgkopf->setZeichenAlphabet( alphabet->getThis() ); // Kopf der Schriftgröße initialisieren
-    sgkopf->speichern( outF ); // Kopf der Schriftgröße speichern
-    int *BuchstabenPosList = sgkopf->getPositionen(); // positionen der verschiedenen Zeichen in der Datei( nuch 0 )
-    int count = 0;
-    for( int i = 0; i < 256; ++i )
-    {
-        Buchstabe *zeich = alphabet->getBuchstabe( i );
-        if( zeich )
-        {
-            BuchstabenPosList[ count ] = (int)outF->tellp(); // position des Zeichens setzen
-            LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf(); // Zeichenkopf
-            zeichKpf->init( i, zeich->getBreite(), zeich->getHöhe() );
-            zeichKpf->speichern( outF ); // Zeichenkopf speichern
-            LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() ); // Zeichenkörper
-            zeichKpf->release();
-            zeichKörp->setBuchstabe( zeich->getThis() );
-            zeichKörp->speichern( outF ); // Zeichenkörper speichern
-            zeich->release();
-            ++count;
-        }
-    }
-    outF->seekp( sgPosList[ sganzahl ], std::ios::beg );
-    sgkopf->speichern( outF ); // aktualisierter Schriftgrößen Kopf speichern
-    outF->close();
-    Text *pfad2 = new Text();
-    pfad2->setText( pfad->getText() );
-    pfad->löschen( pfad->getLänge() - 1, pfad->getLänge() );
-    DateiLöschen( pfad->getThis() ); // Alte datei Löschen
-    DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // neue Datei nach alte umbenennen
-    pfad2->release(); // Speicher freigeben
-    sgkopf->release();
-    delete inF;
-    delete outF;
-    alphabet->release();
+	if( !DateiExistiert( pfad->getThis() ) ) // prüfen, ob die Datei existiert
+		return;
+	if( !dateiKopf ) // prüfen, ob der Dateikopf schon gelesen wurde
+		leseDaten();
+	int sgröße = alphabet->getSchriftSize(); // Schriftgröße die hinzugefügt werden soll
+	unsigned char *sglist = dateiKopf->getSchriftGrößeList(); // Liste von bereits vorhandenen Schriftgrößen
+	unsigned char sganzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl der bereits vorhandenen Schriftgrößen
+	for( int i = 0; i < sganzahl; ++i ) // prüfen, ob die Schriftgröße bereits existiert
+	{
+		if( sglist[ i ] == sgröße )
+		{
+			alphabet->release();
+			return;
+		}
+	}
+	dateiKopf->addSG( sgröße ); // Schriftgröße dem Dateikopf hinzufügen
+	int *sgPosList = dateiKopf->getPositionList(); // Liste mit positionen der Schriftgrößen
+	sglist = dateiKopf->getSchriftGrößeList(); // Liste von bereits vorhandenen Schriftgrößen
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // alte Datei
+	pfad->append( "0" );
+	std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // neue Datei
+	dateiKopf->speichern( outF ); // Dateikopf in neue datei speichern
+	inF->seekg( 1 + 5 * sganzahl, std::ios::beg ); // Position der ersten Schriftgröße in der alten Datei
+	for( int i = 0; i < sganzahl; ++i ) // Buchstabenpositionen aller Schriftgrößen aktualisieren
+	{
+		LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
+		sgKpf_tmp->laden( inF ); // aus alter Datei laden
+		int *zeichP_tmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen der Schriftgröße
+		unsigned char zeichA_tmp = sgKpf_tmp->getZeichenAnzahl(); // Anzahl von Zeichen der Schriftgröße
+		for( int i1 = 0; i1 < zeichA_tmp; ++i1 )
+			zeichP_tmp[ i1 ] += 5; // Buchstabenpositionen aktualisieren
+		sgKpf_tmp->speichern( outF ); // Schriftgröße Kopf in neue Datei speichern
+		int beginByte = (int)inF->tellg(); // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
+		int endByte = sgPosList[ i + 1 ];
+		if( !endByte )
+		{
+			inF->seekg( 0, std::ios::end );
+			endByte = (int)inF->tellg();
+			inF->seekg( beginByte, std::ios::beg );
+		}
+		char byte;
+		for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang
+		{
+			inF->read( &byte, 1 );
+			outF->write( &byte, 1 );
+		}
+		sgKpf_tmp->release();
+	}
+	inF->close(); // Alte datei schließen
+	sgPosList[ sganzahl ] = (int)outF->tellp();
+	outF->seekp( 0, std::ios::beg );
+	for( int i = 0; i < sganzahl; ++i ) // Positionen im Dateikopf aktualisieren
+		sgPosList[ i ] += 5;
+	dateiKopf->speichern( outF ); // aktualisierter Dateikopf speichern
+	outF->seekp( sgPosList[ sganzahl ], std::ios::beg );
+	LTDSSchriftKopf *sgkopf = new LTDSSchriftKopf(); // Kopf der neuen Schriftgröße
+	sgkopf->setZeichenAlphabet( alphabet->getThis() ); // Kopf der Schriftgröße initialisieren
+	sgkopf->speichern( outF ); // Kopf der Schriftgröße speichern
+	int *BuchstabenPosList = sgkopf->getPositionen(); // positionen der verschiedenen Zeichen in der Datei( nuch 0 )
+	int count = 0;
+	for( int i = 0; i < 256; ++i )
+	{
+		Buchstabe *zeich = alphabet->getBuchstabe( i );
+		if( zeich )
+		{
+			BuchstabenPosList[ count ] = (int)outF->tellp(); // position des Zeichens setzen
+			LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf(); // Zeichenkopf
+			zeichKpf->init( i, zeich->getBreite(), zeich->getHeight() );
+			zeichKpf->speichern( outF ); // Zeichenkopf speichern
+			LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() ); // Zeichenkörper
+			zeichKpf->release();
+			zeichKörp->setBuchstabe( zeich->getThis() );
+			zeichKörp->speichern( outF ); // Zeichenkörper speichern
+			zeich->release();
+			++count;
+		}
+	}
+	outF->seekp( sgPosList[ sganzahl ], std::ios::beg );
+	sgkopf->speichern( outF ); // aktualisierter Schriftgrößen Kopf speichern
+	outF->close();
+	Text *pfad2 = new Text();
+	pfad2->setText( pfad->getText() );
+	pfad->remove( pfad->getLength() - 1, pfad->getLength() );
+	DateiRemove( pfad->getThis() ); // Alte datei Löschen
+	DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // neue Datei nach alte umbenennen
+	pfad2->release(); // Speicher freigeben
+	sgkopf->release();
+	delete inF;
+	delete outF;
+	alphabet->release();
 }
 }
 
 
 void LTDSDatei::addBuchstabe( int gr, Buchstabe *zeich, unsigned char zeichen ) // Fügt einer Schriftgröße einen Buchstaben hinzu
 void LTDSDatei::addBuchstabe( int gr, Buchstabe *zeich, unsigned char zeichen ) // Fügt einer Schriftgröße einen Buchstaben hinzu
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) ) // prüfen ob Datei existiert
-    {
-        zeich->release();
-        return;
-    }
-    if( !dateiKopf ) // prüfen, ob der DAteikopf geladen wurde
-        leseDaten();
-    unsigned char *sgList = dateiKopf->getSchriftGrößeList(); // Liste mit Schriftgrößen aus der Datei
-    int *sgPosList = dateiKopf->getPositionList(); // Liste mit Schriftgrößen positionen aus Datei
-    unsigned char sgAnzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl von Schriftgrößen aus der Datei
-    int sgNum = -1;
-    for( int i = 0; i < sgAnzahl; ++i ) // Position der richtigen Schriftgröße ermitteln
-    {
-        if( sgList[ i ] == gr )
-        {
-            sgNum = i;
-            break;
-        }
-    }
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // Alte Datei
-    pfad->anhängen( "0" );
-    std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // Neue Datei
-    inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg );
-    if( sgNum == -1 ) // Die Schriftgröße existiert noch nicht und wird erstellt
-    {
-        dateiKopf->addSG( gr ); // Schriftgröße dem Dateikopf hinzufügen
-        sgPosList = dateiKopf->getPositionList();
-        sgList = dateiKopf->getSchriftGrößeList();
-        dateiKopf->speichern( outF ); // Dateikopf speichern
-        inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg ); // Position der ersten Schriftgröße in der alten Datei
-        for( int i = 0; i < sgAnzahl; ++i ) // Buchstabenpositionen aller Schriftgrößen aktualisieren
-        {
-            LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
-            sgKpf_tmp->laden( inF ); // aus alter Datei laden
-            int *zeichP_tmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen der Schriftgröße
-            unsigned char zeichA_tmp = sgKpf_tmp->getZeichenAnzahl(); // Anzahl von Zeichen der Schriftgröße
-            for( int i1 = 0; i1 < zeichA_tmp; ++i1 )
-                zeichP_tmp[ i1 ] += 5; // Buchstabenpositionen aktualisieren
-            sgKpf_tmp->speichern( outF ); // Schriftgröße Kopf in neue Datei speichern
-            int beginByte = (int)inF->tellg(); // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
-            int endByte = sgPosList[ i + 1 ];
-            if( i + 1 >= sgAnzahl )
-            {
-                inF->seekg( 0, std::ios::end );
-                endByte = (int)inF->tellg();
-                inF->seekg( beginByte, std::ios::beg );
-            }
-            char byte;
-            for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang
-            {
-                inF->read( &byte, 1 );
-                outF->write( &byte, 1 );
-            }
-            sgKpf_tmp->release();
-        }
-        sgPosList[ sgAnzahl ] = (int)outF->tellp();
-        outF->seekp( 0, std::ios::beg );
-        for( int i = 0; i < sgAnzahl; ++i ) // Positionen im Dateikopf aktualisieren
-            sgPosList[ i ] += 5;
-        dateiKopf->speichern( outF ); // aktualisierter Dateikopf speichern
-        outF->seekp( sgPosList[ sgAnzahl ], std::ios::beg );
-        LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf(); // Schriftgröße Kopf initialisiern
-        sgKpf->setSchriftgröße( gr );
-        sgKpf->addZeichen( zeichen );
-        sgKpf->getPositionen()[ 0 ] = (int)outF->tellp() + 7;
-        sgKpf->speichern( outF ); // Schriftgröße Kopf speichern
-        sgKpf->release();
-        LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf(); // Buchstabenkopf
-        zeichKpf->init( zeichen, zeich->getGröße() );
-        zeichKpf->speichern( outF ); // Buchstabenkopf speichern
-        LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() ); // Buchstabenkörper
-        zeichKpf->release();
-        zeichKörp->setBuchstabe( zeich->getThis() );
-        zeichKörp->speichern( outF ); // Buchstabenkörper speichern
-        zeichKörp->release();
-    }
-    else
-    {
-        dateiKopf->speichern( outF ); // Dateikopf speichern
-        int beginByte = 1 + 5 * sgAnzahl; // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
-        int endByte = sgPosList[ sgNum ];
-        char byte;
-        for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang bis zur angegebenen größe
-        {
-            inF->read( &byte, 1 );
-            outF->write( &byte, 1 );
-        }
-        LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf(); // Schriftgröße Kopf
-        sgKpf->laden( inF );
-        for( int i = 0; i < sgKpf->getZeichenAnzahl(); ++i )
-            sgKpf->getPositionen()[ i ] += 5;
-        sgKpf->addZeichen( zeichen );
-        int indexPlus = 5;
-        int zeichenPos = sgPosList[ sgNum + 1 ]; // position des neuen Zeichens
-        if( sgNum + 1 >= sgAnzahl )
-        {
-            int tmp = (int)inF->tellg();
-            inF->seekg( 0, std::ios::end );
-            zeichenPos = (int)inF->tellg();
-            inF->seekg( tmp, std::ios::beg );
-        }
-        zeichenPos += indexPlus;
-        sgKpf->getPositionen()[ sgKpf->getZeichenAnzahl() - 1 ] = zeichenPos;
-        sgKpf->speichern( outF ); // Schriftgröße Kopf speichern
-        sgKpf->release();
-        for( int i = (int)inF->tellg() + indexPlus; i < zeichenPos; ++i ) // Kopiervorgang bis zum Zeichenbeginn
-        {
-            inF->read( &byte, 1 );
-            outF->write( &byte, 1 );
-        }
-        LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf(); // Zeichenkopf
-        zeichKpf->init( zeichen, zeich->getGröße() );
-        zeichKpf->speichern( outF ); // Zeichenkopf speichern
-        LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() ); // Zeichenkörper
-        zeichKpf->release();
-        zeichKörp->setBuchstabe( zeich->getThis() );
-        zeichKörp->speichern( outF ); // Zeichenkörper speichern
-        zeichKörp->release();
-        int nowPos = (int)outF->tellp();
-        indexPlus += nowPos - zeichenPos;
-        for( int i = sgNum + 1; i < sgAnzahl; ++i ) // Dateikopf aktualisieren
-            sgPosList[ i ] += indexPlus;
-        outF->seekp( 0, std::ios::beg );
-        dateiKopf->speichern( outF ); // Dateikopf speichern
-        outF->seekp( nowPos, std::ios::beg );
-        for( int i = sgNum + 1; i < sgAnzahl; ++i ) // Restliche Schriftgrößen aktualisieren
-        {
-            LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
-            sgKpf_tmp->laden( inF ); // aus alter Datei laden
-            int *zeichP_tmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen der Schriftgröße
-            unsigned char zeichA_tmp = sgKpf_tmp->getZeichenAnzahl(); // Anzahl von Zeichen der Schriftgröße
-            for( int i1 = 0; i1 < zeichA_tmp; ++i1 )
-                zeichP_tmp[ i1 ] += indexPlus; // Buchstabenpositionen aktualisieren
-            sgKpf_tmp->speichern( outF ); // Schriftgröße Kopf in neue Datei speichern
-            int beginByte = (int)inF->tellg(); // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
-            int endByte = sgPosList[ i + 1 ];
-            if( i + 1 >= sgAnzahl )
-            {
-                inF->seekg( 0, std::ios::end );
-                endByte = (int)inF->tellg();
-                inF->seekg( beginByte, std::ios::beg );
-            }
-            char byte;
-            for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang
-            {
-                inF->read( &byte, 1 );
-                outF->write( &byte, 1 );
-            }
-            sgKpf_tmp->release();
-        }
-    }
-    inF->close();
-    outF->close();
-    Text *pfad2 = new Text( pfad->getText() );
-    pfad->löschen( pfad->getLänge() - 1, pfad->getLänge() );
-    DateiLöschen( pfad->getThis() ); // Alte Datei löschen
-    DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // Neue Datei in alte umbenennen
-    pfad2->release();// Speicher freigeben
-    delete inF;
-    delete outF;
-    zeich->release();
+	if( !DateiExistiert( pfad->getThis() ) ) // prüfen ob Datei existiert
+	{
+		zeich->release();
+		return;
+	}
+	if( !dateiKopf ) // prüfen, ob der DAteikopf geladen wurde
+		leseDaten();
+	unsigned char *sgList = dateiKopf->getSchriftGrößeList(); // Liste mit Schriftgrößen aus der Datei
+	int *sgPosList = dateiKopf->getPositionList(); // Liste mit Schriftgrößen positionen aus Datei
+	unsigned char sgAnzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl von Schriftgrößen aus der Datei
+	int sgNum = -1;
+	for( int i = 0; i < sgAnzahl; ++i ) // Position der richtigen Schriftgröße ermitteln
+	{
+		if( sgList[ i ] == gr )
+		{
+			sgNum = i;
+			break;
+		}
+	}
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // Alte Datei
+	pfad->append( "0" );
+	std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // Neue Datei
+	inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg );
+	if( sgNum == -1 ) // Die Schriftgröße existiert noch nicht und wird erstellt
+	{
+		dateiKopf->addSG( gr ); // Schriftgröße dem Dateikopf hinzufügen
+		sgPosList = dateiKopf->getPositionList();
+		sgList = dateiKopf->getSchriftGrößeList();
+		dateiKopf->speichern( outF ); // Dateikopf speichern
+		inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg ); // Position der ersten Schriftgröße in der alten Datei
+		for( int i = 0; i < sgAnzahl; ++i ) // Buchstabenpositionen aller Schriftgrößen aktualisieren
+		{
+			LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
+			sgKpf_tmp->laden( inF ); // aus alter Datei laden
+			int *zeichP_tmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen der Schriftgröße
+			unsigned char zeichA_tmp = sgKpf_tmp->getZeichenAnzahl(); // Anzahl von Zeichen der Schriftgröße
+			for( int i1 = 0; i1 < zeichA_tmp; ++i1 )
+				zeichP_tmp[ i1 ] += 5; // Buchstabenpositionen aktualisieren
+			sgKpf_tmp->speichern( outF ); // Schriftgröße Kopf in neue Datei speichern
+			int beginByte = (int)inF->tellg(); // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
+			int endByte = sgPosList[ i + 1 ];
+			if( i + 1 >= sgAnzahl )
+			{
+				inF->seekg( 0, std::ios::end );
+				endByte = (int)inF->tellg();
+				inF->seekg( beginByte, std::ios::beg );
+			}
+			char byte;
+			for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang
+			{
+				inF->read( &byte, 1 );
+				outF->write( &byte, 1 );
+			}
+			sgKpf_tmp->release();
+		}
+		sgPosList[ sgAnzahl ] = (int)outF->tellp();
+		outF->seekp( 0, std::ios::beg );
+		for( int i = 0; i < sgAnzahl; ++i ) // Positionen im Dateikopf aktualisieren
+			sgPosList[ i ] += 5;
+		dateiKopf->speichern( outF ); // aktualisierter Dateikopf speichern
+		outF->seekp( sgPosList[ sgAnzahl ], std::ios::beg );
+		LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf(); // Schriftgröße Kopf initialisiern
+		sgKpf->setSchriftgröße( gr );
+		sgKpf->addZeichen( zeichen );
+		sgKpf->getPositionen()[ 0 ] = (int)outF->tellp() + 7;
+		sgKpf->speichern( outF ); // Schriftgröße Kopf speichern
+		sgKpf->release();
+		LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf(); // Buchstabenkopf
+		zeichKpf->init( zeichen, zeich->getSize() );
+		zeichKpf->speichern( outF ); // Buchstabenkopf speichern
+		LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() ); // Buchstabenkörper
+		zeichKpf->release();
+		zeichKörp->setBuchstabe( zeich->getThis() );
+		zeichKörp->speichern( outF ); // Buchstabenkörper speichern
+		zeichKörp->release();
+	}
+	else
+	{
+		dateiKopf->speichern( outF ); // Dateikopf speichern
+		int beginByte = 1 + 5 * sgAnzahl; // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
+		int endByte = sgPosList[ sgNum ];
+		char byte;
+		for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang bis zur angegebenen größe
+		{
+			inF->read( &byte, 1 );
+			outF->write( &byte, 1 );
+		}
+		LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf(); // Schriftgröße Kopf
+		sgKpf->laden( inF );
+		for( int i = 0; i < sgKpf->getZeichenAnzahl(); ++i )
+			sgKpf->getPositionen()[ i ] += 5;
+		sgKpf->addZeichen( zeichen );
+		int indexPlus = 5;
+		int zeichenPos = sgPosList[ sgNum + 1 ]; // position des neuen Zeichens
+		if( sgNum + 1 >= sgAnzahl )
+		{
+			int tmp = (int)inF->tellg();
+			inF->seekg( 0, std::ios::end );
+			zeichenPos = (int)inF->tellg();
+			inF->seekg( tmp, std::ios::beg );
+		}
+		zeichenPos += indexPlus;
+		sgKpf->getPositionen()[ sgKpf->getZeichenAnzahl() - 1 ] = zeichenPos;
+		sgKpf->speichern( outF ); // Schriftgröße Kopf speichern
+		sgKpf->release();
+		for( int i = (int)inF->tellg() + indexPlus; i < zeichenPos; ++i ) // Kopiervorgang bis zum Zeichenbeginn
+		{
+			inF->read( &byte, 1 );
+			outF->write( &byte, 1 );
+		}
+		LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf(); // Zeichenkopf
+		zeichKpf->init( zeichen, zeich->getSize() );
+		zeichKpf->speichern( outF ); // Zeichenkopf speichern
+		LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() ); // Zeichenkörper
+		zeichKpf->release();
+		zeichKörp->setBuchstabe( zeich->getThis() );
+		zeichKörp->speichern( outF ); // Zeichenkörper speichern
+		zeichKörp->release();
+		int nowPos = (int)outF->tellp();
+		indexPlus += nowPos - zeichenPos;
+		for( int i = sgNum + 1; i < sgAnzahl; ++i ) // Dateikopf aktualisieren
+			sgPosList[ i ] += indexPlus;
+		outF->seekp( 0, std::ios::beg );
+		dateiKopf->speichern( outF ); // Dateikopf speichern
+		outF->seekp( nowPos, std::ios::beg );
+		for( int i = sgNum + 1; i < sgAnzahl; ++i ) // Restliche Schriftgrößen aktualisieren
+		{
+			LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
+			sgKpf_tmp->laden( inF ); // aus alter Datei laden
+			int *zeichP_tmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen der Schriftgröße
+			unsigned char zeichA_tmp = sgKpf_tmp->getZeichenAnzahl(); // Anzahl von Zeichen der Schriftgröße
+			for( int i1 = 0; i1 < zeichA_tmp; ++i1 )
+				zeichP_tmp[ i1 ] += indexPlus; // Buchstabenpositionen aktualisieren
+			sgKpf_tmp->speichern( outF ); // Schriftgröße Kopf in neue Datei speichern
+			int beginByte = (int)inF->tellg(); // Die restlichen bytes bis zur nächsten Schriftgröße in neue Datei kopieren
+			int endByte = sgPosList[ i + 1 ];
+			if( i + 1 >= sgAnzahl )
+			{
+				inF->seekg( 0, std::ios::end );
+				endByte = (int)inF->tellg();
+				inF->seekg( beginByte, std::ios::beg );
+			}
+			char byte;
+			for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopiervorgang
+			{
+				inF->read( &byte, 1 );
+				outF->write( &byte, 1 );
+			}
+			sgKpf_tmp->release();
+		}
+	}
+	inF->close();
+	outF->close();
+	Text *pfad2 = new Text( pfad->getText() );
+	pfad->remove( pfad->getLength() - 1, pfad->getLength() );
+	DateiRemove( pfad->getThis() ); // Alte Datei löschen
+	DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // Neue Datei in alte umbenennen
+	pfad2->release();// Speicher freigeben
+	delete inF;
+	delete outF;
+	zeich->release();
 }
 }
 
 
 void LTDSDatei::löscheSchrifrGröße( int gr ) // Löscht eine Schriftgröße aus der Datei
 void LTDSDatei::löscheSchrifrGröße( int gr ) // Löscht eine Schriftgröße aus der Datei
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) ) // prüfen, ob Datei existiert
-        return;
-    if( !dateiKopf ) // prüfen, ob der Dateikopf geladen wurde
-        leseDaten();
-    unsigned char *sgList = dateiKopf->getSchriftGrößeList(); // Liste mit Schriftgrößen
-    unsigned char sgAnzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl der Schriftgrößen
-    int sgNum = -1;
-    for( int i = 0; i < sgAnzahl; ++i ) // zu löschende Schriftgröße suchen
-    {
-        if( sgList[ i ] == gr )
-        {
-            sgNum = i;
-            break;
-        }
-    }
-    if( sgNum == -1 ) // Die Schriftgröße ist nicht vorhanden
-        return;
-    int *sgPosList = dateiKopf->getPositionList();  // Liste von Positionen der Schriftgrößen
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // alte Datei
-    pfad->anhängen( "0" );
-    std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // neue Datei
-    outF->seekp( 1 + 5 * ( sgAnzahl - 1 ), std::ios::beg );
-    inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg );
-    for( int i = 0; i < sgNum; ++i ) // Schriftgrößen vor der zu löschenden Schriftgröße aktualisieren
-    {
-        LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
-        sgKpf_tmp->laden( inF ); // Schriftgrößen Kopf laden
-        int *zeichPosLTmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen
-        unsigned char zeichATmp = sgKpf_tmp->getZeichenAnzahl(); // Zeichenanzahl
-        for( int i1 = 0; i1 < zeichATmp; ++i1 ) // Position der Zeichen um 5 bytes zurücksetzen
-            zeichPosLTmp[ i1 ] -= 5;
-        sgKpf_tmp->speichern( outF ); // speichern in Neue Datei
-        char byte = 0;
-        for( int i1 = (int)inF->tellg(); i1 < sgPosList[ i + 1 ]; ++i1 ) // Den Körper des Zeichens Kopieren
-        {
-            inF->read( &byte, 1 );
-            outF->write( &byte, 1 );
-        }
-        sgKpf_tmp->release();
-    }
-    int indexMinus = 5 + sgPosList[ sgNum + 1 ] - (int)inF->tellg();
-    inF->seekg( sgPosList[ sgNum + 1 ], std::ios::beg );
-    for( int i = sgNum + 1; i < sgAnzahl; ++i ) // Die Schriftgröße nach der zu löschenden Schriftgröße
-    {
-        LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
-        sgKpf_tmp->laden( inF ); // Schriftgrößen Kopf laden
-        int *zeichPosLTmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen
-        unsigned char zeichATmp = sgKpf_tmp->getZeichenAnzahl(); // Zeichenanzahl
-        for( int i1 = 0; i1 < zeichATmp; ++i1 ) // Position der Zeichen aktualisieren
-            zeichPosLTmp[ i1 ] -= indexMinus;
-        sgKpf_tmp->speichern( outF ); // speichern in Neue Datei
-        char byte = 0;
-        int BeginByte = (int)inF->tellg();
-        int EndByte = sgPosList[ i + 1 ];
-        if( !EndByte )
-        {
-            inF->seekg( 0, std::ios::end );
-            EndByte = (int)inF->tellg();
-            inF->seekg( BeginByte, std::ios::beg );
-        }
-        for( int i1 = BeginByte; i1 < EndByte; ++i1 ) // Den Körper des Zeichens Kopieren
-        {
-            inF->read( &byte, 1 );
-            outF->write( &byte, 1 );
-        }
-    }
-    for( int i = 0; i < sgNum; ++i ) // Dateikopf aktualisieren
-        sgPosList[ i ] -= 5;
-    for( int i = sgNum + 1; i < sgAnzahl; ++i )
-        sgPosList[ i ] -= indexMinus;
-    dateiKopf->removeSG( gr );
-    outF->seekp( 0, std::ios::beg );
-    dateiKopf->speichern( outF ); // Dateikopf speichern
-    inF->close();
-    outF->close();
-    Text *pfad2 = new Text( pfad->getText() );
-    pfad->löschen( pfad->getLänge() - 1, pfad->getLänge() );
-    DateiLöschen( pfad->getThis() ); // alte Datei löschen
-    DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // neue Datei zu alter umbenennen
-    pfad2->release();
-    delete inF;
-    delete outF;
+	if( !DateiExistiert( pfad->getThis() ) ) // prüfen, ob Datei existiert
+		return;
+	if( !dateiKopf ) // prüfen, ob der Dateikopf geladen wurde
+		leseDaten();
+	unsigned char *sgList = dateiKopf->getSchriftGrößeList(); // Liste mit Schriftgrößen
+	unsigned char sgAnzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl der Schriftgrößen
+	int sgNum = -1;
+	for( int i = 0; i < sgAnzahl; ++i ) // zu löschende Schriftgröße suchen
+	{
+		if( sgList[ i ] == gr )
+		{
+			sgNum = i;
+			break;
+		}
+	}
+	if( sgNum == -1 ) // Die Schriftgröße ist nicht vorhanden
+		return;
+	int *sgPosList = dateiKopf->getPositionList();  // Liste von Positionen der Schriftgrößen
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // alte Datei
+	pfad->append( "0" );
+	std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // neue Datei
+	outF->seekp( 1 + 5 * ( sgAnzahl - 1 ), std::ios::beg );
+	inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg );
+	for( int i = 0; i < sgNum; ++i ) // Schriftgrößen vor der zu löschenden Schriftgröße aktualisieren
+	{
+		LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
+		sgKpf_tmp->laden( inF ); // Schriftgrößen Kopf laden
+		int *zeichPosLTmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen
+		unsigned char zeichATmp = sgKpf_tmp->getZeichenAnzahl(); // Zeichenanzahl
+		for( int i1 = 0; i1 < zeichATmp; ++i1 ) // Position der Zeichen um 5 bytes zurücksetzen
+			zeichPosLTmp[ i1 ] -= 5;
+		sgKpf_tmp->speichern( outF ); // speichern in Neue Datei
+		char byte = 0;
+		for( int i1 = (int)inF->tellg(); i1 < sgPosList[ i + 1 ]; ++i1 ) // Den Körper des Zeichens Kopieren
+		{
+			inF->read( &byte, 1 );
+			outF->write( &byte, 1 );
+		}
+		sgKpf_tmp->release();
+	}
+	int indexMinus = 5 + sgPosList[ sgNum + 1 ] - (int)inF->tellg();
+	inF->seekg( sgPosList[ sgNum + 1 ], std::ios::beg );
+	for( int i = sgNum + 1; i < sgAnzahl; ++i ) // Die Schriftgröße nach der zu löschenden Schriftgröße
+	{
+		LTDSSchriftKopf *sgKpf_tmp = new LTDSSchriftKopf(); // Schriftgrößen Kopf
+		sgKpf_tmp->laden( inF ); // Schriftgrößen Kopf laden
+		int *zeichPosLTmp = sgKpf_tmp->getPositionen(); // Zeichenpositionen
+		unsigned char zeichATmp = sgKpf_tmp->getZeichenAnzahl(); // Zeichenanzahl
+		for( int i1 = 0; i1 < zeichATmp; ++i1 ) // Position der Zeichen aktualisieren
+			zeichPosLTmp[ i1 ] -= indexMinus;
+		sgKpf_tmp->speichern( outF ); // speichern in Neue Datei
+		char byte = 0;
+		int BeginByte = (int)inF->tellg();
+		int EndByte = sgPosList[ i + 1 ];
+		if( !EndByte )
+		{
+			inF->seekg( 0, std::ios::end );
+			EndByte = (int)inF->tellg();
+			inF->seekg( BeginByte, std::ios::beg );
+		}
+		for( int i1 = BeginByte; i1 < EndByte; ++i1 ) // Den Körper des Zeichens Kopieren
+		{
+			inF->read( &byte, 1 );
+			outF->write( &byte, 1 );
+		}
+	}
+	for( int i = 0; i < sgNum; ++i ) // Dateikopf aktualisieren
+		sgPosList[ i ] -= 5;
+	for( int i = sgNum + 1; i < sgAnzahl; ++i )
+		sgPosList[ i ] -= indexMinus;
+	dateiKopf->removeSG( gr );
+	outF->seekp( 0, std::ios::beg );
+	dateiKopf->speichern( outF ); // Dateikopf speichern
+	inF->close();
+	outF->close();
+	Text *pfad2 = new Text( pfad->getText() );
+	pfad->remove( pfad->getLength() - 1, pfad->getLength() );
+	DateiRemove( pfad->getThis() ); // alte Datei löschen
+	DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // neue Datei zu alter umbenennen
+	pfad2->release();
+	delete inF;
+	delete outF;
 }
 }
 
 
 void LTDSDatei::löscheBuchstabe( int gr, unsigned char zeichen ) // Löscht einen Buchstaben aus der Datei
 void LTDSDatei::löscheBuchstabe( int gr, unsigned char zeichen ) // Löscht einen Buchstaben aus der Datei
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) ) // prüfen, ob die Datei existiert
-        return;
-    if( !dateiKopf ) // prüfen, ob der Dateikopf gelesen wurde
-        leseDaten();
-    unsigned char *sgList = dateiKopf->getSchriftGrößeList(); // Liste mit Schriftgrößen
-    unsigned char sgAnzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl der Schriftgrößen
-    int *sgPosList = dateiKopf->getPositionList(); // Liste mit Positionen der Schriftgrößen
-    int sgNum = -1;
-    for( int i = 0; i < sgAnzahl; ++i ) // Schriftgröße suchen
-    {
-        if( sgList[ i ] == gr )
-        {
-            sgNum = i;
-            break;
-        }
-    }
-    if( sgNum == -1 ) // Schriftgröße nicht gefunden
-        return;
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // alte Datei
-    pfad->anhängen( "0" );
-    std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // neue Datei
-    int indexMinus = 0;
-    inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg );
-    dateiKopf->speichern( outF ); // DateiKopf peichern
-    for( int i = 0; i < sgAnzahl; ++i )
-    {
-        LTDSSchriftKopf *sgKopf = new LTDSSchriftKopf(); // Schriftkopf
-        sgKopf->laden( inF ); // Schriftkopf laden
-        unsigned char sgZeichAnzahl = sgKopf->getZeichenAnzahl(); // Zeichenanzahl
-        unsigned char *sgZeichenList = sgKopf->getZeichen(); // Zeichen Liste
-        int *sgZPosList = sgKopf->getPositionen(); // Positions Liste
-        if( i == sgNum ) // Zeichen befindet sich in dieser Schriftgröße
-        {
-            int sgZNum = -1;
-            for( int i1 = 0; i1 < sgZeichAnzahl; ++i1 ) // Zeichen suchen
-            {
-                if( sgZeichenList[ i1 ] == zeichen )
-                {
-                    sgZNum = i1;
-                    break;
-                }
-            }
-            if( sgZNum == -1 ) // Zeichen nicht gefunden
-            {
-                sgKopf->release();
-                inF->close();
-                outF->close();
-                delete inF;
-                delete outF;
-                DateiLöschen( pfad->getThis() );
-                pfad->löschen( pfad->getLänge() - 1, pfad->getLänge() );
-                return; // abbruch
-            }
-            outF->seekp( 2 + 5 * ( sgZeichAnzahl - 1 ), std::ios::cur );
-            indexMinus += 5;
-            for( int i1 = 0; i1 < sgZNum; ++i1 ) // Zeichen vor dem zu löschenden Zeichen
-            {
-                char byte = 0;
-                for( int i2 = sgZPosList[ i1 ]; i2 < sgZPosList[ i1 + 1 ]; ++i2 ) // Kopieren
-                {
-                    inF->read( &byte, 1 );
-                    outF->write( &byte, 1 );
-                }
-                sgZPosList[ i1 ] -= indexMinus; // Schriftgröße Kopf aktualisieren
-            }
-            if( !sgZPosList[ sgZNum + 1 ] )
-            {
-                int endByte = sgPosList[ i + 1 ];
-                if( !endByte )
-                {
-                    int beginByte = (int)inF->tellg();
-                    inF->seekg( 0, std::ios::end );
-                    endByte = (int)inF->tellg();
-                    inF->seekg( beginByte, std::ios::beg );
-                }
-                indexMinus += endByte - sgZPosList[ sgZNum ];
-            }
-            else
-                indexMinus += sgZPosList[ sgZNum + 1 ] - sgZPosList[ sgZNum ];
-            if( sgZNum + 1 < sgZeichAnzahl )
-                inF->seekg( sgZPosList[ sgZNum + 1 ], std::ios::beg );
-            for( int i1 = sgZNum + 1; i1 < sgZeichAnzahl; ++i1 ) // Zeichen nach dem gelöschten Zeichen
-            {
-                int beginByte = (int)inF->tellg();
-                int endByte = sgZPosList[ i1 + 1 ];
-                if( !endByte )
-                {
-                    inF->seekg( 0, std::ios::end );
-                    endByte = (int)inF->tellg();
-                    inF->seekg( beginByte, std::ios::beg );
-                }
-                char byte = 0;
-                for( int i2 = beginByte; i2 < endByte; ++i2 ) // Kopieren
-                {
-                    inF->read( &byte, 1 );
-                    outF->write( &byte, 1 );
-                }
-                sgZPosList[ i1 ] -= indexMinus; // Schriftgröße Kopf aktualisieren
-            }
-            sgKopf->removeZeichen( zeichen );
-        }
-        else
-        {
-            for( int i1 = 0; i1 < sgZeichAnzahl; ++i1 ) // Schriftgröße Kopf aktualisieren
-                sgZPosList[ i ] -= indexMinus;
-            sgKopf->speichern( outF ); // Schriftgröße Kopf speichern
-            int beginByte = (int)inF->tellg();
-            int endByte = sgPosList[ i + 1 ];
-            if( !endByte )
-            {
-                inF->seekg( 0, std::ios::end );
-                endByte = (int)inF->tellg();
-                inF->seekg( beginByte, std::ios::beg );
-            }
-            char byte;
-            for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopieren
-            {
-                inF->read( &byte, 1 );
-                outF->write( &byte, 1 );
-            }
-            sgPosList[ i ] -= indexMinus;
-        }
-        outF->seekp( sgPosList[ i ], std::ios::beg );
-        sgKopf->speichern( outF ); // Schriftgröße Kopf speichern
-        outF->seekp( sgPosList[ i + 1 ], std::ios::beg );
-        sgKopf->release();
-    }
-    inF->close();
-    outF->close();
-    Text *pfad2 = new Text( pfad->getText() );
-    pfad->löschen( pfad->getLänge() - 1, pfad->getLänge() );
-    DateiLöschen( pfad->getThis() ); // alte Datei löschen
-    DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // neue Datei nach alte umbenennen
-    pfad2->release(); // Speicher freigeben
-    delete inF;
-    delete outF;
+	if( !DateiExistiert( pfad->getThis() ) ) // prüfen, ob die Datei existiert
+		return;
+	if( !dateiKopf ) // prüfen, ob der Dateikopf gelesen wurde
+		leseDaten();
+	unsigned char *sgList = dateiKopf->getSchriftGrößeList(); // Liste mit Schriftgrößen
+	unsigned char sgAnzahl = dateiKopf->getSchriftGrößeAnzahl(); // Anzahl der Schriftgrößen
+	int *sgPosList = dateiKopf->getPositionList(); // Liste mit Positionen der Schriftgrößen
+	int sgNum = -1;
+	for( int i = 0; i < sgAnzahl; ++i ) // Schriftgröße suchen
+	{
+		if( sgList[ i ] == gr )
+		{
+			sgNum = i;
+			break;
+		}
+	}
+	if( sgNum == -1 ) // Schriftgröße nicht gefunden
+		return;
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary ); // alte Datei
+	pfad->append( "0" );
+	std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary ); // neue Datei
+	int indexMinus = 0;
+	inF->seekg( 1 + 5 * sgAnzahl, std::ios::beg );
+	dateiKopf->speichern( outF ); // DateiKopf peichern
+	for( int i = 0; i < sgAnzahl; ++i )
+	{
+		LTDSSchriftKopf *sgKopf = new LTDSSchriftKopf(); // Schriftkopf
+		sgKopf->laden( inF ); // Schriftkopf laden
+		unsigned char sgZeichAnzahl = sgKopf->getZeichenAnzahl(); // Zeichenanzahl
+		unsigned char *sgZeichenList = sgKopf->getZeichen(); // Zeichen Liste
+		int *sgZPosList = sgKopf->getPositionen(); // Positions Liste
+		if( i == sgNum ) // Zeichen befindet sich in dieser Schriftgröße
+		{
+			int sgZNum = -1;
+			for( int i1 = 0; i1 < sgZeichAnzahl; ++i1 ) // Zeichen suchen
+			{
+				if( sgZeichenList[ i1 ] == zeichen )
+				{
+					sgZNum = i1;
+					break;
+				}
+			}
+			if( sgZNum == -1 ) // Zeichen nicht gefunden
+			{
+				sgKopf->release();
+				inF->close();
+				outF->close();
+				delete inF;
+				delete outF;
+				DateiRemove( pfad->getThis() );
+				pfad->remove( pfad->getLength() - 1, pfad->getLength() );
+				return; // abbruch
+			}
+			outF->seekp( 2 + 5 * ( sgZeichAnzahl - 1 ), std::ios::cur );
+			indexMinus += 5;
+			for( int i1 = 0; i1 < sgZNum; ++i1 ) // Zeichen vor dem zu löschenden Zeichen
+			{
+				char byte = 0;
+				for( int i2 = sgZPosList[ i1 ]; i2 < sgZPosList[ i1 + 1 ]; ++i2 ) // Kopieren
+				{
+					inF->read( &byte, 1 );
+					outF->write( &byte, 1 );
+				}
+				sgZPosList[ i1 ] -= indexMinus; // Schriftgröße Kopf aktualisieren
+			}
+			if( !sgZPosList[ sgZNum + 1 ] )
+			{
+				int endByte = sgPosList[ i + 1 ];
+				if( !endByte )
+				{
+					int beginByte = (int)inF->tellg();
+					inF->seekg( 0, std::ios::end );
+					endByte = (int)inF->tellg();
+					inF->seekg( beginByte, std::ios::beg );
+				}
+				indexMinus += endByte - sgZPosList[ sgZNum ];
+			}
+			else
+				indexMinus += sgZPosList[ sgZNum + 1 ] - sgZPosList[ sgZNum ];
+			if( sgZNum + 1 < sgZeichAnzahl )
+				inF->seekg( sgZPosList[ sgZNum + 1 ], std::ios::beg );
+			for( int i1 = sgZNum + 1; i1 < sgZeichAnzahl; ++i1 ) // Zeichen nach dem gelöschten Zeichen
+			{
+				int beginByte = (int)inF->tellg();
+				int endByte = sgZPosList[ i1 + 1 ];
+				if( !endByte )
+				{
+					inF->seekg( 0, std::ios::end );
+					endByte = (int)inF->tellg();
+					inF->seekg( beginByte, std::ios::beg );
+				}
+				char byte = 0;
+				for( int i2 = beginByte; i2 < endByte; ++i2 ) // Kopieren
+				{
+					inF->read( &byte, 1 );
+					outF->write( &byte, 1 );
+				}
+				sgZPosList[ i1 ] -= indexMinus; // Schriftgröße Kopf aktualisieren
+			}
+			sgKopf->removeZeichen( zeichen );
+		}
+		else
+		{
+			for( int i1 = 0; i1 < sgZeichAnzahl; ++i1 ) // Schriftgröße Kopf aktualisieren
+				sgZPosList[ i ] -= indexMinus;
+			sgKopf->speichern( outF ); // Schriftgröße Kopf speichern
+			int beginByte = (int)inF->tellg();
+			int endByte = sgPosList[ i + 1 ];
+			if( !endByte )
+			{
+				inF->seekg( 0, std::ios::end );
+				endByte = (int)inF->tellg();
+				inF->seekg( beginByte, std::ios::beg );
+			}
+			char byte;
+			for( int i1 = beginByte; i1 < endByte; ++i1 ) // Kopieren
+			{
+				inF->read( &byte, 1 );
+				outF->write( &byte, 1 );
+			}
+			sgPosList[ i ] -= indexMinus;
+		}
+		outF->seekp( sgPosList[ i ], std::ios::beg );
+		sgKopf->speichern( outF ); // Schriftgröße Kopf speichern
+		outF->seekp( sgPosList[ i + 1 ], std::ios::beg );
+		sgKopf->release();
+	}
+	inF->close();
+	outF->close();
+	Text *pfad2 = new Text( pfad->getText() );
+	pfad->remove( pfad->getLength() - 1, pfad->getLength() );
+	DateiRemove( pfad->getThis() ); // alte Datei löschen
+	DateiUmbenennen( pfad2->getThis(), pfad->getThis() ); // neue Datei nach alte umbenennen
+	pfad2->release(); // Speicher freigeben
+	delete inF;
+	delete outF;
 }
 }
 
 
 void LTDSDatei::löscheDatei() // Löscht die gesamte Datei
 void LTDSDatei::löscheDatei() // Löscht die gesamte Datei
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return;
-    if( !dateiKopf )
-        leseDaten();
-    DateiLöschen( pfad->getThis() );
+	if( !DateiExistiert( pfad->getThis() ) )
+		return;
+	if( !dateiKopf )
+		leseDaten();
+	DateiRemove( pfad->getThis() );
 }
 }
 
 
 void LTDSDatei::erstelleDatei() // erstellt die Datei
 void LTDSDatei::erstelleDatei() // erstellt die Datei
 {
 {
-    DateiPfadErstellen( pfad->getThis() );
-    if( dateiKopf )
-        dateiKopf->release();
-    dateiKopf = new LTDSDateiKopf();
-    std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary );
-    dateiKopf->speichern( outF );
-    outF->close();
-    delete outF;
+	DateiPfadErstellen( pfad->getThis() );
+	if( dateiKopf )
+		dateiKopf->release();
+	dateiKopf = new LTDSDateiKopf();
+	std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary );
+	dateiKopf->speichern( outF );
+	outF->close();
+	delete outF;
 }
 }
 
 
 void LTDSDatei::speicherSchrift( Schrift *schrift ) // Speichert die übergebene Schrift
 void LTDSDatei::speicherSchrift( Schrift *schrift ) // Speichert die übergebene Schrift
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-    {
-        schrift->release();
-        return;
-    }
-    löscheDatei();
-    if( dateiKopf )
-        dateiKopf->release();
-    dateiKopf = new LTDSDateiKopf();
-    for( int i = 0; i < schrift->getAlphabetAnzahl(); ++i )
-    {
-        Alphabet *alp = schrift->getAlphabetI( i );
-        if( alp )
-        {
-            dateiKopf->addSG( alp->getSchriftgröße() );
-            alp->release();
-        }
-    }
-    std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary );
-    dateiKopf->speichern( outF );
-    for( int i = 0; i < schrift->getAlphabetAnzahl(); ++i )
-    {
-        dateiKopf->getPositionList()[ i ] = (int)outF->tellp();
-        LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
-        sgKpf->setZeichenAlphabet( schrift->getAlphabetI( i ) );
-        sgKpf->speichern( outF );
-        Alphabet *alp = schrift->getAlphabetI( i );
-        for( int i1 = 0; i1 < sgKpf->getZeichenAnzahl(); ++i1 )
-        {
-            sgKpf->getPositionen()[ i1 ] = (int)outF->tellp();
-            LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf();
-            Buchstabe *zeichen = alp->getBuchstabe( sgKpf->getZeichen()[ i1 ] );
-            zeichKpf->init( sgKpf->getZeichen()[ i1 ], zeichen->getBreite(), zeichen->getHöhe() );
-            zeichKpf->speichern( outF );
-            LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() );
-            zeichKörp->setBuchstabe( zeichen->getThis() );
-            zeichKörp->speichern( outF );
-            zeichKörp->release();
-            zeichen->release();
-            zeichKpf->release();
-        }
-        alp->release();
-        int p = (int)outF->tellp();
-        outF->seekp( dateiKopf->getPositionList()[ i ], std::ios::beg );
-        sgKpf->speichern( outF );
-        outF->seekp( p, std::ios::beg );
-        sgKpf->release();
-    }
-    outF->seekp( 0, std::ios::beg );
-    dateiKopf->speichern( outF );
-    outF->close();
-    delete outF;
-    schrift->release();
+	if( !DateiExistiert( pfad->getThis() ) )
+	{
+		schrift->release();
+		return;
+	}
+	löscheDatei();
+	if( dateiKopf )
+		dateiKopf->release();
+	dateiKopf = new LTDSDateiKopf();
+	for( int i = 0; i < schrift->getAlphabetAnzahl(); ++i )
+	{
+		Alphabet *alp = schrift->getAlphabetI( i );
+		if( alp )
+		{
+			dateiKopf->addSG( alp->getSchriftSize() );
+			alp->release();
+		}
+	}
+	std::ofstream *outF = new std::ofstream( pfad->getText(), std::ios::binary );
+	dateiKopf->speichern( outF );
+	for( int i = 0; i < schrift->getAlphabetAnzahl(); ++i )
+	{
+		dateiKopf->getPositionList()[ i ] = (int)outF->tellp();
+		LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
+		sgKpf->setZeichenAlphabet( schrift->getAlphabetI( i ) );
+		sgKpf->speichern( outF );
+		Alphabet *alp = schrift->getAlphabetI( i );
+		for( int i1 = 0; i1 < sgKpf->getZeichenAnzahl(); ++i1 )
+		{
+			sgKpf->getPositionen()[ i1 ] = (int)outF->tellp();
+			LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf();
+			Buchstabe *zeichen = alp->getBuchstabe( sgKpf->getZeichen()[ i1 ] );
+			zeichKpf->init( sgKpf->getZeichen()[ i1 ], zeichen->getBreite(), zeichen->getHeight() );
+			zeichKpf->speichern( outF );
+			LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() );
+			zeichKörp->setBuchstabe( zeichen->getThis() );
+			zeichKörp->speichern( outF );
+			zeichKörp->release();
+			zeichen->release();
+			zeichKpf->release();
+		}
+		alp->release();
+		int p = (int)outF->tellp();
+		outF->seekp( dateiKopf->getPositionList()[ i ], std::ios::beg );
+		sgKpf->speichern( outF );
+		outF->seekp( p, std::ios::beg );
+		sgKpf->release();
+	}
+	outF->seekp( 0, std::ios::beg );
+	dateiKopf->speichern( outF );
+	outF->close();
+	delete outF;
+	schrift->release();
 }
 }
 
 
 // constant 
 // constant 
 Schrift *LTDSDatei::ladeSchrift() // gibt die geladene Schrift zurück
 Schrift *LTDSDatei::ladeSchrift() // gibt die geladene Schrift zurück
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return 0;
-    if( !dateiKopf )
-        return 0;
-    Schrift *ret = new Schrift();
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-    inF->seekg( dateiKopf->getPositionList()[ 0 ], std::ios::beg );
-    for( int i = 0; i < dateiKopf->getSchriftGrößeAnzahl(); ++i )
-    {
-        LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
-        sgKpf->laden( inF );
-        Alphabet *alphabet = new Alphabet();
-        alphabet->setSchriftgröße( sgKpf->getSchriftGröße() );
-        alphabet->setDrawSchriftgröße( sgKpf->getSchriftGröße() );
-        for( int i1 = 0; i1 < sgKpf->getZeichenAnzahl(); ++i1 )
-        {
-            LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf();
-            zeichKpf->laden( inF );
-            LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() );
-            zeichKörp->laden( inF );
-            alphabet->setBuchstabe( zeichKpf->getZeichen(), zeichKörp->getBuchstabe() );
-            zeichKörp->release();
-            zeichKpf->release();
-        }
-        ret->addAlphabet( alphabet->getThis() );
-        alphabet->release();
-        sgKpf->release();
-    }
-    inF->close();
-    delete inF;
-    return ret;
+	if( !DateiExistiert( pfad->getThis() ) )
+		return 0;
+	if( !dateiKopf )
+		return 0;
+	Schrift *ret = new Schrift();
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+	inF->seekg( dateiKopf->getPositionList()[ 0 ], std::ios::beg );
+	for( int i = 0; i < dateiKopf->getSchriftGrößeAnzahl(); ++i )
+	{
+		LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
+		sgKpf->laden( inF );
+		Alphabet *alphabet = new Alphabet();
+		alphabet->setSchriftSize( sgKpf->getSchriftGröße() );
+		alphabet->setDrawSchriftSize( sgKpf->getSchriftGröße() );
+		for( int i1 = 0; i1 < sgKpf->getZeichenAnzahl(); ++i1 )
+		{
+			LTDSBuchstabenKopf *zeichKpf = new LTDSBuchstabenKopf();
+			zeichKpf->laden( inF );
+			LTDSBuchstabenKörper *zeichKörp = new LTDSBuchstabenKörper( zeichKpf->getThis() );
+			zeichKörp->laden( inF );
+			alphabet->setBuchstabe( zeichKpf->getZeichen(), zeichKörp->getBuchstabe() );
+			zeichKörp->release();
+			zeichKpf->release();
+		}
+		ret->addAlphabet( alphabet->getThis() );
+		alphabet->release();
+		sgKpf->release();
+	}
+	inF->close();
+	delete inF;
+	return ret;
 }
 }
 
 
 Alphabet *LTDSDatei::ladeAlphabet( int schriftgröße ) // gibt eine geladene Schrift nur mit der angegebenen Schriftgröße zurück
 Alphabet *LTDSDatei::ladeAlphabet( int schriftgröße ) // gibt eine geladene Schrift nur mit der angegebenen Schriftgröße zurück
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return 0;
-    if( !dateiKopf )
-        return 0;
-    Alphabet *ret = 0;
-    int sgNum = -1;
-    for( int i = 0; i < dateiKopf->getSchriftGrößeAnzahl(); ++i )
-    {
-        if( dateiKopf->getSchriftGrößeList()[ i ] == schriftgröße )
-        {
-            sgNum = i;
-            break;
-        }
-    }
-    if( sgNum == -1 )
-        return 0;
-    ret = new Alphabet();
-    ret->NeuAlphabet();
-    ret->setSchriftgröße( schriftgröße );
-    ret->setDrawSchriftgröße( schriftgröße );
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-    inF->seekg( dateiKopf->getPositionList()[ sgNum ], std::ios::beg );
-    LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
-    sgKpf->laden( inF );
-    for( int i = 0; i < sgKpf->getZeichenAnzahl(); ++i )
-    {
-        LTDSBuchstabenKopf *sgZKpf = new LTDSBuchstabenKopf();
-        sgZKpf->laden( inF );
-        LTDSBuchstabenKörper *sgZKörp = new LTDSBuchstabenKörper( sgZKpf->getThis() );
-        sgZKörp->laden( inF );
-        ret->setBuchstabe( sgZKpf->getZeichen(), sgZKörp->getBuchstabe() );
-        sgZKörp->release();
-        sgZKpf->release();
-    }
-    sgKpf->release();
-    inF->close();
-    delete inF;
-    return ret;
+	if( !DateiExistiert( pfad->getThis() ) )
+		return 0;
+	if( !dateiKopf )
+		return 0;
+	Alphabet *ret = 0;
+	int sgNum = -1;
+	for( int i = 0; i < dateiKopf->getSchriftGrößeAnzahl(); ++i )
+	{
+		if( dateiKopf->getSchriftGrößeList()[ i ] == schriftgröße )
+		{
+			sgNum = i;
+			break;
+		}
+	}
+	if( sgNum == -1 )
+		return 0;
+	ret = new Alphabet();
+	ret->NeuAlphabet();
+	ret->setSchriftSize( schriftgröße );
+	ret->setDrawSchriftSize( schriftgröße );
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+	inF->seekg( dateiKopf->getPositionList()[ sgNum ], std::ios::beg );
+	LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
+	sgKpf->laden( inF );
+	for( int i = 0; i < sgKpf->getZeichenAnzahl(); ++i )
+	{
+		LTDSBuchstabenKopf *sgZKpf = new LTDSBuchstabenKopf();
+		sgZKpf->laden( inF );
+		LTDSBuchstabenKörper *sgZKörp = new LTDSBuchstabenKörper( sgZKpf->getThis() );
+		sgZKörp->laden( inF );
+		ret->setBuchstabe( sgZKpf->getZeichen(), sgZKörp->getBuchstabe() );
+		sgZKörp->release();
+		sgZKpf->release();
+	}
+	sgKpf->release();
+	inF->close();
+	delete inF;
+	return ret;
 }
 }
 
 
 Buchstabe *LTDSDatei::ladeBuchstabe( int schriftgröße, unsigned char zeichen )// Läd einen bestimmten Buchstaben
 Buchstabe *LTDSDatei::ladeBuchstabe( int schriftgröße, unsigned char zeichen )// Läd einen bestimmten Buchstaben
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return 0;
-    if( !dateiKopf )
-        return 0;
-    Buchstabe *ret = 0;
-    int sgNum = -1;
-    for( int i = 0; i < dateiKopf->getSchriftGrößeAnzahl(); ++i )
-    {
-        if( dateiKopf->getSchriftGrößeList()[ i ] == schriftgröße )
-        {
-            sgNum = i;
-            break;
-        }
-    }
-    if( sgNum == -1 )
-        return 0;
-    std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-    inF->seekg( dateiKopf->getPositionList()[ sgNum ], std::ios::beg );
-    LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
-    sgKpf->laden( inF );
-    int sgZNum = -1;
-    for( int i = 0; i < sgKpf->getZeichenAnzahl(); ++i )
-    {
-        if( sgKpf->getZeichen()[ i ] == zeichen )
-        {
-            sgZNum = i;
-            break;
-        }
-    }
-    if( sgZNum != -1 )
-    {
-        inF->seekg( sgKpf->getPositionen()[ sgZNum ], std::ios::beg );
-        LTDSBuchstabenKopf *sgZKpf = new LTDSBuchstabenKopf();
-        sgZKpf->laden( inF );
-        LTDSBuchstabenKörper *sgZKörp = new LTDSBuchstabenKörper( sgZKpf->getThis() );
-        sgZKörp->laden( inF );
-        ret = sgZKörp->getBuchstabe();
-        sgZKörp->release();
-        sgZKpf->release();
-    }
-    sgKpf->release();
-    inF->close();
-    delete inF;
-    if( ret )
-    {
-        ret->setSchriftGröße( schriftgröße );
-        ret->setDrawSchriftGröße( schriftgröße );
-    }
-    return ret;
+	if( !DateiExistiert( pfad->getThis() ) )
+		return 0;
+	if( !dateiKopf )
+		return 0;
+	Buchstabe *ret = 0;
+	int sgNum = -1;
+	for( int i = 0; i < dateiKopf->getSchriftGrößeAnzahl(); ++i )
+	{
+		if( dateiKopf->getSchriftGrößeList()[ i ] == schriftgröße )
+		{
+			sgNum = i;
+			break;
+		}
+	}
+	if( sgNum == -1 )
+		return 0;
+	std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+	inF->seekg( dateiKopf->getPositionList()[ sgNum ], std::ios::beg );
+	LTDSSchriftKopf *sgKpf = new LTDSSchriftKopf();
+	sgKpf->laden( inF );
+	int sgZNum = -1;
+	for( int i = 0; i < sgKpf->getZeichenAnzahl(); ++i )
+	{
+		if( sgKpf->getZeichen()[ i ] == zeichen )
+		{
+			sgZNum = i;
+			break;
+		}
+	}
+	if( sgZNum != -1 )
+	{
+		inF->seekg( sgKpf->getPositionen()[ sgZNum ], std::ios::beg );
+		LTDSBuchstabenKopf *sgZKpf = new LTDSBuchstabenKopf();
+		sgZKpf->laden( inF );
+		LTDSBuchstabenKörper *sgZKörp = new LTDSBuchstabenKörper( sgZKpf->getThis() );
+		sgZKörp->laden( inF );
+		ret = sgZKörp->getBuchstabe();
+		sgZKörp->release();
+		sgZKpf->release();
+	}
+	sgKpf->release();
+	inF->close();
+	delete inF;
+	if( ret )
+	{
+		ret->setSchriftSize( schriftgröße );
+		ret->setDrawSchriftSize( schriftgröße );
+	}
+	return ret;
 }
 }
 
 
 Text *LTDSDatei::getPfad() const // gibt den Dateipfad zurück
 Text *LTDSDatei::getPfad() const // gibt den Dateipfad zurück
 {
 {
-    return pfad->getThis();
+	return pfad->getThis();
 }
 }
 
 
 int LTDSDatei::getAnzahlSchriftgrößen() const // gibt die Anzahl der Schriftgrößen aus der Datei zurück
 int LTDSDatei::getAnzahlSchriftgrößen() const // gibt die Anzahl der Schriftgrößen aus der Datei zurück
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return 0;
-    if( !dateiKopf )
-        return 0;
-    return dateiKopf->getSchriftGrößeAnzahl();
+	if( !DateiExistiert( pfad->getThis() ) )
+		return 0;
+	if( !dateiKopf )
+		return 0;
+	return dateiKopf->getSchriftGrößeAnzahl();
 }
 }
 
 
 unsigned char *LTDSDatei::getSchriftGrößen() const // gibt einen Array von Schriftgrößen zurück
 unsigned char *LTDSDatei::getSchriftGrößen() const // gibt einen Array von Schriftgrößen zurück
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return 0;
-    if( !dateiKopf )
-        return 0;
-    return dateiKopf->getSchriftGrößeList();
+	if( !DateiExistiert( pfad->getThis() ) )
+		return 0;
+	if( !dateiKopf )
+		return 0;
+	return dateiKopf->getSchriftGrößeList();
 }
 }
 
 
 unsigned char LTDSDatei::getAnzahlBuchstaben( int sg ) // gibt die anzahl gespeicherter Buchstaben einer Schriftgröße zurück
 unsigned char LTDSDatei::getAnzahlBuchstaben( int sg ) // gibt die anzahl gespeicherter Buchstaben einer Schriftgröße zurück
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return 0;
-    if( !dateiKopf )
-        return 0;
-    int ret = 0;
-    unsigned char *größen = dateiKopf->getSchriftGrößeList();
-    unsigned char granzahl = dateiKopf->getSchriftGrößeAnzahl();
-    int grpos = -1;
-    for( int i = 0; i < granzahl; ++i )
-    {
-        if( größen[ i ] == sg )
-        {
-            grpos = i;
-            break;
-        }
-    }
-    if( grpos != -1 )
-    {
-        int *grposlist = dateiKopf->getPositionList();
-        LTDSSchriftKopf *sgkpf = new LTDSSchriftKopf();
-        std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-        inF->seekg( grposlist[ grpos ], std::ios::beg );
-        sgkpf->laden( inF );
-        ret = sgkpf->getZeichenAnzahl();
-        sgkpf->release();
-        inF->close();
-        delete inF;
-    }
-    return ret;
+	if( !DateiExistiert( pfad->getThis() ) )
+		return 0;
+	if( !dateiKopf )
+		return 0;
+	int ret = 0;
+	unsigned char *größen = dateiKopf->getSchriftGrößeList();
+	unsigned char granzahl = dateiKopf->getSchriftGrößeAnzahl();
+	int grpos = -1;
+	for( int i = 0; i < granzahl; ++i )
+	{
+		if( größen[ i ] == sg )
+		{
+			grpos = i;
+			break;
+		}
+	}
+	if( grpos != -1 )
+	{
+		int *grposlist = dateiKopf->getPositionList();
+		LTDSSchriftKopf *sgkpf = new LTDSSchriftKopf();
+		std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+		inF->seekg( grposlist[ grpos ], std::ios::beg );
+		sgkpf->laden( inF );
+		ret = sgkpf->getZeichenAnzahl();
+		sgkpf->release();
+		inF->close();
+		delete inF;
+	}
+	return ret;
 }
 }
 
 
 unsigned char *LTDSDatei::getBuchstaben( int sg ) // gibt einen Array von Buchstaben einer Schriftgröße zurück
 unsigned char *LTDSDatei::getBuchstaben( int sg ) // gibt einen Array von Buchstaben einer Schriftgröße zurück
 {
 {
-    if( !DateiExistiert( pfad->getThis() ) )
-        return 0;
-    if( !dateiKopf )
-        return 0;
-    unsigned char *ret = 0;
-    unsigned char *größen = dateiKopf->getSchriftGrößeList();
-    unsigned char granzahl = dateiKopf->getSchriftGrößeAnzahl();
-    int grpos = -1;
-    for( int i = 0; i < granzahl; ++i )
-    {
-        if( größen[ i ] == sg )
-        {
-            grpos = i;
-            break;
-        }
-    }
-    if( grpos != -1 )
-    {
-        int *grposlist = dateiKopf->getPositionList();
-        LTDSSchriftKopf *sgkpf = new LTDSSchriftKopf();
-        std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
-        inF->seekg( grposlist[ grpos ], std::ios::beg );
-        sgkpf->laden( inF );
-        int anz = sgkpf->getZeichenAnzahl();
-        ret = new unsigned char[ anz ];
-        for( int i = 0; i < anz; ++i )
-            ret[ i ] = sgkpf->getZeichen()[ i ];
-        sgkpf->release();
-        inF->close();
-        delete inF;
-    }
-    return ret;
+	if( !DateiExistiert( pfad->getThis() ) )
+		return 0;
+	if( !dateiKopf )
+		return 0;
+	unsigned char *ret = 0;
+	unsigned char *größen = dateiKopf->getSchriftGrößeList();
+	unsigned char granzahl = dateiKopf->getSchriftGrößeAnzahl();
+	int grpos = -1;
+	for( int i = 0; i < granzahl; ++i )
+	{
+		if( größen[ i ] == sg )
+		{
+			grpos = i;
+			break;
+		}
+	}
+	if( grpos != -1 )
+	{
+		int *grposlist = dateiKopf->getPositionList();
+		LTDSSchriftKopf *sgkpf = new LTDSSchriftKopf();
+		std::ifstream *inF = new std::ifstream( pfad->getText(), std::ios::binary );
+		inF->seekg( grposlist[ grpos ], std::ios::beg );
+		sgkpf->laden( inF );
+		int anz = sgkpf->getZeichenAnzahl();
+		ret = new unsigned char[ anz ];
+		for( int i = 0; i < anz; ++i )
+			ret[ i ] = sgkpf->getZeichen()[ i ];
+		sgkpf->release();
+		inF->close();
+		delete inF;
+	}
+	return ret;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 LTDSDatei *LTDSDatei::getThis()
 LTDSDatei *LTDSDatei::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 LTDSDatei *LTDSDatei::release()
 LTDSDatei *LTDSDatei::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }
 #endif
 #endif
 // Bit Funktionen
 // Bit Funktionen
 int Framework::Bits( int a ) // gibt 1-bits in gewinschter anzahl zurück
 int Framework::Bits( int a ) // gibt 1-bits in gewinschter anzahl zurück
 {
 {
-    int ret = 0;
-    for( int i = 0; i < a; ++i )
-    {
-        ret <<= 1;
-        ++ret;
-    }
-    return ret;
+	int ret = 0;
+	for( int i = 0; i < a; ++i )
+	{
+		ret <<= 1;
+		++ret;
+	}
+	return ret;
 }
 }
 
 
 int Framework::getBits( char c ) // gibt zurück, wie viele Bits c benötigt
 int Framework::getBits( char c ) // gibt zurück, wie viele Bits c benötigt
 {
 {
-    int ret = 0;
-    for( int i = 0; ( c & (char)Bits( i ) ) != c; ++i )
-        ++ret;
-    return ret;
+	int ret = 0;
+	for( int i = 0; ( c & (char)Bits( i ) ) != c; ++i )
+		++ret;
+	return ret;
 }
 }

+ 27 - 27
DateiSystem.h

@@ -19,7 +19,7 @@ namespace Framework
 #endif
 #endif
     class LTDBPixel; // aus dieser Datei
     class LTDBPixel; // aus dieser Datei
     class LTDBKopf; // aus dieser Datei
     class LTDBKopf; // aus dieser Datei
-    class LTDBKörper; // aus dieser Datei
+    class LTDBBody; // aus dieser Datei
     class LTDBDatei; // aus dieser Datei
     class LTDBDatei; // aus dieser Datei
     class LTDSPixel; // aus dieser Datei
     class LTDSPixel; // aus dieser Datei
 #ifdef WIN32
 #ifdef WIN32
@@ -41,11 +41,11 @@ namespace Framework
         char iR, iG, iB, iA;
         char iR, iG, iB, iA;
         char miR, miG, miB, miA;
         char miR, miG, miB, miA;
         char maxIndex; // Länge des Pixels
         char maxIndex; // Länge des Pixels
-        bool änder : 1; // Verändert sich etwas an den volgenden 5 Variablen
-        bool änderR : 1; // Ändert sich Rot
-        bool änderG : 1; // Ändert sich Grün
-        bool änderB : 1; // Ändert sich Blau
-        bool änderA : 1; // Ändert sich Alpha
+        bool change : 1; // Verändert sich etwas an den volgenden 5 Variablen
+        bool changeR : 1; // Ändert sich Rot
+        bool changeG : 1; // Ändert sich Grün
+        bool changeB : 1; // Ändert sich Blau
+        bool changeA : 1; // Ändert sich Alpha
         unsigned char komp : 3; // Komprimierung der Farbwerte
         unsigned char komp : 3; // Komprimierung der Farbwerte
         unsigned char R; // Rot
         unsigned char R; // Rot
         unsigned char G; // Grün
         unsigned char G; // Grün
@@ -79,13 +79,13 @@ namespace Framework
         // Gibt den Farbwert des Pixels zurück
         // Gibt den Farbwert des Pixels zurück
         __declspec( dllexport ) int zuFarbe() const;
         __declspec( dllexport ) int zuFarbe() const;
         // Gibt zurück, ob sich der Anteil an Rot in der Farbe im Vergleich zum Pixel davor geändert hat
         // Gibt zurück, ob sich der Anteil an Rot in der Farbe im Vergleich zum Pixel davor geändert hat
-        __declspec( dllexport ) bool getÄnderR() const;
+        __declspec( dllexport ) bool getChangeR() const;
         // Gibt zurück, ob sich der Anteil an Grün in der Farbe im Vergleich zum Pixel davor geändert hat
         // Gibt zurück, ob sich der Anteil an Grün in der Farbe im Vergleich zum Pixel davor geändert hat
-        __declspec( dllexport ) bool getÄnderG() const;
+        __declspec( dllexport ) bool getChangeG() const;
         // Gibt zurück, ob sich der Anteil an Blau in der Farbe im Vergleich zum Pixel davor geändert hat
         // Gibt zurück, ob sich der Anteil an Blau in der Farbe im Vergleich zum Pixel davor geändert hat
-        __declspec( dllexport ) bool getÄnderB() const;
+        __declspec( dllexport ) bool getChangeB() const;
         // Gibt zurück, ob sich der Anteil an Alpha in der Farbe im Vergleich zum Pixel davor geändert hat
         // Gibt zurück, ob sich der Anteil an Alpha in der Farbe im Vergleich zum Pixel davor geändert hat
-        __declspec( dllexport ) bool getÄnderA() const;
+        __declspec( dllexport ) bool getChangeA() const;
         // Gibt die Komprimierung des Pixels zurück
         // Gibt die Komprimierung des Pixels zurück
         __declspec( dllexport ) unsigned char getKomp() const;
         __declspec( dllexport ) unsigned char getKomp() const;
         // Gibt den Anteil an Rot in der Farbe des Pixels zurück
         // Gibt den Anteil an Rot in der Farbe des Pixels zurück
@@ -192,10 +192,10 @@ namespace Framework
         __declspec( dllexport ) void laden( std::ifstream *f );
         __declspec( dllexport ) void laden( std::ifstream *f );
         // Setzt die Informationen die gespeichert werden sollen
         // Setzt die Informationen die gespeichert werden sollen
         //  titel: Der Titel des Bildes
         //  titel: Der Titel des Bildes
-        //  größe: Die Größe des Bildes
+        //  size: Die Größe des Bildes
         //  return: Die Anzahl der Buchstaben aus dem Titel, die im LTDB Dateiformat nicht gespeichert werden können. Erlaubt ist nur a-z und A-Z und ä ü ö ß und Ä Ü Ö und .
         //  return: Die Anzahl der Buchstaben aus dem Titel, die im LTDB Dateiformat nicht gespeichert werden können. Erlaubt ist nur a-z und A-Z und ä ü ö ß und Ä Ü Ö und .
         // Alle großbuchstaben im Titel werden in Kleinbuchstaben umgewandelt
         // Alle großbuchstaben im Titel werden in Kleinbuchstaben umgewandelt
-        __declspec( dllexport ) int Init( Text *titel, const Punkt &größe );
+        __declspec( dllexport ) int Init( Text *titel, const Punkt &size );
         // Lähd informationen aus geladenen Bits. Wird von der laden( std::ifstream ) Funktion verwendet.
         // Lähd informationen aus geladenen Bits. Wird von der laden( std::ifstream ) Funktion verwendet.
         //  BeginBit: Der Index des ersten Bits, welches ausgewertet werden soll
         //  BeginBit: Der Index des ersten Bits, welches ausgewertet werden soll
         //  EndBit: Der Index des letzten Bits, welches nichtmehr ausgewertet werden soll
         //  EndBit: Der Index des letzten Bits, welches nichtmehr ausgewertet werden soll
@@ -206,11 +206,11 @@ namespace Framework
         //  f: Der geöffnete und an die richtiege Stelle zeigende ofstream der LTDB Datei
         //  f: Der geöffnete und an die richtiege Stelle zeigende ofstream der LTDB Datei
         __declspec( dllexport ) void speichern( std::ofstream *f ) const;
         __declspec( dllexport ) void speichern( std::ofstream *f ) const;
         // Gibt die Länge des Titels zurück
         // Gibt die Länge des Titels zurück
-        __declspec( dllexport ) int getTitelLänge() const;
+        __declspec( dllexport ) int getTitelLength() const;
         // Gibt den Titel des Bildes zurück
         // Gibt den Titel des Bildes zurück
         __declspec( dllexport ) Text *getTitel() const;
         __declspec( dllexport ) Text *getTitel() const;
         // Gibt die Größe des Bildes zurück
         // Gibt die Größe des Bildes zurück
-        __declspec( dllexport ) Punkt getGröße() const;
+        __declspec( dllexport ) Punkt getSize() const;
         // Gibt die nächsten zu speichernden Bits zurück
         // Gibt die nächsten zu speichernden Bits zurück
         //  begin: Der Index des ersten Bits, in das gespeichert werden soll
         //  begin: Der Index des ersten Bits, in das gespeichert werden soll
         //  end: Der Index des letzten Bits, in das gespeichert werden soll
         //  end: Der Index des letzten Bits, in das gespeichert werden soll
@@ -226,22 +226,22 @@ namespace Framework
     };
     };
 
 
     // Verwaltet die Pixeldaten eines einzelnen Bildes einer LTDB Datei
     // Verwaltet die Pixeldaten eines einzelnen Bildes einer LTDB Datei
-    class LTDBKörper
+    class LTDBBody
     {
     {
     private:
     private:
         Punkt gr;
         Punkt gr;
         Bild *b;
         Bild *b;
-        int dateiLänge;
+        int dateiSize;
         int ref;
         int ref;
 
 
     public:
     public:
         // Konstruktor 
         // Konstruktor 
-        __declspec( dllexport ) LTDBKörper();
+        __declspec( dllexport ) LTDBBody();
         // Konstruktor
         // Konstruktor
         //  k: Der LTDB Kopf des Bildes, der Informationen über die Größe des Bildes enthält
         //  k: Der LTDB Kopf des Bildes, der Informationen über die Größe des Bildes enthält
-        __declspec( dllexport ) LTDBKörper( LTDBKopf *k );
+        __declspec( dllexport ) LTDBBody( LTDBKopf *k );
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~LTDBKörper();
+        __declspec( dllexport ) ~LTDBBody();
         // Setzt die Informationen über die Größe des Bildes. Wird zum Laden benötigt.
         // Setzt die Informationen über die Größe des Bildes. Wird zum Laden benötigt.
         //  k: Der LTDB Kopf des Bildes
         //  k: Der LTDB Kopf des Bildes
         __declspec( dllexport ) void init( LTDBKopf k );
         __declspec( dllexport ) void init( LTDBKopf k );
@@ -262,13 +262,13 @@ namespace Framework
         // Gibt das geladene Bild zurück
         // Gibt das geladene Bild zurück
         __declspec( dllexport ) Bild *getBild() const;
         __declspec( dllexport ) Bild *getBild() const;
         // Gibt die Größe des Bildes zurück
         // Gibt die Größe des Bildes zurück
-        __declspec( dllexport ) const Punkt &getGröße() const;
+        __declspec( dllexport ) const Punkt &getSize() const;
         // Erhöht den Reference Counting Zähler.
         // Erhöht den Reference Counting Zähler.
         //  return: this.
         //  return: this.
-        __declspec( dllexport ) LTDBKörper *getThis();
+        __declspec( dllexport ) LTDBBody *getThis();
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         //  return: 0.
         //  return: 0.
-        __declspec( dllexport ) LTDBKörper *release();
+        __declspec( dllexport ) LTDBBody *release();
     };
     };
 
 
     // Verwaltet eine LTDB Datei
     // Verwaltet eine LTDB Datei
@@ -294,11 +294,11 @@ namespace Framework
         //  zF: Ein Fortschrittsbalken, der 0 sein kann
         //  zF: Ein Fortschrittsbalken, der 0 sein kann
         __declspec( dllexport ) void leseDaten( FBalken *zF );
         __declspec( dllexport ) void leseDaten( FBalken *zF );
         // Löscht die LTDB Datei
         // Löscht die LTDB Datei
-        __declspec( dllexport ) void löschen();
+        __declspec( dllexport ) void remove();
         // Löscht ein Bild aus der LTDB Datei
         // Löscht ein Bild aus der LTDB Datei
         //  zF: Ein Fortschrittsbalken der 0 sein kann
         //  zF: Ein Fortschrittsbalken der 0 sein kann
         //  name: Der Name des zu löschenden Bildes
         //  name: Der Name des zu löschenden Bildes
-        __declspec( dllexport ) void löschen( FBalken *zF, Text *name );
+        __declspec( dllexport ) void remove( FBalken *zF, Text *name );
         // Lädt ein Bild aus der LTDB Datei
         // Lädt ein Bild aus der LTDB Datei
         //  zF: Ein Fortschrittsbalken, der 0 sein kann
         //  zF: Ein Fortschrittsbalken, der 0 sein kann
         //  name: Der Name des Bildes, welches geladen werden soll
         //  name: Der Name des Bildes, welches geladen werden soll
@@ -428,7 +428,7 @@ namespace Framework
     {
     {
     private:
     private:
         int ref;
         int ref;
-        unsigned char schriftGröße;
+        unsigned char schriftSize;
         unsigned char *zeichen;
         unsigned char *zeichen;
         int *pos;
         int *pos;
         unsigned char zeichenAnzahl;
         unsigned char zeichenAnzahl;
@@ -478,7 +478,7 @@ namespace Framework
     private:
     private:
         int ref;
         int ref;
         unsigned char zeichen;
         unsigned char zeichen;
-        Punkt größe;
+        Punkt size;
 
 
     public:
     public:
         // Konstruktor 
         // Konstruktor 
@@ -519,7 +519,7 @@ namespace Framework
     {
     {
     private:
     private:
         int ref;
         int ref;
-        Punkt größe;
+        Punkt size;
         unsigned char zeichen;
         unsigned char zeichen;
         Buchstabe *buchstabe;
         Buchstabe *buchstabe;
 
 

+ 120 - 120
Diagramm.cpp

@@ -50,7 +50,7 @@ void SLDiag::setSchriftZ( Schrift *schrift ) // setzt die Schrift
     rend = 1;
     rend = 1;
 }
 }
 
 
-void SLDiag::setGGröße( Punkt &gr ) // setzt die Größe des Gitters
+void SLDiag::setGSize( Punkt &gr ) // setzt die Größe des Gitters
 {
 {
     gitterGr = gr;
     gitterGr = gr;
     rend = 1;
     rend = 1;
@@ -98,8 +98,8 @@ void SLDiag::addPunkt( int lNum, int x, int h ) // f
             pb_tmp->set( i, 0 );
             pb_tmp->set( i, 0 );
         while( i < 0 )
         while( i < 0 )
         {
         {
-            ph_tmp->lösche( 0 );
-            pb_tmp->lösche( 0 );
+            ph_tmp->remove( 0 );
+            pb_tmp->remove( 0 );
             if( !pb_tmp->getEintragAnzahl() || !ph_tmp->getEintragAnzahl() )
             if( !pb_tmp->getEintragAnzahl() || !ph_tmp->getEintragAnzahl() )
                 break;
                 break;
             int ii = -i;
             int ii = -i;
@@ -116,10 +116,10 @@ void SLDiag::addPunkt( int lNum, int x, int h ) // f
 
 
 void SLDiag::removeLinie( int lNum ) // entfernt eine Linie
 void SLDiag::removeLinie( int lNum ) // entfernt eine Linie
 {
 {
-    lFarbe->lösche( lNum );
-    lName->lösche( lNum );
-    ph->lösche( lNum );
-    pb->lösche( lNum );
+    lFarbe->remove( lNum );
+    lName->remove( lNum );
+    ph->remove( lNum );
+    pb->remove( lNum );
     --lines;
     --lines;
     rend = 1;
     rend = 1;
 }
 }
@@ -129,36 +129,36 @@ void SLDiag::render( Bild &zRObj ) // zeichnet nach zRObj
     if( hatStyle( Style::Sichtbar ) )
     if( hatStyle( Style::Sichtbar ) )
     {
     {
         lockZeichnung();
         lockZeichnung();
-        löscheStyle( Style::VScroll | Style::HScroll );
-        __super::render( zRObj );
-        if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
+        removeStyle( Style::VScroll | Style::HScroll );
+		ZeichnungHintergrund::render( zRObj );
+        if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
         {
         {
             unlockZeichnung();
             unlockZeichnung();
             return;
             return;
         }
         }
-        int hv = getHöchstValue();
+        int hv = getHighestValue();
         hv = hv ? hv : 1;
         hv = hv ? hv : 1;
-        double yFaktor = innenGröße.y / hv;
+        double yFaktor = innenSize.y / hv;
         if( hatStyle( Style::Gitter ) )
         if( hatStyle( Style::Gitter ) )
         {
         {
-            double ghö = gitterGr.y * yFaktor;
-            int yo = innenGröße.y - 1;
-            int bo = innenGröße.x, ho = innenGröße.y;
-            int maxBr = (int)( (double)innenGröße.x / gitterGr.x + 0.5 );
-            int maxHö = ghö ? (int)( innenGröße.y / ghö + 0.5 ) : 0;
+            double ghi = gitterGr.y * yFaktor;
+            int yo = innenSize.y - 1;
+            int bo = innenSize.x, ho = innenSize.y;
+            int maxBr = (int)( (double)innenSize.x / gitterGr.x + 0.5 );
+            int maxHi = ghi ? (int)( innenSize.y / ghi + 0.5 ) : 0;
             if( hatStyle( Style::HAlpha ) )
             if( hatStyle( Style::HAlpha ) )
             {
             {
                 for( int i = 0; i < maxBr; ++i )
                 for( int i = 0; i < maxBr; ++i )
                     zRObj.drawLinieVAlpha( gitterGr.x * i, 0, ho, gF );
                     zRObj.drawLinieVAlpha( gitterGr.x * i, 0, ho, gF );
-                for( int i = 0; i < maxHö; ++i )
-                    zRObj.drawLinieHAlpha( 0, (int)( yo - ghö * i + 0.5 ), bo, gF );
+                for( int i = 0; i < maxHi; ++i )
+                    zRObj.drawLinieHAlpha( 0, (int)( yo - ghi * i + 0.5 ), bo, gF );
             }
             }
             else
             else
             {
             {
                 for( int i = 0; i < maxBr; ++i )
                 for( int i = 0; i < maxBr; ++i )
                     zRObj.drawLinieV( gitterGr.x * i, 0, ho, gF );
                     zRObj.drawLinieV( gitterGr.x * i, 0, ho, gF );
-                for( int i = 0; i < maxHö; ++i )
-                    zRObj.drawLinieH( 0, (int)( yo - ghö * i + 0.5 ), bo, gF );
+                for( int i = 0; i < maxHi; ++i )
+                    zRObj.drawLinieH( 0, (int)( yo - ghi * i + 0.5 ), bo, gF );
             }
             }
         }
         }
         for( int i = 0; i < lines; ++i )
         for( int i = 0; i < lines; ++i )
@@ -169,7 +169,7 @@ void SLDiag::render( Bild &zRObj ) // zeichnet nach zRObj
             Array< int > *pb_tmp = pb->z( i );
             Array< int > *pb_tmp = pb->z( i );
             if( hatStyle( Style::LinienName ) && schrift && n_tmp )
             if( hatStyle( Style::LinienName ) && schrift && n_tmp )
             {
             {
-                schrift->setSchriftGröße( 12 );
+                schrift->setSchriftSize( 12 );
                 schrift->setDrawPosition( 5, 5 + 15 * i );
                 schrift->setDrawPosition( 5, 5 + 15 * i );
                 Text rtxt = n_tmp->getText();
                 Text rtxt = n_tmp->getText();
                 rtxt += ": ";
                 rtxt += ": ";
@@ -179,7 +179,7 @@ void SLDiag::render( Bild &zRObj ) // zeichnet nach zRObj
             if( ph_tmp && pb_tmp )
             if( ph_tmp && pb_tmp )
             {
             {
                 int lastX = 0;
                 int lastX = 0;
-                int lastY = innenGröße.y - 1;
+                int lastY = innenSize.y - 1;
                 int ph_anz = ph_tmp->getEintragAnzahl();
                 int ph_anz = ph_tmp->getEintragAnzahl();
                 int pb_anz = pb_tmp->getEintragAnzahl();
                 int pb_anz = pb_tmp->getEintragAnzahl();
                 for( int ii = 0; ii < ph_anz && ii < pb_anz; ++ii )
                 for( int ii = 0; ii < ph_anz && ii < pb_anz; ++ii )
@@ -187,7 +187,7 @@ void SLDiag::render( Bild &zRObj ) // zeichnet nach zRObj
                     if( !ph_tmp || !pb_tmp )
                     if( !ph_tmp || !pb_tmp )
                         break;
                         break;
                     int xpos = lastX + pb_tmp->get( ii );
                     int xpos = lastX + pb_tmp->get( ii );
-                    int ypos = innenGröße.y - (int)( ph_tmp->get( ii ) * yFaktor + 0.5 ) - 1;
+                    int ypos = innenSize.y - (int)( ph_tmp->get( ii ) * yFaktor + 0.5 ) - 1;
                     if( ypos == -1 )
                     if( ypos == -1 )
                         ++ypos;
                         ++ypos;
                     if( ypos < 0 || xpos < 0 )
                     if( ypos < 0 || xpos < 0 )
@@ -219,7 +219,7 @@ Schrift *SLDiag::zSchrift() const
     return schrift;
     return schrift;
 }
 }
 
 
-const Punkt &SLDiag::getGGröße() const // gibt die Gitter Größe zurück
+const Punkt &SLDiag::getGSize() const // gibt die Gitter Größe zurück
 {
 {
     return gitterGr;
     return gitterGr;
 }
 }
@@ -263,18 +263,18 @@ Text *SLDiag::zLinienNamen( int lNum ) const
     return lName->z( lNum );
     return lName->z( lNum );
 }
 }
 
 
-int SLDiag::getHöchstValue() const // gibt den Höchsten Wert zurück
+int SLDiag::getHighestValue() const // gibt den Höchsten Wert zurück
 {
 {
     int ret = 0;
     int ret = 0;
     for( int i = 0; i < lines; ++i )
     for( int i = 0; i < lines; ++i )
     {
     {
-        int tmp = getHöchstValue( i );
+        int tmp = getHighestValue( i );
         ret = ret >= tmp ? ret : tmp;
         ret = ret >= tmp ? ret : tmp;
     }
     }
     return ret;
     return ret;
 }
 }
 
 
-int SLDiag::getHöchstValue( int lNum ) const
+int SLDiag::getHighestValue( int lNum ) const
 {
 {
     int ret = 0;
     int ret = 0;
     Array< int > *tmp = ph->z( lNum );
     Array< int > *tmp = ph->z( lNum );
@@ -367,7 +367,7 @@ DiagDaten::DiagDaten()
     : style( 0 ),
     : style( 0 ),
     rasterDicke( 0 ),
     rasterDicke( 0 ),
     rasterBreite( 0 ),
     rasterBreite( 0 ),
-    rasterHöhe( 0 ),
+    rasterHeight( 0 ),
     rasterFarbe( 0 ),
     rasterFarbe( 0 ),
     hIntervallFarbe( 0xFFFFFFFF ),
     hIntervallFarbe( 0xFFFFFFFF ),
     vIntervallFarbe( 0xFFFFFFFF ),
     vIntervallFarbe( 0xFFFFFFFF ),
@@ -378,7 +378,7 @@ DiagDaten::DiagDaten()
     hIntervallWerte( new Array< double > ),
     hIntervallWerte( new Array< double > ),
     vIntervallWerte( new Array< double > ),
     vIntervallWerte( new Array< double > ),
     hIntervallBreite( 0 ),
     hIntervallBreite( 0 ),
-    vIntervallHöhe( 0 ),
+    vIntervallHeight( 0 ),
     werte( new RCArray< DiagWert >() ),
     werte( new RCArray< DiagWert >() ),
     ref( 1 )
     ref( 1 )
 {}
 {}
@@ -415,9 +415,9 @@ DiagDaten *DiagDaten::release()
 // Konstruktor
 // Konstruktor
 BaseDiag::BaseDiag( CRITICAL_SECTION *lock )
 BaseDiag::BaseDiag( CRITICAL_SECTION *lock )
     : daten( new DiagDaten() ),
     : daten( new DiagDaten() ),
-    ref( 1 ),
     changed( 0 ),
     changed( 0 ),
-    lock( lock )
+    lock( lock ),
+	ref( 1 )
 {}
 {}
 
 
 // Destruktor
 // Destruktor
@@ -445,7 +445,7 @@ void BaseDiag::setDiagDaten( DiagDaten *dd ) // Kopiert die Daten eines Diagramm
         daten = new DiagDaten();
         daten = new DiagDaten();
     daten->style = dd->style;
     daten->style = dd->style;
     daten->rasterBreite = dd->rasterBreite;
     daten->rasterBreite = dd->rasterBreite;
-    daten->rasterHöhe = dd->rasterHöhe;
+    daten->rasterHeight = dd->rasterHeight;
     daten->rasterFarbe = dd->rasterFarbe;
     daten->rasterFarbe = dd->rasterFarbe;
     daten->hIntervallFarbe = dd->hIntervallFarbe;
     daten->hIntervallFarbe = dd->hIntervallFarbe;
     daten->vIntervallFarbe = dd->vIntervallFarbe;
     daten->vIntervallFarbe = dd->vIntervallFarbe;
@@ -464,7 +464,7 @@ void BaseDiag::setDiagDaten( DiagDaten *dd ) // Kopiert die Daten eines Diagramm
             daten->vIntervallWerte->set( dd->vIntervallWerte->get( i ), i );
             daten->vIntervallWerte->set( dd->vIntervallWerte->get( i ), i );
     }
     }
     daten->hIntervallBreite = dd->hIntervallBreite;
     daten->hIntervallBreite = dd->hIntervallBreite;
-    daten->vIntervallHöhe = dd->vIntervallHöhe;
+    daten->vIntervallHeight = dd->vIntervallHeight;
     anz = dd->werte->getEintragAnzahl();
     anz = dd->werte->getEintragAnzahl();
     for( int i = 0; i < anz; ++i )
     for( int i = 0; i < anz; ++i )
     {
     {
@@ -517,14 +517,14 @@ void BaseDiag::setRasterBreite( int br ) // Rasterbreite setzen
     LeaveCriticalSection( lock );
     LeaveCriticalSection( lock );
 }
 }
 
 
-void BaseDiag::setRasterHöhe( int hö ) // Rasterhöhe setzen
+void BaseDiag::setRasterHeight( int hi ) // Rasterhöhe setzen
 {
 {
     EnterCriticalSection( lock );
     EnterCriticalSection( lock );
     if( !daten )
     if( !daten )
         daten = new DiagDaten();
         daten = new DiagDaten();
-    if( daten->rasterHöhe != hö )
+    if( daten->rasterHeight != hi )
         changed = 1;
         changed = 1;
-    daten->rasterHöhe = hö;
+    daten->rasterHeight = hi;
     LeaveCriticalSection( lock );
     LeaveCriticalSection( lock );
 }
 }
 
 
@@ -548,12 +548,12 @@ void BaseDiag::setHIntervallBreite( double br ) // Intervall Breite
     LeaveCriticalSection( lock );
     LeaveCriticalSection( lock );
 }
 }
 
 
-void BaseDiag::setVIntervallHöhe( double hö ) // Intervall Höhe
+void BaseDiag::setVIntervallHeight( double hi ) // Intervall Höhe
 {
 {
     EnterCriticalSection( lock );
     EnterCriticalSection( lock );
     if( !daten )
     if( !daten )
         daten = new DiagDaten();
         daten = new DiagDaten();
-    daten->vIntervallHöhe = hö;
+    daten->vIntervallHeight = hi;
     LeaveCriticalSection( lock );
     LeaveCriticalSection( lock );
 }
 }
 
 
@@ -703,7 +703,7 @@ void BaseDiag::setHIntervallText( double hIntervall, char *text )
     changed = 1;
     changed = 1;
 }
 }
 
 
-void BaseDiag::löscheHIntervallText( double hIntervall ) // Text eines Horizontalen Intervalls entfernen
+void BaseDiag::removeHIntervallText( double hIntervall ) // Text eines Horizontalen Intervalls entfernen
 {
 {
     EnterCriticalSection( lock );
     EnterCriticalSection( lock );
     if( !daten )
     if( !daten )
@@ -717,8 +717,8 @@ void BaseDiag::l
     {
     {
         if( daten->hIntervallWerte->hat( i ) && daten->hIntervallWerte->get( i ) == hIntervall )
         if( daten->hIntervallWerte->hat( i ) && daten->hIntervallWerte->get( i ) == hIntervall )
         {
         {
-            daten->hIntervallTexte->lösche( i );
-            daten->hIntervallWerte->lösche( i );
+            daten->hIntervallTexte->remove( i );
+            daten->hIntervallWerte->remove( i );
             LeaveCriticalSection( lock );
             LeaveCriticalSection( lock );
             changed = 1;
             changed = 1;
             return;
             return;
@@ -799,7 +799,7 @@ void BaseDiag::setVIntervallText( double vIntervall, char *text )
     changed = 1;
     changed = 1;
 }
 }
 
 
-void BaseDiag::löscheVIntervallText( double vIntervall ) // Text eines Vertikalen Intervalls entfernen
+void BaseDiag::removeVIntervallText( double vIntervall ) // Text eines Vertikalen Intervalls entfernen
 {
 {
     EnterCriticalSection( lock );
     EnterCriticalSection( lock );
     if( !daten )
     if( !daten )
@@ -813,8 +813,8 @@ void BaseDiag::l
     {
     {
         if( daten->vIntervallWerte->hat( i ) && daten->vIntervallWerte->get( i ) == vIntervall )
         if( daten->vIntervallWerte->hat( i ) && daten->vIntervallWerte->get( i ) == vIntervall )
         {
         {
-            daten->vIntervallTexte->lösche( i );
-            daten->vIntervallWerte->lösche( i );
+            daten->vIntervallTexte->remove( i );
+            daten->vIntervallWerte->remove( i );
             LeaveCriticalSection( lock );
             LeaveCriticalSection( lock );
             changed = 1;
             changed = 1;
             return;
             return;
@@ -1021,7 +1021,7 @@ void BaseDiag::setPunkt( int wNum, int pNum, double h, double v )
 }
 }
 
 
 // Löscht einen vorhandenen Punkt
 // Löscht einen vorhandenen Punkt
-void BaseDiag::löschePunkt( int wNum, double hI )
+void BaseDiag::removePunkt( int wNum, double hI )
 {
 {
     EnterCriticalSection( lock );
     EnterCriticalSection( lock );
     if( !daten )
     if( !daten )
@@ -1038,7 +1038,7 @@ void BaseDiag::l
         if( daten->werte->z( wNum )->punkte->hat( i ) && daten->werte->z( wNum )->punkte->get( i )->hIntervall == hI )
         if( daten->werte->z( wNum )->punkte->hat( i ) && daten->werte->z( wNum )->punkte->get( i )->hIntervall == hI )
         {
         {
             delete daten->werte->z( wNum )->punkte->get( i );
             delete daten->werte->z( wNum )->punkte->get( i );
-            daten->werte->z( wNum )->punkte->lösche( i );
+            daten->werte->z( wNum )->punkte->remove( i );
             LeaveCriticalSection( lock );
             LeaveCriticalSection( lock );
             changed = 1;
             changed = 1;
             return;
             return;
@@ -1047,7 +1047,7 @@ void BaseDiag::l
     LeaveCriticalSection( lock );
     LeaveCriticalSection( lock );
 }
 }
 
 
-void BaseDiag::löschePunkt( int wNum, int pNum )
+void BaseDiag::removePunkt( int wNum, int pNum )
 {
 {
     EnterCriticalSection( lock );
     EnterCriticalSection( lock );
     if( !daten )
     if( !daten )
@@ -1061,7 +1061,7 @@ void BaseDiag::l
     if( daten->werte->z( wNum )->punkte->hat( pNum ) )
     if( daten->werte->z( wNum )->punkte->hat( pNum ) )
     {
     {
         delete daten->werte->z( wNum )->punkte->get( pNum );
         delete daten->werte->z( wNum )->punkte->get( pNum );
-        daten->werte->z( wNum )->punkte->lösche( pNum );
+        daten->werte->z( wNum )->punkte->remove( pNum );
         changed = 1;
         changed = 1;
     }
     }
     LeaveCriticalSection( lock );
     LeaveCriticalSection( lock );
@@ -1074,7 +1074,7 @@ void BaseDiag::removeWert( int wNum ) // entfernt einen Wert
         daten = new DiagDaten();
         daten = new DiagDaten();
     if( !daten->werte )
     if( !daten->werte )
         daten->werte = new RCArray< DiagWert >();
         daten->werte = new RCArray< DiagWert >();
-    daten->werte->lösche( wNum );
+    daten->werte->remove( wNum );
     LeaveCriticalSection( lock );
     LeaveCriticalSection( lock );
     changed = 1;
     changed = 1;
 }
 }
@@ -1092,7 +1092,7 @@ void BaseDiag::removeWert( char *name )
         DiagWert *tmp = daten->werte->z( i );
         DiagWert *tmp = daten->werte->z( i );
         if( tmp && tmp->name && tmp->name->istGleich( name ) )
         if( tmp && tmp->name && tmp->name->istGleich( name ) )
         {
         {
-            daten->werte->lösche( i );
+            daten->werte->remove( i );
             LeaveCriticalSection( lock );
             LeaveCriticalSection( lock );
             changed = 1;
             changed = 1;
             return;
             return;
@@ -1130,10 +1130,10 @@ void BaseDiag::setDatenStyle( int style, bool addRemove )
     if( addRemove )
     if( addRemove )
         addDatenStyle( style );
         addDatenStyle( style );
     else
     else
-        löscheDatenStyle( style );
+        removeDatenStyle( style );
 }
 }
 
 
-void BaseDiag::löscheDatenStyle( int style )
+void BaseDiag::removeDatenStyle( int style )
 {
 {
     if( !daten )
     if( !daten )
         daten = new DiagDaten();
         daten = new DiagDaten();
@@ -1175,10 +1175,10 @@ void BaseDiag::setWertStyle( int wNum, int style, bool addRemove )
     if( addRemove )
     if( addRemove )
         addWertStyle( wNum, style );
         addWertStyle( wNum, style );
     else
     else
-        löscheWertStyle( wNum, style );
+        removeWertStyle( wNum, style );
 }
 }
 
 
-void BaseDiag::löscheWertStyle( int wNum, int style )
+void BaseDiag::removeWertStyle( int wNum, int style )
 {
 {
     if( wNum < 0 )
     if( wNum < 0 )
         return;
         return;
@@ -1342,7 +1342,7 @@ void LDiag::setSchriftZ( Schrift *schrift ) // Setzt die Schrift
     unlockZeichnung();
     unlockZeichnung();
 }
 }
 
 
-void LDiag::setSchriftGröße( int gr )
+void LDiag::setSchriftSize( int gr )
 {
 {
     lockZeichnung();
     lockZeichnung();
     if( schriftGr != gr )
     if( schriftGr != gr )
@@ -1416,8 +1416,8 @@ void LDiag::setDatenHintergrundBild( Bild *b )
     lockZeichnung();
     lockZeichnung();
     if( !dBgB )
     if( !dBgB )
         dBgB = new Bild();
         dBgB = new Bild();
-    dBgB->neuBild( b->getBreite(), b->getHöhe(), 0 );
-    dBgB->drawBild( 0, 0, b->getBreite(), b->getHöhe(), *b );
+    dBgB->neuBild( b->getBreite(), b->getHeight(), 0 );
+    dBgB->drawBild( 0, 0, b->getBreite(), b->getHeight(), *b );
     unlockZeichnung();
     unlockZeichnung();
     b->release();
     b->release();
     rend = 1;
     rend = 1;
@@ -1439,7 +1439,7 @@ void LDiag::setDatenAlphaFeld( AlphaFeld *af )
     if( !dAf )
     if( !dAf )
         dAf = new AlphaFeld();
         dAf = new AlphaFeld();
     dAf->setFarbe( af->getFarbe() );
     dAf->setFarbe( af->getFarbe() );
-    dAf->setStärke( af->getStärke() );
+    dAf->setStrength( af->getStrength() );
     unlockZeichnung();
     unlockZeichnung();
     af->release();
     af->release();
     rend = 1;
     rend = 1;
@@ -1455,14 +1455,14 @@ void LDiag::setDatenAlphaFeldFarbe( int f )
     rend = 1;
     rend = 1;
 }
 }
 
 
-void LDiag::setDatenAlphaFeldStärke( int st )
+void LDiag::setDatenAlphaFeldStrength( int st )
 {
 {
     lockZeichnung();
     lockZeichnung();
     if( !dAf )
     if( !dAf )
         dAf = new AlphaFeld();
         dAf = new AlphaFeld();
-    if( dAf->getStärke() != st )
+    if( dAf->getStrength() != st )
         rend = 1;
         rend = 1;
-    dAf->setStärke( st );
+    dAf->setStrength( st );
     unlockZeichnung();
     unlockZeichnung();
 }
 }
 
 
@@ -1477,7 +1477,7 @@ void LDiag::doMausEreignis( MausEreignis &me )
             if( toolTip )
             if( toolTip )
                 toolTip->setMausIn( 0 );
                 toolTip->setMausIn( 0 );
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -1485,13 +1485,13 @@ void LDiag::doMausEreignis( MausEreignis &me )
             return;
             return;
         }
         }
     }
     }
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt )
+    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves )
     {
     {
         if( toolTip )
         if( toolTip )
             toolTip->setMausIn( 0 );
             toolTip->setMausIn( 0 );
         return;
         return;
     }
     }
-    if( !mausIn && me.id != ME_Verlässt )
+    if( !mausIn && me.id != ME_Leaves )
     {
     {
         if( toolTip )
         if( toolTip )
             toolTip->setMausIn( 1 );
             toolTip->setMausIn( 1 );
@@ -1509,7 +1509,7 @@ void LDiag::doMausEreignis( MausEreignis &me )
     {
     {
         if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
         if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
         {
         {
-            if( me.id != ME_Betritt && me.id != ME_Verlässt )
+            if( me.id != ME_Betritt && me.id != ME_Leaves )
             {
             {
                 lockZeichnung();
                 lockZeichnung();
                 int rbr = 0;
                 int rbr = 0;
@@ -1540,20 +1540,20 @@ void LDiag::render( Bild &zRObj )
 {
 {
     if( !hatDatenStyle( DiagDaten::Style::Sichtbar ) )
     if( !hatDatenStyle( DiagDaten::Style::Sichtbar ) )
         return;
         return;
-    __super::render( zRObj );
-    if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
+	ZeichnungHintergrund::render( zRObj );
+    if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
     int dgy = 0;
     int dgy = 0;
-    int dgbr = innenGröße.x;
-    int dghö = innenGröße.y;
+    int dgbr = innenSize.x;
+    int dghi = innenSize.y;
     int vIAnz = 0;
     int vIAnz = 0;
     int hIAnz = 0;
     int hIAnz = 0;
     if( daten )
     if( daten )
     { // Auto werte berechnen
     { // Auto werte berechnen
         vIAnz = daten->vIntervallWerte ? daten->vIntervallWerte->getEintragAnzahl() : 0;
         vIAnz = daten->vIntervallWerte ? daten->vIntervallWerte->getEintragAnzahl() : 0;
         hIAnz = daten->hIntervallWerte ? daten->hIntervallWerte->getEintragAnzahl() : 0;
         hIAnz = daten->hIntervallWerte ? daten->hIntervallWerte->getEintragAnzahl() : 0;
-        if( daten->vIntervallWerte && hatDatenStyle( DiagDaten::Style::AutoIntervallHöhe ) )
+        if( daten->vIntervallWerte && hatDatenStyle( DiagDaten::Style::AutoIntervallHeight ) )
         {
         {
             double maxW = 0;
             double maxW = 0;
             for( int i = 0; i < vIAnz; ++i )
             for( int i = 0; i < vIAnz; ++i )
@@ -1562,12 +1562,12 @@ void LDiag::render( Bild &zRObj )
                     maxW = daten->vIntervallWerte->get( i );
                     maxW = daten->vIntervallWerte->get( i );
             }
             }
             if( vertikalScrollBar && hatStyle( Style::VScroll ) )
             if( vertikalScrollBar && hatStyle( Style::VScroll ) )
-                daten->vIntervallHöhe = maxW ? ( vertikalScrollBar->getScroll() / maxW ) : 0;
+                daten->vIntervallHeight = maxW ? ( vertikalScrollBar->getScroll() / maxW ) : 0;
             else
             else
-                daten->vIntervallHöhe = maxW ? ( vIntervallRB->getBreite() / maxW ) : 0;
+                daten->vIntervallHeight = maxW ? ( vIntervallRB->getBreite() / maxW ) : 0;
         }
         }
-        if( hatDatenStyle( DiagDaten::Style::AutoRasterHöhe ) )
-            daten->rasterHöhe = daten->vIntervallHöhe;
+        if( hatDatenStyle( DiagDaten::Style::AutoRasterHeight ) )
+            daten->rasterHeight = daten->vIntervallHeight;
         if( daten->hIntervallWerte && hatDatenStyle( DiagDaten::Style::AutoIntervallBreite ) )
         if( daten->hIntervallWerte && hatDatenStyle( DiagDaten::Style::AutoIntervallBreite ) )
         {
         {
             double maxW = 0;
             double maxW = 0;
@@ -1586,17 +1586,17 @@ void LDiag::render( Bild &zRObj )
     }
     }
     if( hatDatenStyle( DiagDaten::Style::VIntervall ) && schrift && schriftGr && daten )
     if( hatDatenStyle( DiagDaten::Style::VIntervall ) && schrift && schriftGr && daten )
     { // Rendern des vertikalen Intervalls
     { // Rendern des vertikalen Intervalls
-        int vIRBbr = innenGröße.y;
+        int vIRBbr = innenSize.y;
         if( hatDatenStyle( DiagDaten::Style::HIntervall ) && daten->hIntervallFarbe )
         if( hatDatenStyle( DiagDaten::Style::HIntervall ) && daten->hIntervallFarbe )
             vIRBbr -= schriftGr + 2;
             vIRBbr -= schriftGr + 2;
         if( vIRBbr > 0 )
         if( vIRBbr > 0 )
         {
         {
-            if( vIntervallRB->getBreite() != vIRBbr || vIntervallRB->getHöhe() != schriftGr + 2 )
+            if( vIntervallRB->getBreite() != vIRBbr || vIntervallRB->getHeight() != schriftGr + 2 )
                 vIntervallRB->neuBild( vIRBbr, schriftGr + 2, 0 );
                 vIntervallRB->neuBild( vIRBbr, schriftGr + 2, 0 );
             else
             else
-                vIntervallRB->füllRegion( 0, 0, vIRBbr, schriftGr + 2, 0 );
+                vIntervallRB->fillRegion( 0, 0, vIRBbr, schriftGr + 2, 0 );
             schrift->lock();
             schrift->lock();
-            schrift->setSchriftGröße( schriftGr );
+            schrift->setSchriftSize( schriftGr );
             if( daten->vIntervallWerte )
             if( daten->vIntervallWerte )
             {
             {
                 int *rf = new int[ vIAnz ];
                 int *rf = new int[ vIAnz ];
@@ -1634,7 +1634,7 @@ void LDiag::render( Bild &zRObj )
                         txt = daten->vIntervallTexte->z( rf[ i ] )->getText();
                         txt = daten->vIntervallTexte->z( rf[ i ] )->getText();
                     else if( hatDatenStyleNicht( DiagDaten::Style::VIntervallTexte ) || !daten->vIntervallWerte )
                     else if( hatDatenStyleNicht( DiagDaten::Style::VIntervallTexte ) || !daten->vIntervallWerte )
                         txt = daten->vIntervallWerte->get( rf[ i ] );
                         txt = daten->vIntervallWerte->get( rf[ i ] );
-                    xPos = (int)( daten->vIntervallWerte->get( rf[ i ] ) * daten->vIntervallHöhe );
+                    xPos = (int)( daten->vIntervallWerte->get( rf[ i ] ) * daten->vIntervallHeight );
                     xPos = ( vertikalScrollBar && hatStyle( Style::VScroll ) ? vertikalScrollBar->getScroll() : vIntervallRB->getBreite() ) - xPos;
                     xPos = ( vertikalScrollBar && hatStyle( Style::VScroll ) ? vertikalScrollBar->getScroll() : vIntervallRB->getBreite() ) - xPos;
                     if( vertikalScrollBar && hatStyle( Style::VScroll ) )
                     if( vertikalScrollBar && hatStyle( Style::VScroll ) )
                         xPos -= vertikalScrollBar->getScroll();
                         xPos -= vertikalScrollBar->getScroll();
@@ -1654,31 +1654,31 @@ void LDiag::render( Bild &zRObj )
             {
             {
                 int vinbr = schrift->getTextBreite( daten->vIntervallName );
                 int vinbr = schrift->getTextBreite( daten->vIntervallName );
                 int vinx = vIntervallRB->getBreite() / 2 - vinbr / 2;
                 int vinx = vIntervallRB->getBreite() / 2 - vinbr / 2;
-                vIntervallRB->füllRegion( vinx - 5, 1, vinbr + 10, schriftGr, 0 );
+                vIntervallRB->fillRegion( vinx - 5, 1, vinbr + 10, schriftGr, 0 );
                 schrift->setDrawPosition( vinx, 1 );
                 schrift->setDrawPosition( vinx, 1 );
                 schrift->renderText( daten->vIntervallName, *vIntervallRB, daten->vIntervallFarbe );
                 schrift->renderText( daten->vIntervallName, *vIntervallRB, daten->vIntervallFarbe );
             }
             }
             schrift->unlock();
             schrift->unlock();
             if( hatDatenStyle( DiagDaten::Style::HIntervall ) && daten->hIntervallFarbe )
             if( hatDatenStyle( DiagDaten::Style::HIntervall ) && daten->hIntervallFarbe )
-                zRObj.alphaBild90( innenGröße.x - vIntervallRB->getHöhe(), schriftGr + 2, vIntervallRB->getBreite(), vIntervallRB->getHöhe(), *vIntervallRB );
+                zRObj.alphaBild90( innenSize.x - vIntervallRB->getHeight(), schriftGr + 2, vIntervallRB->getBreite(), vIntervallRB->getHeight(), *vIntervallRB );
             else
             else
-                zRObj.alphaBild90( innenGröße.x - vIntervallRB->getHöhe(), 0, vIntervallRB->getBreite(), vIntervallRB->getHöhe(), *vIntervallRB );
-            dgbr -= vIntervallRB->getHöhe();
+                zRObj.alphaBild90( innenSize.x - vIntervallRB->getHeight(), 0, vIntervallRB->getBreite(), vIntervallRB->getHeight(), *vIntervallRB );
+            dgbr -= vIntervallRB->getHeight();
         }
         }
     }
     }
     if( hatDatenStyle( DiagDaten::Style::HIntervall ) && schrift && schriftGr && daten )
     if( hatDatenStyle( DiagDaten::Style::HIntervall ) && schrift && schriftGr && daten )
     { // Rendern des horizontalen Intervalls
     { // Rendern des horizontalen Intervalls
-        int hIRBbr = innenGröße.x;
+        int hIRBbr = innenSize.x;
         if( hatDatenStyle( DiagDaten::Style::VIntervall ) && daten->vIntervallFarbe )
         if( hatDatenStyle( DiagDaten::Style::VIntervall ) && daten->vIntervallFarbe )
             hIRBbr -= schriftGr + 2;
             hIRBbr -= schriftGr + 2;
         if( hIRBbr > 0 )
         if( hIRBbr > 0 )
         {
         {
-            if( hIntervallRB->getBreite() != hIRBbr || hIntervallRB->getHöhe() != schriftGr + 2 )
+            if( hIntervallRB->getBreite() != hIRBbr || hIntervallRB->getHeight() != schriftGr + 2 )
                 hIntervallRB->neuBild( hIRBbr, schriftGr + 2, 0 );
                 hIntervallRB->neuBild( hIRBbr, schriftGr + 2, 0 );
             else
             else
-                hIntervallRB->füllRegion( 0, 0, hIRBbr, schriftGr + 2, 0 );
+                hIntervallRB->fillRegion( 0, 0, hIRBbr, schriftGr + 2, 0 );
             schrift->lock();
             schrift->lock();
-            schrift->setSchriftGröße( schriftGr );
+            schrift->setSchriftSize( schriftGr );
             if( daten->hIntervallWerte )
             if( daten->hIntervallWerte )
             {
             {
                 int *rf = new int[ hIAnz ];
                 int *rf = new int[ hIAnz ];
@@ -1735,17 +1735,17 @@ void LDiag::render( Bild &zRObj )
             {
             {
                 int hinbr = schrift->getTextBreite( daten->hIntervallName );
                 int hinbr = schrift->getTextBreite( daten->hIntervallName );
                 int hinx = hIntervallRB->getBreite() / 2 - hinbr / 2;
                 int hinx = hIntervallRB->getBreite() / 2 - hinbr / 2;
-                hIntervallRB->füllRegion( hinx - 5, 1, hinbr + 10, schriftGr, 0 );
+                hIntervallRB->fillRegion( hinx - 5, 1, hinbr + 10, schriftGr, 0 );
                 schrift->setDrawPosition( hinx, 1 );
                 schrift->setDrawPosition( hinx, 1 );
                 schrift->renderText( daten->hIntervallName, *hIntervallRB, daten->hIntervallFarbe );
                 schrift->renderText( daten->hIntervallName, *hIntervallRB, daten->hIntervallFarbe );
             }
             }
             schrift->unlock();
             schrift->unlock();
-            zRObj.alphaBild( 0, 0, hIntervallRB->getBreite(), hIntervallRB->getHöhe(), *hIntervallRB );
-            dghö -= hIntervallRB->getHöhe();
-            dgy += hIntervallRB->getHöhe();
+            zRObj.alphaBild( 0, 0, hIntervallRB->getBreite(), hIntervallRB->getHeight(), *hIntervallRB );
+            dghi -= hIntervallRB->getHeight();
+            dgy += hIntervallRB->getHeight();
         }
         }
     }
     }
-    if( !zRObj.setDrawOptions( 0, dgy, dgbr, dghö ) )
+    if( !zRObj.setDrawOptions( 0, dgy, dgbr, dghi ) )
     {
     {
         zRObj.releaseDrawOptions();
         zRObj.releaseDrawOptions();
         unlockZeichnung();
         unlockZeichnung();
@@ -1755,11 +1755,11 @@ void LDiag::render( Bild &zRObj )
     int dgrbr = 0;
     int dgrbr = 0;
     if( hatStyle( Style::DatenRahmen ) && dRam )
     if( hatStyle( Style::DatenRahmen ) && dRam )
     {
     {
-        dRam->setGröße( dgbr, dghö );
+        dRam->setSize( dgbr, dghi );
         dRam->render( zRObj );
         dRam->render( zRObj );
         dgrbr = dRam->getRBreite();
         dgrbr = dRam->getRBreite();
     }
     }
-    if( !zRObj.setDrawOptions( dgrbr, dgrbr, dgbr - dgrbr * 2, dghö - dgrbr * 2 ) )
+    if( !zRObj.setDrawOptions( dgrbr, dgrbr, dgbr - dgrbr * 2, dghi - dgrbr * 2 ) )
     {
     {
         zRObj.releaseDrawOptions();
         zRObj.releaseDrawOptions();
         zRObj.releaseDrawOptions();
         zRObj.releaseDrawOptions();
@@ -1769,41 +1769,41 @@ void LDiag::render( Bild &zRObj )
     if( hatStyle( Style::DatenHintergrund ) )
     if( hatStyle( Style::DatenHintergrund ) )
     {
     {
         if( hatStyle( Style::DatenHAlpha ) )
         if( hatStyle( Style::DatenHAlpha ) )
-            zRObj.alphaRegion( 0, 0, dgbr - dgrbr * 2, dghö - dgrbr * 2, dBgF );
+            zRObj.alphaRegion( 0, 0, dgbr - dgrbr * 2, dghi - dgrbr * 2, dBgF );
         else
         else
-            zRObj.füllRegion( 0, 0, dgbr - dgrbr * 2, dghö - dgrbr * 2, dBgF );
+            zRObj.fillRegion( 0, 0, dgbr - dgrbr * 2, dghi - dgrbr * 2, dBgF );
         if( hatStyle( Style::DatenHBild ) && dBgB )
         if( hatStyle( Style::DatenHBild ) && dBgB )
         {
         {
             if( hatStyle( Style::DatenHAlpha ) )
             if( hatStyle( Style::DatenHAlpha ) )
-                zRObj.alphaBild( 0, 0, dgbr - dgrbr * 2, dghö - dgrbr * 2, *dBgB );
+                zRObj.alphaBild( 0, 0, dgbr - dgrbr * 2, dghi - dgrbr * 2, *dBgB );
             else
             else
-                zRObj.drawBild( 0, 0, dgbr - dgrbr * 2, dghö - dgrbr * 2, *dBgB );
+                zRObj.drawBild( 0, 0, dgbr - dgrbr * 2, dghi - dgrbr * 2, *dBgB );
         }
         }
     }
     }
     if( hatStyle( Style::DatenBuffered ) && dAf )
     if( hatStyle( Style::DatenBuffered ) && dAf )
     {
     {
-        dAf->setGröße( dgbr - dgrbr * 2, dghö - dgrbr * 2 );
+        dAf->setSize( dgbr - dgrbr * 2, dghi - dgrbr * 2 );
         dAf->render( zRObj );
         dAf->render( zRObj );
     }
     }
-    if( hatDatenStyle( DiagDaten::Style::Raster ) && daten && daten->rasterDicke && daten->rasterBreite && daten->rasterHöhe )
+    if( hatDatenStyle( DiagDaten::Style::Raster ) && daten && daten->rasterDicke && daten->rasterBreite && daten->rasterHeight )
     { // Raster
     { // Raster
         int maxBr = dgbr;
         int maxBr = dgbr;
         if( horizontalScrollBar && hatStyle( Style::HScroll ) )
         if( horizontalScrollBar && hatStyle( Style::HScroll ) )
             maxBr = horizontalScrollBar->getScroll();
             maxBr = horizontalScrollBar->getScroll();
-        int maxHö = dghö;
+        int maxHi = dghi;
         if( vertikalScrollBar && hatStyle( Style::VScroll ) )
         if( vertikalScrollBar && hatStyle( Style::VScroll ) )
-            maxHö = vertikalScrollBar->getScroll();
+            maxHi = vertikalScrollBar->getScroll();
         for( double x = horizontalScrollBar && hatStyle( Style::HScroll ) ? -horizontalScrollBar->getScroll() : 0; x < maxBr; x += daten->rasterBreite )
         for( double x = horizontalScrollBar && hatStyle( Style::HScroll ) ? -horizontalScrollBar->getScroll() : 0; x < maxBr; x += daten->rasterBreite )
         {
         {
             for( int i = 0; i < daten->rasterDicke; ++i )
             for( int i = 0; i < daten->rasterDicke; ++i )
             {
             {
                 if( hatDatenStyle( DiagDaten::Style::RasterAlpha ) )
                 if( hatDatenStyle( DiagDaten::Style::RasterAlpha ) )
-                    zRObj.drawLinieVAlpha( (int)( x + i ), dgy + dgrbr, dghö - dgrbr * 2, daten->rasterFarbe );
+                    zRObj.drawLinieVAlpha( (int)( x + i ), dgy + dgrbr, dghi - dgrbr * 2, daten->rasterFarbe );
                 else
                 else
-                    zRObj.drawLinieV( (int)( x + i ), dgy + dgrbr, dghö - dgrbr * 2, daten->rasterFarbe );
+                    zRObj.drawLinieV( (int)( x + i ), dgy + dgrbr, dghi - dgrbr * 2, daten->rasterFarbe );
             }
             }
         }
         }
-        for( double y = maxHö; y > ( vertikalScrollBar && hatStyle( Style::VScroll ) ? -vertikalScrollBar->getScroll() : 0 ); y -= daten->rasterHöhe )
+        for( double y = maxHi; y > ( vertikalScrollBar && hatStyle( Style::VScroll ) ? -vertikalScrollBar->getScroll() : 0 ); y -= daten->rasterHeight )
         {
         {
             for( int i = 0; i < daten->rasterDicke; ++i )
             for( int i = 0; i < daten->rasterDicke; ++i )
             {
             {
@@ -1814,7 +1814,7 @@ void LDiag::render( Bild &zRObj )
             }
             }
         }
         }
     }
     }
-    if( daten && daten->werte && daten->werte->getEintragAnzahl() && daten->hIntervallBreite && daten->vIntervallHöhe )
+    if( daten && daten->werte && daten->werte->getEintragAnzahl() && daten->hIntervallBreite && daten->vIntervallHeight )
     { // Werte
     { // Werte
         int wAnz = daten->werte->getEintragAnzahl();
         int wAnz = daten->werte->getEintragAnzahl();
         for( int i = 0; i < wAnz; ++i )
         for( int i = 0; i < wAnz; ++i )
@@ -1849,7 +1849,7 @@ void LDiag::render( Bild &zRObj )
                 int rpx = horizontalScrollBar && hatStyle( Style::HScroll ) ? -horizontalScrollBar->getScroll() : 0;
                 int rpx = horizontalScrollBar && hatStyle( Style::HScroll ) ? -horizontalScrollBar->getScroll() : 0;
                 int rpy = vertikalScrollBar && hatStyle( Style::VScroll ) ? -vertikalScrollBar->getScroll() : 0;
                 int rpy = vertikalScrollBar && hatStyle( Style::VScroll ) ? -vertikalScrollBar->getScroll() : 0;
                 rpy += dgy;
                 rpy += dgy;
-                int dgmhö = vertikalScrollBar && hatStyle( Style::VScroll ) ? dgy + vertikalScrollBar->getScrollData()->max + dgrbr : dgy + dghö - dgrbr;
+                int dgmhi = vertikalScrollBar && hatStyle( Style::VScroll ) ? dgy + vertikalScrollBar->getScrollData()->max + dgrbr : dgy + dghi - dgrbr;
                 if( hatWertStyle( i, DiagWert::Style::Hintergrund ) )
                 if( hatWertStyle( i, DiagWert::Style::Hintergrund ) )
                 {
                 {
                     DiagPunkt *vorher = 0;
                     DiagPunkt *vorher = 0;
@@ -1860,15 +1860,15 @@ void LDiag::render( Bild &zRObj )
                         if( jetzt && vorher )
                         if( jetzt && vorher )
                         {
                         {
                             int ax = (int)( rpx + vorher->hIntervall * daten->hIntervallBreite );
                             int ax = (int)( rpx + vorher->hIntervall * daten->hIntervallBreite );
-                            int ay = (int)( dgmhö - vorher->vIntervall * daten->vIntervallHöhe );
+                            int ay = (int)( dgmhi - vorher->vIntervall * daten->vIntervallHeight );
                             int bx = (int)( rpx + jetzt->hIntervall * daten->hIntervallBreite );
                             int bx = (int)( rpx + jetzt->hIntervall * daten->hIntervallBreite );
-                            int by = (int)( dgmhö - jetzt->vIntervall * daten->vIntervallHöhe );
+                            int by = (int)( dgmhi - jetzt->vIntervall * daten->vIntervallHeight );
                             if( ax >= bx )
                             if( ax >= bx )
                             {
                             {
                                 vorher = jetzt;
                                 vorher = jetzt;
                                 continue;
                                 continue;
                             }
                             }
-                            if( !( ax > dgbr - dgrbr || bx < 0 || ( ay > dgy + dghö - dgrbr && by > dgy + dghö - dgrbr ) ) )
+                            if( !( ax > dgbr - dgrbr || bx < 0 || ( ay > dgy + dghi - dgrbr && by > dgy + dghi - dgrbr ) ) )
                             {
                             {
                                 double yf = (double)( by - ay ) / ( bx - ax );
                                 double yf = (double)( by - ay ) / ( bx - ax );
                                 double y = (double)ay;
                                 double y = (double)ay;
@@ -1877,12 +1877,12 @@ void LDiag::render( Bild &zRObj )
                                 if( hatWertStyle( i, DiagWert::Style::HAlpha ) )
                                 if( hatWertStyle( i, DiagWert::Style::HAlpha ) )
                                 {
                                 {
                                     for( int x = ax; x < bx; x++, y += yf )
                                     for( int x = ax; x < bx; x++, y += yf )
-                                        zRObj.drawLinieVAlpha( x, (int)( y + 0.5 ), dgmhö - (int)( y + 0.5 ), wert->hintergrund );
+                                        zRObj.drawLinieVAlpha( x, (int)( y + 0.5 ), dgmhi - (int)( y + 0.5 ), wert->hintergrund );
                                 }
                                 }
                                 else
                                 else
                                 {
                                 {
                                     for( int x = ax; x < bx; x++, y += yf )
                                     for( int x = ax; x < bx; x++, y += yf )
-                                        zRObj.drawLinieV( x, (int)( y + 0.5 ), dgmhö - (int)( y + 0.5 ), wert->hintergrund );
+                                        zRObj.drawLinieV( x, (int)( y + 0.5 ), dgmhi - (int)( y + 0.5 ), wert->hintergrund );
                                 }
                                 }
                                 if( hatWertStyle( i, DiagWert::Style::Alpha ) )
                                 if( hatWertStyle( i, DiagWert::Style::Alpha ) )
                                     zRObj.drawLinieAlpha( Punkt( ax, ay ), Punkt( bx, by ), wert->farbe );
                                     zRObj.drawLinieAlpha( Punkt( ax, ay ), Punkt( bx, by ), wert->farbe );
@@ -1903,11 +1903,11 @@ void LDiag::render( Bild &zRObj )
                         if( jetzt && vorher )
                         if( jetzt && vorher )
                         {
                         {
                             if( hatWertStyle( i, DiagWert::Style::Alpha ) )
                             if( hatWertStyle( i, DiagWert::Style::Alpha ) )
-                                zRObj.drawLinieAlpha( Punkt( (int)( rpx + vorher->hIntervall * daten->hIntervallBreite ), (int)( dgmhö - vorher->vIntervall * daten->vIntervallHöhe ) ),
-                                                      Punkt( (int)( rpx + jetzt->hIntervall * daten->hIntervallBreite ), (int)( dgmhö - jetzt->vIntervall * daten->vIntervallHöhe ) ), wert->farbe );
+                                zRObj.drawLinieAlpha( Punkt( (int)( rpx + vorher->hIntervall * daten->hIntervallBreite ), (int)( dgmhi - vorher->vIntervall * daten->vIntervallHeight ) ),
+                                                      Punkt( (int)( rpx + jetzt->hIntervall * daten->hIntervallBreite ), (int)( dgmhi - jetzt->vIntervall * daten->vIntervallHeight ) ), wert->farbe );
                             else
                             else
-                                zRObj.drawLinie( Punkt( (int)( rpx + vorher->hIntervall * daten->hIntervallBreite ), (int)( dgmhö - vorher->vIntervall * daten->vIntervallHöhe ) ),
-                                                 Punkt( (int)( rpx + jetzt->hIntervall * daten->hIntervallBreite ), (int)( dgmhö - jetzt->vIntervall * daten->vIntervallHöhe ) ), wert->farbe );
+                                zRObj.drawLinie( Punkt( (int)( rpx + vorher->hIntervall * daten->hIntervallBreite ), (int)( dgmhi - vorher->vIntervall * daten->vIntervallHeight ) ),
+                                                 Punkt( (int)( rpx + jetzt->hIntervall * daten->hIntervallBreite ), (int)( dgmhi - jetzt->vIntervall * daten->vIntervallHeight ) ), wert->farbe );
                         }
                         }
                         vorher = jetzt;
                         vorher = jetzt;
                     }
                     }
@@ -1922,7 +1922,7 @@ void LDiag::render( Bild &zRObj )
         int rx = 5;
         int rx = 5;
         int ry = 5;
         int ry = 5;
         schrift->lock();
         schrift->lock();
-        schrift->setSchriftGröße( schriftGr );
+        schrift->setSchriftSize( schriftGr );
         for( int i = 0; i < wAnz; ++i )
         for( int i = 0; i < wAnz; ++i )
         {
         {
             DiagWert *w = daten->werte->z( i );
             DiagWert *w = daten->werte->z( i );
@@ -2004,9 +2004,9 @@ int LDiag::getDatenAlphaFeldFarbe() const
     return dAf ? dAf->getFarbe() : 0;
     return dAf ? dAf->getFarbe() : 0;
 }
 }
 
 
-int LDiag::getDatenAlphaFeldStärke() const
+int LDiag::getDatenAlphaFeldStrength() const
 {
 {
-    return dAf ? dAf->getStärke() : 0;
+    return dAf ? dAf->getStrength() : 0;
 }
 }
 
 
 // Reference Counting
 // Reference Counting

+ 26 - 26
Diagramm.h

@@ -43,13 +43,13 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) SLDiag();
         __declspec( dllexport ) SLDiag();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~SLDiag();
+        __declspec( dllexport ) virtual ~SLDiag();
         // Setzt einen Zeiger zur verwendeten Schrift
         // Setzt einen Zeiger zur verwendeten Schrift
         //  schrift: Die Schrift
         //  schrift: Die Schrift
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
         // Setzt die Abstände zwischen den Linien des Gitters
         // Setzt die Abstände zwischen den Linien des Gitters
         //  gr: Für x den Abstand zwischen jeder vertikalen Linie in Pixeln und für y den Abstand zwischen jeder Horizontalen Linie in den dargestellen y Werten
         //  gr: Für x den Abstand zwischen jeder vertikalen Linie in Pixeln und für y den Abstand zwischen jeder Horizontalen Linie in den dargestellen y Werten
-        __declspec( dllexport ) void setGGröße( Punkt &gr );
+        __declspec( dllexport ) void setGSize( Punkt &gr );
         // Setzt die Farbe der Raster Linien
         // Setzt die Farbe der Raster Linien
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setGFarbe( int f );
         __declspec( dllexport ) void setGFarbe( int f );
@@ -79,7 +79,7 @@ namespace Framework
         // Gibt die verwendete Schrift ohne erhöhten Reference Counter zurück
         // Gibt die verwendete Schrift ohne erhöhten Reference Counter zurück
         __declspec( dllexport ) Schrift *zSchrift() const;
         __declspec( dllexport ) Schrift *zSchrift() const;
         // Gibt die Größe eines Quadrats des Gitters zurück, wobei die Braite in Pixeln und die Höhe in Werten der y Achse ist
         // Gibt die Größe eines Quadrats des Gitters zurück, wobei die Braite in Pixeln und die Höhe in Werten der y Achse ist
-        __declspec( dllexport ) const Punkt &getGGröße() const;
+        __declspec( dllexport ) const Punkt &getGSize() const;
         // Gibt die Farbe des Gitters in A8R8G8B8 Format zurück
         // Gibt die Farbe des Gitters in A8R8G8B8 Format zurück
         __declspec( dllexport ) int getGFarbe() const;
         __declspec( dllexport ) int getGFarbe() const;
         // Gibt den Index eines Graphen zurück
         // Gibt den Index eines Graphen zurück
@@ -95,10 +95,10 @@ namespace Framework
         //  lNum: Der Index des Graphen
         //  lNum: Der Index des Graphen
         __declspec( dllexport ) Text *zLinienNamen( int lNum ) const;
         __declspec( dllexport ) Text *zLinienNamen( int lNum ) const;
         // Gibt den Höchsten y Wert von allen Graphen zurück
         // Gibt den Höchsten y Wert von allen Graphen zurück
-        __declspec( dllexport ) int getHöchstValue() const;
+        __declspec( dllexport ) int getHighestValue() const;
         // Gibt den Höchsten y Wert von einem Bestimmten Graphen zurück
         // Gibt den Höchsten y Wert von einem Bestimmten Graphen zurück
         //  lNum: Der Index des Graphen
         //  lNum: Der Index des Graphen
-        __declspec( dllexport ) int getHöchstValue( int lNum ) const;
+        __declspec( dllexport ) int getHighestValue( int lNum ) const;
         // Gibt den Durchschnittswert aller im Diagramm gespeicherten Punkten eines Graphen zurück
         // Gibt den Durchschnittswert aller im Diagramm gespeicherten Punkten eines Graphen zurück
         //  lNum: Der Index des Graphen
         //  lNum: Der Index des Graphen
         __declspec( dllexport ) int getMedian( int lNum ) const;
         __declspec( dllexport ) int getMedian( int lNum ) const;
@@ -173,19 +173,19 @@ namespace Framework
             const static int Sichtbar = 0x0001; // Legt Fest, ob die Daten sichtbar sein sollen
             const static int Sichtbar = 0x0001; // Legt Fest, ob die Daten sichtbar sein sollen
             const static int Raster = 0x0002; // Legt fest, ob ein Raster zur Orientierung angezeigt werden soll
             const static int Raster = 0x0002; // Legt fest, ob ein Raster zur Orientierung angezeigt werden soll
             const static int RasterAlpha = 0x0004; // Legt fest, ob zum Zeichnen des Rasters Alphablending verwendet werden soll
             const static int RasterAlpha = 0x0004; // Legt fest, ob zum Zeichnen des Rasters Alphablending verwendet werden soll
-            const static int AutoIntervallHöhe = 0x0008; // Legt fest, dass alle Werte automatisch so auf der y Achse Skalliert werden, dass immer die komplette Höhe des Diagramms genutzt wird
+            const static int AutoIntervallHeight = 0x0008; // Legt fest, dass alle Werte automatisch so auf der y Achse Skalliert werden, dass immer die komplette Höhe des Diagramms genutzt wird
             const static int AutoIntervallBreite = 0x0010; // Legt fest, dass alle Wert automatisch so auf der x Achse Skalliert werden, dass immer die komplette Breite des Diagramms genutzt wird
             const static int AutoIntervallBreite = 0x0010; // Legt fest, dass alle Wert automatisch so auf der x Achse Skalliert werden, dass immer die komplette Breite des Diagramms genutzt wird
             const static int HIntervall = 0x0020; // Legt fest, ob die X Achse gezeichnet werden soll
             const static int HIntervall = 0x0020; // Legt fest, ob die X Achse gezeichnet werden soll
             const static int VIntervall = 0x0040; // Legt fest, ob die Y Achse gezeichnet werden soll
             const static int VIntervall = 0x0040; // Legt fest, ob die Y Achse gezeichnet werden soll
             const static int HIntervallTexte = 0x0200; // Legt fest, ob spezielle Texte für die Werte der X Achse gezeichnet werden sollen
             const static int HIntervallTexte = 0x0200; // Legt fest, ob spezielle Texte für die Werte der X Achse gezeichnet werden sollen
             const static int VIntervallTexte = 0x0400; // Left fest, ob spezielle Texte für die Werte der Y Achse gezeichnet werden sollen
             const static int VIntervallTexte = 0x0400; // Left fest, ob spezielle Texte für die Werte der Y Achse gezeichnet werden sollen
             const static int AutoRasterBreite = 0x0800; // Legt fest, ob der Abstand zwischen den Vertikalen Linien des Rasters automatisch gewählt werden soll
             const static int AutoRasterBreite = 0x0800; // Legt fest, ob der Abstand zwischen den Vertikalen Linien des Rasters automatisch gewählt werden soll
-            const static int AutoRasterHöhe = 0x1000; // Legt fest, ob der Abstand zwischen den Horizontalen Rasterlinien automatisch gewählt werden soll
+            const static int AutoRasterHeight = 0x1000; // Legt fest, ob der Abstand zwischen den Horizontalen Rasterlinien automatisch gewählt werden soll
 
 
             const static int intervalle = HIntervall | VIntervall; // Vereiniegt die Flags HIntervall, VIntervall
             const static int intervalle = HIntervall | VIntervall; // Vereiniegt die Flags HIntervall, VIntervall
             const static int intervallTexte = HIntervallTexte | VIntervallTexte; // Vereint die Flags HIntervallTexte, VIntervallTexte
             const static int intervallTexte = HIntervallTexte | VIntervallTexte; // Vereint die Flags HIntervallTexte, VIntervallTexte
-            const static int autoRaster = AutoRasterHöhe | AutoRasterBreite | Raster; // Vereint die Flags AutoRasterHöhe, AutoRasterBreite, Raster
-            const static int autoIntervall = AutoIntervallHöhe | AutoIntervallBreite; // Vereint die Flags AutoIntervallHöhe, AutoIntervallBreite
+            const static int autoRaster = AutoRasterHeight | AutoRasterBreite | Raster; // Vereint die Flags AutoRasterHöhe, AutoRasterBreite, Raster
+            const static int autoIntervall = AutoIntervallHeight | AutoIntervallBreite; // Vereint die Flags AutoIntervallHöhe, AutoIntervallBreite
         };
         };
         // Style eines Diagramms
         // Style eines Diagramms
         int style;
         int style;
@@ -194,7 +194,7 @@ namespace Framework
         // Breite eines Rasterkästchens
         // Breite eines Rasterkästchens
         double rasterBreite;
         double rasterBreite;
         // Höhe eines Rasterkästchens
         // Höhe eines Rasterkästchens
-        double rasterHöhe;
+        double rasterHeight;
         // Farbe des Rasters
         // Farbe des Rasters
         int rasterFarbe;
         int rasterFarbe;
         // Schriftfarbe des Horizontalen Intervalls
         // Schriftfarbe des Horizontalen Intervalls
@@ -216,7 +216,7 @@ namespace Framework
         // Breite des Wertes 1 in Pixeln bei dem horizontalen Intervall ( wird durch das setzen von AutoIntervallBreite überschrieben )
         // Breite des Wertes 1 in Pixeln bei dem horizontalen Intervall ( wird durch das setzen von AutoIntervallBreite überschrieben )
         double hIntervallBreite;
         double hIntervallBreite;
         // Höhe des Wertes 1 in Pixeln bei dem vertikalen Intervall ( wird durch das setzen von AutoIntervallHöhe überschrieben )
         // Höhe des Wertes 1 in Pixeln bei dem vertikalen Intervall ( wird durch das setzen von AutoIntervallHöhe überschrieben )
-        double vIntervallHöhe;
+        double vIntervallHeight;
         // Werte, die in dem Diagramm visualisiert werden
         // Werte, die in dem Diagramm visualisiert werden
         RCArray< DiagWert > *werte;
         RCArray< DiagWert > *werte;
 
 
@@ -250,7 +250,7 @@ namespace Framework
         //  lock: Ein Zeiger zur CRITICAL_SECTION, mit der die Diagramm Klasse, die von dieser Klasse erbt Multithread sicher gemacht wird
         //  lock: Ein Zeiger zur CRITICAL_SECTION, mit der die Diagramm Klasse, die von dieser Klasse erbt Multithread sicher gemacht wird
         __declspec( dllexport ) BaseDiag( CRITICAL_SECTION *lock );
         __declspec( dllexport ) BaseDiag( CRITICAL_SECTION *lock );
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~BaseDiag();
+        __declspec( dllexport ) virtual ~BaseDiag();
         // Setzt einen Zeiger auf die Daten des Diagramms
         // Setzt einen Zeiger auf die Daten des Diagramms
         //  dd: Die Daten
         //  dd: Die Daten
         __declspec( dllexport ) void setDiagDatenZ( DiagDaten *dd );
         __declspec( dllexport ) void setDiagDatenZ( DiagDaten *dd );
@@ -264,8 +264,8 @@ namespace Framework
         //  br: Der Abstand zwischen zwei Vertikalen Rasterlinien in Pixeln
         //  br: Der Abstand zwischen zwei Vertikalen Rasterlinien in Pixeln
         __declspec( dllexport ) void setRasterBreite( int br );
         __declspec( dllexport ) void setRasterBreite( int br );
         // Rasterhöhe setzen
         // Rasterhöhe setzen
-        //  hö: Der Abstand zwischen zwei Horizontalen Rasterlinien in Pixeln
-        __declspec( dllexport ) void setRasterHöhe( int hö );
+        //  hi: Der Abstand zwischen zwei Horizontalen Rasterlinien in Pixeln
+        __declspec( dllexport ) void setRasterHeight( int hi );
         // Rasterfarbe setzen
         // Rasterfarbe setzen
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setRasterFarbe( int f );
         __declspec( dllexport ) void setRasterFarbe( int f );
@@ -273,8 +273,8 @@ namespace Framework
         //  br: Der Abstand zwischen den Werten 0 und 1 auf der X Achse in Pixeln
         //  br: Der Abstand zwischen den Werten 0 und 1 auf der X Achse in Pixeln
         __declspec( dllexport ) void setHIntervallBreite( double br );
         __declspec( dllexport ) void setHIntervallBreite( double br );
         // Setzt die Intervall Höhe
         // Setzt die Intervall Höhe
-        //  hö: Der Abstand zwischen den Werten 0 und 1 auf der Y Achse in Pixeln
-        __declspec( dllexport ) void setVIntervallHöhe( double hö );
+        //  hi: Der Abstand zwischen den Werten 0 und 1 auf der Y Achse in Pixeln
+        __declspec( dllexport ) void setVIntervallHeight( double hi );
         // Setzt die Farbe der X Achse
         // Setzt die Farbe der X Achse
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setHIntervallFarbe( int f );
         __declspec( dllexport ) void setHIntervallFarbe( int f );
@@ -315,7 +315,7 @@ namespace Framework
         __declspec( dllexport ) void setHIntervallText( double hIntervall, char *text );
         __declspec( dllexport ) void setHIntervallText( double hIntervall, char *text );
         // Entfernt eine Beschriftung in einen Betimmten Wert der X Achse, falls der Flag HIntervallTexte in den DiagDaten gesetzt wurde
         // Entfernt eine Beschriftung in einen Betimmten Wert der X Achse, falls der Flag HIntervallTexte in den DiagDaten gesetzt wurde
         //  hIntervall: Der Wert, der nicht mehr beschriftet sein soll
         //  hIntervall: Der Wert, der nicht mehr beschriftet sein soll
-        __declspec( dllexport ) void löscheHIntervallText( double hIntervall );
+        __declspec( dllexport ) void removeHIntervallText( double hIntervall );
         // Beschriftet einen Betimmten Wert der Y Achse, falls der Flag VIntervallTexte in den DiagDaten gesetzt wurde
         // Beschriftet einen Betimmten Wert der Y Achse, falls der Flag VIntervallTexte in den DiagDaten gesetzt wurde
         //  vIntervall: Der Wert, der beschriftet werden soll
         //  vIntervall: Der Wert, der beschriftet werden soll
         //  text: Die Beschriftung
         //  text: Die Beschriftung
@@ -338,7 +338,7 @@ namespace Framework
         __declspec( dllexport ) void setVIntervallText( double vIntervall, char *text );
         __declspec( dllexport ) void setVIntervallText( double vIntervall, char *text );
         // Entfernt eine Beschriftung in einen Betimmten Wert der Y Achse, falls der Flag VIntervallTexte in den DiagDaten gesetzt wurde
         // Entfernt eine Beschriftung in einen Betimmten Wert der Y Achse, falls der Flag VIntervallTexte in den DiagDaten gesetzt wurde
         //  vIntervall: Der Wert, der nicht mehr beschriftet sein soll
         //  vIntervall: Der Wert, der nicht mehr beschriftet sein soll
-        __declspec( dllexport ) void löscheVIntervallText( double vIntervall );
+        __declspec( dllexport ) void removeVIntervallText( double vIntervall );
         // Fügt einen im Diagramm dargestellten Wert (Graph) hinzu
         // Fügt einen im Diagramm dargestellten Wert (Graph) hinzu
         //  w: Der neue Wert
         //  w: Der neue Wert
         __declspec( dllexport ) void addWertZ( DiagWert *w );
         __declspec( dllexport ) void addWertZ( DiagWert *w );
@@ -403,11 +403,11 @@ namespace Framework
         // Löscht einen vorhandenen Punkt
         // Löscht einen vorhandenen Punkt
         //  wNum: Der Index des Wertes
         //  wNum: Der Index des Wertes
         //  hI: Der Wert auf der X Achse des Punktes, der gelöscht werden soll
         //  hI: Der Wert auf der X Achse des Punktes, der gelöscht werden soll
-        __declspec( dllexport ) void löschePunkt( int wNum, double hI );
+        __declspec( dllexport ) void removePunkt( int wNum, double hI );
         // Löscht einen vorhandenen Punkt
         // Löscht einen vorhandenen Punkt
         //  wNum: Der Index des Wertes
         //  wNum: Der Index des Wertes
         //  pNum: Der Index des Punktes im Wert
         //  pNum: Der Index des Punktes im Wert
-        __declspec( dllexport ) void löschePunkt( int wNum, int pNum );
+        __declspec( dllexport ) void removePunkt( int wNum, int pNum );
         // entfernt einen Wert
         // entfernt einen Wert
         //  wNum: Der Index des Wertes
         //  wNum: Der Index des Wertes
         __declspec( dllexport ) void removeWert( int wNum );
         __declspec( dllexport ) void removeWert( int wNum );
@@ -429,7 +429,7 @@ namespace Framework
         __declspec( dllexport ) void setDatenStyle( int style, bool addRemove );
         __declspec( dllexport ) void setDatenStyle( int style, bool addRemove );
         // Entfernt Styles der DiagDaten
         // Entfernt Styles der DiagDaten
         //  style: Die Styles, die entfernt werden sollen
         //  style: Die Styles, die entfernt werden sollen
-        __declspec( dllexport ) void löscheDatenStyle( int style );
+        __declspec( dllexport ) void removeDatenStyle( int style );
         // Fügt einem bestimmten Wert bestimmte Styles hinzu
         // Fügt einem bestimmten Wert bestimmte Styles hinzu
         //  wNum: Der Index des Wertes
         //  wNum: Der Index des Wertes
         //  style: Die neuen Styles
         //  style: Die neuen Styles
@@ -446,7 +446,7 @@ namespace Framework
         // Entfernt Styles eines Bestimmten Wertes
         // Entfernt Styles eines Bestimmten Wertes
         //  wNum: Der Index des Wertes
         //  wNum: Der Index des Wertes
         //  style: Die Styles, die entfernt werden sollen
         //  style: Die Styles, die entfernt werden sollen
-        __declspec( dllexport ) void löscheWertStyle( int wNum, int style );
+        __declspec( dllexport ) void removeWertStyle( int wNum, int style );
         // Gibt die Daten des Diagramms zurück
         // Gibt die Daten des Diagramms zurück
         __declspec( dllexport ) DiagDaten *getDiagDaten() const;
         __declspec( dllexport ) DiagDaten *getDiagDaten() const;
         // Gibt die Daten des Diagramms ohne erhöhten Reference Counter zurück
         // Gibt die Daten des Diagramms ohne erhöhten Reference Counter zurück
@@ -526,13 +526,13 @@ namespace Framework
         // Konstruktor
         // Konstruktor
         __declspec( dllexport ) LDiag();
         __declspec( dllexport ) LDiag();
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~LDiag();
+        __declspec( dllexport ) virtual ~LDiag();
         // Setzt die Schrift
         // Setzt die Schrift
         //  schrift: Die Schrift
         //  schrift: Die Schrift
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
         // Setzt die größe der Schrift
         // Setzt die größe der Schrift
         //  gr: Die Höhe einer Zeile in Pixeln
         //  gr: Die Höhe einer Zeile in Pixeln
-        __declspec( dllexport ) void setSchriftGröße( int gr );
+        __declspec( dllexport ) void setSchriftSize( int gr );
         // Setzt den inneren Rahmen um das eigentliche Diagramm (Rahmen um die Daten)
         // Setzt den inneren Rahmen um das eigentliche Diagramm (Rahmen um die Daten)
         //  ram: Der Rahmen
         //  ram: Der Rahmen
         __declspec( dllexport ) void setDatenRahmenZ( LRahmen *ram );
         __declspec( dllexport ) void setDatenRahmenZ( LRahmen *ram );
@@ -560,7 +560,7 @@ namespace Framework
         __declspec( dllexport ) void setDatenAlphaFeldFarbe( int fc );
         __declspec( dllexport ) void setDatenAlphaFeldFarbe( int fc );
         // Setzt die FaStärkerbe des Farbübergangs des eigentlichen Diagramms (Farbübergang der Daten)
         // Setzt die FaStärkerbe des Farbübergangs des eigentlichen Diagramms (Farbübergang der Daten)
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setDatenAlphaFeldStärke( int st );
+        __declspec( dllexport ) void setDatenAlphaFeldStrength( int st );
         // Verarbeitet Maus Nachrichten
         // Verarbeitet Maus Nachrichten
         //  me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
         //  me: Das Ereignis, was durch die Mauseingabe ausgelößt wurde
         __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;
         __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;
@@ -592,7 +592,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs des eigentlichen Diagramms im A8R8G8B8 Format zurück (Farbübergang der Daten)
         // Gibt die Farbe des Farbübergangs des eigentlichen Diagramms im A8R8G8B8 Format zurück (Farbübergang der Daten)
         __declspec( dllexport ) int getDatenAlphaFeldFarbe() const;
         __declspec( dllexport ) int getDatenAlphaFeldFarbe() const;
         // Gibt die Stärke des Farbübergangs des eigentlichen Diagramms zurück (Farbübergang der Daten)
         // Gibt die Stärke des Farbübergangs des eigentlichen Diagramms zurück (Farbübergang der Daten)
-        __declspec( dllexport ) int getDatenAlphaFeldStärke() const;
+        __declspec( dllexport ) int getDatenAlphaFeldStrength() const;
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
         //  return: 0.
         //  return: 0.
         __declspec( dllexport ) BaseDiag *release() override;
         __declspec( dllexport ) BaseDiag *release() override;

+ 2 - 2
DreieckListe.h

@@ -62,13 +62,13 @@ namespace Framework
         }
         }
 
 
         // Löscht den letzten Punkt
         // Löscht den letzten Punkt
-        void löscheLetztenPunkt()
+        void removeLetztenPunkt()
         {
         {
             int i = punkte->getEintragAnzahl() - 1;
             int i = punkte->getEintragAnzahl() - 1;
             if( !punkte->hat( i ) )
             if( !punkte->hat( i ) )
                 return;
                 return;
             delete punkte->get( i );
             delete punkte->get( i );
-            punkte->lösche( i );
+            punkte->remove( i );
         }
         }
 
 
         // Löscht alle Ecken
         // Löscht alle Ecken

+ 8 - 8
Ebene3D.h

@@ -35,11 +35,11 @@ namespace Framework
         // Bringt den Normalen Vektor der Ebene auf die Länge 1
         // Bringt den Normalen Vektor der Ebene auf die Länge 1
         inline Ebene3D &normalize()
         inline Ebene3D &normalize()
         {
         {
-            const T länge = län();
-            x /= länge;
-            y /= länge;
-            z /= länge;
-            w /= länge;
+            const T length = len();
+            x /= length;
+            y /= length;
+            z /= length;
+            w /= length;
             return *this;
             return *this;
         }
         }
         // Tauscht die Werte zweier Ebenen
         // Tauscht die Werte zweier Ebenen
@@ -108,14 +108,14 @@ namespace Framework
             return{ (T2)x, (T2)y, (T2)z, (T2)w };
             return{ (T2)x, (T2)y, (T2)z, (T2)w };
         }
         }
         // Errehnet das Quadrat der Länge des Normalen Vektors der Ebene
         // Errehnet das Quadrat der Länge des Normalen Vektors der Ebene
-        inline T länSq() const
+        inline T lenSq() const
         {
         {
             return x * x + y * y + z * z;
             return x * x + y * y + z * z;
         }
         }
         // Errechnet die Länge des Normalen Vektors
         // Errechnet die Länge des Normalen Vektors
-        inline T län() const
+        inline T len() const
         {
         {
-            return sqrt( länSq() );
+            return sqrt( lenSq() );
         }
         }
         // Berechnet die Entfernung der Ebene zu einem Vektor
         // Berechnet die Entfernung der Ebene zu einem Vektor
         //  r: Der Vektor
         //  r: Der Vektor

+ 237 - 236
Fenster.cpp

@@ -8,12 +8,14 @@
 #include "Rahmen.h"
 #include "Rahmen.h"
 #include "TextFeld.h"
 #include "TextFeld.h"
 #include "Scroll.h"
 #include "Scroll.h"
-#include "Maus.h"
 #include "ToolTip.h"
 #include "ToolTip.h"
 #include "Globals.h"
 #include "Globals.h"
+#ifdef WIN32
+#include "Maus.h"
+#endif
 
 
 using namespace Framework;
 using namespace Framework;
-
+#ifdef WIN32
 // Fensterklasse erzeugen
 // Fensterklasse erzeugen
 WNDCLASS Framework::F_Normal( HINSTANCE hInst )// Erzeugen einer normalen Fensterklasse
 WNDCLASS Framework::F_Normal( HINSTANCE hInst )// Erzeugen einer normalen Fensterklasse
 {
 {
@@ -176,7 +178,7 @@ LRESULT CALLBACK Framework::WindowProc( HWND hwnd, UINT message, WPARAM wparam,
         if( 1 )
         if( 1 )
         {
         {
             MausTrack = 1;
             MausTrack = 1;
-            MausEreignis me = { ME_Verlässt, (int)LOWORD( lparam ), (int)HIWORD( lparam ), 0, 0, 0 };
+            MausEreignis me = { ME_Leaves, (int)LOWORD( lparam ), (int)HIWORD( lparam ), 0, 0, 0 };
             me.rmx = me.mx;
             me.rmx = me.mx;
             me.rmy = me.my;
             me.rmy = me.my;
             WFensterA.sendMausMessage( hwnd, me );
             WFensterA.sendMausMessage( hwnd, me );
@@ -397,7 +399,7 @@ unsigned char Framework::VirtualZuChar( int Virtual )
         up = 1;
         up = 1;
     if( CAPSLOCK && !SHIFT )
     if( CAPSLOCK && !SHIFT )
         up = 1;
         up = 1;
-    ret = KleinOrGroß( ret, up );
+    ret = smallOrBig( ret, up );
     return ret;
     return ret;
 }
 }
 
 
@@ -533,7 +535,7 @@ void WFenster::setPosition( Punkt &p )// Fenster Position
     SetWindowPos( hWnd, 0, res.left, res.top, res.right, res.bottom, 0 ); // Position ändern
     SetWindowPos( hWnd, 0, res.left, res.top, res.right, res.bottom, 0 ); // Position ändern
 }
 }
 
 
-void WFenster::setGröße( Punkt &g )// Fenster Größe
+void WFenster::setSize( Punkt &g )// Fenster Größe
 {
 {
     RECT r;
     RECT r;
     GetWindowRect( hWnd, &r ); // vorherige Größe herausfinden
     GetWindowRect( hWnd, &r ); // vorherige Größe herausfinden
@@ -553,7 +555,7 @@ void WFenster::setGr
     SetWindowPos( hWnd, 0, res.left, res.top, res.right, res.bottom, 0 ); // Größe ändern
     SetWindowPos( hWnd, 0, res.left, res.top, res.right, res.bottom, 0 ); // Größe ändern
 }
 }
 
 
-void WFenster::setGröße( int breite, int höhe )
+void WFenster::setSize( int breite, int höhe )
 {
 {
     RECT r;
     RECT r;
     GetWindowRect( hWnd, &r ); // vorherige Größe herausfinden
     GetWindowRect( hWnd, &r ); // vorherige Größe herausfinden
@@ -604,7 +606,7 @@ void WFenster::doMausAktion( MausEreignis &me )
 {
 {
     if( !MausAktion || !MausAktion( makParam, this, me ) )
     if( !MausAktion || !MausAktion( makParam, this, me ) )
         return;
         return;
-    if( screen && me.id != ME_Betritt && me.id != ME_Verlässt )
+    if( screen && me.id != ME_Betritt && me.id != ME_Leaves )
     {
     {
         screen->doMausEreignis( me );
         screen->doMausEreignis( me );
         if( !me.verarbeitet && verschiebbar )
         if( !me.verarbeitet && verschiebbar )
@@ -737,7 +739,7 @@ void WFenster::ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ) // setzt einen
     info.bmiHeader.biSize = sizeof( info.bmiHeader );
     info.bmiHeader.biSize = sizeof( info.bmiHeader );
     info.bmiHeader.biBitCount = 32;
     info.bmiHeader.biBitCount = 32;
     info.bmiHeader.biWidth = zBild->getBreite();
     info.bmiHeader.biWidth = zBild->getBreite();
-    info.bmiHeader.biHeight = -zBild->getHöhe();
+    info.bmiHeader.biHeight = -zBild->getHeight();
     info.bmiHeader.biCompression = BI_RGB;
     info.bmiHeader.biCompression = BI_RGB;
     info.bmiHeader.biPlanes = 1;
     info.bmiHeader.biPlanes = 1;
     unsigned char *pPixels = 0;
     unsigned char *pPixels = 0;
@@ -749,7 +751,7 @@ void WFenster::ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ) // setzt einen
     int pitch = ( ( zBild->getBreite() * 32 + 31 ) & ~31 ) >> 3;
     int pitch = ( ( zBild->getBreite() * 32 + 31 ) & ~31 ) >> 3;
     unsigned char *pRow = 0;
     unsigned char *pRow = 0;
     int *buffer = zBild->getBuffer();
     int *buffer = zBild->getBuffer();
-    for( int i = 0; i < zBild->getHöhe(); ++i )
+    for( int i = 0; i < zBild->getHeight(); ++i )
     {
     {
         pRow = &pPixels[ i * pitch ];
         pRow = &pPixels[ i * pitch ];
         for( int i2 = 0; i2 < zBild->getBreite(); ++i2 )
         for( int i2 = 0; i2 < zBild->getBreite(); ++i2 )
@@ -765,7 +767,7 @@ void WFenster::ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ) // setzt einen
     if( zBild->getBreite() * 4 == pitch )
     if( zBild->getBreite() * 4 == pitch )
     {
     {
         int i = 0;
         int i = 0;
-        int totalBytes = zBild->getBreite() * zBild->getHöhe() * 4;
+        int totalBytes = zBild->getBreite() * zBild->getHeight() * 4;
 
 
         for( i = 0; i < totalBytes; i += 4 )
         for( i = 0; i < totalBytes; i += 4 )
         {
         {
@@ -780,7 +782,7 @@ void WFenster::ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ) // setzt einen
         int x = 0;
         int x = 0;
         int y = 0;
         int y = 0;
 
 
-        for( y = 0; y < zBild->getHöhe(); ++y )
+        for( y = 0; y < zBild->getHeight(); ++y )
         {
         {
             for( x = 0; x < zBild->getBreite(); ++x )
             for( x = 0; x < zBild->getBreite(); ++x )
             {
             {
@@ -801,7 +803,7 @@ void WFenster::ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ) // setzt einen
                                  0,
                                  0,
                                  0,
                                  0,
                                  zBild->getBreite(),
                                  zBild->getBreite(),
-                                 zBild->getHöhe(),
+                                 zBild->getHeight(),
                                  0,
                                  0,
                                  0,
                                  0,
                                  wcl.hInstance,
                                  wcl.hInstance,
@@ -816,7 +818,7 @@ void WFenster::ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ) // setzt einen
                 HGDIOBJ hPrevObj = NULL;
                 HGDIOBJ hPrevObj = NULL;
                 POINT ptDest = { 0, 0 };
                 POINT ptDest = { 0, 0 };
                 POINT ptSrc = { 0, 0 };
                 POINT ptSrc = { 0, 0 };
-                SIZE client = { zBild->getBreite(), zBild->getHöhe() };
+                SIZE client = { zBild->getBreite(), zBild->getHeight() };
                 BLENDFUNCTION blendFunc = { AC_SRC_OVER, 0, 255, AC_SRC_ALPHA };
                 BLENDFUNCTION blendFunc = { AC_SRC_OVER, 0, 255, AC_SRC_ALPHA };
 
 
                 hPrevObj = SelectObject( hdc, bitmap );
                 hPrevObj = SelectObject( hdc, bitmap );
@@ -828,8 +830,8 @@ void WFenster::ladeRahmenFenster( Bild *zBild, HINSTANCE hinst ) // setzt einen
                 ReleaseDC( rahmen, h );
                 ReleaseDC( rahmen, h );
             }
             }
             UpdateWindow( rahmen );
             UpdateWindow( rahmen );
-            Punkt pos = getPosition() + ( getGröße() - zBild->getGröße() ) / 2;
-            SetWindowPos( rahmen, 0, pos.x, pos.y, zBild->getBreite(), zBild->getHöhe(), 0 );
+            Punkt pos = getPosition() + ( getGröße() - zBild->getSize() ) / 2;
+            SetWindowPos( rahmen, 0, pos.x, pos.y, zBild->getBreite(), zBild->getHeight(), 0 );
         }
         }
     }
     }
 }
 }
@@ -1084,28 +1086,29 @@ void Framework::WMessageBox( HWND hWnd, Text *titel, Text *meldung, UINT style )
     titel->release();
     titel->release();
     meldung->release();
     meldung->release();
 }
 }
+#endif
 
 
 // Inhalt der Fenster Klasse aus Fenster.h
 // Inhalt der Fenster Klasse aus Fenster.h
 // Konstruktor 
 // Konstruktor 
 Fenster::Fenster()
 Fenster::Fenster()
     : Zeichnung(),
     : Zeichnung(),
-    schließenMe( 0 ),
-    schließenMeParam( 0 ),
+    closingMe( 0 ),
+    closingMeParam( 0 ),
     rahmen( 0 ),
     rahmen( 0 ),
     titel( 0 ),
     titel( 0 ),
     members( 0 ),
     members( 0 ),
-    bgKörperFarbe( 0xFF000000 ),
-    bgKörperBild( 0 ),
-    körperBuffer( 0 ),
-    bgSchließFarbe( 0xFF000000 ),
-    bgSchließBild( 0 ),
-    schließBuffer( 0 ),
-    schließKlickBuffer( 0 ),
+    bgBodyColor( 0xFF000000 ),
+    bgBodyPicture( 0 ),
+    bodyBuffer( 0 ),
+    bgClosingFarbe( 0xFF000000 ),
+    bgClosingBild( 0 ),
+    closeBuffer( 0 ),
+    closeKlickBuffer( 0 ),
     vScroll( 0 ),
     vScroll( 0 ),
     hScroll( 0 ),
     hScroll( 0 ),
     kMin( 0, 0 ),
     kMin( 0, 0 ),
     kMax( 0, 0 ),
     kMax( 0, 0 ),
-    schließKlick( 0 ),
+    closeKlick( 0 ),
     klick( 0 ),
     klick( 0 ),
     mx( 0 ),
     mx( 0 ),
     my( 0 ),
     my( 0 ),
@@ -1126,16 +1129,16 @@ Fenster::~Fenster()
         titel->release();
         titel->release();
     if( members )
     if( members )
         delete members;
         delete members;
-    if( körperBuffer )
-        körperBuffer->release();
-    if( bgKörperBild )
-        bgKörperBild->release();
-    if( bgSchließBild )
-        bgSchließBild->release();
-    if( schließBuffer )
-        schließBuffer->release();
-    if( schließKlickBuffer )
-        schließKlickBuffer->release();
+    if( bodyBuffer )
+        bodyBuffer->release();
+    if( bgBodyPicture )
+        bgBodyPicture->release();
+    if( bgClosingBild )
+        bgClosingBild->release();
+    if( closeBuffer )
+        closeBuffer->release();
+    if( closeKlickBuffer )
+        closeKlickBuffer->release();
     if( vScroll )
     if( vScroll )
         vScroll->release();
         vScroll->release();
     if( hScroll )
     if( hScroll )
@@ -1218,11 +1221,11 @@ void Fenster::setTSFarbe( int f ) // setzt die Titel Schrift Farbe
     rend = 1;
     rend = 1;
 }
 }
 
 
-void Fenster::setTSGröße( int gr ) // setzt die Titel Schrift Größe
+void Fenster::setTSSize( int gr ) // setzt die Titel Schrift Größe
 {
 {
     if( !titel )
     if( !titel )
         titel = new TextFeld();
         titel = new TextFeld();
-    titel->setSchriftGröße( gr );
+    titel->setSchriftSize( (unsigned char)gr );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -1252,11 +1255,11 @@ void Fenster::setTAfFarbe( int f ) // setzt die Titel AlphFeld Farbe
     rend = 1;
     rend = 1;
 }
 }
 
 
-void Fenster::setTAfStärke( int st ) // setzt die Stärke des Titel AlphaFeldes
+void Fenster::setTAfStrength( int st ) // setzt die Stärke des Titel AlphaFeldes
 {
 {
     if( !titel )
     if( !titel )
         titel = new TextFeld();
         titel = new TextFeld();
-    titel->setAlphaFeldStärke( st );
+    titel->setAlphaFeldStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -1305,19 +1308,19 @@ void Fenster::setTRBreite( int br ) // setzt die Titel Rahmen Breite
 // -- Körper Hintergrund -- 
 // -- Körper Hintergrund -- 
 void Fenster::setKBgFarbe( int f ) // setzt die Körper Hintergrund Farbe
 void Fenster::setKBgFarbe( int f ) // setzt die Körper Hintergrund Farbe
 {
 {
-    bgKörperFarbe = f;
+    bgBodyColor = f;
     rend = 1;
     rend = 1;
 }
 }
 
 
 // -- Körper Hintergrund Bild -- 
 // -- Körper Hintergrund Bild -- 
 void Fenster::setKBgBild( Bild *b ) // setzt das Körper Hintergrund Bild
 void Fenster::setKBgBild( Bild *b ) // setzt das Körper Hintergrund Bild
 {
 {
-    if( !bgKörperBild )
-        bgKörperBild = new Bild();
-    bgKörperBild->neuBild( b->getBreite(), b->getHöhe(), 0 );
-    int *buff1 = bgKörperBild->getBuffer();
+    if( !bgBodyPicture )
+        bgBodyPicture = new Bild();
+    bgBodyPicture->neuBild( b->getBreite(), b->getHeight(), 0 );
+    int *buff1 = bgBodyPicture->getBuffer();
     int *buff2 = b->getBuffer();
     int *buff2 = b->getBuffer();
-    int gr = bgKörperBild->getBreite() * bgKörperBild->getHöhe();
+    int gr = bgBodyPicture->getBreite() * bgBodyPicture->getHeight();
     for( int i = 0; i < gr; ++i )
     for( int i = 0; i < gr; ++i )
         buff1[ i ] = buff2[ i ];
         buff1[ i ] = buff2[ i ];
     b->release();
     b->release();
@@ -1326,64 +1329,64 @@ void Fenster::setKBgBild( Bild *b ) // setzt das K
 
 
 void Fenster::setKBgBildZ( Bild *b )
 void Fenster::setKBgBildZ( Bild *b )
 {
 {
-    if( bgKörperBild )
-        bgKörperBild->release();
-    bgKörperBild = b;
+    if( bgBodyPicture )
+        bgBodyPicture->release();
+    bgBodyPicture = b;
     rend = 1;
     rend = 1;
 }
 }
 
 
 // -- Körper AlphaFeld -- 
 // -- Körper AlphaFeld -- 
 void Fenster::setKAlphaFeldZ( AlphaFeld *af ) // setzt das Körper AlphaFeld
 void Fenster::setKAlphaFeldZ( AlphaFeld *af ) // setzt das Körper AlphaFeld
 {
 {
-    if( körperBuffer )
-        körperBuffer->release();
-    körperBuffer = af;
+    if( bodyBuffer )
+        bodyBuffer->release();
+    bodyBuffer = af;
     rend = 1;
     rend = 1;
 }
 }
 
 
 void Fenster::setKAfFarbe( int f ) // setzt Körper AlphaFeld Farbe
 void Fenster::setKAfFarbe( int f ) // setzt Körper AlphaFeld Farbe
 {
 {
-    if( !körperBuffer )
-        körperBuffer = new AlphaFeld();
-    körperBuffer->setFarbe( f );
+    if( !bodyBuffer )
+        bodyBuffer = new AlphaFeld();
+    bodyBuffer->setFarbe( f );
     rend = 1;
     rend = 1;
 }
 }
 
 
-void Fenster::setKAfStärke( int st ) // setzt die Stärke des Körper AlphaFeldes
+void Fenster::setKAfStrength( int st ) // setzt die Stärke des Körper AlphaFeldes
 {
 {
-    if( !körperBuffer )
-        körperBuffer = new AlphaFeld();
-    körperBuffer->setStärke( st );
+    if( !bodyBuffer )
+        bodyBuffer = new AlphaFeld();
+    bodyBuffer->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
 // -- Schließen --
 // -- Schließen --
-void Fenster::setSchließenMeParam( void *param )
+void Fenster::setClosingMeParam( void *param )
 {
 {
-    schließenMeParam = param;
+    closingMeParam = param;
 }
 }
 
 
-void Fenster::setSchließenMe( bool( *schließenMe )( void *, void *, MausEreignis ) ) // setzt das Schließen Mausereignis
+void Fenster::setClosingMe( bool( *closeMe )( void *, void *, MausEreignis ) ) // setzt das Schließen Mausereignis
 {
 {
-    this->schließenMe = schließenMe;
+    this->closingMe = closeMe;
 }
 }
 
 
 // -- Schließen Hintergrund -- 
 // -- Schließen Hintergrund -- 
 void Fenster::setSBgFarbe( int f ) // setzt die Schließ Hintergrund Farbe
 void Fenster::setSBgFarbe( int f ) // setzt die Schließ Hintergrund Farbe
 {
 {
-    bgSchließFarbe = f;
+    bgClosingFarbe = f;
     rend = 1;
     rend = 1;
 }
 }
 
 
 // -- Schließen Hintergrund Bild -- 
 // -- Schließen Hintergrund Bild -- 
 void Fenster::setSBgBild( Bild *b ) // setzt das Schließ Hintergrund Bild
 void Fenster::setSBgBild( Bild *b ) // setzt das Schließ Hintergrund Bild
 {
 {
-    if( !bgSchließBild )
-        bgSchließBild = new Bild();
-    bgSchließBild->neuBild( b->getBreite(), b->getHöhe(), 0 );
-    int *buff1 = bgSchließBild->getBuffer();
+    if( !bgClosingBild )
+        bgClosingBild = new Bild();
+    bgClosingBild->neuBild( b->getBreite(), b->getHeight(), 0 );
+    int *buff1 = bgClosingBild->getBuffer();
     int *buff2 = b->getBuffer();
     int *buff2 = b->getBuffer();
-    int gr = bgSchließBild->getBreite() * bgSchließBild->getHöhe();
+    int gr = bgClosingBild->getBreite() * bgClosingBild->getHeight();
     for( int i = 0; i < gr; ++i )
     for( int i = 0; i < gr; ++i )
         buff1[ i ] = buff2[ i ];
         buff1[ i ] = buff2[ i ];
     b->release();
     b->release();
@@ -1392,59 +1395,59 @@ void Fenster::setSBgBild( Bild *b ) // setzt das Schlie
 
 
 void Fenster::setSBgBildZ( Bild *b )
 void Fenster::setSBgBildZ( Bild *b )
 {
 {
-    if( bgSchließBild )
-        bgSchließBild->release();
-    bgSchließBild = b;
+    if( bgClosingBild )
+        bgClosingBild->release();
+    bgClosingBild = b;
     rend = 1;
     rend = 1;
 }
 }
 
 
 // -- Schließen AlphaFeld -- 
 // -- Schließen AlphaFeld -- 
 void Fenster::setSAlphaFeldZ( AlphaFeld *af ) // setzt das Schließ AlphaFeld
 void Fenster::setSAlphaFeldZ( AlphaFeld *af ) // setzt das Schließ AlphaFeld
 {
 {
-    if( schließBuffer )
-        schließBuffer->release();
-    schließBuffer = af;
+    if( closeBuffer )
+        closeBuffer->release();
+    closeBuffer = af;
     rend = 1;
     rend = 1;
 }
 }
 
 
 void Fenster::setSAfFarbe( int f ) // setzt die Farbe des Schließ AlphaFeldes
 void Fenster::setSAfFarbe( int f ) // setzt die Farbe des Schließ AlphaFeldes
 {
 {
-    if( !schließBuffer )
-        schließBuffer = new AlphaFeld();
-    schließBuffer->setFarbe( f );
+    if( !closeBuffer )
+        closeBuffer = new AlphaFeld();
+    closeBuffer->setFarbe( f );
     rend = 1;
     rend = 1;
 }
 }
 
 
-void Fenster::setSAfStärke( int st ) // setzt die Stärke des Schließ AlphaFeldes
+void Fenster::setSAfStrength( int st ) // setzt die Stärke des Schließ AlphaFeldes
 {
 {
-    if( !schließBuffer )
-        schließBuffer = new AlphaFeld();
-    schließBuffer->setStärke( st );
+    if( !closeBuffer )
+        closeBuffer = new AlphaFeld();
+    closeBuffer->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
 // -- Schließen Klick AlphaFeld -- 
 // -- Schließen Klick AlphaFeld -- 
 void Fenster::setSKAlphaFeldZ( AlphaFeld *af ) // setzt das Schließ klick AlphaFeld
 void Fenster::setSKAlphaFeldZ( AlphaFeld *af ) // setzt das Schließ klick AlphaFeld
 {
 {
-    if( schließKlickBuffer )
-        schließKlickBuffer->release();
-    schließKlickBuffer = af;
+    if( closeKlickBuffer )
+        closeKlickBuffer->release();
+    closeKlickBuffer = af;
     rend = 1;
     rend = 1;
 }
 }
 
 
 void Fenster::setSKAfFarbe( int f ) // setzt die Farbe des Schließ klick AlphaFeldes
 void Fenster::setSKAfFarbe( int f ) // setzt die Farbe des Schließ klick AlphaFeldes
 {
 {
-    if( !schließKlickBuffer )
-        schließKlickBuffer = new AlphaFeld();
-    schließKlickBuffer->setFarbe( f );
+    if( !closeKlickBuffer )
+        closeKlickBuffer = new AlphaFeld();
+    closeKlickBuffer->setFarbe( f );
     rend = 1;
     rend = 1;
 }
 }
 
 
-void Fenster::setSKAfStärke( int st ) // setzt die Stärke des Schließ klick AlphaFeldes
+void Fenster::setSKAfStrength( int st ) // setzt die Stärke des Schließ klick AlphaFeldes
 {
 {
-    if( !schließKlickBuffer )
-        schließKlickBuffer = new AlphaFeld();
-    schließKlickBuffer->setStärke( st );
+    if( !closeKlickBuffer )
+        closeKlickBuffer = new AlphaFeld();
+    closeKlickBuffer->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -1533,7 +1536,7 @@ void Fenster::setVSBMax( int max )
     if( hatStyle( Style::Rahmen ) && rahmen )
     if( hatStyle( Style::Rahmen ) && rahmen )
         rbr = rahmen->getRBreite();
         rbr = rahmen->getRBreite();
     if( hatStyle( Style::Titel ) && titel )
     if( hatStyle( Style::Titel ) && titel )
-        th = titel->getHöhe();
+        th = titel->getHeight();
     int hsh = 0;
     int hsh = 0;
     if( hatStyle( Style::HScroll ) && hScroll )
     if( hatStyle( Style::HScroll ) && hScroll )
         hsh = 15;
         hsh = 15;
@@ -1601,7 +1604,7 @@ void Fenster::doMausEreignis( MausEreignis &me )
         {
         {
             mausIn = 0;
             mausIn = 0;
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -1609,7 +1612,7 @@ void Fenster::doMausEreignis( MausEreignis &me )
             return;
             return;
         }
         }
     }
     }
-    else if( !mausIn && me.id != ME_Verlässt )
+    else if( !mausIn && me.id != ME_Leaves )
     {
     {
         mausIn = 1;
         mausIn = 1;
         MausEreignis me2;
         MausEreignis me2;
@@ -1634,76 +1637,76 @@ void Fenster::doMausEreignis( MausEreignis &me )
             rbr = rahmen->getRBreite();
             rbr = rahmen->getRBreite();
         int th = 0;
         int th = 0;
         if( hatStyle( Style::Titel ) && titel )
         if( hatStyle( Style::Titel ) && titel )
-            th = titel->getHöhe();
+            th = titel->getHeight();
         bool hSc = hatStyle( Style::HScroll ) && hScroll;
         bool hSc = hatStyle( Style::HScroll ) && hScroll;
         bool vSc = hatStyle( Style::VScroll ) && vScroll;
         bool vSc = hatStyle( Style::VScroll ) && vScroll;
         if( !me.verarbeitet && me.id == ME_Bewegung && klick )
         if( !me.verarbeitet && me.id == ME_Bewegung && klick )
         {
         {
-            if( hatStyle( Style::Beweglich ) || hatStyle( Style::HöheÄnderbar ) || hatStyle( Style::BreiteÄnderbar ) || hatStyle( Style::TitelHöheÄnderbar ) )
+            if( hatStyle( Style::Beweglich ) || hatStyle( Style::HeightChangeable ) || hatStyle( Style::BreiteChangeable ) || hatStyle( Style::TitelHeightChangeable ) )
             {
             {
                 if( Mak( makParam, this, me ) )
                 if( Mak( makParam, this, me ) )
                 {
                 {
                     mpr = 1;
                     mpr = 1;
                     bool ret1 = 0;
                     bool ret1 = 0;
                     bool mset = 0;
                     bool mset = 0;
-                    int schö = 0;
+                    int schi = 0;
                     int scbr = 0;
                     int scbr = 0;
                     if( hSc )
                     if( hSc )
                     {
                     {
-                        schö = 15;
+                        schi = 15;
                         scbr = 40;
                         scbr = 40;
                     }
                     }
                     if( vSc )
                     if( vSc )
                     {
                     {
                         scbr += 15;
                         scbr += 15;
-                        schö = 40;
+                        schi = 40;
                     }
                     }
                     bool minXb, maxXb, minYb, maxYb;
                     bool minXb, maxXb, minYb, maxYb;
                     bool kMinXb, kMaxXb, kMinYb, kMaxYb;
                     bool kMinXb, kMaxXb, kMinYb, kMaxYb;
                     minXb = hatStyle( Style::MinBr );
                     minXb = hatStyle( Style::MinBr );
                     maxXb = hatStyle( Style::MaxBr );
                     maxXb = hatStyle( Style::MaxBr );
-                    minYb = hatStyle( Style::MinHö );
-                    maxYb = hatStyle( Style::MaxHö );
-                    kMinXb = hatStyle( Style::Körper_minBr );
-                    kMaxXb = hatStyle( Style::Körper_maxBr );
-                    kMinYb = hatStyle( Style::Körper_minHö );
-                    kMaxYb = hatStyle( Style::Körper_maxHö );
+                    minYb = hatStyle( Style::MinHi );
+                    maxYb = hatStyle( Style::MaxHi );
+                    kMinXb = hatStyle( Style::BodyMinBr );
+                    kMaxXb = hatStyle( Style::BodyMaxBr );
+                    kMinYb = hatStyle( Style::BodyMinHi );
+                    kMaxYb = hatStyle( Style::BodyMaxHi );
                     int fMinBr = rbr * 2 + scbr;
                     int fMinBr = rbr * 2 + scbr;
                     if( minXb )
                     if( minXb )
                         fMinBr = fMinBr < min.x ? min.x : fMinBr;
                         fMinBr = fMinBr < min.x ? min.x : fMinBr;
                     if( kMinXb )
                     if( kMinXb )
                         fMinBr = fMinBr < ( rbr * 2 + kMin.x + scbr ) ? ( rbr * 2 + kMin.x + scbr ) : fMinBr;
                         fMinBr = fMinBr < ( rbr * 2 + kMin.x + scbr ) ? ( rbr * 2 + kMin.x + scbr ) : fMinBr;
-                    int fMinHö = rbr * 2 + th + schö;
+                    int fMinHi = rbr * 2 + th + schi;
                     if( minYb )
                     if( minYb )
-                        fMinHö = fMinHö < min.y ? min.y : fMinHö;
+                        fMinHi = fMinHi < min.y ? min.y : fMinHi;
                     if( kMinYb )
                     if( kMinYb )
-                        fMinHö = fMinHö < ( rbr * 2 + kMin.y + th + schö ) ? ( rbr * 2 + kMin.y + th + schö ) : fMinHö;
+                        fMinHi = fMinHi < ( rbr * 2 + kMin.y + th + schi ) ? ( rbr * 2 + kMin.y + th + schi ) : fMinHi;
                     int fMaxBr = 0;
                     int fMaxBr = 0;
                     if( maxXb )
                     if( maxXb )
                         fMaxBr = max.x;
                         fMaxBr = max.x;
                     if( kMaxXb )
                     if( kMaxXb )
                         fMaxBr = fMaxBr < ( rbr * 2 + kMax.x + scbr ) ? ( rbr * 2 + kMax.x + scbr ) : fMaxBr;
                         fMaxBr = fMaxBr < ( rbr * 2 + kMax.x + scbr ) ? ( rbr * 2 + kMax.x + scbr ) : fMaxBr;
-                    int fMaxHö = 0;
+                    int fMaxHi = 0;
                     if( maxYb )
                     if( maxYb )
-                        fMaxHö = max.y;
+                        fMaxHi = max.y;
                     if( kMaxYb )
                     if( kMaxYb )
-                        fMaxHö = fMaxHö < ( rbr * 2 + kMax.y + th + schö ) ? ( rbr * 2 + kMax.y + th + schö ) : fMaxHö;
+                        fMaxHi = fMaxHi < ( rbr * 2 + kMax.y + th + schi ) ? ( rbr * 2 + kMax.y + th + schi ) : fMaxHi;
                     minXb |= kMinXb, maxXb |= kMaxXb, minYb |= kMinYb, maxYb |= kMaxYb;
                     minXb |= kMinXb, maxXb |= kMaxXb, minYb |= kMinYb, maxYb |= kMaxYb;
-                    if( hatStyle( Style::HöheÄnderbar ) )
+                    if( hatStyle( Style::HeightChangeable ) )
                     {
                     {
                         if( mx > -5 && mx < gr.x + 5 && my > -5 && my < rbr )
                         if( mx > -5 && mx < gr.x + 5 && my > -5 && my < rbr )
                         {
                         {
                             pos.y -= my - me.my;
                             pos.y -= my - me.my;
                             gr.y += my - me.my;
                             gr.y += my - me.my;
-                            if( gr.y < fMinHö )
+                            if( gr.y < fMinHi )
                             {
                             {
-                                pos.y += fMinHö - gr.y;
-                                gr.y = fMinHö;
+                                pos.y += fMinHi - gr.y;
+                                gr.y = fMinHi;
                             }
                             }
-                            else if( maxYb && gr.y > fMaxHö )
+                            else if( maxYb && gr.y > fMaxHi )
                             {
                             {
-                                pos.y += gr.y - fMaxHö;
-                                gr.y = fMaxHö;
+                                pos.y += gr.y - fMaxHi;
+                                gr.y = fMaxHi;
                             }
                             }
                             else if( vSc )
                             else if( vSc )
                                 vScroll->getScrollData()->anzeige = gr.y;
                                 vScroll->getScrollData()->anzeige = gr.y;
@@ -1713,10 +1716,10 @@ void Fenster::doMausEreignis( MausEreignis &me )
                         else if( mx > -5 && mx < gr.x + 5 && my > gr.y - rbr && my < gr.y + 5 )
                         else if( mx > -5 && mx < gr.x + 5 && my > gr.y - rbr && my < gr.y + 5 )
                         {
                         {
                             gr.y += me.my - my;
                             gr.y += me.my - my;
-                            if( gr.y < fMinHö )
-                                gr.y = fMinHö;
-                            else if( maxYb && gr.y > fMaxHö )
-                                gr.y = fMaxHö;
+                            if( gr.y < fMinHi )
+                                gr.y = fMinHi;
+                            else if( maxYb && gr.y > fMaxHi )
+                                gr.y = fMaxHi;
                             else
                             else
                             {
                             {
                                 mset = 1;
                                 mset = 1;
@@ -1727,7 +1730,7 @@ void Fenster::doMausEreignis( MausEreignis &me )
                             ret1 = 1;
                             ret1 = 1;
                         }
                         }
                     }
                     }
-                    if( hatStyle( Style::BreiteÄnderbar ) )
+                    if( hatStyle( Style::BreiteChangeable ) )
                     {
                     {
                         if( mx > -5 && mx < rbr && my > -5 && my < gr.y + 5 )
                         if( mx > -5 && mx < rbr && my > -5 && my < gr.y + 5 )
                         {
                         {
@@ -1765,18 +1768,18 @@ void Fenster::doMausEreignis( MausEreignis &me )
                             ret1 = 1;
                             ret1 = 1;
                         }
                         }
                     }
                     }
-                    if( hatStyle( Style::TitelHöheÄnderbar ) && titel && mx > -5 && mx < gr.x + 5 && my < rbr + th + 5 && my > rbr + th )
+                    if( hatStyle( Style::TitelHeightChangeable ) && titel && mx > -5 && mx < gr.x + 5 && my < rbr + th + 5 && my > rbr + th )
                     {
                     {
-                        int maxTh = gr.y - rbr * 2 - schö;
+                        int maxTh = gr.y - rbr * 2 - schi;
                         if( kMaxYb )
                         if( kMaxYb )
                             maxTh = maxTh < ( gr.x - rbr * 2 - kMin.y ) ? maxTh : ( gr.x - rbr * 2 - kMin.y );
                             maxTh = maxTh < ( gr.x - rbr * 2 - kMin.y ) ? maxTh : ( gr.x - rbr * 2 - kMin.y );
-                        if( hatStyle( Style::Schließbar ) )
+                        if( hatStyle( Style::Closable ) )
                             maxTh = ( gr.x - th - 5 - rbr * 2 - me.my + my ) < 0 ? th : maxTh;
                             maxTh = ( gr.x - th - 5 - rbr * 2 - me.my + my ) < 0 ? th : maxTh;
-                        titel->setGröße( titel->getBreite(), titel->getHöhe() + me.my - my );
-                        if( titel->getHöhe() > maxTh )
-                            titel->setGröße( titel->getBreite(), maxTh );
-                        else if( titel->getHöhe() < 5 )
-                            titel->setGröße( titel->getBreite(), 5 );
+                        titel->setSize( titel->getBreite(), titel->getHeight() + me.my - my );
+                        if( titel->getHeight() > maxTh )
+                            titel->setSize( titel->getBreite(), maxTh );
+                        else if( titel->getHeight() < 5 )
+                            titel->setSize( titel->getBreite(), 5 );
                         else
                         else
                             mset = 1;
                             mset = 1;
                         rend = 1;
                         rend = 1;
@@ -1805,16 +1808,16 @@ void Fenster::doMausEreignis( MausEreignis &me )
         {
         {
             if( me.id == ME_RLinks )
             if( me.id == ME_RLinks )
             {
             {
-                if( schließKlick )
+                if( closeKlick )
                     rend = 1;
                     rend = 1;
-                schließKlick = 0, klick = 0;
+                closeKlick = 0, klick = 0;
                 mx = -1, my = -1;
                 mx = -1, my = -1;
             }
             }
-            if( me.id == ME_Verlässt )
+            if( me.id == ME_Leaves )
             {
             {
-                if( schließKlick != 0 )
+                if( closeKlick != 0 )
                     rend = 1;
                     rend = 1;
-                schließKlick = 0, klick = 0;
+                closeKlick = 0, klick = 0;
                 mx = -1, my = -1;
                 mx = -1, my = -1;
             }
             }
             if( !me.verarbeitet )
             if( !me.verarbeitet )
@@ -1824,30 +1827,30 @@ void Fenster::doMausEreignis( MausEreignis &me )
                     klick = 1;
                     klick = 1;
                     mx = me.mx, my = me.my;
                     mx = me.mx, my = me.my;
                 }
                 }
-                if( hatStyle( Style::Schließbar ) && me.my <= th + rbr && me.mx >= gr.x + rbr - th && me.my >= rbr && me.mx <= gr.x - rbr )
+                if( hatStyle( Style::Closable ) && me.my <= th + rbr && me.mx >= gr.x + rbr - th && me.my >= rbr && me.mx <= gr.x - rbr )
                 {
                 {
-                    if( !schließenMe || schließenMe( schließenMeParam, this, me ) )
+                    if( !closingMe || closingMe( closingMeParam, this, me ) )
                     {
                     {
                         if( me.id == ME_PLinks )
                         if( me.id == ME_PLinks )
                         {
                         {
-                            schließKlick = 1;
+                            closeKlick = 1;
                             rend = 1;
                             rend = 1;
                         }
                         }
-                        if( !schließKlick && MausStand[ M_Links ] )
+                        if( !closeKlick && MausStand[ M_Links ] )
                         {
                         {
-                            schließKlick = 1;
+                            closeKlick = 1;
                             rend = 1;
                             rend = 1;
                         }
                         }
                         me.verarbeitet = 1;
                         me.verarbeitet = 1;
                     }
                     }
                 }
                 }
-                else if( schließKlick )
+                else if( closeKlick )
                 {
                 {
-                    schließKlick = 0;
+                    closeKlick = 0;
                     rend = 1;
                     rend = 1;
                 }
                 }
             }
             }
-            if( members && me.id != ME_Betritt && me.id != ME_Verlässt )
+            if( members && me.id != ME_Betritt && me.id != ME_Leaves )
             {
             {
                 if( vSc )
                 if( vSc )
                 {
                 {
@@ -1927,11 +1930,11 @@ void Fenster::render( Bild &zRObj ) // zeichent nach zRObj
             unlockZeichnung();
             unlockZeichnung();
             return;
             return;
         }
         }
-        __super::render( zRObj );
+		Zeichnung::render( zRObj );
         int rbr = 0;
         int rbr = 0;
         if( hatStyle( Style::Rahmen ) && rahmen )
         if( hatStyle( Style::Rahmen ) && rahmen )
         {
         {
-            rahmen->setGröße( gr );
+            rahmen->setSize( gr );
             rahmen->render( zRObj );
             rahmen->render( zRObj );
             rbr = rahmen->getRBreite();
             rbr = rahmen->getRBreite();
         }
         }
@@ -1942,7 +1945,7 @@ void Fenster::render( Bild &zRObj ) // zeichent nach zRObj
             titel->setStyle( TextFeld::Style::HAlpha, hatStyle( Style::TitelHAlpha ) );
             titel->setStyle( TextFeld::Style::HAlpha, hatStyle( Style::TitelHAlpha ) );
             titel->setStyle( TextFeld::Style::HBild, hatStyle( Style::TitelHBild ) );
             titel->setStyle( TextFeld::Style::HBild, hatStyle( Style::TitelHBild ) );
             titel->setStyle( TextFeld::Style::Buffered, hatStyle( Style::TitelBuffered ) );
             titel->setStyle( TextFeld::Style::Buffered, hatStyle( Style::TitelBuffered ) );
-            th = titel->getHöhe();
+            th = titel->getHeight();
             if( !zRObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, th ) )
             if( !zRObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, th ) )
             {
             {
                 zRObj.releaseDrawOptions();
                 zRObj.releaseDrawOptions();
@@ -1950,42 +1953,42 @@ void Fenster::render( Bild &zRObj ) // zeichent nach zRObj
                 return;
                 return;
             }
             }
             int sbr = 0;
             int sbr = 0;
-            if( hatStyle( Style::Schließbar ) )
+            if( hatStyle( Style::Closable ) )
             {
             {
                 sbr = th;
                 sbr = th;
-                if( hatStyle( Style::SchließHintergrund ) )
+                if( hatStyle( Style::ClosingHintergrund ) )
                 {
                 {
-                    if( hatStyle( Style::SchließHAlpha ) )
-                        zRObj.alphaRegion( gr.x - th - rbr * 2, 0, th, th, bgSchließFarbe );
+                    if( hatStyle( Style::ClosingHAlpha ) )
+                        zRObj.alphaRegion( gr.x - th - rbr * 2, 0, th, th, bgClosingFarbe );
                     else
                     else
-                        zRObj.füllRegion( gr.x - th - rbr * 2, 0, th, th, bgSchließFarbe );
-                    if( hatStyle( Style::SchließHBild ) && bgSchließBild )
+                        zRObj.fillRegion( gr.x - th - rbr * 2, 0, th, th, bgClosingFarbe );
+                    if( hatStyle( Style::ClosingHBild ) && bgClosingBild )
                     {
                     {
-                        if( hatStyle( Style::SchließHAlpha ) )
-                            zRObj.alphaBild( gr.x - th - rbr * 2, 0, th, th, *bgSchließBild );
+                        if( hatStyle( Style::ClosingHAlpha ) )
+                            zRObj.alphaBild( gr.x - th - rbr * 2, 0, th, th, *bgClosingBild );
                         else
                         else
-                            zRObj.drawBild( gr.x - th - rbr * 2, 0, th, th, *bgSchließBild );
+                            zRObj.drawBild( gr.x - th - rbr * 2, 0, th, th, *bgClosingBild );
                     }
                     }
                 }
                 }
-                if( !hatStyle( Style::SchließHBild ) || !bgSchließBild )
+                if( !hatStyle( Style::ClosingHBild ) || !bgClosingBild )
                 {
                 {
                     zRObj.drawLinie( Punkt( gr.x - th - rbr * 2, 0 ), Punkt( gr.x - rbr * 2, th ), 0xFFFFFFFF );
                     zRObj.drawLinie( Punkt( gr.x - th - rbr * 2, 0 ), Punkt( gr.x - rbr * 2, th ), 0xFFFFFFFF );
                     zRObj.drawLinie( Punkt( gr.x - rbr * 2, 0 ), Punkt( gr.x - th - rbr * 2, th ), 0xFFFFFFFF );
                     zRObj.drawLinie( Punkt( gr.x - rbr * 2, 0 ), Punkt( gr.x - th - rbr * 2, th ), 0xFFFFFFFF );
                 }
                 }
-                if( hatStyle( Style::SchließBuffer ) && schließBuffer )
+                if( hatStyle( Style::ClosingBuffer ) && closeBuffer )
                 {
                 {
-                    schließBuffer->setPosition( gr.x - th - rbr * 2, 0 );
-                    schließBuffer->setGröße( th, th );
-                    schließBuffer->render( zRObj );
+                    closeBuffer->setPosition( gr.x - th - rbr * 2, 0 );
+                    closeBuffer->setSize( th, th );
+                    closeBuffer->render( zRObj );
                 }
                 }
-                if( hatStyle( Style::SchließKlickBuffer ) && schließKlickBuffer && schließKlick )
+                if( hatStyle( Style::ClosingKlickBuffer ) && closeKlickBuffer && closeKlick )
                 {
                 {
-                    schließKlickBuffer->setPosition( gr.x - th - rbr * 2, 0 );
-                    schließKlickBuffer->setGröße( th, th );
-                    schließKlickBuffer->render( zRObj );
+                    closeKlickBuffer->setPosition( gr.x - th - rbr * 2, 0 );
+                    closeKlickBuffer->setSize( th, th );
+                    closeKlickBuffer->render( zRObj );
                 }
                 }
             }
             }
-            titel->setGröße( gr.x - rbr * 2 - sbr, th );
+            titel->setSize( gr.x - rbr * 2 - sbr, th );
             titel->render( zRObj );
             titel->render( zRObj );
             zRObj.releaseDrawOptions();
             zRObj.releaseDrawOptions();
         }
         }
@@ -2003,37 +2006,35 @@ void Fenster::render( Bild &zRObj ) // zeichent nach zRObj
         int x = rbr;
         int x = rbr;
         int y = rbr + th;
         int y = rbr + th;
         int br = gr.x - rbr * 2;
         int br = gr.x - rbr * 2;
-        int hö = gr.y - rbr * 2 - th;
+        int hi = gr.y - rbr * 2 - th;
         if( vSc )
         if( vSc )
             br -= 16;
             br -= 16;
         if( hSc )
         if( hSc )
-            hö -= 16;
-        if( !zRObj.setDrawOptions( x, y, br, hö ) )
+            hi -= 16;
+        if( !zRObj.setDrawOptions( x, y, br, hi ) )
         {
         {
             zRObj.releaseDrawOptions();
             zRObj.releaseDrawOptions();
             unlockZeichnung();
             unlockZeichnung();
             return;
             return;
         }
         }
-        if( hatStyle( Style::KörperHintergrund ) )
+        if( hatStyle( Style::BodyHintergrund ) )
         {
         {
-            if( hatStyle( Style::KörperHAlpha ) )
-                zRObj.alphaRegion( 0, 0, br, hö, bgKörperFarbe );
+            if( hatStyle( Style::BodyHAlpha ) )
+                zRObj.alphaRegion( 0, 0, br, hi, bgBodyColor );
             else
             else
-                zRObj.füllRegion( 0, 0, br, hö, bgKörperFarbe );
-            if( hatStyle( Style::KörperHBild ) && bgKörperBild )
+                zRObj.fillRegion( 0, 0, br, hi, bgBodyColor );
+            if( hatStyle( Style::BodyHBild ) && bgBodyPicture )
             {
             {
-                int *bgBuff = bgKörperBild->getBuffer();
-                int bgBr = bgKörperBild->getBreite();
-                if( hatStyle( Style::KörperHAlpha ) )
-                    zRObj.alphaBild( 0, 0, br, hö, *bgKörperBild );
+                if( hatStyle( Style::BodyHAlpha ) )
+                    zRObj.alphaBild( 0, 0, br, hi, *bgBodyPicture );
                 else
                 else
-                    zRObj.drawBild( 0, 0, br, hö, *bgKörperBild );
+                    zRObj.drawBild( 0, 0, br, hi, *bgBodyPicture );
             }
             }
         }
         }
-        if( hatStyle( Style::KörperBuffered ) && körperBuffer )
+        if( hatStyle( Style::BodyBuffered ) && bodyBuffer )
         {
         {
-            körperBuffer->setGröße( br, hö );
-            körperBuffer->render( zRObj );
+            bodyBuffer->setSize( br, hi );
+            bodyBuffer->render( zRObj );
         }
         }
         if( members )
         if( members )
         {
         {
@@ -2128,11 +2129,11 @@ int Fenster::getTSFarbe() const // gibt die Titel Schrift Farbe zur
     return titel->getSchriftFarbe();
     return titel->getSchriftFarbe();
 }
 }
 
 
-int Fenster::getTSGröße() const // gibt die Titel Schrift Größe zurück
+int Fenster::getTSSize() const // gibt die Titel Schrift Größe zurück
 {
 {
     if( !titel )
     if( !titel )
         return 0;
         return 0;
-    return titel->getSchriftGröße();
+    return titel->getSchriftSize();
 }
 }
 
 
 // -- Titel Hintergrund -- 
 // -- Titel Hintergrund -- 
@@ -2165,11 +2166,11 @@ int Fenster::getTAfFarbe() const // gibt die Farbe des Titel AlphaFeldes zur
     return titel->getAlphaFeldFarbe();
     return titel->getAlphaFeldFarbe();
 }
 }
 
 
-int Fenster::getTAfStärke() const // gibt die Stärke des TitelAlphaFeldes zurück
+int Fenster::getTAfStrength() const // gibt die Stärke des TitelAlphaFeldes zurück
 {
 {
     if( !titel )
     if( !titel )
         return 0;
         return 0;
-    return titel->getAlphaFeldStärke();
+    return titel->getAlphaFeldStrength();
 }
 }
 
 
 // -- Titel Hintergrund Bild -- 
 // -- Titel Hintergrund Bild -- 
@@ -2219,120 +2220,120 @@ int Fenster::getTRBreite() const // gibt die Breite des Titel Rahmens zur
 // -- Körper Hintergrund -- 
 // -- Körper Hintergrund -- 
 int Fenster::getKBgFarbe() const // gibt die Körper Hintergrund Farbe zurück
 int Fenster::getKBgFarbe() const // gibt die Körper Hintergrund Farbe zurück
 {
 {
-    return bgKörperFarbe;
+    return bgBodyColor;
 }
 }
 
 
 // -- Körper Hintergrund Bild -- 
 // -- Körper Hintergrund Bild -- 
 Bild *Fenster::getKBgBild() const // gibt das Körper Hintergrund Bild zurück
 Bild *Fenster::getKBgBild() const // gibt das Körper Hintergrund Bild zurück
 {
 {
-    if( !bgKörperBild )
+    if( !bgBodyPicture )
         return 0;
         return 0;
-    return bgKörperBild->getThis();
+    return bgBodyPicture->getThis();
 }
 }
 
 
 Bild *Fenster::zKBgBild() const
 Bild *Fenster::zKBgBild() const
 {
 {
-    return bgKörperBild;
+    return bgBodyPicture;
 }
 }
 
 
 // -- Körper AlphaFeld -- 
 // -- Körper AlphaFeld -- 
 AlphaFeld *Fenster::getKAlphaFeld() const // gibt das Körper AlphaFeld zurück
 AlphaFeld *Fenster::getKAlphaFeld() const // gibt das Körper AlphaFeld zurück
 {
 {
-    if( !körperBuffer )
+    if( !bodyBuffer )
         return 0;
         return 0;
-    return körperBuffer->getThis();
+    return bodyBuffer->getThis();
 }
 }
 
 
 AlphaFeld *Fenster::zKAlphaFeld() const
 AlphaFeld *Fenster::zKAlphaFeld() const
 {
 {
-    return körperBuffer;
+    return bodyBuffer;
 }
 }
 
 
 int Fenster::getKAfFarbe() const // gibt die Farbe des Körper AlphaFeldes zurück
 int Fenster::getKAfFarbe() const // gibt die Farbe des Körper AlphaFeldes zurück
 {
 {
-    if( !körperBuffer )
+    if( !bodyBuffer )
         return 0;
         return 0;
-    return körperBuffer->getFarbe();
+    return bodyBuffer->getFarbe();
 }
 }
 
 
-int Fenster::getKAfStärke() const // gibt die Stärke des Körper AlphaFeldes zurück
+int Fenster::getKAfStrength() const // gibt die Stärke des Körper AlphaFeldes zurück
 {
 {
-    if( !körperBuffer )
+    if( !bodyBuffer )
         return 0;
         return 0;
-    return körperBuffer->getStärke();
+    return bodyBuffer->getStrength();
 }
 }
 
 
 // -- Schließen Hintergrund -- 
 // -- Schließen Hintergrund -- 
 int Fenster::getSBgFarbe() const // gibt die Schließ Hintergrund Farbe zurück
 int Fenster::getSBgFarbe() const // gibt die Schließ Hintergrund Farbe zurück
 {
 {
-    return bgSchließFarbe;
+    return bgClosingFarbe;
 }
 }
 
 
 // -- Schließen Hintergrund Bild -- 
 // -- Schließen Hintergrund Bild -- 
 Bild *Fenster::getSBgBild() const // gibt das Schließ Hintergrund Bild zurück
 Bild *Fenster::getSBgBild() const // gibt das Schließ Hintergrund Bild zurück
 {
 {
-    if( !bgSchließBild )
+    if( !bgClosingBild )
         return 0;
         return 0;
-    return bgSchließBild->getThis();
+    return bgClosingBild->getThis();
 }
 }
 
 
 Bild *Fenster::zSBgBild() const
 Bild *Fenster::zSBgBild() const
 {
 {
-    return bgSchließBild;
+    return bgClosingBild;
 }
 }
 
 
 // -- Schließen AlphaFeld -- 
 // -- Schließen AlphaFeld -- 
 AlphaFeld *Fenster::getSAlphaFeld() const // gibt das Schließ AlphaFeld zurück
 AlphaFeld *Fenster::getSAlphaFeld() const // gibt das Schließ AlphaFeld zurück
 {
 {
-    if( !schließBuffer )
+    if( !closeBuffer )
         return 0;
         return 0;
-    return schließBuffer->getThis();
+    return closeBuffer->getThis();
 }
 }
 
 
 AlphaFeld *Fenster::zSAlphaFeld() const
 AlphaFeld *Fenster::zSAlphaFeld() const
 {
 {
-    return schließBuffer;
+    return closeBuffer;
 }
 }
 
 
 int Fenster::getSAfFarbe() const // gibt die Farbe des Schließ AlphaFeldes zurück
 int Fenster::getSAfFarbe() const // gibt die Farbe des Schließ AlphaFeldes zurück
 {
 {
-    if( !schließBuffer )
+    if( !closeBuffer )
         return 0;
         return 0;
-    return schließBuffer->getFarbe();
+    return closeBuffer->getFarbe();
 }
 }
 
 
-int Fenster::getSAfStärke() const // gibt die Stärke des Schließ AlphaFeldes zurück
+int Fenster::getSAfStrength() const // gibt die Stärke des Schließ AlphaFeldes zurück
 {
 {
-    if( !schließBuffer )
+    if( !closeBuffer )
         return 0;
         return 0;
-    return schließBuffer->getStärke();
+    return closeBuffer->getStrength();
 }
 }
 
 
 // -- Schließen Klick AlphaFeld -- 
 // -- Schließen Klick AlphaFeld -- 
 AlphaFeld *Fenster::getSKAlphaFeld() const // gibt das Schließ Klick AlphaFeld zurück
 AlphaFeld *Fenster::getSKAlphaFeld() const // gibt das Schließ Klick AlphaFeld zurück
 {
 {
-    if( !schließKlickBuffer )
+    if( !closeKlickBuffer )
         return 0;
         return 0;
-    return schließKlickBuffer->getThis();
+    return closeKlickBuffer->getThis();
 }
 }
 
 
 AlphaFeld *Fenster::zSKAlphaFeld() const
 AlphaFeld *Fenster::zSKAlphaFeld() const
 {
 {
-    return schließKlickBuffer;
+    return closeKlickBuffer;
 }
 }
 
 
 int Fenster::getSKAfFarbe() const // gibt die Farbe des Schließ Klick AlphaFeldes zurück
 int Fenster::getSKAfFarbe() const // gibt die Farbe des Schließ Klick AlphaFeldes zurück
 {
 {
-    if( !schließKlickBuffer )
+    if( !closeKlickBuffer )
         return 0;
         return 0;
-    return schließKlickBuffer->getFarbe();
+    return closeKlickBuffer->getFarbe();
 }
 }
 
 
-int Fenster::getSKAfStärke() const // gibt die Stärke des Schließ Klick AlphaFeldes zurück
+int Fenster::getSKAfStrength() const // gibt die Stärke des Schließ Klick AlphaFeldes zurück
 {
 {
-    if( !schließKlickBuffer )
+    if( !closeKlickBuffer )
         return 0;
         return 0;
-    return schließKlickBuffer->getStärke();
+    return closeKlickBuffer->getStrength();
 }
 }
 
 
 // -- min max -- 
 // -- min max -- 
@@ -2392,7 +2393,7 @@ Zeichnung *Fenster::dublizieren() const // Erzeugt eine Kopie des Fensters
 {
 {
     Fenster *ret = new Fenster();
     Fenster *ret = new Fenster();
     ret->setPosition( pos );
     ret->setPosition( pos );
-    ret->setGröße( gr );
+    ret->setSize( gr );
     ret->setMausEreignisParameter( makParam );
     ret->setMausEreignisParameter( makParam );
     ret->setTastaturEreignisParameter( takParam );
     ret->setTastaturEreignisParameter( takParam );
     ret->setMausEreignis( Mak );
     ret->setMausEreignis( Mak );
@@ -2400,8 +2401,8 @@ Zeichnung *Fenster::dublizieren() const // Erzeugt eine Kopie des Fensters
     if( toolTip )
     if( toolTip )
         ret->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
         ret->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
     ret->setStyle( style );
     ret->setStyle( style );
-    ret->setSchließenMeParam( schließenMeParam );
-    ret->setSchließenMe( schließenMe );
+    ret->setClosingMeParam( closingMeParam );
+    ret->setClosingMe( closingMe );
     if( rahmen )
     if( rahmen )
     {
     {
         ret->setRBreite( rahmen->getRBreite() );
         ret->setRBreite( rahmen->getRBreite() );
@@ -2409,26 +2410,26 @@ Zeichnung *Fenster::dublizieren() const // Erzeugt eine Kopie des Fensters
     }
     }
     if( titel )
     if( titel )
         ret->setTTextFeldZ( (TextFeld*)titel->dublizieren() );
         ret->setTTextFeldZ( (TextFeld*)titel->dublizieren() );
-    ret->setKBgFarbe( bgKörperFarbe );
-    if( bgKörperBild )
-        ret->setKBgBild( bgKörperBild->getThis() );
-    if( körperBuffer )
+    ret->setKBgFarbe( bgBodyColor );
+    if( bgBodyPicture )
+        ret->setKBgBild( bgBodyPicture->getThis() );
+    if( bodyBuffer )
     {
     {
-        ret->setKAfFarbe( körperBuffer->getFarbe() );
-        ret->setKAfStärke( körperBuffer->getStärke() );
+        ret->setKAfFarbe( bodyBuffer->getFarbe() );
+        ret->setKAfStrength( bodyBuffer->getStrength() );
     }
     }
-    ret->setSBgFarbe( bgSchließFarbe );
-    if( bgSchließBild )
-        ret->setSBgBild( bgSchließBild->getThis() );
-    if( schließBuffer )
+    ret->setSBgFarbe( bgClosingFarbe );
+    if( bgClosingBild )
+        ret->setSBgBild( bgClosingBild->getThis() );
+    if( closeBuffer )
     {
     {
-        ret->setSAfFarbe( schließBuffer->getFarbe() );
-        ret->setSAfStärke( schließBuffer->getStärke() );
+        ret->setSAfFarbe( closeBuffer->getFarbe() );
+        ret->setSAfStrength( closeBuffer->getStrength() );
     }
     }
-    if( schließKlickBuffer )
+    if( closeKlickBuffer )
     {
     {
-        ret->setSKAfFarbe( schließKlickBuffer->getFarbe() );
-        ret->setSKAfStärke( schließKlickBuffer->getStärke() );
+        ret->setSKAfFarbe( closeKlickBuffer->getFarbe() );
+        ret->setSKAfStrength( closeKlickBuffer->getStrength() );
     }
     }
     if( vScroll )
     if( vScroll )
     {
     {

+ 50 - 50
Fenster.h

@@ -17,7 +17,7 @@ namespace Framework
     class WFenster; // aus dieser Datei
     class WFenster; // aus dieser Datei
     class WFensterArray; // aus dieser Datei
     class WFensterArray; // aus dieser Datei
     class Fenster; // aus dieser Datei
     class Fenster; // aus dieser Datei
-
+#ifdef WIN32
     // Erzeugt eine normale Fensterklasse der Windows API
     // Erzeugt eine normale Fensterklasse der Windows API
     //  hInst: Die HINSTANCE des Programms (Wird vom Framework an die Start funktion in der Startparam Struktur übergeben)
     //  hInst: Die HINSTANCE des Programms (Wird vom Framework an die Start funktion in der Startparam Struktur übergeben)
     __declspec( dllexport ) WNDCLASS F_Normal( HINSTANCE hInst );
     __declspec( dllexport ) WNDCLASS F_Normal( HINSTANCE hInst );
@@ -82,11 +82,11 @@ namespace Framework
         __declspec( dllexport ) void setPosition( Punkt &pos );
         __declspec( dllexport ) void setPosition( Punkt &pos );
         // Setzt die Größe des Fensters auf dem Bildschirm
         // Setzt die Größe des Fensters auf dem Bildschirm
         //  größe: Die Größe in Pixeln
         //  größe: Die Größe in Pixeln
-        __declspec( dllexport ) void setGröße( Punkt &größe );
+        __declspec( dllexport ) void setSize( Punkt &größe );
         // Setzt die Größe des Fensters auf dem Bildschirm
         // Setzt die Größe des Fensters auf dem Bildschirm
         //  breite: Die Breite in Pixeln
         //  breite: Die Breite in Pixeln
         //  höhe: Die Höhe in Pixeln
         //  höhe: Die Höhe in Pixeln
-        __declspec( dllexport ) void setGröße( int breite, int höhe );
+        __declspec( dllexport ) void setSize( int breite, int höhe );
         // Setzt die Position und die Größe des Fensters
         // Setzt die Position und die Größe des Fensters
         //  pos: Die Position in Pixeln
         //  pos: Die Position in Pixeln
         //  größe: Die Größe in Pixeln
         //  größe: Die Größe in Pixeln
@@ -229,7 +229,7 @@ namespace Framework
     //  meldung: Die Meldung, die im Fenster angezeigt werden soll
     //  meldung: Die Meldung, die im Fenster angezeigt werden soll
     //  style: Bestimmt das Icon, was im Fenster angezeigt wird. Beispiel: MB_ICONERROR, MB_ICONINFORMATION
     //  style: Bestimmt das Icon, was im Fenster angezeigt wird. Beispiel: MB_ICONERROR, MB_ICONINFORMATION
     __declspec( dllexport ) void WMessageBox( HWND hWnd, Text *titel, Text *meldung, UINT style );
     __declspec( dllexport ) void WMessageBox( HWND hWnd, Text *titel, Text *meldung, UINT style );
-
+#endif
     // Fenster Klasse im Programm
     // Fenster Klasse im Programm
     class Fenster : public Zeichnung
     class Fenster : public Zeichnung
     {
     {
@@ -237,63 +237,63 @@ namespace Framework
         class Style : public Zeichnung::Style
         class Style : public Zeichnung::Style
         {
         {
         public:
         public:
-            const static __int64 KörperHintergrund = 0x000000008; // Legt fest, ob der Körper des Fensters einen Hintergrund hat
-            const static __int64 KörperHAlpha = 0x000000010; // Legt fest, ob beim zeichnen des Körperhintergrundes alpha blending verwendet werden soll
-            const static __int64 KörperHBild = 0x000000020; // Legt fest, ob ein Bild als Hintergrund des Körpers verwendet werden soll
-            const static __int64 KörperBuffered = 0x000000040; // Legt fest, ob der Körper einen Farbübergang besitzt
+            const static __int64 BodyHintergrund = 0x000000008; // Legt fest, ob der Körper des Fensters einen Hintergrund hat
+            const static __int64 BodyHAlpha = 0x000000010; // Legt fest, ob beim zeichnen des Körperhintergrundes alpha blending verwendet werden soll
+            const static __int64 BodyHBild = 0x000000020; // Legt fest, ob ein Bild als Hintergrund des Körpers verwendet werden soll
+            const static __int64 BodyBuffered = 0x000000040; // Legt fest, ob der Körper einen Farbübergang besitzt
             const static __int64 Titel = 0x000000080; // Legt fest, ob das Fenster eine Titelleiste hat
             const static __int64 Titel = 0x000000080; // Legt fest, ob das Fenster eine Titelleiste hat
             const static __int64 TitelHintergrund = 0x000000100; // Legt fest, ob die titelleiste des Fensters einen Hintergrund hat
             const static __int64 TitelHintergrund = 0x000000100; // Legt fest, ob die titelleiste des Fensters einen Hintergrund hat
             const static __int64 TitelHAlpha = 0x000000200; // Legt fest, ob zum zeichnen des Titel Hintergrundes alpha blending verwendet werden soll
             const static __int64 TitelHAlpha = 0x000000200; // Legt fest, ob zum zeichnen des Titel Hintergrundes alpha blending verwendet werden soll
             const static __int64 TitelHBild = 0x000000400; // Legt fest, ob für den Titelhintergrund ein Bild verwendet werden soll
             const static __int64 TitelHBild = 0x000000400; // Legt fest, ob für den Titelhintergrund ein Bild verwendet werden soll
             const static __int64 TitelBuffered = 0x000000800; // Legt fest, ob die Titel Leiste einen Farbübergang besitzt
             const static __int64 TitelBuffered = 0x000000800; // Legt fest, ob die Titel Leiste einen Farbübergang besitzt
-            const static __int64 Schließbar = 0x000001000; // Legt fest, ob in der Titelleiste ein Knopf zum Schließen des Fensters angezeigt werden soll
-            const static __int64 SchließHintergrund = 0x000002000; // Legt fest, ob der Schließen Knopf einen Hintergrund hat
-            const static __int64 SchließHAlpha = 0x000004000; // Legt fest, ob beim Zeichnen des Hintergrunds des Schließen Knopfes alpha blending verwendet werden soll
-            const static __int64 SchließHBild = 0x000008000; // Legt fest, ob für den Hintergrund des Schließen Knopfes ein Bild verwendet werden soll
-            const static __int64 SchließBuffer = 0x000010000; // Legt fest, ob der Schließen Knopf einen Farbübergang besitzt
-            const static __int64 SchließKlickBuffer = 0x000020000; // Legt fest, ob der Schließen Knopf einen Farbübergang besitzt, während er gedrückt wird
+            const static __int64 Closable = 0x000001000; // Legt fest, ob in der Titelleiste ein Knopf zum Schließen des Fensters angezeigt werden soll
+            const static __int64 ClosingHintergrund = 0x000002000; // Legt fest, ob der Schließen Knopf einen Hintergrund hat
+            const static __int64 ClosingHAlpha = 0x000004000; // Legt fest, ob beim Zeichnen des Hintergrunds des Schließen Knopfes alpha blending verwendet werden soll
+            const static __int64 ClosingHBild = 0x000008000; // Legt fest, ob für den Hintergrund des Schließen Knopfes ein Bild verwendet werden soll
+            const static __int64 ClosingBuffer = 0x000010000; // Legt fest, ob der Schließen Knopf einen Farbübergang besitzt
+            const static __int64 ClosingKlickBuffer = 0x000020000; // Legt fest, ob der Schließen Knopf einen Farbübergang besitzt, während er gedrückt wird
             const static __int64 Beweglich = 0x000040000; // Legt fest, ob der Benutzer das Fenster durch gedrückt halten der linken Maustaste in der Titelleiste das Fenster verschieben kann
             const static __int64 Beweglich = 0x000040000; // Legt fest, ob der Benutzer das Fenster durch gedrückt halten der linken Maustaste in der Titelleiste das Fenster verschieben kann
-            const static __int64 BreiteÄnderbar = 0x000080000; // Legt fest, ob der Benutzer die Breite des Fensters durch das gedrückt halten der linken Maustaste auf dem rechten oder linken Fensterrand verändern kann
-            const static __int64 HöheÄnderbar = 0x000100000;  // Legt fest, ob der Benutzer die Höhe des Fensters durch das gedrückt halten der linken Maustaste auf dem oberen oder unteren Fensterrand verändern kann
-            const static __int64 TitelHöheÄnderbar = 0x000200000; // Legt fest, ob der Benutzer die Höhe der Titel Leiste durch gedrückt halten der linken Maustaste auf dem unteren Rand der Titelleiste verändern kann
+            const static __int64 BreiteChangeable = 0x000080000; // Legt fest, ob der Benutzer die Breite des Fensters durch das gedrückt halten der linken Maustaste auf dem rechten oder linken Fensterrand verändern kann
+            const static __int64 HeightChangeable = 0x000100000;  // Legt fest, ob der Benutzer die Höhe des Fensters durch das gedrückt halten der linken Maustaste auf dem oberen oder unteren Fensterrand verändern kann
+            const static __int64 TitelHeightChangeable = 0x000200000; // Legt fest, ob der Benutzer die Höhe der Titel Leiste durch gedrückt halten der linken Maustaste auf dem unteren Rand der Titelleiste verändern kann
             const static __int64 MinBr = 0x000400000; // Legt fest, ob es eine Minimale Breite des Fensters gibt
             const static __int64 MinBr = 0x000400000; // Legt fest, ob es eine Minimale Breite des Fensters gibt
             const static __int64 MaxBr = 0x000800000; // Legt fest, ob es eine Maximale Breite des Fensters gibt
             const static __int64 MaxBr = 0x000800000; // Legt fest, ob es eine Maximale Breite des Fensters gibt
-            const static __int64 MinHö = 0x001000000; // Legt fest, ob es eine Minimale Höhe des Fensters gibt
-            const static __int64 MaxHö = 0x002000000; // Legt fest, ob es eine Maximale Höhe des Fensters gibt
-            const static __int64 Körper_minBr = 0x004000000; // Legt fest, ob es eine Minimale Breite des Körpers gibt
-            const static __int64 Körper_maxBr = 0x008000000; // Legt fest, ob es eine Maximale Breite des Körpers gibt
-            const static __int64 Körper_minHö = 0x010000000; // Legt fest, ob es eine Minimale Höhe des Körpers gibt
-            const static __int64 Körper_maxHö = 0x020000000; // Legt fest, ob es eine Maximale Höhe des Körpers gibt
+            const static __int64 MinHi = 0x001000000; // Legt fest, ob es eine Minimale Höhe des Fensters gibt
+            const static __int64 MaxHi = 0x002000000; // Legt fest, ob es eine Maximale Höhe des Fensters gibt
+            const static __int64 BodyMinBr = 0x004000000; // Legt fest, ob es eine Minimale Breite des Körpers gibt
+            const static __int64 BodyMaxBr = 0x008000000; // Legt fest, ob es eine Maximale Breite des Körpers gibt
+            const static __int64 BodyMinHi = 0x010000000; // Legt fest, ob es eine Minimale Höhe des Körpers gibt
+            const static __int64 BodyMaxHi = 0x020000000; // Legt fest, ob es eine Maximale Höhe des Körpers gibt
             const static __int64 VScroll = 0x040000000; // Legt fest, ob eine ScrollBar am rechten Fensterrand erscheinen soll
             const static __int64 VScroll = 0x040000000; // Legt fest, ob eine ScrollBar am rechten Fensterrand erscheinen soll
             const static __int64 HScroll = 0x080000000; // Legt fest, ob eine ScrollBar am unteren Fensterrand erscheinen soll
             const static __int64 HScroll = 0x080000000; // Legt fest, ob eine ScrollBar am unteren Fensterrand erscheinen soll
             const static __int64 METransparenz = 0x100000000; // Legt fest, ob die Mausereignisse auch noch von Zeichnungen hinter dem Fenster verarbeitet werden sollen
             const static __int64 METransparenz = 0x100000000; // Legt fest, ob die Mausereignisse auch noch von Zeichnungen hinter dem Fenster verarbeitet werden sollen
             const static __int64 Rahmen = 0x200000000; // Legt fest, ob das Fenster einen Rahmen haben soll
             const static __int64 Rahmen = 0x200000000; // Legt fest, ob das Fenster einen Rahmen haben soll
 
 
-            const static __int64 min_max = MinHö | MaxHö | MaxBr | MaxHö; // Vereint die Flags MinHö, MaxHö, MaxBr, MaxHö
-            const static __int64 körper_min_max = Körper_minBr | Körper_maxBr | Körper_minHö | Körper_maxBr; // Vereint die Flags Körper_minBr, Körper_maxBr, Körper_minHö, Körper_maxBr
+            const static __int64 min_max = MinHi | MaxHi | MaxBr | MaxHi; // Vereint die Flags MinHö, MaxHö, MaxBr, MaxHö
+            const static __int64 body_min_max = BodyMinBr | BodyMaxBr | BodyMinHi | BodyMaxBr; // Vereint die Flags Körper_minBr, Körper_maxBr, Körper_minHö, Körper_maxBr
             const static __int64 scroll = VScroll | HScroll; // Vereint die Flags VScroll, HScroll
             const static __int64 scroll = VScroll | HScroll; // Vereint die Flags VScroll, HScroll
-            const static __int64 nichtfixiert = TitelHöheÄnderbar | HöheÄnderbar | BreiteÄnderbar | Beweglich; // Vereint die Flags TitelHöheÄnderbar, HöheÄnderbar, BreiteÄnderbar, Beweglich
+            const static __int64 nichtfixiert = TitelHeightChangeable | HeightChangeable | BreiteChangeable | Beweglich; // Vereint die Flags TitelHöheÄnderbar, HöheÄnderbar, BreiteÄnderbar, Beweglich
 
 
-            const static __int64 normal = Sichtbar | Erlaubt | Rahmen | Titel | TitelBuffered | Schließbar | SchließHBild | SchließKlickBuffer | Beweglich; // Vereint die Flags Sichtbar, Erlaubt, Rahmen, Titel, TitelBuffered, Schließbar, SchließHBild, SchließKlickBuffer, Beweglich
+            const static __int64 normal = Sichtbar | Erlaubt | Rahmen | Titel | TitelBuffered | Closable | ClosingHBild | ClosingKlickBuffer | Beweglich; // Vereint die Flags Sichtbar, Erlaubt, Rahmen, Titel, TitelBuffered, Schließbar, SchließHBild, SchließKlickBuffer, Beweglich
         };
         };
     private:
     private:
-        bool( *schließenMe )( void *, void *, MausEreignis );
-        void *schließenMeParam;
+        bool( *closingMe )( void *, void *, MausEreignis );
+        void *closingMeParam;
         LRahmen *rahmen;
         LRahmen *rahmen;
         TextFeld *titel;
         TextFeld *titel;
         ZeichnungArray *members;
         ZeichnungArray *members;
-        int bgKörperFarbe;
-        Bild *bgKörperBild;
-        AlphaFeld *körperBuffer;
-        int bgSchließFarbe;
-        Bild *bgSchließBild;
-        AlphaFeld *schließBuffer;
-        AlphaFeld *schließKlickBuffer;
+        int bgBodyColor;
+        Bild *bgBodyPicture;
+        AlphaFeld *bodyBuffer;
+        int bgClosingFarbe;
+        Bild *bgClosingBild;
+        AlphaFeld *closeBuffer;
+        AlphaFeld *closeKlickBuffer;
         VScrollBar *vScroll;
         VScrollBar *vScroll;
         HScrollBar *hScroll;
         HScrollBar *hScroll;
         Punkt min, max;
         Punkt min, max;
         Punkt kMin, kMax;
         Punkt kMin, kMax;
-        bool schließKlick, klick;
+        bool closeKlick, klick;
         int mx, my;
         int mx, my;
         int ref;
         int ref;
 
 
@@ -301,7 +301,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) Fenster();
         __declspec( dllexport ) Fenster();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~Fenster();
+        __declspec( dllexport ) virtual ~Fenster();
         // Setzt einen Zeiger auf den Rahmen des Fensters
         // Setzt einen Zeiger auf den Rahmen des Fensters
         //  ram: Der Rahmen
         //  ram: Der Rahmen
         __declspec( dllexport ) void setRahmenZ( LRahmen *ram );
         __declspec( dllexport ) void setRahmenZ( LRahmen *ram );
@@ -331,7 +331,7 @@ namespace Framework
         __declspec( dllexport ) void setTSFarbe( int f );
         __declspec( dllexport ) void setTSFarbe( int f );
         // Setzt die Größe der Schrift, die für den Titel verwendet werden soll
         // Setzt die Größe der Schrift, die für den Titel verwendet werden soll
         //  gr: Die Höhe einer zeile in Pixeln
         //  gr: Die Höhe einer zeile in Pixeln
-        __declspec( dllexport ) void setTSGröße( int gr );
+        __declspec( dllexport ) void setTSSize( int gr );
         // Setzt die Hintergrund Farbe des Titels
         // Setzt die Hintergrund Farbe des Titels
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setTBgFarbe( int f );
         __declspec( dllexport ) void setTBgFarbe( int f );
@@ -343,7 +343,7 @@ namespace Framework
         __declspec( dllexport ) void setTAfFarbe( int f );
         __declspec( dllexport ) void setTAfFarbe( int f );
         // Setzt die Stärke des Farbübergangs des Titels
         // Setzt die Stärke des Farbübergangs des Titels
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setTAfStärke( int st );
+        __declspec( dllexport ) void setTAfStrength( int st );
         // Setzt das Hintergrund Bild des Titels durch kopieren
         // Setzt das Hintergrund Bild des Titels durch kopieren
         //  b: Das Bild, was kopiert werden soll
         //  b: Das Bild, was kopiert werden soll
         __declspec( dllexport ) void setTBgBild( Bild *b );
         __declspec( dllexport ) void setTBgBild( Bild *b );
@@ -376,15 +376,15 @@ namespace Framework
         __declspec( dllexport ) void setKAfFarbe( int f );
         __declspec( dllexport ) void setKAfFarbe( int f );
         // Setzt die Stärke des Farbübergangs des Körpers
         // Setzt die Stärke des Farbübergangs des Körpers
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setKAfStärke( int st );
+        __declspec( dllexport ) void setKAfStrength( int st );
         // Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Schließen Knopf ein MausEreignis erhält
         // Setzt den Parameter der Rückruffunktion, die aufgerufen wird, wenn der Schließen Knopf ein MausEreignis erhält
         //  param: Der Parameter
         //  param: Der Parameter
-        __declspec( dllexport ) void setSchließenMeParam( void *param );
+        __declspec( dllexport ) void setClosingMeParam( void *param );
         // Setzt die Rückruffunktion, die Aufgerufen wird, wenn der Schließen Knopf ein MausEreignis erhält
         // Setzt die Rückruffunktion, die Aufgerufen wird, wenn der Schließen Knopf ein MausEreignis erhält
         // Wenn die Rückruffunktion 0 zurückgiebt, oder nicht gesetzt wurde, wird ein Maus Ereignis von der Zeichnung nicht weiter beachtet
         // Wenn die Rückruffunktion 0 zurückgiebt, oder nicht gesetzt wurde, wird ein Maus Ereignis von der Zeichnung nicht weiter beachtet
         // Das Fenster wird nicht von selbst geschlossen, sondern sollte in der Rückruffunktion durch den aufruf von löscheStyle( Fenster::Style::Sichtbar ); geschlossen werden
         // Das Fenster wird nicht von selbst geschlossen, sondern sollte in der Rückruffunktion durch den aufruf von löscheStyle( Fenster::Style::Sichtbar ); geschlossen werden
         //  ak: Ein Zeiger auf die Rückruffunktion
         //  ak: Ein Zeiger auf die Rückruffunktion
-        __declspec( dllexport ) void setSchließenMe( bool( *schließenMe )( void *, void *, MausEreignis ) );
+        __declspec( dllexport ) void setClosingMe( bool( *closingMe )( void *, void *, MausEreignis ) );
         // Setzt die Hintergrund Farbe des Schließen Knopfes
         // Setzt die Hintergrund Farbe des Schließen Knopfes
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setSBgFarbe( int f );
         __declspec( dllexport ) void setSBgFarbe( int f );
@@ -402,7 +402,7 @@ namespace Framework
         __declspec( dllexport ) void setSAfFarbe( int f );
         __declspec( dllexport ) void setSAfFarbe( int f );
         // Setzt die Stärke des Farbübergangs des Schließen Knopfes
         // Setzt die Stärke des Farbübergangs des Schließen Knopfes
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setSAfStärke( int st );
+        __declspec( dllexport ) void setSAfStrength( int st );
         // Setzt einen Zeiger auf den Farbübergang, der beim Klicken des Schließen Knopfes verwendet wird
         // Setzt einen Zeiger auf den Farbübergang, der beim Klicken des Schließen Knopfes verwendet wird
         //  af: Der Farbübergnag
         //  af: Der Farbübergnag
         __declspec( dllexport ) void setSKAlphaFeldZ( AlphaFeld *af );
         __declspec( dllexport ) void setSKAlphaFeldZ( AlphaFeld *af );
@@ -411,7 +411,7 @@ namespace Framework
         __declspec( dllexport ) void setSKAfFarbe( int f );
         __declspec( dllexport ) void setSKAfFarbe( int f );
         // Setzt die Stärke des Farbübergangs, der beim Klicken des Schließen Knopfes verwendet wird
         // Setzt die Stärke des Farbübergangs, der beim Klicken des Schließen Knopfes verwendet wird
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setSKAfStärke( int st );
+        __declspec( dllexport ) void setSKAfStrength( int st );
         // Setzt die Minimale Größe des Fensters
         // Setzt die Minimale Größe des Fensters
         //  mx: Die Minimale Breite in Pixeln
         //  mx: Die Minimale Breite in Pixeln
         //  my: Die Minimale Höhe in Pixeln
         //  my: Die Minimale Höhe in Pixeln
@@ -500,7 +500,7 @@ namespace Framework
         // Gibt die Schrift Farbe des Titels im A8R8G8B8 Format zurück
         // Gibt die Schrift Farbe des Titels im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getTSFarbe() const;
         __declspec( dllexport ) int getTSFarbe() const;
         // Gibt die Höhe einer Zeile des Titels in Pixeln zurück
         // Gibt die Höhe einer Zeile des Titels in Pixeln zurück
-        __declspec( dllexport ) int getTSGröße() const;
+        __declspec( dllexport ) int getTSSize() const;
         // Gibt die Hintergrundfarbe des Titels im A8R8G8B8 Format zurück
         // Gibt die Hintergrundfarbe des Titels im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getTBgFarbe() const;
         __declspec( dllexport ) int getTBgFarbe() const;
         // Gibt den Farbübergang des Titels zurück
         // Gibt den Farbübergang des Titels zurück
@@ -510,7 +510,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs des Titels im A8R8G8B8 Format zurück
         // Gibt die Farbe des Farbübergangs des Titels im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getTAfFarbe() const;
         __declspec( dllexport ) int getTAfFarbe() const;
         // Gibt die Stärke des Farbübergangs des Titels zurück
         // Gibt die Stärke des Farbübergangs des Titels zurück
-        __declspec( dllexport ) int getTAfStärke() const;
+        __declspec( dllexport ) int getTAfStrength() const;
         // Gibt das Hintergrund Bild des titels zurück
         // Gibt das Hintergrund Bild des titels zurück
         __declspec( dllexport ) Bild *getTBgBild() const;
         __declspec( dllexport ) Bild *getTBgBild() const;
         // Gibt das Hintergrund Bild des titels ohne erhöhten Reference Counter zurück
         // Gibt das Hintergrund Bild des titels ohne erhöhten Reference Counter zurück
@@ -536,7 +536,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs des Körpers im A8R8G8B8 Format zurück
         // Gibt die Farbe des Farbübergangs des Körpers im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getKAfFarbe() const;
         __declspec( dllexport ) int getKAfFarbe() const;
         // Gibt die Stärke des Farbübergangs des Körpers zurück
         // Gibt die Stärke des Farbübergangs des Körpers zurück
-        __declspec( dllexport ) int getKAfStärke() const;
+        __declspec( dllexport ) int getKAfStrength() const;
         // Gibt die Hintergrund Farbe des Schließen Knopfes im A8R8G8B8 Format zurück
         // Gibt die Hintergrund Farbe des Schließen Knopfes im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getSBgFarbe() const;
         __declspec( dllexport ) int getSBgFarbe() const;
         // Gibt das Hintergrund Bild des Schließen Knopfes zurück
         // Gibt das Hintergrund Bild des Schließen Knopfes zurück
@@ -550,7 +550,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs des Schließen Knopfes im A8R8G8B8 Format zurück
         // Gibt die Farbe des Farbübergangs des Schließen Knopfes im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getSAfFarbe() const;
         __declspec( dllexport ) int getSAfFarbe() const;
         // Gibt die Stärke des Farbübergangs des Schließen Knopfes zurück
         // Gibt die Stärke des Farbübergangs des Schließen Knopfes zurück
-        __declspec( dllexport ) int getSAfStärke() const;
+        __declspec( dllexport ) int getSAfStrength() const;
         // Gibt den Farbübergang zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
         // Gibt den Farbübergang zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
         __declspec( dllexport ) AlphaFeld *getSKAlphaFeld() const;
         __declspec( dllexport ) AlphaFeld *getSKAlphaFeld() const;
         // Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
         // Gibt den Farbübergang ohne erhöhten Reference Counter zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
@@ -558,7 +558,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
         // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
         __declspec( dllexport ) int getSKAfFarbe() const;
         __declspec( dllexport ) int getSKAfFarbe() const;
         // Gibt die Stärke des Farbübergangs zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
         // Gibt die Stärke des Farbübergangs zurück, der verwendet wird, wenn auf den Schließen Knopf gedrückt wird
-        __declspec( dllexport ) int getSKAfStärke() const;
+        __declspec( dllexport ) int getSKAfStrength() const;
         // Gibt die minimale Fenstergröße in Pixeln zurück
         // Gibt die minimale Fenstergröße in Pixeln zurück
         __declspec( dllexport ) const Punkt &getMin() const;
         __declspec( dllexport ) const Punkt &getMin() const;
         // Gibt die maximale Fenstergröße in Pixeln zurück
         // Gibt die maximale Fenstergröße in Pixeln zurück

+ 17 - 17
Fortschritt.cpp

@@ -21,7 +21,7 @@ FBalken::FBalken()
     fBgBild( 0 ),
     fBgBild( 0 ),
     schrift( 0 ),
     schrift( 0 ),
     schriftFarbe( 0 ),
     schriftFarbe( 0 ),
-    schriftGröße( 0 ),
+    schriftSize( 0 ),
     ref( 1 )
     ref( 1 )
 {
 {
     style = 0;
     style = 0;
@@ -103,11 +103,11 @@ void FBalken::setFAFFarbe( int f ) // setzt die Fertig Alpha Feld Farbe
     rend = 1;
     rend = 1;
 }
 }
 
 
-void FBalken::setFAFStärke( int st ) // setzt die Stärke des Fertig Alpha Feldes
+void FBalken::setFAFStrength( int st ) // setzt die Stärke des Fertig Alpha Feldes
 {
 {
     if( !fBuffer )
     if( !fBuffer )
         fBuffer = new AlphaFeld();
         fBuffer = new AlphaFeld();
-    fBuffer->setStärke( st );
+    fBuffer->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -129,8 +129,8 @@ void FBalken::setFBgBild( Bild *b ) // kopiert in das Fertig Hintergrund Bild
 {
 {
     if( !fBgBild )
     if( !fBgBild )
         fBgBild = new Bild();
         fBgBild = new Bild();
-    fBgBild->neuBild( b->getBreite(), b->getHöhe(), 0 );
-    fBgBild->drawBild( 0, 0, b->getBreite(), b->getHöhe(), *b );
+    fBgBild->neuBild( b->getBreite(), b->getHeight(), 0 );
+    fBgBild->drawBild( 0, 0, b->getBreite(), b->getHeight(), *b );
     b->release();
     b->release();
     rend = 1;
     rend = 1;
 }
 }
@@ -149,9 +149,9 @@ void FBalken::setSFarbe( int f ) // setzt die Schrift Farbe
     rend = 1;
     rend = 1;
 }
 }
 
 
-void FBalken::setSGröße( unsigned char gr ) // setzt die Schrift größe
+void FBalken::setSSize( unsigned char gr ) // setzt die Schrift größe
 {
 {
-    schriftGröße = gr;
+    schriftSize = gr;
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -160,8 +160,8 @@ void FBalken::render( Bild &zRObj ) // zeichnet nach zRObj
     if( !hatStyle( Style::Sichtbar ) )
     if( !hatStyle( Style::Sichtbar ) )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
-    löscheStyle( Style::VScroll | Style::HScroll );
-    __super::render( zRObj );
+    removeStyle( Style::VScroll | Style::HScroll );
+	ZeichnungHintergrund::render( zRObj );
     if( !zRObj.setDrawOptions( pos, gr ) )
     if( !zRObj.setDrawOptions( pos, gr ) )
     {
     {
         unlockZeichnung();
         unlockZeichnung();
@@ -196,7 +196,7 @@ void FBalken::render( Bild &zRObj ) // zeichnet nach zRObj
     int rbr = 0;
     int rbr = 0;
     if( hatStyle( Style::FRahmen ) && fRahmen )
     if( hatStyle( Style::FRahmen ) && fRahmen )
     {
     {
-        fRahmen->setGröße( b, h );
+        fRahmen->setSize( b, h );
         fRahmen->render( zRObj );
         fRahmen->render( zRObj );
         rbr = fRahmen->getRBreite();
         rbr = fRahmen->getRBreite();
     }
     }
@@ -205,7 +205,7 @@ void FBalken::render( Bild &zRObj ) // zeichnet nach zRObj
         if( hatStyle( Style::FAlpha ) )
         if( hatStyle( Style::FAlpha ) )
             zRObj.alphaRegion( rbr, rbr, b - rbr * 2, h - rbr * 2, fBgF );
             zRObj.alphaRegion( rbr, rbr, b - rbr * 2, h - rbr * 2, fBgF );
         else
         else
-            zRObj.füllRegion( rbr, rbr, b - rbr * 2, h - rbr * 2, fBgF );
+            zRObj.fillRegion( rbr, rbr, b - rbr * 2, h - rbr * 2, fBgF );
     }
     }
     if( hatStyle( Style::FBild ) && fBgBild )
     if( hatStyle( Style::FBild ) && fBgBild )
     {
     {
@@ -216,17 +216,17 @@ void FBalken::render( Bild &zRObj ) // zeichnet nach zRObj
     }
     }
     if( hatStyle( Style::FBuffered ) && fBuffer )
     if( hatStyle( Style::FBuffered ) && fBuffer )
     {
     {
-        fBuffer->setGröße( b - rbr * 2, h - rbr * 2 );
+        fBuffer->setSize( b - rbr * 2, h - rbr * 2 );
         fBuffer->render( zRObj );
         fBuffer->render( zRObj );
     }
     }
     zRObj.releaseDrawOptions();
     zRObj.releaseDrawOptions();
     if( hatStyle( Style::Prozent ) && schrift )
     if( hatStyle( Style::Prozent ) && schrift )
     {
     {
-        schrift->setSchriftGröße( schriftGröße );
+        schrift->setSchriftSize( schriftSize );
         Text txt;
         Text txt;
-        txt.anhängen( (int)getProzent() );
-        txt.anhängen( "%" );
-        schrift->setDrawPosition( rbr + ( gr.x - rbr * 2 ) / 2 - schrift->getTextBreite( &txt ) / 2, rbr + ( gr.y - rbr * 2 ) / 2 - schrift->getTextHöhe( &txt ) / 2 );
+        txt.append( (int)getProzent() );
+        txt.append( "%" );
+        schrift->setDrawPosition( rbr + ( gr.x - rbr * 2 ) / 2 - schrift->getTextBreite( &txt ) / 2, rbr + ( gr.y - rbr * 2 ) / 2 - schrift->getTextHeight( &txt ) / 2 );
         schrift->renderText( &txt, zRObj, schriftFarbe );
         schrift->renderText( &txt, zRObj, schriftFarbe );
     }
     }
     zRObj.releaseDrawOptions();
     zRObj.releaseDrawOptions();
@@ -243,7 +243,7 @@ double FBalken::getProzent() const // gibt die momentane Prozentzahl zur
 {
 {
     if( !maxAk )
     if( !maxAk )
         return 0;
         return 0;
-    return ak / ( maxAk / 100.0 );
+    return (double)ak / ( (double)maxAk / 100.0 );
 }
 }
 
 
 __int64 FBalken::getAktion() const // gibt die fertigen Aktionen zurück
 __int64 FBalken::getAktion() const // gibt die fertigen Aktionen zurück

+ 4 - 4
Fortschritt.h

@@ -42,14 +42,14 @@ namespace Framework
         Bild *fBgBild;
         Bild *fBgBild;
         Schrift *schrift;
         Schrift *schrift;
         int schriftFarbe;
         int schriftFarbe;
-        unsigned char schriftGröße;
+        unsigned char schriftSize;
         int ref;
         int ref;
 
 
     public:
     public:
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) FBalken();
         __declspec( dllexport ) FBalken();
         // Destructor 
         // Destructor 
-        __declspec( dllexport ) ~FBalken();
+        __declspec( dllexport ) virtual ~FBalken();
         // Setzt die Anzahl an benötigten Operationen um 100% Fortschritt zu erreichen
         // Setzt die Anzahl an benötigten Operationen um 100% Fortschritt zu erreichen
         //  ak: Die Anzahl an Operationen
         //  ak: Die Anzahl an Operationen
         __declspec( dllexport ) void setAktionAnzahl( __int64 ak );
         __declspec( dllexport ) void setAktionAnzahl( __int64 ak );
@@ -75,7 +75,7 @@ namespace Framework
         __declspec( dllexport ) void setFAFFarbe( int f );
         __declspec( dllexport ) void setFAFFarbe( int f );
         // Setzt die Stärke des Farbverlaufs, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
         // Setzt die Stärke des Farbverlaufs, der in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setFAFStärke( int st );
+        __declspec( dllexport ) void setFAFStrength( int st );
         // Setzt die Hintergrund Farbe, die in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
         // Setzt die Hintergrund Farbe, die in dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setFBgFarbe( int f );
         __declspec( dllexport ) void setFBgFarbe( int f );
@@ -92,7 +92,7 @@ namespace Framework
         __declspec( dllexport ) void setSFarbe( int f );
         __declspec( dllexport ) void setSFarbe( int f );
         // Setzt die Schriftgröße der Prozentanzeige
         // Setzt die Schriftgröße der Prozentanzeige
         //  gr: Die Größe einer Zeile in Pixeln
         //  gr: Die Größe einer Zeile in Pixeln
-        __declspec( dllexport ) void setSGröße( unsigned char gr );
+        __declspec( dllexport ) void setSSize( unsigned char gr );
         // Zeichnet das Objekt nach zRObj, falls es sichtbar ist
         // Zeichnet das Objekt nach zRObj, falls es sichtbar ist
         //  zRObj: Das Bild, in welches gezeichnet werden soll
         //  zRObj: Das Bild, in welches gezeichnet werden soll
         __declspec( dllexport ) void render( Bild &zRObj ) override;
         __declspec( dllexport ) void render( Bild &zRObj ) override;

+ 221 - 0
Framework Linux.vcxproj

@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|ARM">
+      <Configuration>Debug</Configuration>
+      <Platform>ARM</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|ARM">
+      <Configuration>Release</Configuration>
+      <Platform>ARM</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x86">
+      <Configuration>Debug</Configuration>
+      <Platform>x86</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x86">
+      <Configuration>Release</Configuration>
+      <Platform>x86</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{8492d63f-6800-439e-8fc1-42031b90f00f}</ProjectGuid>
+    <Keyword>Linux</Keyword>
+    <RootNamespace>Framework_Linux</RootNamespace>
+    <MinimumVisualStudioVersion>15.0</MinimumVisualStudioVersion>
+    <ApplicationType>Linux</ApplicationType>
+    <ApplicationTypeRevision>1.0</ApplicationTypeRevision>
+    <TargetLinuxPlatform>Generic</TargetLinuxPlatform>
+    <LinuxProjectType>{D51BCBC9-82E9-4017-911E-C93873C4EA2B}</LinuxProjectType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'" Label="Configuration">
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'" Label="Configuration">
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings" />
+  <ImportGroup Label="Shared" />
+  <ImportGroup Label="PropertySheets" />
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
+    <TargetExt>.so</TargetExt>
+    <RemoteProjectDir>$(RemoteRootDir)/Framework</RemoteProjectDir>
+    <TargetName>libdbg$(ProjectName)</TargetName>
+    <IncludePath>D:\Visual Studio 2017\Common7\IDE\VC\Linux\include\usr\include\c++\5;$(IncludePath)</IncludePath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
+    <TargetExt>.so</TargetExt>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <TargetExt>.so</TargetExt>
+    <RemoteProjectDir>$(RemoteRootDir)/Framework/Debug</RemoteProjectDir>
+    <TargetName>libdbgFramework</TargetName>
+    <IncludePath>D:\Visual Studio 2017\Common7\IDE\VC\Linux\include\usr\include\c++\5;$(IncludePath)</IncludePath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <TargetExt>.so</TargetExt>
+    <RemoteProjectDir>$(RemoteRootDir)/Framework/Release</RemoteProjectDir>
+    <TargetName>libFramework</TargetName>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x86'">
+    <TargetExt>.so</TargetExt>
+    <RemoteProjectDir>$(RemoteRootDir)/Framework</RemoteProjectDir>
+    <TargetName>libdbg$(ProjectName)</TargetName>
+    <IncludePath>D:\Visual Studio 2017\Common7\IDE\VC\Linux\include\usr\include\c++\5;$(IncludePath)</IncludePath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x86'">
+    <TargetExt>.so</TargetExt>
+  </PropertyGroup>
+  <ItemGroup>
+    <ClCompile Include="AlphaFeld.cpp" />
+    <ClCompile Include="Animation.cpp" />
+    <ClCompile Include="AuswahlBox.cpp" />
+    <ClCompile Include="Bild.cpp" />
+    <ClCompile Include="Bildschirm.cpp" />
+    <ClCompile Include="Cube.cpp" />
+    <ClCompile Include="Datei.cpp" />
+    <ClCompile Include="DateiSystem.cpp" />
+    <ClCompile Include="Diagramm.cpp" />
+    <ClCompile Include="DXBuffer.cpp" />
+    <ClCompile Include="Fenster.cpp" />
+    <ClCompile Include="Fortschritt.cpp" />
+    <ClCompile Include="Global.cpp" />
+    <ClCompile Include="InitDatei.cpp" />
+    <ClCompile Include="Key.cpp" />
+    <ClCompile Include="Knopf.cpp" />
+    <ClCompile Include="KSGTDatei.cpp" />
+    <ClCompile Include="Liste.cpp" />
+    <ClCompile Include="M2Datei.cpp" />
+    <ClCompile Include="M2DVorschau.cpp" />
+    <ClCompile Include="M3Datei.cpp" />
+    <ClCompile Include="MausEreignis.cpp" />
+    <ClCompile Include="Model2D.cpp" />
+    <ClCompile Include="Model3D.cpp" />
+    <ClCompile Include="Model3DList.cpp" />
+    <ClCompile Include="Prozess.cpp" />
+    <ClCompile Include="Punkt.cpp" />
+    <ClCompile Include="Rahmen.cpp" />
+    <ClCompile Include="Schrift.cpp" />
+    <ClCompile Include="Scroll.cpp" />
+    <ClCompile Include="Tabelle.cpp" />
+    <ClCompile Include="TastaturEreignis.cpp" />
+    <ClCompile Include="Text.cpp" />
+    <ClCompile Include="TextFeld.cpp" />
+    <ClCompile Include="Textur.cpp" />
+    <ClCompile Include="TexturList.cpp" />
+    <ClCompile Include="TexturModel.cpp" />
+    <ClCompile Include="Thread.cpp" />
+    <ClCompile Include="ToolTip.cpp" />
+    <ClCompile Include="Welt3D.cpp" />
+    <ClCompile Include="Zeichnung.cpp" />
+    <ClCompile Include="Zeichnung3D.cpp" />
+    <ClCompile Include="Zeit.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="AlphaFeld.h" />
+    <ClInclude Include="Animation.h" />
+    <ClInclude Include="Animation3D.h" />
+    <ClInclude Include="Array.h" />
+    <ClInclude Include="AuswahlBox.h" />
+    <ClInclude Include="Betriebssystem.h" />
+    <ClInclude Include="Bild.h" />
+    <ClInclude Include="Bildschirm.h" />
+    <ClInclude Include="Cube.h" />
+    <ClInclude Include="Datei.h" />
+    <ClInclude Include="DateiSystem.h" />
+    <ClInclude Include="Diagramm.h" />
+    <ClInclude Include="DreieckListe.h" />
+    <ClInclude Include="DXBuffer.h" />
+    <ClInclude Include="Ebene3D.h" />
+    <ClInclude Include="Fenster.h" />
+    <ClInclude Include="Fortschritt.h" />
+    <ClInclude Include="FrameworkMath.h" />
+    <ClInclude Include="Globals.h" />
+    <ClInclude Include="InitDatei.h" />
+    <ClInclude Include="Key.h" />
+    <ClInclude Include="Knopf.h" />
+    <ClInclude Include="KSGTDatei.h" />
+    <ClInclude Include="Liste.h" />
+    <ClInclude Include="M2Datei.h" />
+    <ClInclude Include="M2DVorschau.h" />
+    <ClInclude Include="M3Datei.h" />
+    <ClInclude Include="Mat3.h" />
+    <ClInclude Include="Mat4.h" />
+    <ClInclude Include="MausEreignis.h" />
+    <ClInclude Include="Model2D.h" />
+    <ClInclude Include="Model3D.h" />
+    <ClInclude Include="Model3DList.h" />
+    <ClInclude Include="ObjectRegister.h" />
+    <ClInclude Include="Prozess.h" />
+    <ClInclude Include="Punkt.h" />
+    <ClInclude Include="Rahmen.h" />
+    <ClInclude Include="Schrift.h" />
+    <ClInclude Include="Scroll.h" />
+    <ClInclude Include="Tabelle.h" />
+    <ClInclude Include="TastaturEreignis.h" />
+    <ClInclude Include="Text.h" />
+    <ClInclude Include="TextFeld.h" />
+    <ClInclude Include="Textur.h" />
+    <ClInclude Include="TexturList.h" />
+    <ClInclude Include="TexturModel.h" />
+    <ClInclude Include="Thread.h" />
+    <ClInclude Include="ToolTip.h" />
+    <ClInclude Include="Vec2.h" />
+    <ClInclude Include="Vec3.h" />
+    <ClInclude Include="Welt3D.h" />
+    <ClInclude Include="Zeichnung.h" />
+    <ClInclude Include="Zeichnung3D.h" />
+    <ClInclude Include="Zeit.h" />
+  </ItemGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <CppAdditionalWarning>switch;no-deprecated-declarations;empty-body;conversion;return-type;parentheses;no-format;uninitialized;unreachable-code;unused-function;unused-value;unused-variable;%(CppAdditionalWarning)</CppAdditionalWarning>
+      <AdditionalOptions>-fPIC</AdditionalOptions>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(StlAdditionalDependencies)</AdditionalDependencies>
+      <LibraryDependencies>pthread;%(LibraryDependencies)</LibraryDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <Link>
+      <AdditionalDependencies>
+      </AdditionalDependencies>
+      <LibraryDependencies>pthread;%(LibraryDependencies)</LibraryDependencies>
+    </Link>
+    <ClCompile>
+      <AdditionalOptions>-fPIC</AdditionalOptions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets" />
+</Project>

+ 369 - 0
Framework Linux.vcxproj.filters

@@ -0,0 +1,369 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Quelldateien">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headerdateien">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Ressourcendateien">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+    <Filter Include="Headerdateien\Framework">
+      <UniqueIdentifier>{ebc032cb-0fe8-4712-8cba-6f8cf72c9e6e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\OS">
+      <UniqueIdentifier>{446e41c7-ea7d-4519-9cd1-1238232b08f8}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Grafik">
+      <UniqueIdentifier>{d87f71ae-4946-4766-a9e3-e93f41e7f079}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Grafik\3D">
+      <UniqueIdentifier>{c3d8b482-b58f-48c6-9945-797f38a60fcf}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Grafik\2D">
+      <UniqueIdentifier>{98ccc730-0ee3-4075-bfba-8998571c99e5}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Grafik\DX">
+      <UniqueIdentifier>{cbb56eda-8286-4f8b-9a06-47b5af838106}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework">
+      <UniqueIdentifier>{c35d3344-6ec8-4fa4-b32c-1976b6520a35}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\OS">
+      <UniqueIdentifier>{d5fa078e-3896-4292-a26d-67a78fed965a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\Grafik">
+      <UniqueIdentifier>{8af2e4df-a840-42d3-a393-5d6b4bf7d569}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\Grafik\2D">
+      <UniqueIdentifier>{849a8e90-f586-4537-8265-3b69a810dd5d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\Grafik\DX">
+      <UniqueIdentifier>{4f762c9c-38af-494e-81a5-7a8fff22d551}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\OS\Datei">
+      <UniqueIdentifier>{fbd720d3-b19c-4501-b4dd-600cdbbea72d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\OS\Datei">
+      <UniqueIdentifier>{3ce6b48b-5906-41a0-b86b-2cce0876825b}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Grafik\4D">
+      <UniqueIdentifier>{638c4ef2-2ea4-4d4f-872a-f2012f97a696}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Objekte3D">
+      <UniqueIdentifier>{28760380-5f68-43aa-87ae-353d20cad63d}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\Objekte3D">
+      <UniqueIdentifier>{867266da-c3c0-4633-8374-989d2b60863c}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\Grafik\3D">
+      <UniqueIdentifier>{6b73527a-d839-4081-a7b5-7e1d79b67cbd}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Headerdateien\Framework\Objekte2D">
+      <UniqueIdentifier>{c85aabf4-2e43-4a74-90bc-2d92b7bf3259}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Quelldateien\Framework\Objekte2D">
+      <UniqueIdentifier>{446facfc-5180-4e05-a2ff-c5c0287705d2}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Model2D.h">
+      <Filter>Headerdateien\Framework\Grafik\2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Vec2.h">
+      <Filter>Headerdateien\Framework\Grafik\2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Vec3.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Mat3.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="AlphaFeld.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Knopf.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Fenster.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Fortschritt.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Liste.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Diagramm.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Rahmen.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Tabelle.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="TextFeld.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="ToolTip.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Scroll.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Bildschirm.h">
+      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+    </ClInclude>
+    <ClInclude Include="Betriebssystem.h">
+      <Filter>Headerdateien\Framework\OS</Filter>
+    </ClInclude>
+    <ClInclude Include="AuswahlBox.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Prozess.h">
+      <Filter>Headerdateien\Framework\OS</Filter>
+    </ClInclude>
+    <ClInclude Include="Thread.h">
+      <Filter>Headerdateien\Framework\OS</Filter>
+    </ClInclude>
+    <ClInclude Include="Bild.h">
+      <Filter>Headerdateien\Framework\Grafik\2D</Filter>
+    </ClInclude>
+    <ClInclude Include="MausEreignis.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="TastaturEreignis.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Array.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Schrift.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Text.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Punkt.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Globals.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="FrameworkMath.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Zeit.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Datei.h">
+      <Filter>Headerdateien\Framework\OS\Datei</Filter>
+    </ClInclude>
+    <ClInclude Include="DateiSystem.h">
+      <Filter>Headerdateien\Framework\OS\Datei</Filter>
+    </ClInclude>
+    <ClInclude Include="InitDatei.h">
+      <Filter>Headerdateien\Framework\OS\Datei</Filter>
+    </ClInclude>
+    <ClInclude Include="KSGTDatei.h">
+      <Filter>Headerdateien\Framework\OS\Datei</Filter>
+    </ClInclude>
+    <ClInclude Include="M2Datei.h">
+      <Filter>Headerdateien\Framework\OS\Datei</Filter>
+    </ClInclude>
+    <ClInclude Include="M2DVorschau.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="ObjectRegister.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="Zeichnung.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="M3Datei.h">
+      <Filter>Headerdateien\Framework\OS\Datei</Filter>
+    </ClInclude>
+    <ClInclude Include="Model3D.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Zeichnung3D.h">
+      <Filter>Headerdateien\Framework\Objekte3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Mat4.h">
+      <Filter>Headerdateien\Framework\Grafik\4D</Filter>
+    </ClInclude>
+    <ClInclude Include="DreieckListe.h">
+      <Filter>Headerdateien\Framework\Grafik\2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Welt3D.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Textur.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Cube.h">
+      <Filter>Headerdateien\Framework\Objekte3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Model3DList.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="TexturList.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Animation3D.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="TexturModel.h">
+      <Filter>Headerdateien\Framework\Objekte3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Animation.h">
+      <Filter>Headerdateien\Framework\Objekte2D</Filter>
+    </ClInclude>
+    <ClInclude Include="Ebene3D.h">
+      <Filter>Headerdateien\Framework\Grafik\3D</Filter>
+    </ClInclude>
+    <ClInclude Include="Key.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
+    <ClInclude Include="DXBuffer.h">
+      <Filter>Headerdateien\Framework\Grafik\DX</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="Prozess.cpp">
+      <Filter>Quelldateien\Framework\OS</Filter>
+    </ClCompile>
+    <ClCompile Include="Thread.cpp">
+      <Filter>Quelldateien\Framework\OS</Filter>
+    </ClCompile>
+    <ClCompile Include="AlphaFeld.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="AuswahlBox.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Diagramm.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Fenster.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Fortschritt.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Knopf.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Liste.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Rahmen.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Scroll.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Tabelle.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="TextFeld.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="ToolTip.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Bild.cpp">
+      <Filter>Quelldateien\Framework\Grafik\2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Bildschirm.cpp">
+      <Filter>Quelldateien\Framework\Grafik\DX</Filter>
+    </ClCompile>
+    <ClCompile Include="Global.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="MausEreignis.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="Model2D.cpp">
+      <Filter>Quelldateien\Framework\Grafik\2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Punkt.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="Schrift.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="TastaturEreignis.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="Text.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="Zeit.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="Datei.cpp">
+      <Filter>Quelldateien\Framework\OS\Datei</Filter>
+    </ClCompile>
+    <ClCompile Include="DateiSystem.cpp">
+      <Filter>Quelldateien\Framework\OS\Datei</Filter>
+    </ClCompile>
+    <ClCompile Include="InitDatei.cpp">
+      <Filter>Quelldateien\Framework\OS\Datei</Filter>
+    </ClCompile>
+    <ClCompile Include="KSGTDatei.cpp">
+      <Filter>Quelldateien\Framework\OS\Datei</Filter>
+    </ClCompile>
+    <ClCompile Include="M2Datei.cpp">
+      <Filter>Quelldateien\Framework\OS\Datei</Filter>
+    </ClCompile>
+    <ClCompile Include="M2DVorschau.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Zeichnung.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="M3Datei.cpp">
+      <Filter>Quelldateien\Framework\OS\Datei</Filter>
+    </ClCompile>
+    <ClCompile Include="Zeichnung3D.cpp">
+      <Filter>Quelldateien\Framework\Objekte3D</Filter>
+    </ClCompile>
+    <ClCompile Include="Welt3D.cpp">
+      <Filter>Quelldateien\Framework\Grafik\3D</Filter>
+    </ClCompile>
+    <ClCompile Include="Textur.cpp">
+      <Filter>Quelldateien\Framework\Grafik\3D</Filter>
+    </ClCompile>
+    <ClCompile Include="Model3D.cpp">
+      <Filter>Quelldateien\Framework\Grafik\3D</Filter>
+    </ClCompile>
+    <ClCompile Include="Cube.cpp">
+      <Filter>Quelldateien\Framework\Objekte3D</Filter>
+    </ClCompile>
+    <ClCompile Include="Model3DList.cpp">
+      <Filter>Quelldateien\Framework\Grafik\3D</Filter>
+    </ClCompile>
+    <ClCompile Include="TexturList.cpp">
+      <Filter>Quelldateien\Framework\Grafik\3D</Filter>
+    </ClCompile>
+    <ClCompile Include="TexturModel.cpp">
+      <Filter>Quelldateien\Framework\Objekte3D</Filter>
+    </ClCompile>
+    <ClCompile Include="Animation.cpp">
+      <Filter>Quelldateien\Framework\Objekte2D</Filter>
+    </ClCompile>
+    <ClCompile Include="Key.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
+    <ClCompile Include="DXBuffer.cpp">
+      <Filter>Quelldateien\Framework\Grafik\DX</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>

+ 20 - 2
Framework.sln

@@ -1,26 +1,44 @@
 
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.22823.1
+# Visual Studio 15
+VisualStudioVersion = 15.0.26014.0
 MinimumVisualStudioVersion = 10.0.40219.1
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Framework", "Framework.vcxproj", "{C67E1D50-8FED-42FC-9538-1818297CF817}"
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Framework", "Framework.vcxproj", "{C67E1D50-8FED-42FC-9538-1818297CF817}"
 EndProject
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Framework Linux", "Framework Linux.vcxproj", "{8492D63F-6800-439E-8FC1-42031B90F00F}"
+EndProject
 Global
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|ARM = Debug|ARM
 		Debug|Win32 = Debug|Win32
 		Debug|Win32 = Debug|Win32
 		Debug|x64 = Debug|x64
 		Debug|x64 = Debug|x64
+		Release|ARM = Release|ARM
 		Release|Win32 = Release|Win32
 		Release|Win32 = Release|Win32
 		Release|x64 = Release|x64
 		Release|x64 = Release|x64
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|ARM.ActiveCfg = Debug|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|Win32.ActiveCfg = Debug|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|Win32.ActiveCfg = Debug|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|Win32.Build.0 = Debug|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|Win32.Build.0 = Debug|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|x64.ActiveCfg = Debug|x64
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|x64.ActiveCfg = Debug|x64
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|x64.Build.0 = Debug|x64
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Debug|x64.Build.0 = Debug|x64
+		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|ARM.ActiveCfg = Release|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|Win32.ActiveCfg = Release|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|Win32.ActiveCfg = Release|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|Win32.Build.0 = Release|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|Win32.Build.0 = Release|Win32
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|x64.ActiveCfg = Release|x64
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|x64.ActiveCfg = Release|x64
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|x64.Build.0 = Release|x64
 		{C67E1D50-8FED-42FC-9538-1818297CF817}.Release|x64.Build.0 = Release|x64
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Debug|ARM.ActiveCfg = Debug|ARM
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Debug|ARM.Build.0 = Debug|ARM
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Debug|Win32.ActiveCfg = Debug|x86
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Debug|Win32.Build.0 = Debug|x86
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Debug|x64.ActiveCfg = Debug|x64
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Debug|x64.Build.0 = Debug|x64
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Release|ARM.ActiveCfg = Release|ARM
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Release|ARM.Build.0 = Release|ARM
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Release|Win32.ActiveCfg = Release|x86
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Release|Win32.Build.0 = Release|x86
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Release|x64.ActiveCfg = Release|x64
+		{8492D63F-6800-439E-8FC1-42031B90F00F}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 		HideSolutionNode = FALSE

+ 10 - 25
Framework.vcxproj

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
     <ProjectConfiguration Include="Debug|Win32">
       <Configuration>Debug</Configuration>
       <Configuration>Debug</Configuration>
@@ -28,27 +28,27 @@
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>MultiByte</CharacterSet>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <UseDebugLibraries>true</UseDebugLibraries>
     <CharacterSet>MultiByte</CharacterSet>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <UseDebugLibraries>false</UseDebugLibraries>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <WholeProgramOptimization>true</WholeProgramOptimization>
     <CharacterSet>MultiByte</CharacterSet>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v141</PlatformToolset>
   </PropertyGroup>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
   <ImportGroup Label="ExtensionSettings">
@@ -127,20 +127,7 @@
       <AdditionalDependencies>d3dcompiler.lib;d3d9.lib;d3d11.lib;DXGI.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalDependencies>d3dcompiler.lib;d3d9.lib;d3d11.lib;DXGI.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
-      <Command>copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Main Server\Main Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Register Server\Register Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Patch Server\Patch Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Login Server\Login Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Information Server\Information Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Chat Server\Chat Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\DatenbankServer\DatenbankServer\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Anmeldung Server\Anmeldung Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Spiel Server\Spiel Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Erhaltung Server\Erhaltung Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Shop Server\Shop Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\Historie Server\Historie Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Server\News Server\News Server\framework.dll"
-copy "x64\Debug\Framework.dll" "..\Test\Test\framework.dll"
+      <Command>copy "x64\Debug\Framework.dll" "..\Test\Test\framework.dll"
 copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Klient\Start\Start\framework.dll"
 copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Klient\Start\Start\framework.dll"
 copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Klient\patcher\patcher\framework.dll"
 copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Klient\patcher\patcher\framework.dll"
 copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Klient\Icon\Icon\framework.dll"
 copy "x64\Debug\Framework.dll" "..\..\Spiele Platform\Klient\Icon\Icon\framework.dll"
@@ -172,8 +159,7 @@ copy "x64\Debug\Framework.dll" "..\GSL Konverter\GSL Konverter\framework.dll"</C
       <AdditionalDependencies>d3dcompiler.lib;d3d9.lib;d3d11.lib;DXGI.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalDependencies>d3dcompiler.lib;d3d9.lib;d3d11.lib;DXGI.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
-      <Command>copy "Release\Framework.dll" "..\..\Spiele Platform\Server\Fertig\x32\dlls\framework.dll"
-copy "Release\Framework.dll" "..\..\Spiele Platform\Klient\Fertig\x32\framework.dll"
+      <Command>copy "Release\Framework.dll" "..\..\Spiele Platform\Klient\Fertig\x32\framework.dll"
 copy "Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x32\framework.dll"</Command>
 copy "Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x32\framework.dll"</Command>
     </CustomBuildStep>
     </CustomBuildStep>
     <CustomBuildStep>
     <CustomBuildStep>
@@ -200,8 +186,7 @@ copy "Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x32\framework.dll
       <AdditionalDependencies>d3dcompiler.lib;d3d9.lib;d3d11.lib;DXGI.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalDependencies>d3dcompiler.lib;d3d9.lib;d3d11.lib;DXGI.lib;dxguid.lib;winmm.lib;comctl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     </Link>
     <CustomBuildStep>
     <CustomBuildStep>
-      <Command>copy "x64\Release\Framework.dll" "..\..\Spiele Platform\Server\Fertig\x64\dlls\framework.dll"
-copy "x64\Release\Framework.dll" "..\..\Spiele Platform\Klient\Fertig\x64\framework.dll"
+      <Command>copy "x64\Release\Framework.dll" "..\..\Spiele Platform\Klient\Fertig\x64\framework.dll"
 copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework.dll"</Command>
 copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework.dll"</Command>
       <Outputs>kopiere...;%(Outputs)</Outputs>
       <Outputs>kopiere...;%(Outputs)</Outputs>
     </CustomBuildStep>
     </CustomBuildStep>
@@ -258,7 +243,7 @@ copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework
     <ClInclude Include="Punkt.h" />
     <ClInclude Include="Punkt.h" />
     <ClInclude Include="Rahmen.h" />
     <ClInclude Include="Rahmen.h" />
     <ClInclude Include="RenderThread.h" />
     <ClInclude Include="RenderThread.h" />
-    <ClInclude Include="Schluessel.h" />
+    <ClInclude Include="Key.h" />
     <ClInclude Include="Schrift.h" />
     <ClInclude Include="Schrift.h" />
     <ClInclude Include="Scroll.h" />
     <ClInclude Include="Scroll.h" />
     <ClInclude Include="Tabelle.h" />
     <ClInclude Include="Tabelle.h" />
@@ -313,7 +298,7 @@ copy "x64\Release\Framework.dll" "..\..\Spiele Platform\SMP\Fertig\x64\framework
     <ClCompile Include="Punkt.cpp" />
     <ClCompile Include="Punkt.cpp" />
     <ClCompile Include="Rahmen.cpp" />
     <ClCompile Include="Rahmen.cpp" />
     <ClCompile Include="RenderThread.cpp" />
     <ClCompile Include="RenderThread.cpp" />
-    <ClCompile Include="Schluessel.cpp" />
+    <ClCompile Include="Key.cpp" />
     <ClCompile Include="Schrift.cpp" />
     <ClCompile Include="Schrift.cpp" />
     <ClCompile Include="Scroll.cpp" />
     <ClCompile Include="Scroll.cpp" />
     <ClCompile Include="Tabelle.cpp" />
     <ClCompile Include="Tabelle.cpp" />

+ 6 - 6
Framework.vcxproj.filters

@@ -150,9 +150,6 @@
     <ClInclude Include="Maus.h">
     <ClInclude Include="Maus.h">
       <Filter>Headerdateien\Framework\OS</Filter>
       <Filter>Headerdateien\Framework\OS</Filter>
     </ClInclude>
     </ClInclude>
-    <ClInclude Include="Schluessel.h">
-      <Filter>Headerdateien\Framework</Filter>
-    </ClInclude>
     <ClInclude Include="Schrift.h">
     <ClInclude Include="Schrift.h">
       <Filter>Headerdateien\Framework</Filter>
       <Filter>Headerdateien\Framework</Filter>
     </ClInclude>
     </ClInclude>
@@ -258,6 +255,9 @@
     <ClInclude Include="Ebene3D.h">
     <ClInclude Include="Ebene3D.h">
       <Filter>Headerdateien\Framework\Grafik\3D</Filter>
       <Filter>Headerdateien\Framework\Grafik\3D</Filter>
     </ClInclude>
     </ClInclude>
+    <ClInclude Include="Key.h">
+      <Filter>Headerdateien\Framework</Filter>
+    </ClInclude>
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
     <ClCompile Include="Maus.cpp">
     <ClCompile Include="Maus.cpp">
@@ -326,9 +326,6 @@
     <ClCompile Include="Punkt.cpp">
     <ClCompile Include="Punkt.cpp">
       <Filter>Quelldateien\Framework</Filter>
       <Filter>Quelldateien\Framework</Filter>
     </ClCompile>
     </ClCompile>
-    <ClCompile Include="Schluessel.cpp">
-      <Filter>Quelldateien\Framework</Filter>
-    </ClCompile>
     <ClCompile Include="Schrift.cpp">
     <ClCompile Include="Schrift.cpp">
       <Filter>Quelldateien\Framework</Filter>
       <Filter>Quelldateien\Framework</Filter>
     </ClCompile>
     </ClCompile>
@@ -407,5 +404,8 @@
     <ClCompile Include="Animation.cpp">
     <ClCompile Include="Animation.cpp">
       <Filter>Quelldateien\Framework\Objekte2D</Filter>
       <Filter>Quelldateien\Framework\Objekte2D</Filter>
     </ClCompile>
     </ClCompile>
+    <ClCompile Include="Key.cpp">
+      <Filter>Quelldateien\Framework</Filter>
+    </ClCompile>
   </ItemGroup>
   </ItemGroup>
 </Project>
 </Project>

+ 19 - 21
Global.cpp

@@ -5,11 +5,11 @@
 #pragma comment( lib, "gdiplus.lib" )
 #pragma comment( lib, "gdiplus.lib" )
 #include "Fenster.h"
 #include "Fenster.h"
 #include "Maus.h"
 #include "Maus.h"
-#include "Model3DList.h"
-#include "TexturList.h"
 
 
 #endif
 #endif
 #define Global
 #define Global
+#include "Model3DList.h"
+#include "TexturList.h"
 #include "Globals.h"
 #include "Globals.h"
 #include "Thread.h"
 #include "Thread.h"
 
 
@@ -23,15 +23,15 @@ void Framework::initFramework()
     Gdiplus::GdiplusStartup( &gdiplusToken, &gdiplusStartupInput, 0 );
     Gdiplus::GdiplusStartup( &gdiplusToken, &gdiplusStartupInput, 0 );
     msgExit = 0;
     msgExit = 0;
     MausTrack = 1;
     MausTrack = 1;
-    for( int i = 0; i < 255; ++i )
-        TastenStand[ i ] = 0;
-    for( int i = 0; i < 3; ++i )
-        MausStand[ i ] = 0;
-    Model3DList::init();
-    m3dRegister = new Model3DList();
-    TexturList::init();
-    texturRegister = new TexturList();
 #endif
 #endif
+	for( int i = 0; i < 255; ++i )
+		TastenStand[ i ] = 0;
+	for( int i = 0; i < 3; ++i )
+		MausStand[ i ] = 0;
+	Model3DList::init();
+	m3dRegister = new Model3DList();
+	TexturList::init();
+	texturRegister = new TexturList();
     istInitialisiert = 1;
     istInitialisiert = 1;
     thRegister = new ThreadRegister();
     thRegister = new ThreadRegister();
 }
 }
@@ -42,12 +42,10 @@ void Framework::releaseFramework()
         return;
         return;
     thRegister->cleanUpClosedThreads();
     thRegister->cleanUpClosedThreads();
     delete thRegister;
     delete thRegister;
-#ifdef WIN32
-    m3dRegister->release();
-    Model3DList::destroy();
-    texturRegister->release();
-    TexturList::destroy();
-#endif
+	m3dRegister->release();
+	Model3DList::destroy();
+	texturRegister->release();
+	TexturList::destroy();
     istInitialisiert = 0;
     istInitialisiert = 0;
 }
 }
 
 
@@ -69,6 +67,8 @@ const Framework::Punkt &Framework::getMausPos()
     return mausPos;
     return mausPos;
 }
 }
 
 
+#endif
+
 bool Framework::getMausStand( int taste )
 bool Framework::getMausStand( int taste )
 {
 {
     return MausStand[ taste ];
     return MausStand[ taste ];
@@ -87,13 +87,11 @@ bool Framework::getTastenStand( unsigned char taste )
 // Gibt das Model3DData Register des Frameworks ohne erhöhten reference Counter zurück
 // Gibt das Model3DData Register des Frameworks ohne erhöhten reference Counter zurück
 Framework::Model3DList *Framework::zM3DRegister()
 Framework::Model3DList *Framework::zM3DRegister()
 {
 {
-    return m3dRegister;
+	return m3dRegister;
 }
 }
 
 
 // Gibt das Textur Register des Frameworks ohne erhöhten reference Counter zurück
 // Gibt das Textur Register des Frameworks ohne erhöhten reference Counter zurück
 Framework::TexturList *Framework::zTexturRegister()
 Framework::TexturList *Framework::zTexturRegister()
 {
 {
-    return texturRegister;
-}
-
-#endif
+	return texturRegister;
+}

+ 11 - 11
Globals.h

@@ -11,28 +11,29 @@ namespace Framework
 {
 {
     class ThreadRegister; // Thread.h
     class ThreadRegister; // Thread.h
     class Thread; // Thread.h
     class Thread; // Thread.h
+	class Model3DList; // Model3DList.h
+	class TexturList; // TexturList.h
 #ifdef WIN32
 #ifdef WIN32
     class Maus; // Maus.h
     class Maus; // Maus.h
     class WFensterArray; // Fenster.h
     class WFensterArray; // Fenster.h
-    class Model3DList; // Model3DList.h
-    class TexturList; // TexturList.h
 
 
     Global WFensterArray WFensterA;
     Global WFensterArray WFensterA;
     Global bool MausTrack;
     Global bool MausTrack;
-    Global bool MausStand[ 3 ];
-    Global bool TastenStand[ 255 ];
     Global Maus MausZeiger;
     Global Maus MausZeiger;
     Global bool msgExit;
     Global bool msgExit;
     Global Punkt mausPos;
     Global Punkt mausPos;
-    Global Model3DList *m3dRegister;
-    Global TexturList *texturRegister;
 #endif
 #endif
+	Global bool TastenStand[ 255 ];
+	Global bool MausStand[ 3 ];
+	Global Model3DList *m3dRegister;
+	Global TexturList *texturRegister;
     Global bool istInitialisiert;
     Global bool istInitialisiert;
     Global ThreadRegister *thRegister;
     Global ThreadRegister *thRegister;
 
 
 #ifdef WIN32
 #ifdef WIN32
     // Gibt die Koordinaten der Maus auf dem Bildschirm zurück
     // Gibt die Koordinaten der Maus auf dem Bildschirm zurück
     __declspec( dllexport ) const Punkt &getMausPos();
     __declspec( dllexport ) const Punkt &getMausPos();
+#endif
     // Gibt zurück, ob eine Taste der Maus momentan gedrückt wird
     // Gibt zurück, ob eine Taste der Maus momentan gedrückt wird
     //  taste: Die Taste, die geprüft werden soll
     //  taste: Die Taste, die geprüft werden soll
     // Beispiel: getMausStand( M_Links ); (Benötigt include <MausEreignis.h>
     // Beispiel: getMausStand( M_Links ); (Benötigt include <MausEreignis.h>
@@ -46,11 +47,10 @@ namespace Framework
     //  taste: Die Taste, deren Status gesetzt werden soll
     //  taste: Die Taste, deren Status gesetzt werden soll
     //  st: Ob die Taste momentan gedrückt wird. (true), wenn ja. (false) sonnst.
     //  st: Ob die Taste momentan gedrückt wird. (true), wenn ja. (false) sonnst.
     __declspec( dllexport ) void setTastenStand( unsigned char taste, bool st );
     __declspec( dllexport ) void setTastenStand( unsigned char taste, bool st );
-    // Gibt das Model3DData Register des Frameworks ohne erhöhten reference Counter zurück
-    __declspec( dllexport ) Model3DList *zM3DRegister();
-    // Gibt das Textur Register des Frameworks ohne erhöhten reference Counter zurück
-    __declspec( dllexport ) TexturList *zTexturRegister();
-#endif
+	// Gibt das Model3DData Register des Frameworks ohne erhöhten reference Counter zurück
+	__declspec( dllexport ) Model3DList *zM3DRegister();
+	// Gibt das Textur Register des Frameworks ohne erhöhten reference Counter zurück
+	__declspec( dllexport ) TexturList *zTexturRegister();
     // Initialisiert das Framework
     // Initialisiert das Framework
     // Wird in der (WinMain) des Frameworks automatisch aufgerufen
     // Wird in der (WinMain) des Frameworks automatisch aufgerufen
     __declspec( dllexport ) void initFramework();
     __declspec( dllexport ) void initFramework();

+ 24 - 24
InitDatei.cpp

@@ -57,17 +57,17 @@ bool InitDatei::laden()
 {
 {
     Datei *dat = new Datei();
     Datei *dat = new Datei();
     dat->setDatei( pfad->getText() );
     dat->setDatei( pfad->getText() );
-    if( !dat->öffnen( Datei::Style::lesen ) )
+    if( !dat->open( Datei::Style::lesen ) )
     {
     {
         dat->release();
         dat->release();
         return 0;
         return 0;
     }
     }
-    löscheAlle();
+    removeAlle();
     Text *zeile = dat->leseZeile();
     Text *zeile = dat->leseZeile();
     for( int i = 0; zeile; ++i )
     for( int i = 0; zeile; ++i )
     {
     {
-        zeile->löschen( "\r\n" );
-        zeile->löschen( "\n" );
+        zeile->remove( "\r\n" );
+        zeile->remove( "\n" );
         Text *n = zeile->getTeilText( 0, zeile->positionVon( '=' ) );
         Text *n = zeile->getTeilText( 0, zeile->positionVon( '=' ) );
         Text *w = zeile->getTeilText( zeile->positionVon( '=' ) + 1 );
         Text *w = zeile->getTeilText( zeile->positionVon( '=' ) + 1 );
         name->set( n, i );
         name->set( n, i );
@@ -76,7 +76,7 @@ bool InitDatei::laden()
         zeile = dat->leseZeile();
         zeile = dat->leseZeile();
         feldAnzahl = i + 1;
         feldAnzahl = i + 1;
     }
     }
-    dat->schließen();
+    dat->close();
     dat->release();
     dat->release();
     return 1;
     return 1;
 }
 }
@@ -167,7 +167,7 @@ bool InitDatei::setWert( int num, const char *wert )
     return 1;
     return 1;
 }
 }
 
 
-bool InitDatei::löscheWert( Text *name )
+bool InitDatei::removeWert( Text *name )
 {
 {
     if( !wertExistiert( name->getText() ) )
     if( !wertExistiert( name->getText() ) )
     {
     {
@@ -178,8 +178,8 @@ bool InitDatei::l
     {
     {
         if( this->name->z( i )->istGleich( name->getText() ) )
         if( this->name->z( i )->istGleich( name->getText() ) )
         {
         {
-            this->name->lösche( i );
-            this->wert->lösche( i );
+            this->name->remove( i );
+            this->wert->remove( i );
             --feldAnzahl;
             --feldAnzahl;
             name->release();
             name->release();
             return 1;
             return 1;
@@ -189,7 +189,7 @@ bool InitDatei::l
     return 0;
     return 0;
 }
 }
 
 
-bool InitDatei::löscheWert( const char *name )
+bool InitDatei::removeWert( const char *name )
 {
 {
     if( !wertExistiert( name ) )
     if( !wertExistiert( name ) )
         return 0;
         return 0;
@@ -197,8 +197,8 @@ bool InitDatei::l
     {
     {
         if( this->name->z( i )->istGleich( name ) )
         if( this->name->z( i )->istGleich( name ) )
         {
         {
-            this->name->lösche( i );
-            this->wert->lösche( i );
+            this->name->remove( i );
+            this->wert->remove( i );
             --feldAnzahl;
             --feldAnzahl;
             return 1;
             return 1;
         }
         }
@@ -206,22 +206,22 @@ bool InitDatei::l
     return 0;
     return 0;
 }
 }
 
 
-bool InitDatei::löscheWert( int num )
+bool InitDatei::removeWert( int num )
 {
 {
     if( num >= feldAnzahl )
     if( num >= feldAnzahl )
         return 0;
         return 0;
-    this->name->lösche( num );
-    this->wert->lösche( num );
+    this->name->remove( num );
+    this->wert->remove( num );
     --feldAnzahl;
     --feldAnzahl;
     return 1;
     return 1;
 }
 }
 
 
-void InitDatei::löscheAlle()
+void InitDatei::removeAlle()
 {
 {
     for( ; feldAnzahl > 0; --feldAnzahl )
     for( ; feldAnzahl > 0; --feldAnzahl )
     {
     {
-        this->name->lösche( 0 );
-        this->wert->lösche( 0 );
+        this->name->remove( 0 );
+        this->wert->remove( 0 );
     }
     }
 }
 }
 
 
@@ -231,7 +231,7 @@ bool InitDatei::speichern()
     dat->setDatei( pfad->getText() );
     dat->setDatei( pfad->getText() );
     if( !dat->existiert() )
     if( !dat->existiert() )
         dat->erstellen();
         dat->erstellen();
-    if( !dat->öffnen( Datei::Style::schreiben ) )
+    if( !dat->open( Datei::Style::schreiben ) )
     {
     {
         dat->release();
         dat->release();
         return 0;
         return 0;
@@ -239,14 +239,14 @@ bool InitDatei::speichern()
     for( int i = 0; i < feldAnzahl; ++i )
     for( int i = 0; i < feldAnzahl; ++i )
     {
     {
         Text *zeile = new Text( "" );
         Text *zeile = new Text( "" );
-        zeile->anhängen( name->z( i )->getText() );
-        zeile->anhängen( "=" );
-        zeile->anhängen( wert->z( i )->getText() );
-        zeile->anhängen( "\n" );
-        dat->schreibe( zeile->getText(), zeile->getLänge() );
+        zeile->append( name->z( i )->getText() );
+        zeile->append( "=" );
+        zeile->append( wert->z( i )->getText() );
+        zeile->append( "\n" );
+        dat->schreibe( zeile->getText(), zeile->getLength() );
         zeile->release();
         zeile->release();
     }
     }
-    dat->schließen();
+    dat->close();
     dat->release();
     dat->release();
     return 1;
     return 1;
 }
 }

+ 4 - 4
InitDatei.h

@@ -70,17 +70,17 @@ namespace Framework
         // Löscht einen bestimmten Wert
         // Löscht einen bestimmten Wert
         //  name: Der Name des Wertes, der gelöscht werden soll
         //  name: Der Name des Wertes, der gelöscht werden soll
         //  return: 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
         //  return: 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
-        __declspec( dllexport ) bool löscheWert( Text *name );
+        __declspec( dllexport ) bool removeWert( Text *name );
         // Löscht einen bestimmten Wert
         // Löscht einen bestimmten Wert
         //  name: Der Name des Wertes, der gelöscht werden soll
         //  name: Der Name des Wertes, der gelöscht werden soll
         //  return: 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
         //  return: 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
-        __declspec( dllexport ) bool löscheWert( const char *name );
+        __declspec( dllexport ) bool removeWert( const char *name );
         // Löscht einen bestimmten Wert
         // Löscht einen bestimmten Wert
         //  num: Der Index des Wertes der gelöscht werden soll
         //  num: Der Index des Wertes der gelöscht werden soll
         //  return: 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
         //  return: 1, falls der Wert vorhanden war und erfolgreich gelöscht werden konnte
-        __declspec( dllexport ) bool löscheWert( int num );
+        __declspec( dllexport ) bool removeWert( int num );
         // Löscht alle Werte aus der Datei
         // Löscht alle Werte aus der Datei
-        __declspec( dllexport ) void löscheAlle();
+        __declspec( dllexport ) void removeAlle();
         // Speichert alle Werte in der Datei
         // Speichert alle Werte in der Datei
         //  return: 1, falls das Speichern erfolgreich war
         //  return: 1, falls das Speichern erfolgreich war
         __declspec( dllexport ) bool speichern();
         __declspec( dllexport ) bool speichern();

+ 17 - 17
KSGTDatei.cpp

@@ -62,21 +62,21 @@ bool KSGTDatei::laden()
     {
     {
         inf.seekg( pos, std::ios::beg );
         inf.seekg( pos, std::ios::beg );
         char c = 1;
         char c = 1;
-        int län = 0;
+        int len = 0;
         do
         do
         {
         {
             inf.read( &c, 1 );
             inf.read( &c, 1 );
-            ++län;
-        } while( c != 0 && c != '\n' && pos + län < gr );
-        if( pos + län == gr )
-            ++län;
+            ++len;
+        } while( c != 0 && c != '\n' && pos + len < gr );
+        if( pos + len == gr )
+            ++len;
         inf.seekg( pos, std::ios::beg );
         inf.seekg( pos, std::ios::beg );
-        char *v = new char[ län ];
-        v[ län - 1 ] = 0;
-        if( län > 1 )
-            inf.read( v, län - 1 );
-        pos += län;
-        if( län > 1 && !data->z( zeilenPos ) )
+        char *v = new char[ len ];
+        v[ len - 1 ] = 0;
+        if( len > 1 )
+            inf.read( v, len - 1 );
+        pos += len;
+        if( len > 1 && !data->z( zeilenPos ) )
             data->set( new RCArray< Text >, zeilenPos );
             data->set( new RCArray< Text >, zeilenPos );
         if( !data->z( zeilenPos )->z( feldPos ) )
         if( !data->z( zeilenPos )->z( feldPos ) )
             data->z( zeilenPos )->set( new Text(), feldPos );
             data->z( zeilenPos )->set( new Text(), feldPos );
@@ -116,12 +116,12 @@ bool KSGTDatei::setZeile( int zeile, int feldAnzahl, RCArray< Text > *zWert )
     return 1;
     return 1;
 }
 }
 
 
-bool KSGTDatei::löscheZeile( int zeile )
+bool KSGTDatei::removeZeile( int zeile )
 {
 {
     int zA = getZeilenAnzahl();
     int zA = getZeilenAnzahl();
     if( zeile >= zA )
     if( zeile >= zA )
         return 0;
         return 0;
-    data->lösche( zeile );
+    data->remove( zeile );
     return 1;
     return 1;
 }
 }
 
 
@@ -211,7 +211,7 @@ bool KSGTDatei::setFeld( int zeile, int feld, const char *wert )
     return 1;
     return 1;
 }
 }
 
 
-bool KSGTDatei::löscheFeld( int zeile, int feld )
+bool KSGTDatei::removeFeld( int zeile, int feld )
 {
 {
     int zA = getZeilenAnzahl();
     int zA = getZeilenAnzahl();
     if( zeile >= zA )
     if( zeile >= zA )
@@ -219,13 +219,13 @@ bool KSGTDatei::l
     int fA = getFeldAnzahl( zeile );
     int fA = getFeldAnzahl( zeile );
     if( feld >= fA )
     if( feld >= fA )
         return 0;
         return 0;
-    data->z( zeile )->lösche( feld );
+    data->z( zeile )->remove( feld );
     return 1;
     return 1;
 }
 }
 
 
 bool KSGTDatei::speichern()
 bool KSGTDatei::speichern()
 {
 {
-    if( !pfad->getLänge() )
+    if( !pfad->getLength() )
         return 0;
         return 0;
     if( !DateiExistiert( pfad->getText() ) )
     if( !DateiExistiert( pfad->getText() ) )
         DateiPfadErstellen( pfad->getText() );
         DateiPfadErstellen( pfad->getText() );
@@ -243,7 +243,7 @@ bool KSGTDatei::speichern()
             if( f )
             if( f )
                 of.write( "\0", 1 );
                 of.write( "\0", 1 );
             if( data->z( z ) && data->z( z )->z( f ) )
             if( data->z( z ) && data->z( z )->z( f ) )
-                of.write( data->z( z )->z( f )->getText(), data->z( z )->z( f )->getLänge() );
+                of.write( data->z( z )->z( f )->getText(), data->z( z )->z( f )->getLength() );
         }
         }
     }
     }
     of.close();
     of.close();

+ 2 - 2
KSGTDatei.h

@@ -49,7 +49,7 @@ namespace Framework
         // Löscht eine Zeile
         // Löscht eine Zeile
         //  zeile: Der Index der Zeile, die gelöscht werden soll
         //  zeile: Der Index der Zeile, die gelöscht werden soll
         //  return: 1, wenn die Zeile gelöscht wurde. 0, wenn die Zeile nicht gefunden wurde
         //  return: 1, wenn die Zeile gelöscht wurde. 0, wenn die Zeile nicht gefunden wurde
-        __declspec( dllexport ) bool löscheZeile( int zeile );
+        __declspec( dllexport ) bool removeZeile( int zeile );
         // Fügt einer Bestimmten Zeile einen Wert hinzu
         // Fügt einer Bestimmten Zeile einen Wert hinzu
         //  zeile: Der Index der Zeile, der ein Wert hinzugefügt werden soll
         //  zeile: Der Index der Zeile, der ein Wert hinzugefügt werden soll
         //  pos: Die Position in der Zeile, an der der Wert hinzugefügt werden soll
         //  pos: Die Position in der Zeile, an der der Wert hinzugefügt werden soll
@@ -88,7 +88,7 @@ namespace Framework
         //  zeile: Der Index der Zeile, aus der ein Wert gelöscht werden soll
         //  zeile: Der Index der Zeile, aus der ein Wert gelöscht werden soll
         //  feld: Die Position in der Zeile, an der der Wert gelöscht werden soll
         //  feld: Die Position in der Zeile, an der der Wert gelöscht werden soll
         //  return: 1, falls Der Wert erfolgreich gelöscht wurde. 0, falls die Zeile oder der Wert nicht existiert
         //  return: 1, falls Der Wert erfolgreich gelöscht wurde. 0, falls die Zeile oder der Wert nicht existiert
-        __declspec( dllexport ) bool löscheFeld( int zeile, int feld );
+        __declspec( dllexport ) bool removeFeld( int zeile, int feld );
         // Speichert die Tabelle in der Datei
         // Speichert die Tabelle in der Datei
         //  return: 1, falls die Tabbelle erfolgreich gespeichert wurde
         //  return: 1, falls die Tabbelle erfolgreich gespeichert wurde
         __declspec( dllexport ) bool speichern();
         __declspec( dllexport ) bool speichern();

+ 4 - 4
Kam3D.cpp

@@ -14,7 +14,7 @@ using namespace Framework;
 // Konstruktor
 // Konstruktor
 Kam3D::Kam3D()
 Kam3D::Kam3D()
 {
 {
-    öffnungswinkel = (float)PI / 4;
+    openingAngle = (float)PI / 4;
     minZ = 0.1f;
     minZ = 0.1f;
     maxZ = 5000;
     maxZ = 5000;
     pos = Vec3< float >( 0, 0, -1000 );
     pos = Vec3< float >( 0, 0, -1000 );
@@ -51,7 +51,7 @@ Kam3D::~Kam3D()
 void Kam3D::updateMatrix()
 void Kam3D::updateMatrix()
 {
 {
     view = view.rotationX( -rotX ) * view.rotationY( -rotY ) * view.rotationZ( -rotZ ) * view.translation( Vec3< float >( -pos.x, -pos.y, -pos.z ) );
     view = view.rotationX( -rotX ) * view.rotationY( -rotY ) * view.rotationZ( -rotZ ) * view.translation( Vec3< float >( -pos.x, -pos.y, -pos.z ) );
-    proj = proj.projektion( öffnungswinkel, viewport->Width / viewport->Height, minZ, maxZ );
+    proj = proj.projektion( openingAngle, viewport->Width / viewport->Height, minZ, maxZ );
 }
 }
 
 
 // Setzt die Position der Kamera in der 3D Welt
 // Setzt die Position der Kamera in der 3D Welt
@@ -107,7 +107,7 @@ void Kam3D::setBildschirmPosition( int x, int y )
 
 
 // Setzt die Größe des Bildes auf dem Bildschirm
 // Setzt die Größe des Bildes auf dem Bildschirm
 //  p: Ein Punkt, mit x als Breite und y als Höhe in Pixlen
 //  p: Ein Punkt, mit x als Breite und y als Höhe in Pixlen
-void Kam3D::setBildschirmGröße( Punkt p )
+void Kam3D::setBildschirmSize( Punkt p )
 {
 {
     viewport->Width = (float)p.x;
     viewport->Width = (float)p.x;
     viewport->Height = (float)p.y;
     viewport->Height = (float)p.y;
@@ -117,7 +117,7 @@ void Kam3D::setBildschirmGr
 // Setzt die Größe des Bildes auf dem Bildschirm
 // Setzt die Größe des Bildes auf dem Bildschirm
 //  br: Die Breite in Pixeln
 //  br: Die Breite in Pixeln
 //  hö: Die Höhe in Pixeln
 //  hö: Die Höhe in Pixeln
-void Kam3D::setBildschirmGröße( int br, int hö )
+void Kam3D::setBildschirmSize( int br, int hö )
 {
 {
     viewport->Width = (float)br;
     viewport->Width = (float)br;
     viewport->Height = (float)hö;
     viewport->Height = (float)hö;

+ 4 - 4
Kam3D.h

@@ -21,7 +21,7 @@ namespace Framework
         Mat4< float > view;
         Mat4< float > view;
         Mat4< float > proj;
         Mat4< float > proj;
 
 
-        float öffnungswinkel;
+        float openingAngle;
         float minZ;
         float minZ;
         float maxZ;
         float maxZ;
         Vec3< float > pos;
         Vec3< float > pos;
@@ -61,11 +61,11 @@ namespace Framework
         __declspec( dllexport ) void setBildschirmPosition( int x, int y );
         __declspec( dllexport ) void setBildschirmPosition( int x, int y );
         // Setzt die Größe des Bildes auf dem Bildschirm
         // Setzt die Größe des Bildes auf dem Bildschirm
         //  p: Ein Punkt, mit x als Breite und y als Höhe in Pixlen
         //  p: Ein Punkt, mit x als Breite und y als Höhe in Pixlen
-        __declspec( dllexport ) void setBildschirmGröße( Punkt p );
+        __declspec( dllexport ) void setBildschirmSize( Punkt p );
         // Setzt die Größe des Bildes auf dem Bildschirm
         // Setzt die Größe des Bildes auf dem Bildschirm
         //  br: Die Breite in Pixeln
         //  br: Die Breite in Pixeln
-        //  hö: Die Höhe in Pixeln
-        __declspec( dllexport ) void setBildschirmGröße( int br, int hö );
+        //  hi: Die Höhe in Pixeln
+        __declspec( dllexport ) void setBildschirmSize( int br, int hi );
         // Setzt die Welt, die gezeichnet werden soll
         // Setzt die Welt, die gezeichnet werden soll
         //  w: Die Welt
         //  w: Die Welt
         __declspec( dllexport ) void setWelt( Welt3D *w );
         __declspec( dllexport ) void setWelt( Welt3D *w );

+ 64 - 64
Schluessel.cpp → Key.cpp

@@ -1,27 +1,27 @@
-#include "Schluessel.h"
+#include "Key.h"
 
 
-using namespace Framework::Verschlüsselung;
+using namespace Framework::Encryption;
 
 
 // Inhalt der Bytes Klasse aus Schlüssel.h
 // Inhalt der Bytes Klasse aus Schlüssel.h
 // Konstruktor
 // Konstruktor
 Bytes::Bytes()
 Bytes::Bytes()
     : bytes( 0 ),
     : bytes( 0 ),
     del( 1 ),
     del( 1 ),
-    län( 0 ),
+    length( 0 ),
     ref( 1 )
     ref( 1 )
 {}
 {}
 
 
-Bytes::Bytes( int län )
-    : bytes( new char[ län ] ),
+Bytes::Bytes( int len )
+    : bytes( new char[ len ] ),
     del( 1 ),
     del( 1 ),
-    län( län ),
+	length( len ),
     ref( 1 )
     ref( 1 )
 {}
 {}
 
 
-Bytes::Bytes( const char *daten, int län )
-    : bytes( new char[ län ] ),
+Bytes::Bytes( const char *daten, int len )
+    : bytes( new char[ len ] ),
     del( 1 ),
     del( 1 ),
-    län( län ),
+	length( len ),
     ref( 1 )
     ref( 1 )
 {
 {
     setBytes( daten );
     setBytes( daten );
@@ -39,69 +39,69 @@ void Bytes::setBytes( const char *daten )
 {
 {
     if( !bytes || !daten )
     if( !bytes || !daten )
         return;
         return;
-    char *end = bytes + län;
+    char *end = bytes + length;
     for( char *c = bytes; c < end; c++, ++daten )
     for( char *c = bytes; c < end; c++, ++daten )
         *c = *daten;
         *c = *daten;
 }
 }
 
 
-void Bytes::setBytes( const char *daten, int län )
+void Bytes::setBytes( const char *daten, int len )
 {
 {
-    if( !daten || !län )
+    if( !daten || !len )
         return;
         return;
     if( del )
     if( del )
         delete[] bytes;
         delete[] bytes;
     del = 1;
     del = 1;
-    bytes = new char[ län ];
-    this->län = län;
+    bytes = new char[ len ];
+    this->length = len;
     setBytes( daten );
     setBytes( daten );
 }
 }
 
 
-void Bytes::setBytesZ( char *daten, int län )
+void Bytes::setBytesZ( char *daten, int len )
 {
 {
     if( del )
     if( del )
         delete[] bytes;
         delete[] bytes;
     del = 0;
     del = 0;
     bytes = daten;
     bytes = daten;
-    this->län = län;
+    this->length = len;
 }
 }
 
 
-void Bytes::füll( const char c )
+void Bytes::fill( const char c )
 {
 {
     if( !bytes )
     if( !bytes )
         return;
         return;
-    char *end = bytes + län;
+    char *end = bytes + length;
     for( char *b = bytes; b < end; ++b )
     for( char *b = bytes; b < end; ++b )
         *b = c;
         *b = c;
 }
 }
 
 
-void Bytes::füll( const char c, int län )
+void Bytes::fill( const char c, int len )
 {
 {
     if( !bytes )
     if( !bytes )
-        bytes = new char[ län ];
-    län = län > this->län ? this->län : län;
-    char *end = bytes + län;
+        bytes = new char[ len ];
+    len = len > this->length ? this->length : len;
+    char *end = bytes + len;
     for( char *b = bytes; b < end; ++b )
     for( char *b = bytes; b < end; ++b )
         *b = c;
         *b = c;
 }
 }
 
 
-void Bytes::füll( const char c, int beg, int end )
+void Bytes::fill( const char c, int beg, int end )
 {
 {
-    if( beg >= län )
+    if( beg >= length )
         return;
         return;
     if( !bytes )
     if( !bytes )
         bytes = new char[ end - beg ];
         bytes = new char[ end - beg ];
-    end = end > this->län ? this->län : end;
+    end = end > this->length ? this->length : end;
     char *endB = bytes + end;
     char *endB = bytes + end;
     for( char *b = bytes + beg; b < endB; ++b )
     for( char *b = bytes + beg; b < endB; ++b )
         *b = c;
         *b = c;
 }
 }
 
 
-void Bytes::füll( const char *c, int cLän )
+void Bytes::fill( const char *c, int cLen )
 {
 {
-    if( !c || !cLän || !bytes )
+    if( !c || !cLen || !bytes )
         return;
         return;
-    char *endB = bytes + län;
-    const char *endC = c + cLän;
+    char *endB = bytes + length;
+    const char *endC = c + cLen;
     const char *d = c;
     const char *d = c;
     for( char *b = bytes; b < endB; b++, d = d < endC - 1 ? d + 1 : c )
     for( char *b = bytes; b < endB; b++, d = d < endC - 1 ? d + 1 : c )
         *b = *d;
         *b = *d;
@@ -109,15 +109,15 @@ void Bytes::f
 
 
 void Bytes::set( const char c, int pos )
 void Bytes::set( const char c, int pos )
 {
 {
-    if( !bytes || pos >= län )
+    if( !bytes || pos >= length )
         return;
         return;
     bytes[ pos ] = c;
     bytes[ pos ] = c;
 }
 }
 
 
 // constant
 // constant
-int Bytes::getLänge() const
+int Bytes::getLength() const
 {
 {
-    return län;
+    return length;
 }
 }
 
 
 char *Bytes::getBytes() const
 char *Bytes::getBytes() const
@@ -143,95 +143,95 @@ Bytes *Bytes::release()
 
 
 // Inhalt der Schlüssel Klasse aus Schlüssel.h
 // Inhalt der Schlüssel Klasse aus Schlüssel.h
 // Konstruktor
 // Konstruktor
-Schlüssel::Schlüssel()
-    : schlüssel( 0 ),
-    län( 0 ),
+Key::Key()
+    : key( 0 ),
+    length( 0 ),
     pos( 0 ),
     pos( 0 ),
     ref( 1 )
     ref( 1 )
 {}
 {}
 
 
-Schlüssel::Schlüssel( const char *s, int län )
-    : schlüssel( new unsigned char[ län ] ),
-    län( län ),
+Key::Key( const char *s, int len )
+    : key( new unsigned char[ len ] ),
+    length( len ),
     pos( 0 ),
     pos( 0 ),
     ref( 1 )
     ref( 1 )
 {
 {
-    for( int i = 0; i < län; ++i )
-        schlüssel[ i ] = s[ i ];
+    for( int i = 0; i < len; ++i )
+        key[ i ] = s[ i ];
 }
 }
 
 
 // Destruktor
 // Destruktor
-Schlüssel::~Schlüssel()
+Key::~Key()
 {
 {
-    delete[] schlüssel;
+    delete[] key;
 }
 }
 
 
 // nicht constant
 // nicht constant
-void Schlüssel::setPos( int p )
+void Key::setPos( __int64 p )
 {
 {
     if( p < 0 )
     if( p < 0 )
         p = 0;
         p = 0;
-    pos = p % län;
+    pos = (int)(p % length);
 }
 }
 
 
-void Schlüssel::setSchlüssel( const char *s, int län )
+void Key::setKey( const char *s, int len )
 {
 {
-    delete[] schlüssel;
-    schlüssel = new unsigned char[ län ];
-    for( int i = 0; i < län; ++i )
-        schlüssel[ i ] = s[ i ];
+    delete[] key;
+    key = new unsigned char[ len ];
+    for( int i = 0; i < len; ++i )
+        key[ i ] = s[ i ];
     pos = 0;
     pos = 0;
-    this->län = län;
+    this->length = len;
 }
 }
 
 
-void Schlüssel::codieren( Bytes *daten )
+void Key::codieren( Bytes *daten )
 {
 {
-    if( !schlüssel || !län )
+    if( !key || !length )
     {
     {
         daten->release();
         daten->release();
         return;
         return;
     }
     }
-    int dLän = daten->getLänge();
+    int dLen = daten->getLength();
     char *bytes = daten->getBytes();
     char *bytes = daten->getBytes();
-    char *bEnd = bytes + dLän;
+    char *bEnd = bytes + dLen;
     for( char *c = bytes; c < bEnd; ++c )
     for( char *c = bytes; c < bEnd; ++c )
     {
     {
-        *c = *c + schlüssel[ pos ];
+        *c = (char)( *c + key[ pos ] );
         ++pos;
         ++pos;
-        if( pos >= län )
+        if( pos >= length )
             pos = 0;
             pos = 0;
     }
     }
     daten->release();
     daten->release();
 }
 }
 
 
-void Schlüssel::decodieren( Bytes *daten )
+void Key::decodieren( Bytes *daten )
 {
 {
-    if( !schlüssel || !län )
+    if( !key || !length )
     {
     {
         daten->release();
         daten->release();
         return;
         return;
     }
     }
-    int dLän = daten->getLänge();
+    int dLen = daten->getLength();
     char *bytes = daten->getBytes();
     char *bytes = daten->getBytes();
-    char *bEnd = bytes + dLän;
+    char *bEnd = bytes + dLen;
     for( char *c = bytes; c < bEnd; ++c )
     for( char *c = bytes; c < bEnd; ++c )
     {
     {
-        *c = *c - schlüssel[ pos ];
+        *c = (char)( *c - key[ pos ] );
         ++pos;
         ++pos;
-        if( pos >= län )
+        if( pos >= length )
             pos = 0;
             pos = 0;
     }
     }
     daten->release();
     daten->release();
 }
 }
 
 
 // Reference Counting
 // Reference Counting
-Schlüssel *Schlüssel::getThis()
+Key *Key::getThis()
 {
 {
     ++ref;
     ++ref;
     return this;
     return this;
 }
 }
 
 
-Schlüssel *Schlüssel::release()
+Key *Key::release()
 {
 {
     --ref;
     --ref;
     if( !ref )
     if( !ref )

+ 31 - 31
Schluessel.h → Key.h

@@ -1,11 +1,11 @@
-#ifndef Schluessel_H
-#define Schluessel_H
+#ifndef Key_H
+#define Key_H
 
 
 #include "Betriebssystem.h"
 #include "Betriebssystem.h"
 
 
 namespace Framework
 namespace Framework
 {
 {
-    namespace Verschlüsselung
+    namespace Encryption
     {
     {
         // Speichert einen Array von bytes
         // Speichert einen Array von bytes
         class Bytes
         class Bytes
@@ -13,19 +13,19 @@ namespace Framework
         private:
         private:
             char *bytes;
             char *bytes;
             bool del;
             bool del;
-            int län;
+            int length;
             int ref;
             int ref;
 
 
         public:
         public:
             // Erzeugt einen lehren Byte Array
             // Erzeugt einen lehren Byte Array
             __declspec( dllexport ) Bytes();
             __declspec( dllexport ) Bytes();
             // Erzeugt einen neuen Byte Array mit bestimmter Länge
             // Erzeugt einen neuen Byte Array mit bestimmter Länge
-            //  län: Die Länge des Arrays
-            __declspec( dllexport ) Bytes( int län );
+            //  length: Die Länge des Arrays
+            __declspec( dllexport ) Bytes( int length );
             // Erzeugt ein neuen Byte Array durch kopieren der bytes
             // Erzeugt ein neuen Byte Array durch kopieren der bytes
             //  daten: Die Bytes, die kopiert werden sollen
             //  daten: Die Bytes, die kopiert werden sollen
-            //  län: Die Anzahl der Bytes die kopiert werden sollen
-            __declspec( dllexport ) Bytes( const char *daten, int län );
+            //  length: Die Anzahl der Bytes die kopiert werden sollen
+            __declspec( dllexport ) Bytes( const char *daten, int length );
             // Löscht den Array
             // Löscht den Array
             __declspec( dllexport ) ~Bytes();
             __declspec( dllexport ) ~Bytes();
             // Befüllt den Bytearray durch kopieren der Bytes
             // Befüllt den Bytearray durch kopieren der Bytes
@@ -33,34 +33,34 @@ namespace Framework
             __declspec( dllexport ) void setBytes( const char *daten );
             __declspec( dllexport ) void setBytes( const char *daten );
             // Löscht den Array und erzeugt einen neuen
             // Löscht den Array und erzeugt einen neuen
             //  daten: Die Bytes, die kopiert werden sollen
             //  daten: Die Bytes, die kopiert werden sollen
-            //  län: Die nänge des Arrays
-            __declspec( dllexport ) void setBytes( const char *daten, int län );
+            //  length: Die nänge des Arrays
+            __declspec( dllexport ) void setBytes( const char *daten, int length );
             // Löscht den Array und übernimmt den übergebenen ohne zu kopieren
             // Löscht den Array und übernimmt den übergebenen ohne zu kopieren
             //  daten: Der neue Byte Array
             //  daten: Der neue Byte Array
-            //  län: Die nänge des Arrays
-            __declspec( dllexport ) void setBytesZ( char *daten, int län );
+            //  length: Die nänge des Arrays
+            __declspec( dllexport ) void setBytesZ( char *daten, int length );
             // Setzt alle Bytes des Arrays auf einen bestimmten Wert
             // Setzt alle Bytes des Arrays auf einen bestimmten Wert
             //  c: Der Wert, auf den die Bytes gesetzt werden sollen
             //  c: Der Wert, auf den die Bytes gesetzt werden sollen
-            __declspec( dllexport ) void füll( const char c );
+            __declspec( dllexport ) void fill( const char c );
             // Setzt eine bestimmte Anzahl von Bytes des Arrays auf einen bestimmten Wert
             // Setzt eine bestimmte Anzahl von Bytes des Arrays auf einen bestimmten Wert
             //  c: Der Wert, auf den die Bytes gesetzt werden sollen
             //  c: Der Wert, auf den die Bytes gesetzt werden sollen
-            //  län: Die Anzahl der Bytes die gesetzt werden sollen
-            __declspec( dllexport ) void füll( const char c, int län );
+            //  len: Die Anzahl der Bytes die gesetzt werden sollen
+            __declspec( dllexport ) void fill( const char c, int len );
             // Setzt einen bestimmte Abschnitt von Bytes des Arrays auf einen bestimmten Wert
             // Setzt einen bestimmte Abschnitt von Bytes des Arrays auf einen bestimmten Wert
             //  c: Der Wert, auf den die Bytes gesetzt werden sollen
             //  c: Der Wert, auf den die Bytes gesetzt werden sollen
             //  beg: Die Startposition des zu setzenden Abschnittes
             //  beg: Die Startposition des zu setzenden Abschnittes
             //  end: Die Endposition des zu setzenden Abschnittes (nicht enthalten)
             //  end: Die Endposition des zu setzenden Abschnittes (nicht enthalten)
-            __declspec( dllexport ) void füll( const char c, int beg, int end );
+            __declspec( dllexport ) void fill( const char c, int beg, int end );
             // Kopiert bestimmte bytes in den Array
             // Kopiert bestimmte bytes in den Array
             //  c: Die Bytes, die kopiert werden sollen
             //  c: Die Bytes, die kopiert werden sollen
-            //  cLän: Die Anzahl an Bytes, die gesetzt werden sollen
-            __declspec( dllexport ) void füll( const char *c, int cLän );
+            //  cLength: Die Anzahl an Bytes, die gesetzt werden sollen
+            __declspec( dllexport ) void fill( const char *c, int cLength );
             // Setzt ein bestimmtes Byte auf einen Wert
             // Setzt ein bestimmtes Byte auf einen Wert
             //  c: Der Wert, auf den das Byte gesetzt werden soll
             //  c: Der Wert, auf den das Byte gesetzt werden soll
             //  pos: Die Position des Bytes im Array
             //  pos: Die Position des Bytes im Array
             __declspec( dllexport ) void set( const char c, int pos );
             __declspec( dllexport ) void set( const char c, int pos );
             // Gibt die Länge des Arrays zurück
             // Gibt die Länge des Arrays zurück
-            __declspec( dllexport ) int getLänge() const;
+            __declspec( dllexport ) int getLength() const;
             // Gibt den Array von Bytes zurück
             // Gibt den Array von Bytes zurück
             __declspec( dllexport ) char *getBytes() const;
             __declspec( dllexport ) char *getBytes() const;
             // Erhöht den Reference Counting Zähler.
             // Erhöht den Reference Counting Zähler.
@@ -72,30 +72,30 @@ namespace Framework
         };
         };
 
 
         // Kann Bytesequenzen mit bestimmten Schlüsseln verschlüsseln und entschlüsseln
         // Kann Bytesequenzen mit bestimmten Schlüsseln verschlüsseln und entschlüsseln
-        class Schlüssel
+        class Key
         {
         {
         private:
         private:
-            unsigned char *schlüssel;
-            int län;
+            unsigned char *key;
+            int length;
             int pos;
             int pos;
             int ref;
             int ref;
 
 
         public:
         public:
             // Erzeugt ein leeres Zeichnung
             // Erzeugt ein leeres Zeichnung
-            __declspec( dllexport ) Schlüssel();
+            __declspec( dllexport ) Key();
             // Erzeugt ein neues Zeichnung mi einem Schlüssel
             // Erzeugt ein neues Zeichnung mi einem Schlüssel
             //  s: Der Schlüssel, der zum verschlüsseln und entchlüsseln verwendet werden soll
             //  s: Der Schlüssel, der zum verschlüsseln und entchlüsseln verwendet werden soll
-            //  län: Die Länge des Schlüssels
-            __declspec( dllexport ) Schlüssel( const char *s, int län );
+            //  length: Die Länge des Schlüssels
+            __declspec( dllexport ) Key( const char *s, int length );
             // Löscht das Zeichnung
             // Löscht das Zeichnung
-            __declspec( dllexport ) ~Schlüssel();
+            __declspec( dllexport ) ~Key();
             // Setzt die Position im Schlüssel, wo mit dem verschlüsseln und entschlüsseln begonnen werden soll
             // Setzt die Position im Schlüssel, wo mit dem verschlüsseln und entschlüsseln begonnen werden soll
             //  p: Die Position im Schlüssel
             //  p: Die Position im Schlüssel
-            __declspec( dllexport ) void setPos( int p );
+            __declspec( dllexport ) void setPos( __int64 p );
             // Setzt den Schlüssel, der zum ver- und entschlüsseln verwendet werden soll
             // Setzt den Schlüssel, der zum ver- und entschlüsseln verwendet werden soll
             //  s: Der Schlüssel
             //  s: Der Schlüssel
-            //  län: Die Länge des Schlüssels
-            __declspec( dllexport ) void setSchlüssel( const char *s, int län );
+            //  length: Die Länge des Schlüssels
+            __declspec( dllexport ) void setKey( const char *s, int length );
             // Verschlüsselt einen Byte Array mit dem gesetzten Schlüssel
             // Verschlüsselt einen Byte Array mit dem gesetzten Schlüssel
             //  daten: Der Byte Array, der verschlüsselt werden soll. Wird von der Funktion verändert
             //  daten: Der Byte Array, der verschlüsselt werden soll. Wird von der Funktion verändert
             __declspec( dllexport ) void codieren( Bytes *daten );
             __declspec( dllexport ) void codieren( Bytes *daten );
@@ -104,10 +104,10 @@ namespace Framework
             __declspec( dllexport ) void decodieren( Bytes *daten );
             __declspec( dllexport ) void decodieren( Bytes *daten );
             // Erhöht den Reference Counting Zähler.
             // Erhöht den Reference Counting Zähler.
             //  return: this.
             //  return: this.
-            __declspec( dllexport ) Schlüssel *getThis();
+            __declspec( dllexport ) Key *getThis();
             // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
             // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
             //  return: 0.
             //  return: 0.
-            __declspec( dllexport ) Schlüssel *release();
+            __declspec( dllexport ) Key *release();
         };
         };
     }
     }
 }
 }

+ 68 - 68
Knopf.cpp

@@ -27,13 +27,13 @@ Knopf::Knopf()
     style = Style::Erlaubt | Style::Buffered | Style::KlickBuffer | Style::Rahmen;
     style = Style::Erlaubt | Style::Buffered | Style::KlickBuffer | Style::Rahmen;
     this->setMausEreignis( _ret1ME );
     this->setMausEreignis( _ret1ME );
     setSchriftFarbe( 0xFFFFFFFF );
     setSchriftFarbe( 0xFFFFFFFF );
-    setSchriftGröße( 12 );
+    setSchriftSize( 12 );
     setLinienRahmenBreite( 2 );
     setLinienRahmenBreite( 2 );
     setLinienRahmenFarbe( 0xFF00FF00 );
     setLinienRahmenFarbe( 0xFF00FF00 );
     setAlphaFeldFarbe( 0x5500FF00 );
     setAlphaFeldFarbe( 0x5500FF00 );
-    setAlphaFeldStärke( -5 );
+    setAlphaFeldStrength( -5 );
     setKBFarbe( 0xFF000000 );
     setKBFarbe( 0xFF000000 );
-    setKBStärke( 20 );
+    setKBStrength( 20 );
     addStyle( TextFeld::Style::Center | TextFeld::Style::Mehrfarbig );
     addStyle( TextFeld::Style::Center | TextFeld::Style::Mehrfarbig );
 }
 }
 
 
@@ -59,10 +59,10 @@ void Knopf::setKlickBild( Bild *bild ) // setzt das Klick Bild
     {
     {
         if( !klickBild )
         if( !klickBild )
             klickBild = new Bild();
             klickBild = new Bild();
-        klickBild->neuBild( bild->getBreite(), bild->getHöhe(), 0 );
+        klickBild->neuBild( bild->getBreite(), bild->getHeight(), 0 );
         int *buff1 = klickBild->getBuffer();
         int *buff1 = klickBild->getBuffer();
         int *buff2 = bild->getBuffer();
         int *buff2 = bild->getBuffer();
-        for( int i = 0; i < bild->getBreite() * bild->getHöhe(); ++i )
+        for( int i = 0; i < bild->getBreite() * bild->getHeight(); ++i )
             buff1[ i ] = buff2[ i ];
             buff1[ i ] = buff2[ i ];
         bild->release();
         bild->release();
         rend = 1;
         rend = 1;
@@ -85,11 +85,11 @@ void Knopf::setKBZ( AlphaFeld *af )
     rend = 1;
     rend = 1;
 }
 }
 
 
-void Knopf::setKBStärke( int st ) // setzt die Stärke des Klick Buffers
+void Knopf::setKBStrength( int st ) // setzt die Stärke des Klick Buffers
 {
 {
     if( !klickBuffer )
     if( !klickBuffer )
         klickBuffer = new AlphaFeld();
         klickBuffer = new AlphaFeld();
-    klickBuffer->setStärke( st );
+    klickBuffer->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -119,7 +119,7 @@ void Knopf::doMausEreignis( MausEreignis &me ) // Maus Ereignis
             if( toolTip )
             if( toolTip )
                 toolTip->setMausIn( 0 );
                 toolTip->setMausIn( 0 );
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -127,13 +127,13 @@ void Knopf::doMausEreignis( MausEreignis &me ) // Maus Ereignis
             return;
             return;
         }
         }
     }
     }
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt )
+    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves )
     {
     {
         if( toolTip )
         if( toolTip )
             toolTip->setMausIn( 0 );
             toolTip->setMausIn( 0 );
         return;
         return;
     }
     }
-    if( !mausIn && me.id != ME_Verlässt && !me.verarbeitet )
+    if( !mausIn && me.id != ME_Leaves && !me.verarbeitet )
     {
     {
         mausIn = 1;
         mausIn = 1;
         if( toolTip )
         if( toolTip )
@@ -155,7 +155,7 @@ void Knopf::doMausEreignis( MausEreignis &me ) // Maus Ereignis
             if( klickIndex )
             if( klickIndex )
                 rend = 1;
                 rend = 1;
         }
         }
-        if( me.id == ME_RLinks || me.id == ME_Verlässt )
+        if( me.id == ME_RLinks || me.id == ME_Leaves )
         {
         {
             if( klickIndex )
             if( klickIndex )
                 rend = 1;
                 rend = 1;
@@ -182,15 +182,15 @@ void Knopf::render( Bild &zRObj ) // zeichenet nach zRObj
     if( !hatStyle( Style::Sichtbar ) )
     if( !hatStyle( Style::Sichtbar ) )
         return;
         return;
     addStyle( TextFeld::Style::Center );
     addStyle( TextFeld::Style::Center );
-    löscheStyle( Style::VScroll | Style::HScroll );
+    removeStyle( Style::VScroll | Style::HScroll );
     bool rA = 0;
     bool rA = 0;
     if( !hatStyle( Style::Erlaubt ) )
     if( !hatStyle( Style::Erlaubt ) )
     {
     {
         zRObj.setAlpha( 0x20 );
         zRObj.setAlpha( 0x20 );
         rA = 1;
         rA = 1;
     }
     }
-    __super::render( zRObj );
-    if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
+	TextFeld::render( zRObj );
+    if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
     {
     {
         if( rA )
         if( rA )
             zRObj.releaseAlpha();
             zRObj.releaseAlpha();
@@ -201,20 +201,20 @@ void Knopf::render( Bild &zRObj ) // zeichenet nach zRObj
         if( hatStyle( Style::KlickFarbe ) )
         if( hatStyle( Style::KlickFarbe ) )
         {
         {
             if( hatStyle( Style::KlickAlpha ) )
             if( hatStyle( Style::KlickAlpha ) )
-                zRObj.alphaRegion( 0, 0, innenGröße.x, innenGröße.y, klickFarbe );
+                zRObj.alphaRegion( 0, 0, innenSize.x, innenSize.y, klickFarbe );
             else
             else
-                zRObj.füllRegion( 0, 0, innenGröße.x, innenGröße.y, klickFarbe );
+                zRObj.fillRegion( 0, 0, innenSize.x, innenSize.y, klickFarbe );
         }
         }
         if( hatStyle( Style::KlickBild ) && klickBild )
         if( hatStyle( Style::KlickBild ) && klickBild )
         {
         {
             if( hatStyle( Style::KlickAlpha ) )
             if( hatStyle( Style::KlickAlpha ) )
-                zRObj.alphaBild( 0, 0, innenGröße.x, innenGröße.y, *klickBild );
+                zRObj.alphaBild( 0, 0, innenSize.x, innenSize.y, *klickBild );
             else
             else
-                zRObj.drawBild( 0, 0, innenGröße.x, innenGröße.y, *klickBild );
+                zRObj.drawBild( 0, 0, innenSize.x, innenSize.y, *klickBild );
         }
         }
         if( hatStyle( Style::KlickBuffer ) && klickBuffer )
         if( hatStyle( Style::KlickBuffer ) && klickBuffer )
         {
         {
-            klickBuffer->setGröße( innenGröße.x, innenGröße.y );
+            klickBuffer->setSize( innenSize.x, innenSize.y );
             klickBuffer->render( zRObj );
             klickBuffer->render( zRObj );
         }
         }
     }
     }
@@ -260,18 +260,18 @@ int Knopf::getKBFarbe() const // gibt getThis der Farbe des Klick Buffers zur
     return klickBuffer->getFarbe();
     return klickBuffer->getFarbe();
 }
 }
 
 
-int Knopf::getKBStärke() const // gibt die Stärke des Klickbuffers zurück
+int Knopf::getKBStrength() const // gibt die Stärke des Klickbuffers zurück
 {
 {
     if( !klickBuffer )
     if( !klickBuffer )
         return 0;
         return 0;
-    return klickBuffer->getStärke();
+    return klickBuffer->getStrength();
 }
 }
 
 
 Zeichnung *Knopf::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
 Zeichnung *Knopf::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
 {
 {
     Knopf *obj = new Knopf();
     Knopf *obj = new Knopf();
     obj->setPosition( pos );
     obj->setPosition( pos );
-    obj->setGröße( gr );
+    obj->setSize( gr );
     obj->setMausEreignisParameter( makParam );
     obj->setMausEreignisParameter( makParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setMausEreignis( Mak );
     obj->setMausEreignis( Mak );
@@ -279,7 +279,7 @@ Zeichnung *Knopf::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
     if( toolTip )
     if( toolTip )
         obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
         obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
     obj->setStyle( style );
     obj->setStyle( style );
-    obj->setSchriftGröße( getSchriftGröße() );
+    obj->setSchriftSize( getSchriftSize() );
     if( zSchrift() )
     if( zSchrift() )
         obj->setSchriftZ( getSchrift() );
         obj->setSchriftZ( getSchrift() );
     if( zText() )
     if( zText() )
@@ -305,7 +305,7 @@ Zeichnung *Knopf::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
         obj->setHorizontalScrollFarbe( horizontalScrollBar->getFarbe(), horizontalScrollBar->getBgFarbe() );
         obj->setHorizontalScrollFarbe( horizontalScrollBar->getFarbe(), horizontalScrollBar->getBgFarbe() );
     }
     }
     obj->setSchowChar( getShowChar() );
     obj->setSchowChar( getShowChar() );
-    obj->setAuswahl( getFärbungPos(), getCursorPos() );
+    obj->setAuswahl( getSelectionPos(), getCursorPos() );
     obj->setKlickFarbe( klickFarbe );
     obj->setKlickFarbe( klickFarbe );
     if( klickBild )
     if( klickBild )
         obj->setKlickBild( klickBild->getThis() );
         obj->setKlickBild( klickBild->getThis() );
@@ -350,7 +350,7 @@ KontrollKnopf::KontrollKnopf()
 {
 {
     style = Style::Erlaubt | Style::KlickBuffer;
     style = Style::Erlaubt | Style::KlickBuffer;
     setKAFFarbe( 0x00007500 );
     setKAFFarbe( 0x00007500 );
-    setKAFStärke( -30 );
+    setKAFStrength( -30 );
 }
 }
 
 
 // Destruktor 
 // Destruktor 
@@ -441,7 +441,7 @@ void KontrollKnopf::setSFarbe( int f ) // setzt die Schrift Farbe
     rend = 1;
     rend = 1;
 }
 }
 
 
-void KontrollKnopf::setSGröße( int gr ) // setzt die Schrift Größe
+void KontrollKnopf::setSSize( int gr ) // setzt die Schrift Größe
 {
 {
     sGr = gr;
     sGr = gr;
     rend = 1;
     rend = 1;
@@ -471,8 +471,8 @@ void KontrollKnopf::setSBgBild( Bild *b )
 {
 {
     if( !sBgB )
     if( !sBgB )
         sBgB = new Bild();
         sBgB = new Bild();
-    sBgB->neuBild( b->getBreite(), b->getHöhe(), 0 );
-    sBgB->drawBild( 0, 0, b->getBreite(), b->getHöhe(), *b );
+    sBgB->neuBild( b->getBreite(), b->getHeight(), 0 );
+    sBgB->drawBild( 0, 0, b->getBreite(), b->getHeight(), *b );
     b->release();
     b->release();
     rend = 1;
     rend = 1;
 }
 }
@@ -489,8 +489,8 @@ void KontrollKnopf::setKBgBild( Bild *b )
 {
 {
     if( !kBgB )
     if( !kBgB )
         kBgB = new Bild();
         kBgB = new Bild();
-    kBgB->neuBild( b->getBreite(), b->getHöhe(), 0 );
-    kBgB->drawBild( 0, 0, b->getBreite(), b->getHöhe(), *b );
+    kBgB->neuBild( b->getBreite(), b->getHeight(), 0 );
+    kBgB->drawBild( 0, 0, b->getBreite(), b->getHeight(), *b );
     b->release();
     b->release();
     rend = 1;
     rend = 1;
 }
 }
@@ -511,11 +511,11 @@ void KontrollKnopf::setSAFFarbe( int f ) // setzt die Select Alphafeld Farbe
     rend = 1;
     rend = 1;
 }
 }
 
 
-void KontrollKnopf::setSAFStärke( int st ) // setzt die Select AlphaFeld Stärke
+void KontrollKnopf::setSAFStrength( int st ) // setzt die Select AlphaFeld Stärke
 {
 {
     if( !sAf )
     if( !sAf )
         sAf = new AlphaFeld();
         sAf = new AlphaFeld();
-    sAf->setStärke( st );
+    sAf->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -535,11 +535,11 @@ void KontrollKnopf::setKAFFarbe( int f ) // setzt die Klick Alphafeld Farbe
     rend = 1;
     rend = 1;
 }
 }
 
 
-void KontrollKnopf::setKAFStärke( int st ) // setzt die Klick AlphaFeld Stärke
+void KontrollKnopf::setKAFStrength( int st ) // setzt die Klick AlphaFeld Stärke
 {
 {
     if( !kAf )
     if( !kAf )
         kAf = new AlphaFeld();
         kAf = new AlphaFeld();
-    kAf->setStärke( st );
+    kAf->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -588,7 +588,7 @@ void KontrollKnopf::doMausEreignis( MausEreignis &me ) // Nachrichten verarbeitu
             if( toolTip )
             if( toolTip )
                 toolTip->setMausIn( 0 );
                 toolTip->setMausIn( 0 );
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -596,13 +596,13 @@ void KontrollKnopf::doMausEreignis( MausEreignis &me ) // Nachrichten verarbeitu
             return;
             return;
         }
         }
     }
     }
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt )
+    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves )
     {
     {
         if( toolTip )
         if( toolTip )
             toolTip->setMausIn( 0 );
             toolTip->setMausIn( 0 );
         return;
         return;
     }
     }
-    if( !mausIn && me.id != ME_Verlässt )
+    if( !mausIn && me.id != ME_Leaves )
     {
     {
         mausIn = 1;
         mausIn = 1;
         if( toolTip )
         if( toolTip )
@@ -630,7 +630,7 @@ void KontrollKnopf::doMausEreignis( MausEreignis &me ) // Nachrichten verarbeitu
             addStyle( Style::MausKlick );
             addStyle( Style::MausKlick );
         if( me.id == ME_RLinks )
         if( me.id == ME_RLinks )
         {
         {
-            löscheStyle( Style::MausKlick );
+            removeStyle( Style::MausKlick );
             setStyle( Style::Selected, !hatStyle( Style::Selected ) );
             setStyle( Style::Selected, !hatStyle( Style::Selected ) );
         }
         }
         me.verarbeitet = 1;
         me.verarbeitet = 1;
@@ -645,10 +645,10 @@ void KontrollKnopf::render( Bild &zRObj ) // zeichnet nach zRObj
 {
 {
     if( !hatStyle( Style::Sichtbar ) )
     if( !hatStyle( Style::Sichtbar ) )
         return;
         return;
-    löscheStyle( Style::VScroll | Style::HScroll );
-    __super::render( zRObj );
+    removeStyle( Style::VScroll | Style::HScroll );
+	ZeichnungHintergrund::render( zRObj );
     lockZeichnung();
     lockZeichnung();
-    if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
+    if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
     {
     {
         unlockZeichnung();
         unlockZeichnung();
         return;
         return;
@@ -658,48 +658,48 @@ void KontrollKnopf::render( Bild &zRObj ) // zeichnet nach zRObj
         if( hatStyle( Style::KlickFarbe ) )
         if( hatStyle( Style::KlickFarbe ) )
         {
         {
             if( hatStyle( Style::KlickAlpha ) )
             if( hatStyle( Style::KlickAlpha ) )
-                zRObj.alphaRegion( 0, 0, innenGröße.x, innenGröße.y, kBgF );
+                zRObj.alphaRegion( 0, 0, innenSize.x, innenSize.y, kBgF );
             else
             else
-                zRObj.füllRegion( 0, 0, innenGröße.x, innenGröße.y, kBgF );
+                zRObj.fillRegion( 0, 0, innenSize.x, innenSize.y, kBgF );
         }
         }
         if( hatStyle( Style::KlickBild ) && kBgB )
         if( hatStyle( Style::KlickBild ) && kBgB )
         {
         {
             if( hatStyle( Style::KlickAlpha ) )
             if( hatStyle( Style::KlickAlpha ) )
-                zRObj.alphaBild( 0, 0, innenGröße.x, innenGröße.y, *kBgB );
+                zRObj.alphaBild( 0, 0, innenSize.x, innenSize.y, *kBgB );
             else
             else
-                zRObj.drawBild( 0, 0, innenGröße.x, innenGröße.y, *kBgB );
+                zRObj.drawBild( 0, 0, innenSize.x, innenSize.y, *kBgB );
         }
         }
         if( hatStyle( Style::KlickBuffer ) && kAf )
         if( hatStyle( Style::KlickBuffer ) && kAf )
         {
         {
-            kAf->setGröße( innenGröße.x, innenGröße.y );
+            kAf->setSize( innenSize.x, innenSize.y );
             kAf->render( zRObj );
             kAf->render( zRObj );
         }
         }
         int kbr = 0;
         int kbr = 0;
         if( hatStyle( Style::Selected ) && sKasten )
         if( hatStyle( Style::Selected ) && sKasten )
         {
         {
             if( sTxt && schrift )
             if( sTxt && schrift )
-                zRObj.drawBild( 0, ( gr.y / 2 - sKasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *sKasten );
+                zRObj.drawBild( 0, ( gr.y / 2 - sKasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHeight() / 2 ), innenSize.x, innenSize.y, *sKasten );
             else
             else
-                zRObj.drawBild( gr.x / 2 - sKasten->getBreite() / 2, ( gr.y / 2 - sKasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *sKasten );
+                zRObj.drawBild( gr.x / 2 - sKasten->getBreite() / 2, ( gr.y / 2 - sKasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHeight() / 2 ), innenSize.x, innenSize.y, *sKasten );
             kbr = sKasten->getBreite();
             kbr = sKasten->getBreite();
             if( sTxt && schrift )
             if( sTxt && schrift )
             {
             {
-                schrift->setSchriftGröße( sGr );
-                schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHöhe( sTxt ) / 2 );
+                schrift->setSchriftSize( sGr );
+                schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHeight( sTxt ) / 2 );
                 schrift->renderText( sTxt, zRObj, sF );
                 schrift->renderText( sTxt, zRObj, sF );
             }
             }
         }
         }
         else if( kasten )
         else if( kasten )
         {
         {
             if( txt && schrift )
             if( txt && schrift )
-                zRObj.drawBild( 0, ( gr.y / 2 - kasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *kasten );
+                zRObj.drawBild( 0, ( gr.y / 2 - kasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHeight() / 2 ), innenSize.x, innenSize.y, *kasten );
             else
             else
-                zRObj.drawBild( gr.x / 2 - kasten->getBreite() / 2, ( gr.y / 2 - kasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *kasten );
+                zRObj.drawBild( gr.x / 2 - kasten->getBreite() / 2, ( gr.y / 2 - kasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHeight() / 2 ), innenSize.x, innenSize.y, *kasten );
             kbr = kasten->getBreite();
             kbr = kasten->getBreite();
             if( txt && schrift )
             if( txt && schrift )
             {
             {
-                schrift->setSchriftGröße( sGr );
-                schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHöhe( txt ) / 2 );
+                schrift->setSchriftSize( sGr );
+                schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHeight( txt ) / 2 );
                 schrift->renderText( txt, zRObj, sF );
                 schrift->renderText( txt, zRObj, sF );
             }
             }
         }
         }
@@ -709,35 +709,35 @@ void KontrollKnopf::render( Bild &zRObj ) // zeichnet nach zRObj
         if( hatStyle( Style::SelectFarbe ) )
         if( hatStyle( Style::SelectFarbe ) )
         {
         {
             if( hatStyle( Style::SelectAlpha ) )
             if( hatStyle( Style::SelectAlpha ) )
-                zRObj.alphaRegion( 0, 0, innenGröße.x, innenGröße.y, sBgF );
+                zRObj.alphaRegion( 0, 0, innenSize.x, innenSize.y, sBgF );
             else
             else
-                zRObj.füllRegion( 0, 0, innenGröße.x, innenGröße.y, sBgF );
+                zRObj.fillRegion( 0, 0, innenSize.x, innenSize.y, sBgF );
         }
         }
         if( hatStyle( Style::SelectBild ) && sBgB )
         if( hatStyle( Style::SelectBild ) && sBgB )
         {
         {
             if( hatStyle( Style::SelectAlpha ) )
             if( hatStyle( Style::SelectAlpha ) )
-                zRObj.alphaBild( 0, 0, innenGröße.x, innenGröße.y, *sBgB );
+                zRObj.alphaBild( 0, 0, innenSize.x, innenSize.y, *sBgB );
             else
             else
-                zRObj.drawBild( 0, 0, innenGröße.x, innenGröße.y, *sBgB );
+                zRObj.drawBild( 0, 0, innenSize.x, innenSize.y, *sBgB );
         }
         }
         if( hatStyle( Style::SelectBuffer ) && sAf )
         if( hatStyle( Style::SelectBuffer ) && sAf )
         {
         {
-            sAf->setGröße( innenGröße.x, innenGröße.y );
+            sAf->setSize( innenSize.x, innenSize.y );
             sAf->render( zRObj );
             sAf->render( zRObj );
         }
         }
         int kbr = 0;
         int kbr = 0;
         if( sKasten )
         if( sKasten )
         {
         {
             if( sTxt && schrift )
             if( sTxt && schrift )
-                zRObj.drawBild( 0, ( gr.y / 2 - sKasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *sKasten );
+                zRObj.drawBild( 0, ( gr.y / 2 - sKasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHeight() / 2 ), innenSize.x, innenSize.y, *sKasten );
             else
             else
-                zRObj.drawBild( gr.x / 2 - sKasten->getBreite() / 2, ( gr.y / 2 - sKasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *sKasten );
+                zRObj.drawBild( gr.x / 2 - sKasten->getBreite() / 2, ( gr.y / 2 - sKasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - sKasten->getHeight() / 2 ), innenSize.x, innenSize.y, *sKasten );
             kbr = sKasten->getBreite();
             kbr = sKasten->getBreite();
         }
         }
         if( sTxt && schrift )
         if( sTxt && schrift )
         {
         {
-            schrift->setSchriftGröße( sGr );
-            schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHöhe( sTxt ) / 2 );
+            schrift->setSchriftSize( sGr );
+            schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHeight( sTxt ) / 2 );
             schrift->renderText( sTxt, zRObj, sF );
             schrift->renderText( sTxt, zRObj, sF );
         }
         }
     }
     }
@@ -747,15 +747,15 @@ void KontrollKnopf::render( Bild &zRObj ) // zeichnet nach zRObj
         if( kasten )
         if( kasten )
         {
         {
             if( txt && schrift )
             if( txt && schrift )
-                zRObj.drawBild( 0, ( gr.y / 2 - kasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *kasten );
+                zRObj.drawBild( 0, ( gr.y / 2 - kasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHeight() / 2 ), innenSize.x, innenSize.y, *kasten );
             else
             else
-                zRObj.drawBild( gr.x / 2 - kasten->getBreite() / 2, ( gr.y / 2 - kasten->getHöhe() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHöhe() / 2 ), innenGröße.x, innenGröße.y, *kasten );
+                zRObj.drawBild( gr.x / 2 - kasten->getBreite() / 2, ( gr.y / 2 - kasten->getHeight() / 2 ) < 0 ? 0 : ( gr.y / 2 - kasten->getHeight() / 2 ), innenSize.x, innenSize.y, *kasten );
             kbr = kasten->getBreite();
             kbr = kasten->getBreite();
         }
         }
         if( txt && schrift )
         if( txt && schrift )
         {
         {
-            schrift->setSchriftGröße( sGr );
-            schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHöhe( txt ) / 2 );
+            schrift->setSchriftSize( sGr );
+            schrift->setDrawPosition( kbr + 5, gr.y / 2 - schrift->getTextHeight( txt ) / 2 );
             schrift->renderText( txt, zRObj, sF );
             schrift->renderText( txt, zRObj, sF );
         }
         }
     }
     }
@@ -799,7 +799,7 @@ int KontrollKnopf::getSFarbe() const // gibt die Schrift Farbe zur
     return sF;
     return sF;
 }
 }
 
 
-int KontrollKnopf::getSGröße() const // gibt die Schrift Größe zurück
+int KontrollKnopf::getSSize() const // gibt die Schrift Größe zurück
 {
 {
     return sGr;
     return sGr;
 }
 }

+ 8 - 8
Knopf.h

@@ -41,7 +41,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) Knopf();
         __declspec( dllexport ) Knopf();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~Knopf();
+        __declspec( dllexport ) virtual ~Knopf();
         // Setzt die Farbe, die als Hintergrund verwendet wird, wenn der Knopf gedrückt wird
         // Setzt die Farbe, die als Hintergrund verwendet wird, wenn der Knopf gedrückt wird
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setKlickFarbe( int fc );
         __declspec( dllexport ) void setKlickFarbe( int fc );
@@ -56,7 +56,7 @@ namespace Framework
         __declspec( dllexport ) void setKBZ( AlphaFeld *af );
         __declspec( dllexport ) void setKBZ( AlphaFeld *af );
         // Setzt die Stärke des Farbübergangs, der verwendet wird, wenn der Knopf gedrückt wird
         // Setzt die Stärke des Farbübergangs, der verwendet wird, wenn der Knopf gedrückt wird
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setKBStärke( int st );
+        __declspec( dllexport ) void setKBStrength( int st );
         // Setzt die Farbe des Farbübergangs, der verwendet wird, wenn der Knopf gedrückt wird
         // Setzt die Farbe des Farbübergangs, der verwendet wird, wenn der Knopf gedrückt wird
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setKBFarbe( int fc );
         __declspec( dllexport ) void setKBFarbe( int fc );
@@ -79,7 +79,7 @@ namespace Framework
         // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn der Knopf gedrückt wird
         // Gibt die Farbe des Farbübergangs im A8R8G8B8 Format zurück, der verwendet wird, wenn der Knopf gedrückt wird
         __declspec( dllexport ) int getKBFarbe() const;
         __declspec( dllexport ) int getKBFarbe() const;
         // Gibt die Stärke des Farbübergangs zurück, der verwendet wird, wenn der Knopf gedrückt wird
         // Gibt die Stärke des Farbübergangs zurück, der verwendet wird, wenn der Knopf gedrückt wird
-        __declspec( dllexport ) int getKBStärke() const;
+        __declspec( dllexport ) int getKBStrength() const;
         // Kopiert den Knopf, so das er ohne auswirkungen auf das Original verändert werden kann
         // Kopiert den Knopf, so das er ohne auswirkungen auf das Original verändert werden kann
         __declspec( dllexport ) Zeichnung *dublizieren() const override;
         __declspec( dllexport ) Zeichnung *dublizieren() const override;
         // Erhöht den Reference Counting Zähler.
         // Erhöht den Reference Counting Zähler.
@@ -136,7 +136,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) KontrollKnopf();
         __declspec( dllexport ) KontrollKnopf();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~KontrollKnopf();
+        __declspec( dllexport ) virtual ~KontrollKnopf();
         // Setzt den Zeiger auf den Beschriftungs Text
         // Setzt den Zeiger auf den Beschriftungs Text
         //  txt: Der Text
         //  txt: Der Text
         __declspec( dllexport ) void setTextZ( Text *txt );
         __declspec( dllexport ) void setTextZ( Text *txt );
@@ -163,7 +163,7 @@ namespace Framework
         __declspec( dllexport ) void setSFarbe( int f );
         __declspec( dllexport ) void setSFarbe( int f );
         // Setzt die Größe der Schrift, die für die Beschriftung verwendet werden soll
         // Setzt die Größe der Schrift, die für die Beschriftung verwendet werden soll
         //  f: Die Höhe einer Zeile in Pixeln
         //  f: Die Höhe einer Zeile in Pixeln
-        __declspec( dllexport ) void setSGröße( int gr );
+        __declspec( dllexport ) void setSSize( int gr );
         // Setzt die Hintergrund Farbe, die verwendet wird, während das Kästchen ausgewählt ist
         // Setzt die Hintergrund Farbe, die verwendet wird, während das Kästchen ausgewählt ist
         //  f: Die Farbe im A8R8G8B8 Format
         //  f: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setSBgFarbe( int f );
         __declspec( dllexport ) void setSBgFarbe( int f );
@@ -190,7 +190,7 @@ namespace Framework
         __declspec( dllexport ) void setSAFFarbe( int f );
         __declspec( dllexport ) void setSAFFarbe( int f );
         // Setzt die Stärke des Farbübergangs, der verwendet wird, während das Kästchen ausgewählt ist
         // Setzt die Stärke des Farbübergangs, der verwendet wird, während das Kästchen ausgewählt ist
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setSAFStärke( int st );
+        __declspec( dllexport ) void setSAFStrength( int st );
         // Setzt einen Zeiger auf den Farbübergang, der verwendet wird, während auf das Kästchen geklickt wird
         // Setzt einen Zeiger auf den Farbübergang, der verwendet wird, während auf das Kästchen geklickt wird
         //  af: Der Farbübergang
         //  af: Der Farbübergang
         __declspec( dllexport ) void setKAlphaFeldZ( AlphaFeld *af );
         __declspec( dllexport ) void setKAlphaFeldZ( AlphaFeld *af );
@@ -199,7 +199,7 @@ namespace Framework
         __declspec( dllexport ) void setKAFFarbe( int f );
         __declspec( dllexport ) void setKAFFarbe( int f );
         // Setzt die Stärke des Farbübergangs, der verwendet wird, während auf das Kästchen geklickt wird
         // Setzt die Stärke des Farbübergangs, der verwendet wird, während auf das Kästchen geklickt wird
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setKAFStärke( int st );
+        __declspec( dllexport ) void setKAFStrength( int st );
         // Lädt die Bilder "kasten.gif" und "skasten.gif" aus einer LTDB Datei
         // Lädt die Bilder "kasten.gif" und "skasten.gif" aus einer LTDB Datei
         // Das Bild kasten.gif wird gezeichnet, wenn das Kästchen nicht ausgewählt ist. Das Bild skasten.gif wird gezeichnet, wenn das Kästchen ausgewählt wird
         // Das Bild kasten.gif wird gezeichnet, wenn das Kästchen nicht ausgewählt ist. Das Bild skasten.gif wird gezeichnet, wenn das Kästchen ausgewählt wird
         //  zDat: Die LTDB Datei
         //  zDat: Die LTDB Datei
@@ -229,7 +229,7 @@ namespace Framework
         // Gibt die Schrift Farbe im A8R8G8B8 Format zurück
         // Gibt die Schrift Farbe im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getSFarbe() const;
         __declspec( dllexport ) int getSFarbe() const;
         // Gibt die Schrift Größe zurück
         // Gibt die Schrift Größe zurück
-        __declspec( dllexport ) int getSGröße() const;
+        __declspec( dllexport ) int getSSize() const;
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, während das Kästchen ausgewählt ist
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, während das Kästchen ausgewählt ist
         __declspec( dllexport ) int getSBgFarbe() const;
         __declspec( dllexport ) int getSBgFarbe() const;
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, während auf das Kästchen geklickt wird
         // Gibt die Hintergrund Farbe im A8R8G8B8 Format zurück, die verwendet wird, während auf das Kästchen geklickt wird

+ 68 - 68
Liste.cpp

@@ -18,7 +18,7 @@ using namespace Framework;
 AuswahlListe::AuswahlListe()
 AuswahlListe::AuswahlListe()
     : ZeichnungHintergrund(),
     : ZeichnungHintergrund(),
     tfListe( 0 ),
     tfListe( 0 ),
-    einträge( 0 ),
+    entries( 0 ),
     auswahl( -1 ),
     auswahl( -1 ),
     ahFarbe( 0xFF000000 ),
     ahFarbe( 0xFF000000 ),
     ahBild( 0 ),
     ahBild( 0 ),
@@ -71,12 +71,12 @@ void AuswahlListe::update() // aktualisiert die Auswahl Liste
     {
     {
         rbr = rahmen->getRBreite();
         rbr = rahmen->getRBreite();
         rahmen->setPosition( 0, 0 );
         rahmen->setPosition( 0, 0 );
-        rahmen->setGröße( gr.x, gr.y );
+        rahmen->setSize( gr.x, gr.y );
     }
     }
     if( hintergrundFeld )
     if( hintergrundFeld )
     {
     {
         hintergrundFeld->setPosition( rbr, rbr );
         hintergrundFeld->setPosition( rbr, rbr );
-        hintergrundFeld->setGröße( gr.x - rbr * 2, gr.y - rbr * 2 );
+        hintergrundFeld->setSize( gr.x - rbr * 2, gr.y - rbr * 2 );
     }
     }
     if( hatStyleNicht( Style::MultiStyled ) && tfListe )
     if( hatStyleNicht( Style::MultiStyled ) && tfListe )
     {
     {
@@ -85,7 +85,7 @@ void AuswahlListe::update() // aktualisiert die Auswahl Liste
         bool FeldHBild = hatStyle( Style::FeldHBild );
         bool FeldHBild = hatStyle( Style::FeldHBild );
         bool FeldHAlpha = hatStyle( Style::FeldHAlpha );
         bool FeldHAlpha = hatStyle( Style::FeldHAlpha );
         bool FeldBuffer = hatStyle( Style::FeldBuffer );
         bool FeldBuffer = hatStyle( Style::FeldBuffer );
-        for( int i = 0; i < einträge; ++i )
+        for( int i = 0; i < entries; ++i )
         {
         {
             TextFeld *tf = tfListe->z( i );
             TextFeld *tf = tfListe->z( i );
             tf->setStyle( TextFeld::Style::Rahmen, FeldRahmen );
             tf->setStyle( TextFeld::Style::Rahmen, FeldRahmen );
@@ -99,7 +99,7 @@ void AuswahlListe::update() // aktualisiert die Auswahl Liste
     }
     }
     if( hatStyle( Style::MultiStyled ) && tfListe && styles )
     if( hatStyle( Style::MultiStyled ) && tfListe && styles )
     {
     {
-        for( int i = 0; i < einträge; ++i )
+        for( int i = 0; i < entries; ++i )
         {
         {
             TextFeld *tf = tfListe->z( i );
             TextFeld *tf = tfListe->z( i );
             tf->setStyle( TextFeld::Style::Rahmen, hatMsStyle( i, Style::FeldRahmen ) );
             tf->setStyle( TextFeld::Style::Rahmen, hatMsStyle( i, Style::FeldRahmen ) );
@@ -120,7 +120,7 @@ void AuswahlListe::addEintrag( Text *txt ) // f
     tf->setLinienRahmenBreite( 1 );
     tf->setLinienRahmenBreite( 1 );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
     tf->setTextZ( txt );
     tf->setTextZ( txt );
-    tf->setGröße( 0, 20 );
+    tf->setSize( 0, 20 );
     addEintragZ( tf );
     addEintragZ( tf );
     rend = 1;
     rend = 1;
 }
 }
@@ -138,8 +138,8 @@ void AuswahlListe::addEintragZ( TextFeld *tf )
         tfListe = new RCArray< TextFeld >();
         tfListe = new RCArray< TextFeld >();
     if( schrift && ( !tf->zSchrift() || hatStyleNicht( Style::MultiStyled ) ) )
     if( schrift && ( !tf->zSchrift() || hatStyleNicht( Style::MultiStyled ) ) )
         tf->setSchriftZ( schrift->getThis() );
         tf->setSchriftZ( schrift->getThis() );
-    tfListe->set( tf, einträge );
-    ++einträge;
+    tfListe->set( tf, entries );
+    ++entries;
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -151,7 +151,7 @@ void AuswahlListe::addEintrag( int pos, Text *txt ) // f
     tf->setLinienRahmenBreite( 1 );
     tf->setLinienRahmenBreite( 1 );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
     tf->setLinienRahmenFarbe( 0xFFFFFFFF );
     tf->setTextZ( txt );
     tf->setTextZ( txt );
-    tf->setGröße( 0, 20 );
+    tf->setSize( 0, 20 );
     addEintragZ( pos, tf );
     addEintragZ( pos, tf );
     rend = 1;
     rend = 1;
 }
 }
@@ -170,7 +170,7 @@ void AuswahlListe::addEintragZ( int pos, TextFeld *tf )
     if( schrift && ( !tf->zSchrift() || hatStyleNicht( Style::MultiStyled ) ) )
     if( schrift && ( !tf->zSchrift() || hatStyleNicht( Style::MultiStyled ) ) )
         tf->setSchriftZ( schrift->getThis() );
         tf->setSchriftZ( schrift->getThis() );
     tfListe->add( tf, pos );
     tfListe->add( tf, pos );
-    ++einträge;
+    ++entries;
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -187,7 +187,7 @@ void AuswahlListe::setEintrag( int pos, Text *txt ) // 
         tf->setLinienRahmenFarbe( 0xFFFFFFFF );
         tf->setLinienRahmenFarbe( 0xFFFFFFFF );
         tf->setLinienRahmenBreite( 1 );
         tf->setLinienRahmenBreite( 1 );
         tf->setTextZ( txt );
         tf->setTextZ( txt );
-        tf->setGröße( 0, 20 );
+        tf->setSize( 0, 20 );
         setEintragZ( pos, tf );
         setEintragZ( pos, tf );
         rend = 1;
         rend = 1;
         return;
         return;
@@ -232,10 +232,10 @@ void AuswahlListe::tauschEintragPos( int vpos, int npos ) // taucht den Eintrag
     }
     }
 }
 }
 
 
-void AuswahlListe::löscheEintrag( int pos ) // löscht den Eintrag pos
+void AuswahlListe::removeEintrag( int pos ) // löscht den Eintrag pos
 {
 {
-    tfListe->lösche( pos );
-    --einträge;
+    tfListe->remove( pos );
+    --entries;
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -251,11 +251,11 @@ void AuswahlListe::setVScrollZuEintrag( int eintrag ) // scrollt zum Eintrag
 {
 {
     if( vertikalScrollBar )
     if( vertikalScrollBar )
     {
     {
-        if( eintrag < einträge )
-            eintrag = einträge - 1;
+        if( eintrag < entries )
+            eintrag = entries - 1;
         int y = 0;
         int y = 0;
         for( int i = 0; i < eintrag; i++ )
         for( int i = 0; i < eintrag; i++ )
-            y += tfListe->z( i ) ? tfListe->z( i )->getHöhe() : 0;
+            y += tfListe->z( i ) ? tfListe->z( i )->getHeight() : 0;
         vertikalScrollBar->scroll( y );
         vertikalScrollBar->scroll( y );
     }
     }
 }
 }
@@ -265,8 +265,8 @@ void AuswahlListe::updateVScroll() // scrollt zur Curser Position oder nach Unte
     if( vertikalScrollBar )
     if( vertikalScrollBar )
     {
     {
         int y = 0;
         int y = 0;
-        for( int i = 0; i < einträge; i++ )
-            y += tfListe->z( i ) ? tfListe->z( i )->getHöhe() : 0;
+        for( int i = 0; i < entries; i++ )
+            y += tfListe->z( i ) ? tfListe->z( i )->getHeight() : 0;
         vertikalScrollBar->update( y, gr.y - ( ( rahmen && hatStyle( TextFeld::Style::Rahmen ) ) ? rahmen->getRBreite() : 0 ) );
         vertikalScrollBar->update( y, gr.y - ( ( rahmen && hatStyle( TextFeld::Style::Rahmen ) ) ? rahmen->getRBreite() : 0 ) );
     }
     }
 }
 }
@@ -303,11 +303,11 @@ void AuswahlListe::setAAFZ( AlphaFeld *buffer ) // setzt einen Zeiger zum Auswah
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlListe::setAAFStärke( int st ) // setzt die Stärke des Auswahl Hintergrund Buffers (nur ohne MultiStyled)
+void AuswahlListe::setAAFStrength( int st ) // setzt die Stärke des Auswahl Hintergrund Buffers (nur ohne MultiStyled)
 {
 {
     if( !aBuffer )
     if( !aBuffer )
         aBuffer = new AlphaFeld();
         aBuffer = new AlphaFeld();
-    aBuffer->setStärke( st );
+    aBuffer->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -323,10 +323,10 @@ void AuswahlListe::setAHBild( Bild *bild ) // setzt das Auswahl Hintergrund Bild
 {
 {
     if( !ahBild )
     if( !ahBild )
         ahBild = new Bild();
         ahBild = new Bild();
-    ahBild->neuBild( bild->getBreite(), bild->getHöhe(), 0 );
+    ahBild->neuBild( bild->getBreite(), bild->getHeight(), 0 );
     int *buff1 = ahBild->getBuffer();
     int *buff1 = ahBild->getBuffer();
     int *buff2 = bild->getBuffer();
     int *buff2 = bild->getBuffer();
-    for( int i = 0; i < bild->getBreite() * bild->getHöhe(); ++i )
+    for( int i = 0; i < bild->getBreite() * bild->getHeight(); ++i )
         buff1[ i ] = buff2[ i ];
         buff1[ i ] = buff2[ i ];
     bild->release();
     bild->release();
     rend = 1;
     rend = 1;
@@ -382,13 +382,13 @@ void AuswahlListe::setAAFZ( int pos, AlphaFeld *buffer ) // setzt einen Zeiger z
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlListe::setAAFStärke( int pos, int st ) // setzt die Stärke des Auswahl Hintergrund Buffers (nur mit MultiStyled)
+void AuswahlListe::setAAFStrength( int pos, int st ) // setzt die Stärke des Auswahl Hintergrund Buffers (nur mit MultiStyled)
 {
 {
     if( !aBufferListe )
     if( !aBufferListe )
         aBufferListe = new RCArray< AlphaFeld >();
         aBufferListe = new RCArray< AlphaFeld >();
     if( !aBufferListe->z( pos ) )
     if( !aBufferListe->z( pos ) )
         aBufferListe->set( new AlphaFeld(), pos );
         aBufferListe->set( new AlphaFeld(), pos );
-    aBufferListe->z( pos )->setStärke( st );
+    aBufferListe->z( pos )->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -408,10 +408,10 @@ void AuswahlListe::setAHBild( int pos, Bild *bild ) // setzt das Auswahl Hinterg
         ahBildListe = new RCArray< Bild >();
         ahBildListe = new RCArray< Bild >();
     if( !ahBildListe->z( pos ) )
     if( !ahBildListe->z( pos ) )
         ahBildListe->set( new Bild(), pos );
         ahBildListe->set( new Bild(), pos );
-    ahBildListe->z( pos )->neuBild( bild->getBreite(), bild->getHöhe(), 0 );
+    ahBildListe->z( pos )->neuBild( bild->getBreite(), bild->getHeight(), 0 );
     int *buff1 = ahBildListe->z( pos )->getBuffer();
     int *buff1 = ahBildListe->z( pos )->getBuffer();
     int *buff2 = bild->getBuffer();
     int *buff2 = bild->getBuffer();
-    for( int i = 0; i < bild->getBreite() * bild->getHöhe(); ++i )
+    for( int i = 0; i < bild->getBreite() * bild->getHeight(); ++i )
         buff1[ i ] = buff2[ i ];
         buff1[ i ] = buff2[ i ];
     bild->release();
     bild->release();
     rend = 1;
     rend = 1;
@@ -441,11 +441,11 @@ void AuswahlListe::setMsStyle( int pos, __int64 style ) // setzt den Style des E
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlListe::setMsStyle( int pos, __int64 style, bool add_löschen )
+void AuswahlListe::setMsStyle( int pos, __int64 style, bool add_remove )
 {
 {
     if( !styles )
     if( !styles )
         styles = new Array< __int64 >();
         styles = new Array< __int64 >();
-    if( add_löschen )
+    if( add_remove )
         styles->set( styles->get( pos ) | style, pos );
         styles->set( styles->get( pos ) | style, pos );
     else
     else
         styles->set( styles->get( pos ) & ~style, pos );
         styles->set( styles->get( pos ) & ~style, pos );
@@ -460,7 +460,7 @@ void AuswahlListe::addMsStyle( int pos, __int64 style )
     rend = 1;
     rend = 1;
 }
 }
 
 
-void AuswahlListe::löscheMsStyle( int pos, __int64 style )
+void AuswahlListe::removeMsStyle( int pos, __int64 style )
 {
 {
     if( !styles )
     if( !styles )
         styles = new Array< __int64 >();
         styles = new Array< __int64 >();
@@ -480,7 +480,7 @@ void AuswahlListe::doMausEreignis( MausEreignis &me )
         {
         {
             mausIn = 0;
             mausIn = 0;
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -489,13 +489,13 @@ void AuswahlListe::doMausEreignis( MausEreignis &me )
         }
         }
         removeFokus = 1;
         removeFokus = 1;
     }
     }
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt )
+    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves )
     {
     {
         if( removeFokus && me.id == ME_RLinks )
         if( removeFokus && me.id == ME_RLinks )
-            löscheStyle( Style::Fokus );
+            removeStyle( Style::Fokus );
         return;
         return;
     }
     }
-    if( !mausIn && me.id != ME_Verlässt )
+    if( !mausIn && me.id != ME_Leaves )
     {
     {
         mausIn = 1;
         mausIn = 1;
         MausEreignis me2;
         MausEreignis me2;
@@ -509,7 +509,7 @@ void AuswahlListe::doMausEreignis( MausEreignis &me )
     if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
     if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
     {
     {
         if( removeFokus && me.id == ME_RLinks )
         if( removeFokus && me.id == ME_RLinks )
-            löscheStyle( Style::Fokus );
+            removeStyle( Style::Fokus );
         if( !me.verarbeitet && hatStyleNicht( Style::Fokus ) && me.id == ME_RLinks )
         if( !me.verarbeitet && hatStyleNicht( Style::Fokus ) && me.id == ME_RLinks )
             addStyle( Style::Fokus );
             addStyle( Style::Fokus );
         if( hatStyle( Style::VScroll ) && vertikalScrollBar )
         if( hatStyle( Style::VScroll ) && vertikalScrollBar )
@@ -517,7 +517,7 @@ void AuswahlListe::doMausEreignis( MausEreignis &me )
             int rbr = 0;
             int rbr = 0;
             if( rahmen && hatStyle( Style::Rahmen ) )
             if( rahmen && hatStyle( Style::Rahmen ) )
                 rbr = rahmen->getRBreite();
                 rbr = rahmen->getRBreite();
-            if( ( ( me.mx > gr.x - 15 - rbr ) || me.id == ME_UScroll || me.id == ME_DScroll ) && me.id != ME_Betritt && me.id != ME_Verlässt )
+            if( ( ( me.mx > gr.x - 15 - rbr ) || me.id == ME_UScroll || me.id == ME_DScroll ) && me.id != ME_Betritt && me.id != ME_Leaves )
             {
             {
                 vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me );
                 vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me );
                 me.verarbeitet = 1;
                 me.verarbeitet = 1;
@@ -539,7 +539,7 @@ void AuswahlListe::doMausEreignis( MausEreignis &me )
                     bool strg = TastenStand[ T_Strg ];
                     bool strg = TastenStand[ T_Strg ];
                     if( strg )
                     if( strg )
                     {
                     {
-                        setMsStyle( eintr, Style::Ausgewählt, hatMsStyleNicht( eintr, Style::Ausgewählt ) );
+                        setMsStyle( eintr, Style::Selected, hatMsStyleNicht( eintr, Style::Selected ) );
                         auswahl = eintr;
                         auswahl = eintr;
                     }
                     }
                     else if( shift && auswahl != -1 )
                     else if( shift && auswahl != -1 )
@@ -554,13 +554,13 @@ void AuswahlListe::doMausEreignis( MausEreignis &me )
                         }
                         }
                         for( int i = beg; i <= end; ++i )
                         for( int i = beg; i <= end; ++i )
                         {
                         {
-                            addMsStyle( i, Style::Ausgewählt );
+                            addMsStyle( i, Style::Selected );
                         }
                         }
                     }
                     }
                     else
                     else
                     {
                     {
                         deSelect();
                         deSelect();
-                        addMsStyle( eintr, Style::Ausgewählt );
+                        addMsStyle( eintr, Style::Selected );
                         auswahl = eintr;
                         auswahl = eintr;
                     }
                     }
                 }
                 }
@@ -591,8 +591,8 @@ void AuswahlListe::doTastaturEreignis( TastaturEreignis &te )
                 {
                 {
                 case T_Unten:
                 case T_Unten:
                     ++auswahl;
                     ++auswahl;
-                    if( auswahl > einträge )
-                        auswahl = einträge;
+                    if( auswahl > entries )
+                        auswahl = entries;
                     rend = 1;
                     rend = 1;
                     break;
                     break;
                 case T_Oben:
                 case T_Oben:
@@ -610,10 +610,10 @@ void AuswahlListe::doTastaturEreignis( TastaturEreignis &te )
                 case T_Unten:
                 case T_Unten:
                     deSelect();
                     deSelect();
                     ++auswahl;
                     ++auswahl;
-                    if( auswahl > einträge )
-                        auswahl = einträge;
+                    if( auswahl > entries )
+                        auswahl = entries;
                     if( auswahl >= 0 )
                     if( auswahl >= 0 )
-                        addMsStyle( auswahl, Style::Ausgewählt );
+                        addMsStyle( auswahl, Style::Selected );
                     rend = 1;
                     rend = 1;
                     break;
                     break;
                 case T_Oben:
                 case T_Oben:
@@ -622,7 +622,7 @@ void AuswahlListe::doTastaturEreignis( TastaturEreignis &te )
                     if( auswahl < -1 )
                     if( auswahl < -1 )
                         auswahl = -1;
                         auswahl = -1;
                     if( auswahl >= 0 )
                     if( auswahl >= 0 )
-                        addMsStyle( auswahl, Style::Ausgewählt );
+                        addMsStyle( auswahl, Style::Selected );
                     rend = 1;
                     rend = 1;
                     break;
                     break;
                 }
                 }
@@ -641,10 +641,10 @@ void AuswahlListe::render( Bild &zRObj ) // zeichnet nach zRObj
 {
 {
     if( !hatStyle( Style::Sichtbar ) )
     if( !hatStyle( Style::Sichtbar ) )
         return;
         return;
-    löscheStyle( Style::HScroll );
-    __super::render( zRObj );
+    removeStyle( Style::HScroll );
+	ZeichnungHintergrund::render( zRObj );
     lockZeichnung();
     lockZeichnung();
-    if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
+    if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
     {
     {
         unlockZeichnung();
         unlockZeichnung();
         return;
         return;
@@ -654,23 +654,23 @@ void AuswahlListe::render( Bild &zRObj ) // zeichnet nach zRObj
         rbr = rahmen->getRBreite();
         rbr = rahmen->getRBreite();
     if( tfListe )
     if( tfListe )
     {
     {
-        einträge = tfListe->getEintragAnzahl();
-        int maxHöhe = 0;
+        entries = tfListe->getEintragAnzahl();
+        int maxHeight = 0;
         int dx = 0, dy = 0;
         int dx = 0, dy = 0;
         if( vertikalScrollBar && hatStyle( Style::VScroll ) )
         if( vertikalScrollBar && hatStyle( Style::VScroll ) )
             dy -= vertikalScrollBar->getScroll();
             dy -= vertikalScrollBar->getScroll();
-        int mdy = innenGröße.y + rbr;
-        for( int i = 0; i < einträge; ++i )
+        int mdy = innenSize.y + rbr;
+        for( int i = 0; i < entries; ++i )
         {
         {
             TextFeld *tf = tfListe->z( i );
             TextFeld *tf = tfListe->z( i );
-            if( dy + tf->getHöhe() > mdy && !( vertikalScrollBar && hatStyle( Style::VScroll ) ) )
+            if( dy + tf->getHeight() > mdy && !( vertikalScrollBar && hatStyle( Style::VScroll ) ) )
                 break;
                 break;
             tf->setPosition( dx, dy );
             tf->setPosition( dx, dy );
-            tf->setGröße( innenGröße.x, tf->getHöhe() );
-            maxHöhe += tf->getHöhe();
+            tf->setSize( innenSize.x, tf->getHeight() );
+            maxHeight += tf->getHeight();
             bool selected = 0;
             bool selected = 0;
             if( hatStyle( Style::MultiSelect ) && styles )
             if( hatStyle( Style::MultiSelect ) && styles )
-                selected = hatMsStyle( i, Style::Ausgewählt );
+                selected = hatMsStyle( i, Style::Selected );
             else
             else
                 selected = auswahl == i;
                 selected = auswahl == i;
             AlphaFeld *tmpBuffer = 0;
             AlphaFeld *tmpBuffer = 0;
@@ -815,10 +815,10 @@ void AuswahlListe::render( Bild &zRObj ) // zeichnet nach zRObj
                     }
                     }
                 }
                 }
             }
             }
-            dy += tf->getHöhe();
+            dy += tf->getHeight();
         }
         }
         if( vertikalScrollBar )
         if( vertikalScrollBar )
-            vertikalScrollBar->getScrollData()->max = maxHöhe;
+            vertikalScrollBar->getScrollData()->max = maxHeight;
     }
     }
     zRObj.releaseDrawOptions();
     zRObj.releaseDrawOptions();
     unlockZeichnung();
     unlockZeichnung();
@@ -828,13 +828,13 @@ int AuswahlListe::getKlickEintrag( int my )
 {
 {
     if( !tfListe )
     if( !tfListe )
         return -1;
         return -1;
-    einträge = tfListe->getEintragAnzahl();
+    entries = tfListe->getEintragAnzahl();
     int y = 0;
     int y = 0;
     if( hatStyle( Style::VScroll ) && vertikalScrollBar )
     if( hatStyle( Style::VScroll ) && vertikalScrollBar )
         y -= vertikalScrollBar->getScroll();
         y -= vertikalScrollBar->getScroll();
-    for( int i = 0; i < einträge; ++i )
+    for( int i = 0; i < entries; ++i )
     {
     {
-        y += tfListe->z( i )->getHöhe();
+        y += tfListe->z( i )->getHeight();
         if( y > my )
         if( y > my )
             return i;
             return i;
     }
     }
@@ -847,9 +847,9 @@ void AuswahlListe::setAuswahl( int ausw ) // setzt die Auswahl
         auswahl = ausw;
         auswahl = ausw;
     else if( styles )
     else if( styles )
     {
     {
-        for( int i = 0; i < einträge; ++i )
-            löscheMsStyle( i, Style::Ausgewählt );
-        addMsStyle( ausw, Style::Ausgewählt );
+        for( int i = 0; i < entries; ++i )
+            removeMsStyle( i, Style::Selected );
+        addMsStyle( ausw, Style::Selected );
     }
     }
 }
 }
 
 
@@ -859,9 +859,9 @@ void AuswahlListe::deSelect()
         auswahl = -1;
         auswahl = -1;
     else if( styles )
     else if( styles )
     {
     {
-        for( int i = 0; i < einträge; ++i )
+        for( int i = 0; i < entries; ++i )
         {
         {
-            löscheMsStyle( i, Style::Ausgewählt );
+            removeMsStyle( i, Style::Selected );
         }
         }
     }
     }
 }
 }
@@ -869,7 +869,7 @@ void AuswahlListe::deSelect()
 // constant 
 // constant 
 int AuswahlListe::getEintragAnzahl() const // gibt die Anzahl der Einträge zurück
 int AuswahlListe::getEintragAnzahl() const // gibt die Anzahl der Einträge zurück
 {
 {
-    return einträge;
+    return entries;
 }
 }
 
 
 int AuswahlListe::getAuswahl() const // gibt den ersten ausgewählten Eintrag zurück
 int AuswahlListe::getAuswahl() const // gibt den ersten ausgewählten Eintrag zurück
@@ -879,7 +879,7 @@ int AuswahlListe::getAuswahl() const // gibt den ersten ausgew
 
 
 int AuswahlListe::getEintragPos( Text *eintragText ) // gibt die Position des eintrages mit dem entsprechenden Textes zurück
 int AuswahlListe::getEintragPos( Text *eintragText ) // gibt die Position des eintrages mit dem entsprechenden Textes zurück
 {
 {
-    for( int i = 0; i < einträge; ++i )
+    for( int i = 0; i < entries; ++i )
     {
     {
         if( tfListe->z( i )->zText()->istGleich( eintragText->getText() ) )
         if( tfListe->z( i )->zText()->istGleich( eintragText->getText() ) )
         {
         {

+ 9 - 9
Liste.h

@@ -36,13 +36,13 @@ namespace Framework
             const static __int64 AuswahlRahmen = 0x0200000; // Legt fest, ob die ausgewählten Einträge einen Rahmen besitzen
             const static __int64 AuswahlRahmen = 0x0200000; // Legt fest, ob die ausgewählten Einträge einen Rahmen besitzen
             const static __int64 MultiStyled = 0x0400000; // Legt fest, ob jeder Eintrag seine eigenen Hintergrund, Farbübergang und Rahmen hat, fals er ausgewählt ist
             const static __int64 MultiStyled = 0x0400000; // Legt fest, ob jeder Eintrag seine eigenen Hintergrund, Farbübergang und Rahmen hat, fals er ausgewählt ist
             const static __int64 MultiSelect = 0x0800000; // Legt fest, das mehrere Einträge gleichzeitig ausgewählt sein können
             const static __int64 MultiSelect = 0x0800000; // Legt fest, das mehrere Einträge gleichzeitig ausgewählt sein können
-            const static __int64 Ausgewählt = 0x1000000; // Legt fest, ob ein bestimmter Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde.
+            const static __int64 Selected = 0x1000000; // Legt fest, ob ein bestimmter Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde.
 
 
             const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldHAlpha | FeldHintergrund | FeldRahmen | AuswahlBuffer | AuswahlRahmen; // Vereint die Flags Sichtbar, Erlaubt, Rahmen, FeldHAlpha, FeldHintergrund, FeldRahmen, AuswahlBuffer, AuswahlRahmen
             const static __int64 Normal = Sichtbar | Erlaubt | Rahmen | FeldHAlpha | FeldHintergrund | FeldRahmen | AuswahlBuffer | AuswahlRahmen; // Vereint die Flags Sichtbar, Erlaubt, Rahmen, FeldHAlpha, FeldHintergrund, FeldRahmen, AuswahlBuffer, AuswahlRahmen
         };
         };
     private:
     private:
         RCArray< TextFeld > *tfListe;
         RCArray< TextFeld > *tfListe;
-        int einträge, auswahl;
+        int entries, auswahl;
         int ahFarbe;
         int ahFarbe;
         Bild *ahBild;
         Bild *ahBild;
         AlphaFeld *aBuffer;
         AlphaFeld *aBuffer;
@@ -59,7 +59,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) AuswahlListe();
         __declspec( dllexport ) AuswahlListe();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~AuswahlListe();
+        __declspec( dllexport ) virtual ~AuswahlListe();
         // Aktualisiert die Styles, größe und Position der Einträge
         // Aktualisiert die Styles, größe und Position der Einträge
         __declspec( dllexport ) void update();
         __declspec( dllexport ) void update();
         // Fügt einen Eintrag hinzu
         // Fügt einen Eintrag hinzu
@@ -101,7 +101,7 @@ namespace Framework
         __declspec( dllexport ) void tauschEintragPos( int vpos, int npos );
         __declspec( dllexport ) void tauschEintragPos( int vpos, int npos );
         // Löscht einen Eintrag
         // Löscht einen Eintrag
         // pos: Der Index des Eintrags
         // pos: Der Index des Eintrags
-        __declspec( dllexport ) void löscheEintrag( int pos );
+        __declspec( dllexport ) void removeEintrag( int pos );
         // Setzt die verwendete Schrift
         // Setzt die verwendete Schrift
         //  schrift: Die Schrift
         //  schrift: Die Schrift
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
@@ -124,7 +124,7 @@ namespace Framework
         __declspec( dllexport ) void setAAFZ( AlphaFeld *buffer );
         __declspec( dllexport ) void setAAFZ( AlphaFeld *buffer );
         // Setzt die Stärke des Farbübergnags, der bei ausgewählten Einträgen verwendet wird, fals MulitStyled nicht gesetzt wurde
         // Setzt die Stärke des Farbübergnags, der bei ausgewählten Einträgen verwendet wird, fals MulitStyled nicht gesetzt wurde
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setAAFStärke( int st );
+        __declspec( dllexport ) void setAAFStrength( int st );
         // Setzt die Farbe des Farbübergnags, der bei ausgewählten Einträgen verwendet wird, fals MulitStyled nicht gesetzt wurde
         // Setzt die Farbe des Farbübergnags, der bei ausgewählten Einträgen verwendet wird, fals MulitStyled nicht gesetzt wurde
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
         __declspec( dllexport ) void setAAFFarbe( int fc );
         __declspec( dllexport ) void setAAFFarbe( int fc );
@@ -156,7 +156,7 @@ namespace Framework
         // Setzt die Stärke des Farbübergnags, der bei einem ausgewählten Eintrag verwendet wird, fals MulitStyled gesetzt wurde
         // Setzt die Stärke des Farbübergnags, der bei einem ausgewählten Eintrag verwendet wird, fals MulitStyled gesetzt wurde
         //  pos: Der Index des Eintrags
         //  pos: Der Index des Eintrags
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setAAFStärke( int pos, int st );
+        __declspec( dllexport ) void setAAFStrength( int pos, int st );
         // Setzt die Farbe des Farbübergnags, der bei einem ausgewählten Eintrag verwendet wird, fals MulitStyled gesetzt wurde
         // Setzt die Farbe des Farbübergnags, der bei einem ausgewählten Eintrag verwendet wird, fals MulitStyled gesetzt wurde
         //  pos: Der Index des Eintrags
         //  pos: Der Index des Eintrags
         //  fc: Die Farbe im A8R8G8B8 Format
         //  fc: Die Farbe im A8R8G8B8 Format
@@ -180,8 +180,8 @@ namespace Framework
         // Ändert den Style eines Eintrags, falls MulitStyled gesetzt wurde und legt fest, ob ein Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde
         // Ändert den Style eines Eintrags, falls MulitStyled gesetzt wurde und legt fest, ob ein Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde
         //  pos: Der Index des Eintrags
         //  pos: Der Index des Eintrags
         //  style: Der Style
         //  style: Der Style
-        //  add_löschen: 1, falls der Style hinzugefügt werden soll. 0, falls der Style entfernt weden soll
-        __declspec( dllexport ) void setMsStyle( int pos, __int64 style, bool add_löschen );
+        //  add_remove: 1, falls der Style hinzugefügt werden soll. 0, falls der Style entfernt weden soll
+        __declspec( dllexport ) void setMsStyle( int pos, __int64 style, bool add_remove );
         // Fügt Styles zu einem Eintrag hinzu, falls MulitStyled gesetzt wurde und legt fest, ob ein Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde
         // Fügt Styles zu einem Eintrag hinzu, falls MulitStyled gesetzt wurde und legt fest, ob ein Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde
         //  pos: Der Index des Eintrags
         //  pos: Der Index des Eintrags
         //  style: Der Style, der hinzugefügt werden soll
         //  style: Der Style, der hinzugefügt werden soll
@@ -189,7 +189,7 @@ namespace Framework
         // Entfernt Styles von einem Eintrag, falls MulitStyled gesetzt wurde und legt fest, ob ein Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde
         // Entfernt Styles von einem Eintrag, falls MulitStyled gesetzt wurde und legt fest, ob ein Eintrag ausgewählt ist, falls MultiSelect gesetzt wurde
         //  pos: Der Index des Eintrags
         //  pos: Der Index des Eintrags
         //  style: Der Style, der entfernt werden soll
         //  style: Der Style, der entfernt werden soll
-        __declspec( dllexport ) void löscheMsStyle( int pos, __int64 style );
+        __declspec( dllexport ) void removeMsStyle( int pos, __int64 style );
         // Verarbeitet Tastatur Nachrichten
         // Verarbeitet Tastatur Nachrichten
         //  me: Das Ereignis, was durch die Tastatureingabe ausgelößt wurde
         //  me: Das Ereignis, was durch die Tastatureingabe ausgelößt wurde
         __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;
         __declspec( dllexport ) void doMausEreignis( MausEreignis &me ) override;

+ 14 - 14
M2DVorschau.cpp

@@ -59,7 +59,7 @@ void M2DVorschau::doMausEreignis( MausEreignis &me )
             toolTip->setMausIn( 0 );
             toolTip->setMausIn( 0 );
         return;
         return;
     }
     }
-    if( me.verarbeitet || ( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt ) )
+    if( me.verarbeitet || ( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves ) )
     {
     {
         if( mausIn )
         if( mausIn )
         {
         {
@@ -67,7 +67,7 @@ void M2DVorschau::doMausEreignis( MausEreignis &me )
             if( toolTip )
             if( toolTip )
                 toolTip->setMausIn( 0 );
                 toolTip->setMausIn( 0 );
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -75,7 +75,7 @@ void M2DVorschau::doMausEreignis( MausEreignis &me )
         }
         }
         return;
         return;
     }
     }
-    if( !mausIn && me.id != ME_Verlässt )
+    if( !mausIn && me.id != ME_Leaves )
     {
     {
         mausIn = 1;
         mausIn = 1;
         if( toolTip )
         if( toolTip )
@@ -93,11 +93,11 @@ void M2DVorschau::doMausEreignis( MausEreignis &me )
         if( hatStyle( Style::UsrScale ) )
         if( hatStyle( Style::UsrScale ) )
         {
         {
             if( mdl && me.id == ME_UScroll )
             if( mdl && me.id == ME_UScroll )
-                mdl->addGröße( 0.01f );
+                mdl->addSize( 0.01f );
             if( mdl && me.id == ME_DScroll )
             if( mdl && me.id == ME_DScroll )
-                mdl->addGröße( -0.01f );
+                mdl->addSize( -0.01f );
         }
         }
-        if( me.id == ME_RLinks || me.id == ME_RRechts || me.id == ME_Verlässt )
+        if( me.id == ME_RLinks || me.id == ME_RRechts || me.id == ME_Leaves )
         {
         {
             mx = -1;
             mx = -1;
             my = -1;
             my = -1;
@@ -111,13 +111,13 @@ void M2DVorschau::doMausEreignis( MausEreignis &me )
                 if( getMausStand( M_Rechts ) && hatStyle( Style::UsrRot ) )
                 if( getMausStand( M_Rechts ) && hatStyle( Style::UsrRot ) )
                 {
                 {
                     if( me.mx > gr.x / 2 )
                     if( me.mx > gr.x / 2 )
-                        mdl->addDrehung( 0.01f * ( me.my - my ) );
+                        mdl->addDrehung( 0.01f * (float)( me.my - my ) );
                     else
                     else
-                        mdl->addDrehung( -0.01f * ( me.my - my ) );
+                        mdl->addDrehung( -0.01f * (float)( me.my - my ) );
                     if( me.my > gr.y / 2 )
                     if( me.my > gr.y / 2 )
-                        mdl->addDrehung( -0.01f * ( me.mx - mx ) );
+                        mdl->addDrehung( -0.01f * (float)( me.mx - mx ) );
                     else
                     else
-                        mdl->addDrehung( 0.01f * ( me.mx - mx ) );
+                        mdl->addDrehung( 0.01f * (float)( me.mx - mx ) );
                 }
                 }
                 mx = me.mx;
                 mx = me.mx;
                 my = me.my;
                 my = me.my;
@@ -139,16 +139,16 @@ bool M2DVorschau::tick( double tv )
     rend |= mdl ? mdl->tick( tv ) : 0;
     rend |= mdl ? mdl->tick( tv ) : 0;
     rend |= af ? af->tick( tv ) : 0;
     rend |= af ? af->tick( tv ) : 0;
     rend |= ram ? ram->tick( tv ) : 0;
     rend |= ram ? ram->tick( tv ) : 0;
-    return __super::tick( tv );
+    return ZeichnungHintergrund::tick( tv );
 }
 }
 
 
 void M2DVorschau::render( Bild &rb )
 void M2DVorschau::render( Bild &rb )
 {
 {
-    löscheStyle( Style::VScroll | Style::HScroll );
+    removeStyle( Style::VScroll | Style::HScroll );
     if( hatStyleNicht( Style::Sichtbar ) )
     if( hatStyleNicht( Style::Sichtbar ) )
         return;
         return;
-    __super::render( rb );
-    if( !rb.setDrawOptions( innenPosition, innenGröße ) )
+	ZeichnungHintergrund::render( rb );
+    if( !rb.setDrawOptions( innenPosition, innenSize ) )
         return;
         return;
     if( mdl )
     if( mdl )
     {
     {

+ 1 - 1
M2DVorschau.h

@@ -35,7 +35,7 @@ namespace Framework
         // Konstruktor
         // Konstruktor
         __declspec( dllexport ) M2DVorschau();
         __declspec( dllexport ) M2DVorschau();
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~M2DVorschau();
+        __declspec( dllexport ) virtual ~M2DVorschau();
         // Setzt einen Zeiger auf das Model, das angezeigt werden soll
         // Setzt einen Zeiger auf das Model, das angezeigt werden soll
         //  mdl: Das Model
         //  mdl: Das Model
         __declspec( dllexport ) void setModel2DZ( Model2D *mdl );
         __declspec( dllexport ) void setModel2DZ( Model2D *mdl );

+ 299 - 299
M2Datei.cpp

@@ -9,373 +9,373 @@ using namespace Framework;
 // Konstruktor
 // Konstruktor
 M2Datei::M2Datei()
 M2Datei::M2Datei()
 {
 {
-    pfad = new Text();
-    modelName = new RCArray< Text >();
-    modelPos = new Array< __int64 >();
-    ref = 1;
+	pfad = new Text();
+	modelName = new RCArray< Text >();
+	modelPos = new Array< __int64 >();
+	ref = 1;
 }
 }
 
 
 M2Datei::M2Datei( const char *pfad )
 M2Datei::M2Datei( const char *pfad )
 {
 {
-    this->pfad = new Text( pfad );
-    modelName = new RCArray< Text >();
-    modelPos = new Array< __int64 >();
-    ref = 1;
+	this->pfad = new Text( pfad );
+	modelName = new RCArray< Text >();
+	modelPos = new Array< __int64 >();
+	ref = 1;
 }
 }
 
 
 M2Datei::M2Datei( Text *pfad )
 M2Datei::M2Datei( Text *pfad )
 {
 {
-    this->pfad = pfad;
-    modelName = new RCArray< Text >();
-    modelPos = new Array< __int64 >();
-    ref = 1;
+	this->pfad = pfad;
+	modelName = new RCArray< Text >();
+	modelPos = new Array< __int64 >();
+	ref = 1;
 }
 }
 
 
 // Destruktor
 // Destruktor
 M2Datei::~M2Datei()
 M2Datei::~M2Datei()
 {
 {
-    pfad->release();
-    modelName->release();
-    modelPos->release();
+	pfad->release();
+	modelName->release();
+	modelPos->release();
 }
 }
 
 
 // nicht constant
 // nicht constant
 void M2Datei::setPfad( const char *pfad )
 void M2Datei::setPfad( const char *pfad )
 {
 {
-    this->pfad->setText( pfad );
+	this->pfad->setText( pfad );
 }
 }
 
 
 void M2Datei::setPfadZ( Text *pfad )
 void M2Datei::setPfadZ( Text *pfad )
 {
 {
-    if( this->pfad )
-        this->pfad->release();
-    this->pfad = pfad;
+	if( this->pfad )
+		this->pfad->release();
+	this->pfad = pfad;
 }
 }
 
 
 void M2Datei::leseDaten()
 void M2Datei::leseDaten()
 {
 {
-    Datei d;
-    d.setDatei( pfad->getText() );
-    d.öffnen( Datei::Style::lesen );
-    char anz = 0;
-    d.lese( &anz, 1 );
-    modelName->leeren();
-    modelPos->leeren();
-    for( int i = 0; i < anz; i++ )
-    {
-        char län = 0;
-        d.lese( &län, 1 );
-        char *txt = new char[ län + 1 ];
-        d.lese( txt, län );
-        txt[ (int)län ] = 0;
-        modelName->set( new Text( txt ), i );
-        delete[] txt;
-        __int64 pos = 0;
-        d.lese( (char*)&pos, 8 );
-        modelPos->set( pos, i );
-    }
-    d.schließen();
+	Datei d;
+	d.setDatei( pfad->getText() );
+	d.open( Datei::Style::lesen );
+	char anz = 0;
+	d.lese( &anz, 1 );
+	modelName->leeren();
+	modelPos->leeren();
+	for( int i = 0; i < anz; i++ )
+	{
+		char len = 0;
+		d.lese( &len, 1 );
+		char *txt = new char[ len + 1 ];
+		d.lese( txt, len );
+		txt[ (int)len ] = 0;
+		modelName->set( new Text( txt ), i );
+		delete[] txt;
+		__int64 pos = 0;
+		d.lese( (char*)&pos, 8 );
+		modelPos->set( pos, i );
+	}
+	d.close();
 }
 }
 
 
 bool M2Datei::saveModel( Model2DData *zMdr, Text *name )
 bool M2Datei::saveModel( Model2DData *zMdr, Text *name )
 {
 {
-    bool ret = saveModel( zMdr, name->getText() );
-    name->release();
-    return ret;
+	bool ret = saveModel( zMdr, name->getText() );
+	name->release();
+	return ret;
 }
 }
 
 
 bool M2Datei::saveModel( Model2DData *zMdr, const char *name )
 bool M2Datei::saveModel( Model2DData *zMdr, const char *name )
 {
 {
-    int anz = modelName->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
-    {
-        if( modelName->z( i )->istGleich( name ) )
-        {
-            if( !löscheModel( name ) )
-                return 0;
-            break;
-        }
-    }
-    anz = modelName->getEintragAnzahl();
-    Datei d;
-    d.setDatei( pfad->getText() );
-    d.öffnen( Datei::Style::lesen );
-    Datei neu;
-    neu.setDatei( pfad->getText() );
-    neu.zPfad()->anhängen( "0" );
-    while( neu.existiert() )
-        neu.zPfad()->anhängen( "0" );
-    if( !neu.öffnen( Datei::Style::schreiben ) )
-    {
-        if( d.istOffen() )
-            d.schließen();
-        return 0;
-    }
-    modelName->add( new Text( name ) );
-    int offs = textLänge( name ) + 9;
-    for( int i = 0; i < anz; i++ )
-        modelPos->set( modelPos->get( i ) + offs, i );
-    if( d.getGröße() < 0 )
-        modelPos->add( offs + 1 );
-    else
-        modelPos->add( d.getGröße() + offs );
-    anz++;
-    char tmp = (char)anz;
-    neu.schreibe( &tmp, 1 );
-    for( int i = 0; i < anz; i++ )
-    {
-        char län = (char)modelName->z( i )->getLänge();
-        neu.schreibe( &län, 1 );
-        neu.schreibe( modelName->z( i )->getText(), län );
-        __int64 pos = modelPos->get( i );
-        neu.schreibe( (char*)&pos, 8 );
-    }
-    if( d.existiert() )
-    {
-        d.setLPosition( modelPos->get( 0 ) - offs, 0 );
-        __int64 dl = d.getGröße() - d.getLPosition();
-        char bytes[ 2048 ];
-        while( dl )
-        {
-            int l = dl > 2048 ? 2048 : (int)dl;
-            d.lese( bytes, l );
-            neu.schreibe( bytes, l );
-            dl -= l;
-        }
-    }
-    d.schließen();
-    char pAnz = zMdr->polygons->getEintragAnzahl();
-    neu.schreibe( &pAnz, 1 );
-    for( int p = 0; p < pAnz; p++ )
-    {
-        int vAnz = zMdr->polygons->get( p ).vertex->getEintragAnzahl();
-        char textur = 1;
-        for( int i = 0; i < vAnz; i++ )
-            textur &= (char)zMdr->polygons->get( p ).tKordinaten->hat( i );
-        neu.schreibe( &textur, 1 );
-        neu.schreibe( (char*)&vAnz, 4 );
-        for( int i = 0; i < vAnz; i++ )
-        {
-            float v = zMdr->polygons->get( p ).vertex->get( i ).x;
-            neu.schreibe( (char*)&v, 4 );
-            v = zMdr->polygons->get( p ).vertex->get( i ).y;
-            neu.schreibe( (char*)&v, 4 );
-            if( textur )
-            {
-                int t = zMdr->polygons->get( p ).tKordinaten->get( i ).x;
-                neu.schreibe( (char*)&t, 4 );
-                t = zMdr->polygons->get( p ).tKordinaten->get( i ).y;
-                neu.schreibe( (char*)&t, 4 );
-            }
-        }
-    }
-    d.löschen();
-    neu.schließen();
-    neu.umbenennen( pfad->getText() );
-    leseDaten();
-    return 1;
+	int anz = modelName->getEintragAnzahl();
+	for( int i = 0; i < anz; i++ )
+	{
+		if( modelName->z( i )->istGleich( name ) )
+		{
+			if( !removeModel( name ) )
+				return 0;
+			break;
+		}
+	}
+	anz = modelName->getEintragAnzahl();
+	Datei d;
+	d.setDatei( pfad->getText() );
+	d.open( Datei::Style::lesen );
+	Datei neu;
+	neu.setDatei( pfad->getText() );
+	neu.zPfad()->append( "0" );
+	while( neu.existiert() )
+		neu.zPfad()->append( "0" );
+	if( !neu.open( Datei::Style::schreiben ) )
+	{
+		if( d.istOffen() )
+			d.close();
+		return 0;
+	}
+	modelName->add( new Text( name ) );
+	int offs = textLength( name ) + 9;
+	for( int i = 0; i < anz; i++ )
+		modelPos->set( modelPos->get( i ) + offs, i );
+	if( d.getSize() < 0 )
+		modelPos->add( offs + 1 );
+	else
+		modelPos->add( d.getSize() + offs );
+	anz++;
+	char tmp = (char)anz;
+	neu.schreibe( &tmp, 1 );
+	for( int i = 0; i < anz; i++ )
+	{
+		char len = (char)modelName->z( i )->getLength();
+		neu.schreibe( &len, 1 );
+		neu.schreibe( modelName->z( i )->getText(), len );
+		__int64 pos = modelPos->get( i );
+		neu.schreibe( (char*)&pos, 8 );
+	}
+	if( d.existiert() )
+	{
+		d.setLPosition( modelPos->get( 0 ) - offs, 0 );
+		__int64 dl = d.getSize() - d.getLPosition();
+		char bytes[ 2048 ];
+		while( dl )
+		{
+			int l = dl > 2048 ? 2048 : (int)dl;
+			d.lese( bytes, l );
+			neu.schreibe( bytes, l );
+			dl -= l;
+		}
+	}
+	d.close();
+	char pAnz = (char)zMdr->polygons->getEintragAnzahl();
+	neu.schreibe( &pAnz, 1 );
+	for( int p = 0; p < pAnz; p++ )
+	{
+		int vAnz = zMdr->polygons->get( p ).vertex->getEintragAnzahl();
+		char textur = 1;
+		for( int i = 0; i < vAnz; i++ )
+			textur = (char)( textur & (char)zMdr->polygons->get( p ).tKordinaten->hat( i ) );
+		neu.schreibe( &textur, 1 );
+		neu.schreibe( (char*)&vAnz, 4 );
+		for( int i = 0; i < vAnz; i++ )
+		{
+			float v = zMdr->polygons->get( p ).vertex->get( i ).x;
+			neu.schreibe( (char*)&v, 4 );
+			v = zMdr->polygons->get( p ).vertex->get( i ).y;
+			neu.schreibe( (char*)&v, 4 );
+			if( textur )
+			{
+				int t = zMdr->polygons->get( p ).tKordinaten->get( i ).x;
+				neu.schreibe( (char*)&t, 4 );
+				t = zMdr->polygons->get( p ).tKordinaten->get( i ).y;
+				neu.schreibe( (char*)&t, 4 );
+			}
+		}
+	}
+	d.remove();
+	neu.close();
+	neu.umbenennen( pfad->getText() );
+	leseDaten();
+	return 1;
 }
 }
 
 
-bool M2Datei::löscheModel( Text *name )
+bool M2Datei::removeModel( Text *name )
 {
 {
-    bool ret = löscheModel( name->getText() );
-    name->release();
-    return ret;
+	bool ret = removeModel( name->getText() );
+	name->release();
+	return ret;
 }
 }
 
 
-bool M2Datei::löscheModel( const char *name )
+bool M2Datei::removeModel( const char *name )
 {
 {
-    int anz = modelName->getEintragAnzahl();
-    int p = -1;
-    for( int i = 0; i < anz; i++ )
-    {
-        if( modelName->z( i )->istGleich( name ) )
-        {
-            p = i;
-            break;
-        }
-    }
-    if( p < 0 )
-        return 0;
-    Datei d;
-    d.setDatei( pfad->getText() );
-    if( !d.öffnen( Datei::Style::lesen ) )
-        return 0;
-    Datei neu;
-    neu.setDatei( pfad->getText() );
-    neu.zPfad()->anhängen( "0" );
-    while( neu.existiert() )
-        neu.zPfad()->anhängen( "0" );
-    if( !neu.öffnen( Datei::Style::schreiben ) )
-    {
-        if( d.istOffen() )
-            d.schließen();
-        return 0;
-    }
-    char nAnz = (char)anz - 1;
-    neu.schreibe( &nAnz, 1 );
-    int offs = modelName->z( p )->getLänge() + 9;
-    __int64 startP = 0, endP = 0, start2P = 0;
-    for( int i = 0; i < anz; i++ )
-    {
-        char nLän = (char)modelName->z( i )->getLänge();
-        char *n = modelName->z( i )->getText();
-        __int64 pos = modelPos->get( i );
-        if( !startP )
-            startP = pos;
-        if( i == p + 1 )
-            start2P = pos;
-        if( i == p )
-        {
-            if( !endP )
-                endP = pos;
-            if( i < anz - 1 )
-                offs += (int)( modelPos->get( i + 1 ) - pos );
-        }
-        if( i != p )
-        {
-            pos -= offs;
-            neu.schreibe( &nLän, 1 );
-            neu.schreibe( n, nLän );
-            neu.schreibe( (char*)&pos, 8 );
-        }
-    }
-    if( d.istOffen() )
-    {
-        d.setLPosition( startP, 0 );
-        __int64 bLän = endP - startP;
-        char bytes[ 2048 ];
-        while( bLän > 0 )
-        {
-            int l = 2048 > bLän ? (int)bLän : 2048;
-            d.lese( bytes, l );
-            neu.schreibe( bytes, l );
-            bLän -= l;
-        }
-        if( start2P )
-        {
-            d.setLPosition( start2P, 0 );
-            bLän = d.getGröße() - start2P;
-            while( bLän > 0 )
-            {
-                int l = 2048 > bLän ? (int)bLän : 2048;
-                d.lese( bytes, l );
-                neu.schreibe( bytes, l );
-                bLän -= l;
-            }
-        }
-        d.schließen();
-    }
-    d.löschen();
-    neu.schließen();
-    neu.umbenennen( pfad->getText() );
-    leseDaten();
-    return 1;
+	int anz = modelName->getEintragAnzahl();
+	int p = -1;
+	for( int i = 0; i < anz; i++ )
+	{
+		if( modelName->z( i )->istGleich( name ) )
+		{
+			p = i;
+			break;
+		}
+	}
+	if( p < 0 )
+		return 0;
+	Datei d;
+	d.setDatei( pfad->getText() );
+	if( !d.open( Datei::Style::lesen ) )
+		return 0;
+	Datei neu;
+	neu.setDatei( pfad->getText() );
+	neu.zPfad()->append( "0" );
+	while( neu.existiert() )
+		neu.zPfad()->append( "0" );
+	if( !neu.open( Datei::Style::schreiben ) )
+	{
+		if( d.istOffen() )
+			d.close();
+		return 0;
+	}
+	char nAnz = (char)( anz - 1 );
+	neu.schreibe( &nAnz, 1 );
+	int offs = modelName->z( p )->getLength() + 9;
+	__int64 startP = 0, endP = 0, start2P = 0;
+	for( int i = 0; i < anz; i++ )
+	{
+		char nLen = (char)modelName->z( i )->getLength();
+		char *n = modelName->z( i )->getText();
+		__int64 pos = modelPos->get( i );
+		if( !startP )
+			startP = pos;
+		if( i == p + 1 )
+			start2P = pos;
+		if( i == p )
+		{
+			if( !endP )
+				endP = pos;
+			if( i < anz - 1 )
+				offs += (int)( modelPos->get( i + 1 ) - pos );
+		}
+		if( i != p )
+		{
+			pos -= offs;
+			neu.schreibe( &nLen, 1 );
+			neu.schreibe( n, nLen );
+			neu.schreibe( (char*)&pos, 8 );
+		}
+	}
+	if( d.istOffen() )
+	{
+		d.setLPosition( startP, 0 );
+		__int64 bLen = endP - startP;
+		char bytes[ 2048 ];
+		while( bLen > 0 )
+		{
+			int l = 2048 > bLen ? (int)bLen : 2048;
+			d.lese( bytes, l );
+			neu.schreibe( bytes, l );
+			bLen -= l;
+		}
+		if( start2P )
+		{
+			d.setLPosition( start2P, 0 );
+			bLen = d.getSize() - start2P;
+			while( bLen > 0 )
+			{
+				int l = 2048 > bLen ? (int)bLen : 2048;
+				d.lese( bytes, l );
+				neu.schreibe( bytes, l );
+				bLen -= l;
+			}
+		}
+		d.close();
+	}
+	d.remove();
+	neu.close();
+	neu.umbenennen( pfad->getText() );
+	leseDaten();
+	return 1;
 }
 }
 
 
 // constant
 // constant
 Model2DData *M2Datei::ladeModel( Text *name ) const
 Model2DData *M2Datei::ladeModel( Text *name ) const
 {
 {
-    Model2DData *ret = ladeModel( name->getText() );
-    name->release();
-    return ret;
+	Model2DData *ret = ladeModel( name->getText() );
+	name->release();
+	return ret;
 }
 }
 
 
 Model2DData *M2Datei::ladeModel( const char *name ) const
 Model2DData *M2Datei::ladeModel( const char *name ) const
 {
 {
-    Datei d;
-    d.setDatei( pfad->getText() );
-    if( !d.öffnen( Datei::Style::lesen ) )
-        return 0;
-    int anz = modelName->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
-    {
-        if( modelName->z( i )->istGleich( name ) )
-        {
-            d.setLPosition( modelPos->get( i ), 0 );
-            break;
-        }
-    }
-    if( !d.getLPosition() )
-    {
-        d.schließen();
-        return 0;
-    }
-    char pAnz = 0;
-    d.lese( &pAnz, 1 );
-    Array< Polygon2D > *polygons = new Array< Polygon2D >();
-    for( int p = 0; p < pAnz; p++ )
-    {
-        char textur = 0;
-        d.lese( &textur, 1 );
-        int vAnz = 0;
-        d.lese( (char*)&vAnz, 4 );
-        if( polygons->hat( p ) )
-        {
-            if( polygons->get( p ).vertex )
-                polygons->get( p ).vertex->release();
-            if( polygons->get( p ).tKordinaten )
-                polygons->get( p ).tKordinaten->release();
-        }
-        Polygon2D polygon;
-        polygon.vertex = new Array< Vertex >();
-        if( textur )
-            polygon.tKordinaten = new Array< Punkt >();
-        else
-            polygon.tKordinaten = 0;
-        for( int v = 0; v < vAnz; v++ )
-        {
-            Vertex p;
-            d.lese( (char*)&p.x, 4 );
-            d.lese( (char*)&p.y, 4 );
-            polygon.vertex->add( p );
-            if( textur )
-            {
-                Punkt tp;
-                d.lese( (char*)&tp.x, 4 );
-                d.lese( (char*)&tp.y, 4 );
-                polygon.tKordinaten->add( tp );
-            }
-        }
-        polygons->add( polygon );
-    }
-    d.schließen();
-    Model2DData *ret = new Model2DData();
-    ret->erstelleModell( polygons );
-    return ret;
+	Datei d;
+	d.setDatei( pfad->getText() );
+	if( !d.open( Datei::Style::lesen ) )
+		return 0;
+	int anz = modelName->getEintragAnzahl();
+	for( int i = 0; i < anz; i++ )
+	{
+		if( modelName->z( i )->istGleich( name ) )
+		{
+			d.setLPosition( modelPos->get( i ), 0 );
+			break;
+		}
+	}
+	if( !d.getLPosition() )
+	{
+		d.close();
+		return 0;
+	}
+	char pAnz = 0;
+	d.lese( &pAnz, 1 );
+	Array< Polygon2D > *polygons = new Array< Polygon2D >();
+	for( int p = 0; p < pAnz; p++ )
+	{
+		char textur = 0;
+		d.lese( &textur, 1 );
+		int vAnz = 0;
+		d.lese( (char*)&vAnz, 4 );
+		if( polygons->hat( p ) )
+		{
+			if( polygons->get( p ).vertex )
+				polygons->get( p ).vertex->release();
+			if( polygons->get( p ).tKordinaten )
+				polygons->get( p ).tKordinaten->release();
+		}
+		Polygon2D polygon;
+		polygon.vertex = new Array< Vertex >();
+		if( textur )
+			polygon.tKordinaten = new Array< Punkt >();
+		else
+			polygon.tKordinaten = 0;
+		for( int v = 0; v < vAnz; v++ )
+		{
+			Vertex p;
+			d.lese( (char*)&p.x, 4 );
+			d.lese( (char*)&p.y, 4 );
+			polygon.vertex->add( p );
+			if( textur )
+			{
+				Punkt tp;
+				d.lese( (char*)&tp.x, 4 );
+				d.lese( (char*)&tp.y, 4 );
+				polygon.tKordinaten->add( tp );
+			}
+		}
+		polygons->add( polygon );
+	}
+	d.close();
+	Model2DData *ret = new Model2DData();
+	ret->erstelleModell( polygons );
+	return ret;
 }
 }
 
 
 bool M2Datei::hatModel( const char *name ) const
 bool M2Datei::hatModel( const char *name ) const
 {
 {
-    int anz = modelName->getEintragAnzahl();
-    for( int i = 0; i < anz; i++ )
-    {
-        if( modelName->z( i )->istGleich( name ) )
-            return 1;
-    }
-    return 0;
+	int anz = modelName->getEintragAnzahl();
+	for( int i = 0; i < anz; i++ )
+	{
+		if( modelName->z( i )->istGleich( name ) )
+			return 1;
+	}
+	return 0;
 }
 }
 
 
 int M2Datei::getModelAnzahl() const
 int M2Datei::getModelAnzahl() const
 {
 {
-    return modelName->getEintragAnzahl();
+	return modelName->getEintragAnzahl();
 }
 }
 
 
 Text *M2Datei::zModelName( int i ) const
 Text *M2Datei::zModelName( int i ) const
 {
 {
-    return modelName->z( i );
+	return modelName->z( i );
 }
 }
 
 
 // Reference Counting
 // Reference Counting
 M2Datei *M2Datei::getThis()
 M2Datei *M2Datei::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 M2Datei *M2Datei::release()
 M2Datei *M2Datei::release()
 {
 {
-    if( !--ref )
-        delete this;
-    return 0;
+	if( !--ref )
+		delete this;
+	return 0;
 }
 }

+ 2 - 2
M2Datei.h

@@ -50,11 +50,11 @@ namespace Framework
         // Löscht ein 2D Modell aus der Datei
         // Löscht ein 2D Modell aus der Datei
         //  name: Der Name des Modells
         //  name: Der Name des Modells
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
-        __declspec( dllexport ) bool löscheModel( Text *name );
+        __declspec( dllexport ) bool removeModel( Text *name );
         // Löscht ein 2D Modell aus der Datei
         // Löscht ein 2D Modell aus der Datei
         //  name: Der Name des Modells
         //  name: Der Name des Modells
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
-        __declspec( dllexport ) bool löscheModel( const char *name );
+        __declspec( dllexport ) bool removeModel( const char *name );
         // Lähd ein 2D Modell aus der Datei
         // Lähd ein 2D Modell aus der Datei
         //  name: Der name des zu ladenden Modells
         //  name: Der name des zu ladenden Modells
         //  return: Die geladenen Daten
         //  return: Die geladenen Daten

+ 26 - 26
M3Datei.cpp

@@ -59,24 +59,24 @@ void M3Datei::leseDaten()
     modelPos = new Array< __int64 >();
     modelPos = new Array< __int64 >();
     Datei d;
     Datei d;
     d.setDatei( pfad );
     d.setDatei( pfad );
-    if( !d.öffnen( Datei::Style::lesen ) )
+    if( !d.open( Datei::Style::lesen ) )
         return;
         return;
     unsigned char anz = 0;
     unsigned char anz = 0;
     d.lese( (char*)&anz, 1 );
     d.lese( (char*)&anz, 1 );
     for( int i = 0; i < anz; i++ )
     for( int i = 0; i < anz; i++ )
     {
     {
-        char län = 0;
-        d.lese( &län, 1 );
-        char *n = new char[ län + 1 ];
-        n[ n ] = 0;
-        d.lese( n, län );
+        char len = 0;
+        d.lese( &len, 1 );
+        char *n = new char[ len + 1 ];
+        n[ (int)len ] = 0;
+        d.lese( n, len );
         modelName->add( new Text( n ) );
         modelName->add( new Text( n ) );
         delete[] n;
         delete[] n;
         __int64 p = 0;
         __int64 p = 0;
         d.lese( (char*)&p, 8 );
         d.lese( (char*)&p, 8 );
         modelPos->add( p );
         modelPos->add( p );
     }
     }
-    d.schließen();
+    d.close();
 }
 }
 
 
 // Speichert 3D Modell Daten in der Datei
 // Speichert 3D Modell Daten in der Datei
@@ -96,50 +96,50 @@ bool M3Datei::saveModel( Model3DData *zMdr, Text *name )
 //  return: 1, falls das Modell gespeichert wurde. 0, falls ein fehler beim speichern auftrat
 //  return: 1, falls das Modell gespeichert wurde. 0, falls ein fehler beim speichern auftrat
 bool M3Datei::saveModel( Model3DData *zMdr, const char *name )
 bool M3Datei::saveModel( Model3DData *zMdr, const char *name )
 {
 {
-    if( !modelName || !pfad.getLänge() )
+    if( !modelName || !pfad.getLength() )
         return 0;
         return 0;
-    if( hatModel( name ) && !löscheModel( name ) )
+    if( hatModel( name ) && !removeModel( name ) )
         return 0;
         return 0;
     int anz = modelName->getEintragAnzahl();
     int anz = modelName->getEintragAnzahl();
     anz = modelName->getEintragAnzahl();
     anz = modelName->getEintragAnzahl();
     Datei d;
     Datei d;
     d.setDatei( pfad );
     d.setDatei( pfad );
-    if( !d.öffnen( Datei::Style::lesen ) )
+    if( !d.open( Datei::Style::lesen ) )
         return 0;
         return 0;
     Datei neu;
     Datei neu;
     neu.setDatei( pfad );
     neu.setDatei( pfad );
-    neu.zPfad()->anhängen( "0" );
+    neu.zPfad()->append( "0" );
     while( neu.existiert() )
     while( neu.existiert() )
-        neu.zPfad()->anhängen( "0" );
-    if( !neu.öffnen( Datei::Style::schreiben ) )
+        neu.zPfad()->append( "0" );
+    if( !neu.open( Datei::Style::schreiben ) )
     {
     {
         if( d.istOffen() )
         if( d.istOffen() )
-            d.schließen();
+            d.close();
         return 0;
         return 0;
     }
     }
     modelName->add( new Text( name ) );
     modelName->add( new Text( name ) );
-    int offs = textLänge( name ) + 9;
+    int offs = textLength( name ) + 9;
     for( int i = 0; i < anz; i++ )
     for( int i = 0; i < anz; i++ )
         modelPos->set( modelPos->get( i ) + offs, i );
         modelPos->set( modelPos->get( i ) + offs, i );
-    if( d.getGröße() < 0 )
+    if( d.getSize() < 0 )
         modelPos->add( offs + 1 );
         modelPos->add( offs + 1 );
     else
     else
-        modelPos->add( d.getGröße() + offs );
+        modelPos->add( d.getSize() + offs );
     anz++;
     anz++;
     char tmp = (char)anz;
     char tmp = (char)anz;
     neu.schreibe( &tmp, 1 );
     neu.schreibe( &tmp, 1 );
     for( int i = 0; i < anz; i++ )
     for( int i = 0; i < anz; i++ )
     {
     {
-        char län = (char)modelName->z( i )->getLänge();
-        neu.schreibe( &län, 1 );
-        neu.schreibe( modelName->z( i )->getText(), län );
+        char len = (char)modelName->z( i )->getLength();
+        neu.schreibe( &len, 1 );
+        neu.schreibe( modelName->z( i )->getText(), len );
         __int64 pos = modelPos->get( i );
         __int64 pos = modelPos->get( i );
         neu.schreibe( (char*)&pos, 8 );
         neu.schreibe( (char*)&pos, 8 );
     }
     }
     if( d.existiert() )
     if( d.existiert() )
     {
     {
         d.setLPosition( modelPos->get( 0 ) - offs, 0 );
         d.setLPosition( modelPos->get( 0 ) - offs, 0 );
-        __int64 dl = d.getGröße() - d.getLPosition();
+        __int64 dl = d.getSize() - d.getLPosition();
         char bytes[ 2048 ];
         char bytes[ 2048 ];
         while( dl )
         while( dl )
         {
         {
@@ -149,7 +149,7 @@ bool M3Datei::saveModel( Model3DData *zMdr, const char *name )
             dl -= l;
             dl -= l;
         }
         }
     }
     }
-    d.schließen();
+    d.close();
     /*char pAnz = zMdr->polygons->getEintragAnzahl();
     /*char pAnz = zMdr->polygons->getEintragAnzahl();
     neu.schreibe( &pAnz, 1 );
     neu.schreibe( &pAnz, 1 );
     for( int p = 0; p < pAnz; p++ )
     for( int p = 0; p < pAnz; p++ )
@@ -175,8 +175,8 @@ bool M3Datei::saveModel( Model3DData *zMdr, const char *name )
             }
             }
         }
         }
     }*/
     }*/
-    d.löschen();
-    neu.schließen();
+    d.remove();
+    neu.close();
     neu.umbenennen( pfad );
     neu.umbenennen( pfad );
     leseDaten();
     leseDaten();
     return 1;
     return 1;
@@ -185,7 +185,7 @@ bool M3Datei::saveModel( Model3DData *zMdr, const char *name )
 // Löscht ein 3D Modell aus der Datei
 // Löscht ein 3D Modell aus der Datei
 //  name: Der Name des Modells
 //  name: Der Name des Modells
 //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
 //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
-bool M3Datei::löscheModel( Text *name )
+bool M3Datei::removeModel( Text *name )
 {
 {
     return 0;
     return 0;
 }
 }
@@ -193,7 +193,7 @@ bool M3Datei::l
 // Löscht ein 3D Modell aus der Datei
 // Löscht ein 3D Modell aus der Datei
 //  name: Der Name des Modells
 //  name: Der Name des Modells
 //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
 //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
-bool M3Datei::löscheModel( const char *name )
+bool M3Datei::removeModel( const char *name )
 {
 {
     return 0;
     return 0;
 }
 }

+ 2 - 2
M3Datei.h

@@ -45,11 +45,11 @@ namespace Framework
         // Löscht ein 3D Modell aus der Datei
         // Löscht ein 3D Modell aus der Datei
         //  name: Der Name des Modells
         //  name: Der Name des Modells
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
-        __declspec( dllexport ) bool löscheModel( Text *name );
+        __declspec( dllexport ) bool removeModel( Text *name );
         // Löscht ein 3D Modell aus der Datei
         // Löscht ein 3D Modell aus der Datei
         //  name: Der Name des Modells
         //  name: Der Name des Modells
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
         //  return: 1, wenn das Modell gelöscht wurde. 0, wenn das Modell nicht gefunden wurde, oder ein fehler beim speichern auftrat
-        __declspec( dllexport ) bool löscheModel( const char *name );
+        __declspec( dllexport ) bool removeModel( const char *name );
         // Lähd ein 3D Modell aus der Datei
         // Lähd ein 3D Modell aus der Datei
         //  name: Der name des zu ladenden Modells
         //  name: Der name des zu ladenden Modells
         //  return: Die geladenen Daten
         //  return: Die geladenen Daten

+ 4 - 4
Mat4.h

@@ -263,14 +263,14 @@ namespace Framework
             return t;
             return t;
         }
         }
         // Erzeugt eine Matrix, die einen Vektor auf den Bildschirm Projeziert
         // Erzeugt eine Matrix, die einen Vektor auf den Bildschirm Projeziert
-        //  öffnungswinkel: Der Öffnungswinkel der Kamera im Bogenmas
+        //  openingAngle: Der Öffnungswinkel der Kamera im Bogenmas
         //  bildschirmXY: Das Seitenverhältnis des Rechtecks auf dem Bildschirm, in dem gezeichnet werden soll. (Breite / Höhe)
         //  bildschirmXY: Das Seitenverhältnis des Rechtecks auf dem Bildschirm, in dem gezeichnet werden soll. (Breite / Höhe)
         //  minz: Der Mindestabstand zur Kamera, ab dem gezeichnet wird
         //  minz: Der Mindestabstand zur Kamera, ab dem gezeichnet wird
         //  maxZ: Der Maximalabstand zur Kamera, ab dem nicht mehr gezeichnet wird
         //  maxZ: Der Maximalabstand zur Kamera, ab dem nicht mehr gezeichnet wird
-        static Mat4 projektion( float öffnungswinkel, float bildschirmXY, float minZ, float maxZ )
+        static Mat4 projektion( float openingAngle, float bildschirmXY, float minZ, float maxZ )
         {
         {
-            Mat4 p = { (float)( 1 / tan( öffnungswinkel / 2 ) ) / bildschirmXY, 0, 0, 0,
-                0, (float)( 1 / tan( öffnungswinkel / 2 ) ), 0, 0,
+            Mat4 p = { (float)( 1 / tan( openingAngle / 2 ) ) / bildschirmXY, 0, 0, 0,
+                0, (float)( 1 / tan( openingAngle / 2 ) ), 0, 0,
                 0, 0, maxZ / ( maxZ - minZ ), -( minZ * maxZ ) / ( maxZ - minZ ),
                 0, 0, maxZ / ( maxZ - minZ ), -( minZ * maxZ ) / ( maxZ - minZ ),
                 0, 0, 1, 0 };
                 0, 0, 1, 0 };
             return p;
             return p;

+ 3 - 3
Maus.cpp

@@ -47,8 +47,8 @@ void Maus::ladeMaus( Bild *maus )
     HDC hAndMaskDC = CreateCompatibleDC( hDC );
     HDC hAndMaskDC = CreateCompatibleDC( hDC );
     HDC hXorMaskDC = CreateCompatibleDC( hDC );
     HDC hXorMaskDC = CreateCompatibleDC( hDC );
 
 
-    hAndMaskBitmap = CreateCompatibleBitmap( hDC, maus->getBreite(), maus->getHöhe() );
-    hXorMaskBitmap = CreateCompatibleBitmap( hDC, maus->getBreite(), maus->getHöhe() );
+    hAndMaskBitmap = CreateCompatibleBitmap( hDC, maus->getBreite(), maus->getHeight() );
+    hXorMaskBitmap = CreateCompatibleBitmap( hDC, maus->getBreite(), maus->getHeight() );
 
 
     //Select the bitmaps to DC
     //Select the bitmaps to DC
     HBITMAP hOldAndMaskBitmap = (HBITMAP)SelectObject( hAndMaskDC, hAndMaskBitmap );
     HBITMAP hOldAndMaskBitmap = (HBITMAP)SelectObject( hAndMaskDC, hAndMaskBitmap );
@@ -58,7 +58,7 @@ void Maus::ladeMaus( Bild *maus )
     int y;
     int y;
     for( int x = 0; x < maus->getBreite(); ++x )
     for( int x = 0; x < maus->getBreite(); ++x )
     {
     {
-        for( y = 0; y < maus->getHöhe(); ++y )
+        for( y = 0; y < maus->getHeight(); ++y )
         {
         {
             int pixel = maus->getPixel( x, y );
             int pixel = maus->getPixel( x, y );
             if( ( ( pixel >> 24 ) & 0xFF ) == 0 )
             if( ( ( pixel >> 24 ) & 0xFF ) == 0 )

+ 1 - 1
MausEreignis.h

@@ -18,7 +18,7 @@ namespace Framework
     const int ME_DKRechts = 7;
     const int ME_DKRechts = 7;
     const int ME_DKMitte = 8;
     const int ME_DKMitte = 8;
     const int ME_Betritt = 9;
     const int ME_Betritt = 9;
-    const int ME_Verlässt = 10;
+    const int ME_Leaves = 10;
     const int ME_Bewegung = 11;
     const int ME_Bewegung = 11;
     const int ME_UScroll = 12;
     const int ME_UScroll = 12;
     const int ME_DScroll = 13;
     const int ME_DScroll = 13;

+ 64 - 95
Model2D.cpp

@@ -2,9 +2,7 @@
 #include "Bild.h"
 #include "Bild.h"
 #include "FrameworkMath.h"
 #include "FrameworkMath.h"
 #include "Mat3.h"
 #include "Mat3.h"
-#ifdef WIN32
 #include "MausEreignis.h"
 #include "MausEreignis.h"
-#endif
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -27,10 +25,8 @@ Model2DData::~Model2DData()
         int anz = polygons->getEintragAnzahl();
         int anz = polygons->getEintragAnzahl();
         for( int i = 0; i < anz; i++ )
         for( int i = 0; i < anz; i++ )
         {
         {
-#ifdef WIN32
             if( polygons->get( i ).tKordinaten )
             if( polygons->get( i ).tKordinaten )
                 polygons->get( i ).tKordinaten->release();
                 polygons->get( i ).tKordinaten->release();
-#endif
             if( polygons->get( i ).vertex )
             if( polygons->get( i ).vertex )
                 polygons->get( i ).vertex->release();
                 polygons->get( i ).vertex->release();
         }
         }
@@ -128,22 +124,22 @@ bool Model2DData::istLinieInnen( Vertex a, Vertex b, int polygonId ) const
                 return 1;
                 return 1;
             j = i;
             j = i;
         }
         }
-        Vertex län = b - a;
-        Vertex speed( län.x > 0 ? 1 : -1.f, län.y > 0 ? 1 : -1.f );
-        int mLän = 0;
-        if( fabs( län.x ) > fabs( län.y ) )
+        Vertex len = b - a;
+        Vertex speed( len.x > 0 ? 1 : -1.f, len.y > 0 ? 1 : -1.f );
+        int mLen = 0;
+        if( fabs( len.x ) > fabs( len.y ) )
         {
         {
-            mLän = (int)fabs( län.x );
-            speed.y = län.y / (float)fabs( län.x );
+            mLen = (int)fabs( len.x );
+            speed.y = len.y / (float)fabs( len.x );
         }
         }
         else
         else
         {
         {
-            mLän = (int)fabs( län.y );
-            speed.x = län.x / (float)fabs( län.y );
+            mLen = (int)fabs( len.y );
+            speed.x = len.x / (float)fabs( len.y );
         }
         }
         int i = 1;
         int i = 1;
         bool inside = 1;
         bool inside = 1;
-        for( Vertex vp = speed + a; (Punkt)vp != (Punkt)( b - speed ) && inside && i < mLän - 1; vp += speed, i++ )
+        for( Vertex vp = speed + a; (Punkt)vp != (Punkt)( b - speed ) && inside && i < mLen - 1; vp += speed, i++ )
             inside &= istPunktInnen( vp, p );
             inside &= istPunktInnen( vp, p );
         if( inside )
         if( inside )
             return 1;
             return 1;
@@ -154,7 +150,7 @@ bool Model2DData::istLinieInnen( Vertex a, Vertex b, int polygonId ) const
 // nicht constant
 // nicht constant
 bool Model2DData::erstelleModell( Array< Polygon2D > *polygons )
 bool Model2DData::erstelleModell( Array< Polygon2D > *polygons )
 {
 {
-    löscheModell();
+    removeModell();
     if( !polygons || !polygons->getEintragAnzahl() )
     if( !polygons || !polygons->getEintragAnzahl() )
     {
     {
         this->polygons = polygons;
         this->polygons = polygons;
@@ -243,10 +239,10 @@ bool Model2DData::erstelleModell( Array< Polygon2D > *polygons )
                 if( istLinieInnen( a, b, p ) )
                 if( istLinieInnen( a, b, p ) )
                 {
                 {
                     DreieckListe< Vertex > *lowL = new DreieckListe< Vertex >();
                     DreieckListe< Vertex > *lowL = new DreieckListe< Vertex >();
-                    DreieckListe< Vertex > *hightL = new DreieckListe< Vertex >();
+                    DreieckListe< Vertex > *heightL = new DreieckListe< Vertex >();
                     lowL->addPunkt( new Vertex( pg.vertex->get( i ) ), textur ? new Punkt( pg.tKordinaten->get( i ) ) : 0 );
                     lowL->addPunkt( new Vertex( pg.vertex->get( i ) ), textur ? new Punkt( pg.tKordinaten->get( i ) ) : 0 );
-                    hightL->addPunkt( new Vertex( pg.vertex->get( i ) ), textur ? new Punkt( pg.tKordinaten->get( i ) ) : 0 );
-                    int hight = i + 1;
+                    heightL->addPunkt( new Vertex( pg.vertex->get( i ) ), textur ? new Punkt( pg.tKordinaten->get( i ) ) : 0 );
+                    int height = i + 1;
                     int low = i - 1;
                     int low = i - 1;
                     Punkt outL( 0, 0 );
                     Punkt outL( 0, 0 );
                     Punkt outH( 0, 0 );
                     Punkt outH( 0, 0 );
@@ -255,8 +251,8 @@ bool Model2DData::erstelleModell( Array< Polygon2D > *polygons )
                         bool lowp = !k;
                         bool lowp = !k;
                         while( 1 )
                         while( 1 )
                         {
                         {
-                            if( hight >= vAnz )
-                                hight = 0;
+                            if( height >= vAnz )
+                                height = 0;
                             if( low < 0 )
                             if( low < 0 )
                                 low = vAnz - 1;
                                 low = vAnz - 1;
                             for( int j = 0; j <= lauf; j++ )
                             for( int j = 0; j <= lauf; j++ )
@@ -264,60 +260,60 @@ bool Model2DData::erstelleModell( Array< Polygon2D > *polygons )
                                 Punkt out = outList.z( p )->get( j );
                                 Punkt out = outList.z( p )->get( j );
                                 if( out.x < out.y )
                                 if( out.x < out.y )
                                 {
                                 {
-                                    if( hight > out.x && hight < out.y )
-                                        hight = out.y;
+                                    if( height > out.x && height < out.y )
+                                        height = out.y;
                                     if( low > out.x && low < out.y )
                                     if( low > out.x && low < out.y )
                                         low = out.x;
                                         low = out.x;
                                 }
                                 }
                                 if( out.x > out.y )
                                 if( out.x > out.y )
                                 {
                                 {
-                                    if( hight > out.x || hight < out.y )
-                                        hight = out.y;
+                                    if( height > out.x || height < out.y )
+                                        height = out.y;
                                     if( low > out.x || low < out.y )
                                     if( low > out.x || low < out.y )
                                         low = out.x;
                                         low = out.x;
                                 }
                                 }
                             }
                             }
-                            Vertex a = pg.vertex->get( hight );
+                            Vertex a = pg.vertex->get( height );
                             Vertex b = pg.vertex->get( low );
                             Vertex b = pg.vertex->get( low );
-                            if( low == hight )
+                            if( low == height )
                             {
                             {
                                 fertig = 1;
                                 fertig = 1;
                                 outList.z( p )->set( Punkt( 0, 0 ), lauf );
                                 outList.z( p )->set( Punkt( 0, 0 ), lauf );
                                 if( !k )
                                 if( !k )
                                     lowL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
                                     lowL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
                                 else
                                 else
-                                    hightL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
+                                    heightL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
                                 break;
                                 break;
                             }
                             }
                             bool inside = istLinieInnen( a, b, p );
                             bool inside = istLinieInnen( a, b, p );
                             if( inside )
                             if( inside )
                             {
                             {
                                 if( !k )
                                 if( !k )
-                                    outL = Punkt( low, hight );
+                                    outL = Punkt( low, height );
                                 else
                                 else
-                                    outH = Punkt( low, hight );
-                                outList.z( p )->set( Punkt( low, hight ), lauf );
+                                    outH = Punkt( low, height );
+                                outList.z( p )->set( Punkt( low, height ), lauf );
                             }
                             }
                             if( lowp )
                             if( lowp )
                             {
                             {
                                 if( !k )
                                 if( !k )
                                     lowL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
                                     lowL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
                                 else
                                 else
-                                    hightL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
+                                    heightL->addPunkt( new Vertex( b ), textur ? new Punkt( pg.tKordinaten->get( low ) ) : 0 );
                                 low--;
                                 low--;
                             }
                             }
                             else
                             else
                             {
                             {
                                 if( !k )
                                 if( !k )
-                                    lowL->addPunkt( new Vertex( a ), textur ? new Punkt( pg.tKordinaten->get( hight ) ) : 0 );
+                                    lowL->addPunkt( new Vertex( a ), textur ? new Punkt( pg.tKordinaten->get( height ) ) : 0 );
                                 else
                                 else
-                                    hightL->addPunkt( new Vertex( a ), textur ? new Punkt( pg.tKordinaten->get( hight ) ) : 0 );
-                                hight++;
+                                    heightL->addPunkt( new Vertex( a ), textur ? new Punkt( pg.tKordinaten->get( height ) ) : 0 );
+                                height++;
                             }
                             }
                             lowp = !lowp;
                             lowp = !lowp;
                             if( !inside )
                             if( !inside )
                             {
                             {
-                                hight = i + 1;
+                                height = i + 1;
                                 low = i - 1;
                                 low = i - 1;
                                 outList.z( p )->set( Punkt( 0, 0 ), lauf );
                                 outList.z( p )->set( Punkt( 0, 0 ), lauf );
                                 break;
                                 break;
@@ -326,15 +322,15 @@ bool Model2DData::erstelleModell( Array< Polygon2D > *polygons )
                         if( fertig )
                         if( fertig )
                             break;
                             break;
                     }
                     }
-                    if( lowL->getDreieckAnzahl() > hightL->getDreieckAnzahl() )
+                    if( lowL->getDreieckAnzahl() > heightL->getDreieckAnzahl() )
                     {
                     {
                         lists.z( lauf )->set( lowL, i );
                         lists.z( lauf )->set( lowL, i );
                         tmpOutList.set( outL, i );
                         tmpOutList.set( outL, i );
-                        hightL->release();
+                        heightL->release();
                     }
                     }
                     else
                     else
                     {
                     {
-                        lists.z( lauf )->set( hightL, i );
+                        lists.z( lauf )->set( heightL, i );
                         tmpOutList.set( outH, i );
                         tmpOutList.set( outH, i );
                         lowL->release();
                         lowL->release();
                     }
                     }
@@ -367,7 +363,7 @@ bool Model2DData::erstelleModell( Array< Polygon2D > *polygons )
     return 1;
     return 1;
 }
 }
 
 
-void Model2DData::löscheModell() // setzt die Vertex daten zurück
+void Model2DData::removeModell() // setzt die Vertex daten zurück
 {
 {
     if( polygons )
     if( polygons )
     {
     {
@@ -407,20 +403,14 @@ Model2DData *Model2DData::release()
 // Inhalt der Model2D Klasse aus Model2D.h
 // Inhalt der Model2D Klasse aus Model2D.h
 // Konstruktor
 // Konstruktor
 Model2D::Model2D()
 Model2D::Model2D()
-#ifdef WIN32
     : Zeichnung(),
     : Zeichnung(),
     textur( 0 )
     textur( 0 )
-#endif
 {
 {
-#ifdef WIN32
     farbe = 0;
     farbe = 0;
     style = 0;
     style = 0;
-#else
-    pos = Punkt( 0, 0 );
-#endif
     rData = 0;
     rData = 0;
     drehung = 0;
     drehung = 0;
-    größe = 1;
+    size = 1;
     ref = 1;
     ref = 1;
 }
 }
 
 
@@ -429,10 +419,8 @@ Model2D::~Model2D()
 {
 {
     if( rData )
     if( rData )
         rData->release();
         rData->release();
-#ifdef WIN32
-    if( textur )
-        textur->release();
-#endif
+	if( textur )
+		textur->release();
 }
 }
 
 
 // nicht constant
 // nicht constant
@@ -450,9 +438,7 @@ void Model2D::setDrehung( float drehung )
         this->drehung -= (float)PI * 2;
         this->drehung -= (float)PI * 2;
     while( this->drehung < 0 )
     while( this->drehung < 0 )
         this->drehung += (float)PI * 2;
         this->drehung += (float)PI * 2;
-#ifdef WIN32
     rend = 1;
     rend = 1;
-#endif
 }
 }
 
 
 void Model2D::addDrehung( float drehung )
 void Model2D::addDrehung( float drehung )
@@ -462,27 +448,21 @@ void Model2D::addDrehung( float drehung )
         this->drehung -= (float)PI * 2;
         this->drehung -= (float)PI * 2;
     while( this->drehung < 0 )
     while( this->drehung < 0 )
         this->drehung += (float)PI * 2;
         this->drehung += (float)PI * 2;
-#ifdef WIN32
     rend = 1;
     rend = 1;
-#endif
 }
 }
 
 
-void Model2D::setGröße( float größe )
+void Model2D::setSize( float size )
 {
 {
-    this->größe = größe;
-#ifdef WIN32
+    this->size = size;
     rend = 1;
     rend = 1;
-#endif
 }
 }
 
 
-void Model2D::addGröße( float größe )
+void Model2D::addSize( float size )
 {
 {
-    this->größe += größe;
-#ifdef WIN32
+    this->size += size;
     rend = 1;
     rend = 1;
-#endif
 }
 }
-#ifdef WIN32
+
 void Model2D::setTextur( Bild *t )
 void Model2D::setTextur( Bild *t )
 {
 {
     if( textur )
     if( textur )
@@ -519,11 +499,11 @@ void Model2D::render( Bild &zRObj )
 {
 {
     if( !rData || hatStyleNicht( Model2D::Style::Sichtbar ) || !rData->polygons )
     if( !rData || hatStyleNicht( Model2D::Style::Sichtbar ) || !rData->polygons )
         return;
         return;
-    __super::render( zRObj );
+	Zeichnung::render( zRObj );
     int num = 0;
     int num = 0;
     for( auto *p = &rData->vListen->getArray(); p && p->set; p = p->next, num++ )
     for( auto *p = &rData->vListen->getArray(); p && p->set; p = p->next, num++ )
     {
     {
-        Mat3< float > mat = Mat3< float >::translation( pos ) * Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( größe );
+        Mat3< float > mat = Mat3< float >::translation( pos ) * Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( size );
         if( hatStyle( Model2D::Style::Textur ) )
         if( hatStyle( Model2D::Style::Textur ) )
         {
         {
             if( !textur || !rData->polygons->get( num ).tKordinaten )
             if( !textur || !rData->polygons->get( num ).tKordinaten )
@@ -608,21 +588,16 @@ void Model2D::render( Bild &zRObj )
         }
         }
     }
     }
 }
 }
-#else
-void Model2D::setPosition( Punkt p )
-{
-    pos = p;
-}
-#endif
+
 // constant
 // constant
 float Model2D::getDrehung() const
 float Model2D::getDrehung() const
 {
 {
     return drehung;
     return drehung;
 }
 }
 
 
-float Model2D::getGröße() const
+float Model2D::getSize() const
 {
 {
-    return größe;
+    return size;
 }
 }
 
 
 bool Model2D::istPunktInnen( Vertex p ) const
 bool Model2D::istPunktInnen( Vertex p ) const
@@ -630,12 +605,12 @@ bool Model2D::istPunktInnen( Vertex p ) const
     if( !rData )
     if( !rData )
         return 0;
         return 0;
     p -= pos;
     p -= pos;
-    if( p < Mat3< float >::scaling( größe ) * rData->minP || p > Mat3< float >::scaling( größe ) * rData->maxP || !rData->polygons )
+    if( p < Mat3< float >::scaling( size ) * rData->minP || p > Mat3< float >::scaling( size ) * rData->maxP || !rData->polygons )
         return 0;
         return 0;
     int num = 0;
     int num = 0;
     for( auto *polygon = &rData->polygons->getArray(); polygon && polygon->set; polygon = polygon->next, num++ )
     for( auto *polygon = &rData->polygons->getArray(); polygon && polygon->set; polygon = polygon->next, num++ )
     {
     {
-        Mat3< float > mat = Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( größe );
+        Mat3< float > mat = Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( size );
         int anz = polygon->var.vertex->getEintragAnzahl();
         int anz = polygon->var.vertex->getEintragAnzahl();
         bool c = 0;
         bool c = 0;
         int j = anz - 1;
         int j = anz - 1;
@@ -660,7 +635,7 @@ bool Model2D::istLinieInnen( Vertex a, Vertex b ) const
     int pAnz = rData->polygons->getEintragAnzahl();
     int pAnz = rData->polygons->getEintragAnzahl();
     for( int p = 0; p < pAnz; p++ )
     for( int p = 0; p < pAnz; p++ )
     {
     {
-        Mat3< float > mat = Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( größe );
+        Mat3< float > mat = Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( size );
         int anz = rData->polygons->get( p ).vertex->getEintragAnzahl();
         int anz = rData->polygons->get( p ).vertex->getEintragAnzahl();
         int j = anz - 1;
         int j = anz - 1;
         for( int i = 0; i < anz; i++ )
         for( int i = 0; i < anz; i++ )
@@ -673,22 +648,22 @@ bool Model2D::istLinieInnen( Vertex a, Vertex b ) const
                 return 1;
                 return 1;
             j = i;
             j = i;
         }
         }
-        Vertex län = b - a;
-        Vertex speed( län.x > 0 ? 1 : -1.f, län.y > 0 ? 1 : -1.f );
-        int mLän = 0;
-        if( fabs( län.x ) > fabs( län.y ) )
+        Vertex len = b - a;
+        Vertex speed( len.x > 0 ? 1 : -1.f, len.y > 0 ? 1 : -1.f );
+        int mLen = 0;
+        if( fabs( len.x ) > fabs( len.y ) )
         {
         {
-            mLän = (int)fabs( län.x );
-            speed.y = län.y / (float)fabs( län.x );
+            mLen = (int)fabs( len.x );
+            speed.y = len.y / (float)fabs( len.x );
         }
         }
         else
         else
         {
         {
-            mLän = (int)fabs( län.y );
-            speed.x = län.x / (float)fabs( län.y );
+            mLen = (int)fabs( len.y );
+            speed.x = len.x / (float)fabs( len.y );
         }
         }
         int i = 1;
         int i = 1;
         bool inside = 1;
         bool inside = 1;
-        for( Vertex vp = speed + a; (Punkt)vp != (Punkt)( b - speed ) && inside && i < mLän - 1; vp += speed, i++ )
+        for( Vertex vp = speed + a; (Punkt)vp != (Punkt)( b - speed ) && inside && i < mLen - 1; vp += speed, i++ )
             inside &= istPunktInnen( vp );
             inside &= istPunktInnen( vp );
         if( inside )
         if( inside )
             return 1;
             return 1;
@@ -700,14 +675,14 @@ bool Model2D::istModelInnen( const Model2D *zMdl, bool end ) const
 {
 {
     if( !end )
     if( !end )
     {
     {
-        Vertex min = (Vertex)rData->minP * größe + pos;
-        Vertex max = (Vertex)rData->maxP * größe + pos;
-        Vertex min2 = (Vertex)zMdl->zModel()->minP * zMdl->getGröße() + zMdl->getPosition();
-        Vertex max2 = (Vertex)zMdl->zModel()->maxP * zMdl->getGröße() + zMdl->getPosition();
+        Vertex min = (Vertex)rData->minP * size + pos;
+        Vertex max = (Vertex)rData->maxP * size + pos;
+        Vertex min2 = (Vertex)zMdl->zModel()->minP * zMdl->getSize() + zMdl->getPosition();
+        Vertex max2 = (Vertex)zMdl->zModel()->maxP * zMdl->getSize() + zMdl->getPosition();
         if( max.x < min2.x || min.x > max2.x || max.y < min2.y || min.y > max2.y )
         if( max.x < min2.x || min.x > max2.x || max.y < min2.y || min.y > max2.y )
             return 0;
             return 0;
     }
     }
-    Mat3< float > mat = Mat3< float >::translation( pos ) * Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( größe );
+    Mat3< float > mat = Mat3< float >::translation( pos ) * Mat3< float >::rotation( drehung ) * Mat3< float >::scaling( size );
     for( auto *polygon = &rData->polygons->getArray(); polygon && polygon->set; polygon = polygon->next )
     for( auto *polygon = &rData->polygons->getArray(); polygon && polygon->set; polygon = polygon->next )
     {
     {
         int anz = polygon->var.vertex->getEintragAnzahl();
         int anz = polygon->var.vertex->getEintragAnzahl();
@@ -731,12 +706,6 @@ Model2DData *Model2D::zModel() const
 {
 {
     return rData;
     return rData;
 }
 }
-#ifndef WIN32
-Punkt Model2D::getPosition() const
-{
-    return pos;
-}
-#endif
 
 
 // Reference Counting
 // Reference Counting
 Model2D *Model2D::getThis()
 Model2D *Model2D::getThis()

+ 8 - 30
Model2D.h

@@ -1,9 +1,7 @@
 #ifndef Model2D_H
 #ifndef Model2D_H
 #define Model2D_H
 #define Model2D_H
 
 
-#ifdef WIN32
 #include "Zeichnung.h"
 #include "Zeichnung.h"
-#endif
 #include "Punkt.h"
 #include "Punkt.h"
 #include "Array.h"
 #include "Array.h"
 #include "DreieckListe.h"
 #include "DreieckListe.h"
@@ -52,7 +50,7 @@ namespace Framework
         //  return: gibt immer 1 zurück
         //  return: gibt immer 1 zurück
         __declspec( dllexport ) bool erstelleModell( Array< Polygon2D > *polygons );
         __declspec( dllexport ) bool erstelleModell( Array< Polygon2D > *polygons );
         // Löscht die erstellten Dreiecklisten und die Eckpunkte
         // Löscht die erstellten Dreiecklisten und die Eckpunkte
-        __declspec( dllexport ) void löscheModell();
+        __declspec( dllexport ) void removeModell();
         // Erhöht den Reference Counting Zähler.
         // Erhöht den Reference Counting Zähler.
         //  return: this.
         //  return: this.
         __declspec( dllexport ) Model2DData *getThis();
         __declspec( dllexport ) Model2DData *getThis();
@@ -61,15 +59,10 @@ namespace Framework
         __declspec( dllexport ) Model2DData *release();
         __declspec( dllexport ) Model2DData *release();
     };
     };
 
 
-#ifdef WIN32
     // Eine Zeichnung von einem Model
     // Eine Zeichnung von einem Model
     class Model2D : public Zeichnung
     class Model2D : public Zeichnung
-#else
-    class Model2D
-#endif
     {
     {
     public:
     public:
-#ifdef WIN32
         class Style : public Zeichnung::Style
         class Style : public Zeichnung::Style
         {
         {
         public:
         public:
@@ -78,24 +71,20 @@ namespace Framework
             const static __int64 Alpha = 0x40; // Wenn dieser Fag gesetzt ist, wird beim Zeichnen alphablending verwendet
             const static __int64 Alpha = 0x40; // Wenn dieser Fag gesetzt ist, wird beim Zeichnen alphablending verwendet
             const static __int64 Mesh = 0x20; // Wenn dieser Flag gesetzt ist, werden die Render der Dreiecke gezeichnet
             const static __int64 Mesh = 0x20; // Wenn dieser Flag gesetzt ist, werden die Render der Dreiecke gezeichnet
         };
         };
-#endif
     private:
     private:
         Model2DData *rData;
         Model2DData *rData;
         float drehung;
         float drehung;
-        float größe;
+        float size;
         int ref;
         int ref;
-#ifdef WIN32
         int farbe;
         int farbe;
         Bild *textur;
         Bild *textur;
-#else
         Punkt pos;
         Punkt pos;
-#endif
 
 
     public:
     public:
         // Konstruktor
         // Konstruktor
         __declspec( dllexport ) Model2D();
         __declspec( dllexport ) Model2D();
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~Model2D();
+        __declspec( dllexport ) virtual ~Model2D();
         // Setzt die Daten des Models
         // Setzt die Daten des Models
         //  mdl: Die Model Daten
         //  mdl: Die Model Daten
         __declspec( dllexport ) void setModel( Model2DData *mdl );
         __declspec( dllexport ) void setModel( Model2DData *mdl );
@@ -106,12 +95,11 @@ namespace Framework
         //  drehung: Der Winkel in Bogenmas, der hinzugefügt werden soll
         //  drehung: Der Winkel in Bogenmas, der hinzugefügt werden soll
         __declspec( dllexport ) void addDrehung( float drehung );
         __declspec( dllexport ) void addDrehung( float drehung );
         // Setzt die Skallierung des Modells
         // Setzt die Skallierung des Modells
-        //  größe: Der Faktor, mit dem Skalliert wird
-        __declspec( dllexport ) void setGröße( float größe );
+        //  size: Der Faktor, mit dem Skalliert wird
+        __declspec( dllexport ) void setSize( float size );
         // Addiert zur Skallierung einen bestimmten Wert hinzu
         // Addiert zur Skallierung einen bestimmten Wert hinzu
-        //  größe: Der Wert, der zur skallierung hinzugefügt werden soll
-        __declspec( dllexport ) void addGröße( float größe );
-#ifdef WIN32
+        //  size: Der Wert, der zur skallierung hinzugefügt werden soll
+        __declspec( dllexport ) void addSize( float size );
         // Setzt die Textur
         // Setzt die Textur
         //  t: Das Bild, das als Textur verwendet werden soll
         //  t: Das Bild, das als Textur verwendet werden soll
         __declspec( dllexport ) void setTextur( Bild *t );
         __declspec( dllexport ) void setTextur( Bild *t );
@@ -127,15 +115,10 @@ namespace Framework
         // Zeichnet die Zeihnung in ein bestimmtes Bild
         // Zeichnet die Zeihnung in ein bestimmtes Bild
         //  zRObj: Das Bild, in das gezeichnet werden soll
         //  zRObj: Das Bild, in das gezeichnet werden soll
         __declspec( dllexport ) void render( Bild &zRObj ) override;
         __declspec( dllexport ) void render( Bild &zRObj ) override;
-#else
-        // Setzt die Position
-        //  p: Die neue Position
-        __declspec( dllexport ) void setPosition( Punkt p );
-#endif
         // gibt die Drehung des Models zurück
         // gibt die Drehung des Models zurück
         __declspec( dllexport ) float getDrehung() const;
         __declspec( dllexport ) float getDrehung() const;
         // gibt den Skallierungs Faktor zurück
         // gibt den Skallierungs Faktor zurück
-        __declspec( dllexport ) float getGröße() const;
+        __declspec( dllexport ) float getSize() const;
         // Gibt zurück, ob ein Punkt in dem Model enthalten ist
         // Gibt zurück, ob ein Punkt in dem Model enthalten ist
         //  p: Der Punkt
         //  p: Der Punkt
         __declspec( dllexport ) bool istPunktInnen( Vertex p ) const;
         __declspec( dllexport ) bool istPunktInnen( Vertex p ) const;
@@ -151,10 +134,6 @@ namespace Framework
         __declspec( dllexport ) Model2DData *getModel() const;
         __declspec( dllexport ) Model2DData *getModel() const;
         // Gibt die Model Daten ohne erhöhten Reference Counter zurück
         // Gibt die Model Daten ohne erhöhten Reference Counter zurück
         __declspec( dllexport ) Model2DData *zModel() const;
         __declspec( dllexport ) Model2DData *zModel() const;
-#ifndef WIN32
-        // Gibt die Position des Models zurück
-        Punkt getPosition() const;
-#endif
         // Erhöht den Reference Counting Zähler.
         // Erhöht den Reference Counting Zähler.
         //  return: this.
         //  return: this.
         __declspec( dllexport ) Model2D *getThis();
         __declspec( dllexport ) Model2D *getThis();
@@ -163,5 +142,4 @@ namespace Framework
         __declspec( dllexport ) Model2D *release();
         __declspec( dllexport ) Model2D *release();
     };
     };
 }
 }
-
 #endif
 #endif

+ 16 - 9
Model3D.cpp

@@ -1,9 +1,12 @@
 #include "Model3D.h"
 #include "Model3D.h"
-#include "Render3D.h"
 #include "Model2D.h"
 #include "Model2D.h"
 #include "DXBuffer.h"
 #include "DXBuffer.h"
 #include "Textur.h"
 #include "Textur.h"
+#ifdef WIN32
+#include "Render3D.h"
 #include <d3d11.h>
 #include <d3d11.h>
+#endif
+#include <stdexcept>
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -78,7 +81,7 @@ void Knochen::addKind( int id, Knochen *k )
             err += __LINE__;
             err += __LINE__;
             err += "!";
             err += "!";
             delete k;
             delete k;
-            throw std::out_of_range( err );
+            throw std::out_of_range( (const char*)err );
         }
         }
     }
     }
 }
 }
@@ -262,11 +265,11 @@ void Model3DData::setVertecies( Vertex3D *vertexList, int anz )
     delete[] this->vertexList;
     delete[] this->vertexList;
     this->vertexList = vertexList;
     this->vertexList = vertexList;
     vertexBuffer->setData( vertexList );
     vertexBuffer->setData( vertexList );
-    vertexBuffer->setLänge( sizeof( Vertex3D ) * anz );
+    vertexBuffer->setLength( (int)sizeof( Vertex3D ) * anz );
     radius = 0;
     radius = 0;
     for( int i = 0; i < anz; i++ )
     for( int i = 0; i < anz; i++ )
     {
     {
-        float r = vertexList[ i ].pos.län();
+        float r = vertexList[ i ].pos.getLength();
         if( r > radius )
         if( r > radius )
             radius = r;
             radius = r;
     }
     }
@@ -292,7 +295,7 @@ void Model3DData::copyModel2D( Model2DData *model, float z )
             vAnz += i.var.vertex->getEintragAnzahl();
             vAnz += i.var.vertex->getEintragAnzahl();
         vertexList = new Vertex3D[ vAnz ];
         vertexList = new Vertex3D[ vAnz ];
         vertexBuffer->setData( vertexList );
         vertexBuffer->setData( vertexList );
-        vertexBuffer->setLänge( sizeof( Vertex3D ) * vAnz );
+        vertexBuffer->setLength( (int)sizeof( Vertex3D ) * vAnz );
         int index = 0;
         int index = 0;
         for( auto i = model->vListen->getArray(); i.set; i++ )
         for( auto i = model->vListen->getArray(); i.set; i++ )
         {
         {
@@ -305,7 +308,7 @@ void Model3DData::copyModel2D( Model2DData *model, float z )
             }
             }
             p->indexList = new int[ p->indexAnz ];
             p->indexList = new int[ p->indexAnz ];
             p->indexBuffer->setData( p->indexList );
             p->indexBuffer->setData( p->indexList );
-            p->indexBuffer->setLänge( sizeof( int ) * p->indexAnz );
+            p->indexBuffer->setLength( (int)sizeof( int ) * p->indexAnz );
             p->indexAnz = 0;
             p->indexAnz = 0;
             for( auto j = i.var->getArray(); j.set; j++ )
             for( auto j = i.var->getArray(); j.set; j++ )
             {
             {
@@ -337,7 +340,7 @@ void Model3DData::removePolygon( int index )
     if( !polygons->hat( index ) )
     if( !polygons->hat( index ) )
         return;
         return;
     delete polygons->get( index );
     delete polygons->get( index );
-    polygons->lösche( index );
+    polygons->remove( index );
 }
 }
 
 
 // Aktualisiert die Vertecies
 // Aktualisiert die Vertecies
@@ -372,7 +375,9 @@ void Model3DData::render( Mat4< float > &welt, const Model3DTextur *zTxt, Render
         Textur *t = zTxt->zPolygonTextur( ind );
         Textur *t = zTxt->zPolygonTextur( ind );
         if( t && t->brauchtUpdate() )
         if( t && t->brauchtUpdate() )
             t->updateTextur( zRObj );
             t->updateTextur( zRObj );
+#ifdef WIN32
         zRObj->draw( i->var->indexBuffer, t );
         zRObj->draw( i->var->indexBuffer, t );
+#endif
         ind++;
         ind++;
     }
     }
 }
 }
@@ -539,7 +544,7 @@ int Model3D::errechneMatrizen( Mat4< float > &viewProj, Mat4< float > *matBuffer
     else if( model )
     else if( model )
         ret = model->kalkulateMatrix( welt, matBuffer, viewProj );
         ret = model->kalkulateMatrix( welt, matBuffer, viewProj );
     if( !ret )
     if( !ret )
-        return __super::errechneMatrizen( viewProj, matBuffer );
+        return Zeichnung3D::errechneMatrizen( viewProj, matBuffer );
     return ret;
     return ret;
 }
 }
 
 
@@ -549,7 +554,7 @@ int Model3D::errechneMatrizen( Mat4< float > &viewProj, Mat4< float > *matBuffer
 bool Model3D::tick( double tickval )
 bool Model3D::tick( double tickval )
 {
 {
     radius = model ? model->getRadius() : 0;
     radius = model ? model->getRadius() : 0;
-    return __super::tick( tickval );
+    return Zeichnung3D::tick( tickval );
 }
 }
 
 
 // Zeichnet das Model
 // Zeichnet das Model
@@ -559,7 +564,9 @@ void Model3D::render( Render3D *zRObj )
     if( !model )
     if( !model )
         return;
         return;
     model->aktualisiereVertecies( zRObj );
     model->aktualisiereVertecies( zRObj );
+#ifdef WIN32
     zRObj->beginnModel( this );
     zRObj->beginnModel( this );
+#endif
     model->render( welt, textur, zRObj );
     model->render( welt, textur, zRObj );
 }
 }
 
 

+ 2 - 2
Model3D.h

@@ -1,6 +1,6 @@
 #pragma once
 #pragma once
 
 
-#include "vec2.h"
+#include "Vec2.h"
 #include "Array.h"
 #include "Array.h"
 #include "Mat4.h"
 #include "Mat4.h"
 #include "Zeichnung3D.h"
 #include "Zeichnung3D.h"
@@ -226,7 +226,7 @@ namespace Framework
         // Konstruktor
         // Konstruktor
         __declspec( dllexport ) Model3D();
         __declspec( dllexport ) Model3D();
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~Model3D();
+        __declspec( dllexport ) virtual ~Model3D();
         // Setzt den Zeiger auf das zum Annimieren verwendete Skelett
         // Setzt den Zeiger auf das zum Annimieren verwendete Skelett
         //  s: Das Skelett, das verwendet werden soll
         //  s: Das Skelett, das verwendet werden soll
         __declspec( dllexport ) void setSkelettZ( Skelett *s );
         __declspec( dllexport ) void setSkelettZ( Skelett *s );

+ 5 - 3
Model3DList.cpp

@@ -7,6 +7,8 @@ using namespace Framework;
 int Model3DList::id = 0;
 int Model3DList::id = 0;
 CRITICAL_SECTION Model3DList::cs;
 CRITICAL_SECTION Model3DList::cs;
 
 
+const char *Standart3DTypes::cube = "f_würfel";
+
 // Inhalt der Model3DList Klasse
 // Inhalt der Model3DList Klasse
 // Konstruktor
 // Konstruktor
 Model3DList::Model3DList()
 Model3DList::Model3DList()
@@ -47,7 +49,7 @@ bool Model3DList::addModel( Model3DData *mdl, const char *name )
 
 
 // Entfernt ein Model aus der Liste
 // Entfernt ein Model aus der Liste
 //  name: Der Name des Models
 //  name: Der Name des Models
-void Model3DList::löscheModel( const char *name )
+void Model3DList::removeModel( const char *name )
 {
 {
     EnterCriticalSection( &cs );
     EnterCriticalSection( &cs );
     int index = 0;
     int index = 0;
@@ -55,8 +57,8 @@ void Model3DList::l
     {
     {
         if( i.var->istGleich( name ) )
         if( i.var->istGleich( name ) )
         {
         {
-            names->lösche( index );
-            models->lösche( index );
+            names->remove( index );
+            models->remove( index );
             LeaveCriticalSection( &cs );
             LeaveCriticalSection( &cs );
             return;
             return;
         }
         }

+ 2 - 3
Model3DList.h

@@ -7,10 +7,9 @@ namespace Framework
     class Model3DData; // Model3D.h
     class Model3DData; // Model3D.h
     class Text; // Text.h
     class Text; // Text.h
     class Model3D; // Model3D.h
     class Model3D; // Model3D.h
-
     namespace Standart3DTypes
     namespace Standart3DTypes
     {
     {
-        const static char *würfel = "f_würfel"; // Die Modeldaten eines Würfels der 100 * 100 * 100 groß ist
+        extern const char *cube; // = "f_würfel"; Die Modeldaten eines Würfels der 100 * 100 * 100 groß ist
     };
     };
 
 
     // Verwaltet alle geladenen Modeldaten, so dass mehrere Zeichnungen die selben Daten benutzen können
     // Verwaltet alle geladenen Modeldaten, so dass mehrere Zeichnungen die selben Daten benutzen können
@@ -34,7 +33,7 @@ namespace Framework
         bool addModel( Model3DData *mdl, const char *name );
         bool addModel( Model3DData *mdl, const char *name );
         // Entfernt ein Model aus der Liste
         // Entfernt ein Model aus der Liste
         //  name: Der Name des Models
         //  name: Der Name des Models
-        void löscheModel( const char *name );
+        void removeModel( const char *name );
         // Überprüft, ob unter einem bestimmten Namen ein Model abgespeichert wurde
         // Überprüft, ob unter einem bestimmten Namen ein Model abgespeichert wurde
         //  name: Der Name
         //  name: Der Name
         //  return: true, wenn ein Model mit dem Namen existiert
         //  return: true, wenn ein Model mit dem Namen existiert

+ 6 - 2
Rahmen.cpp

@@ -17,6 +17,10 @@ LRahmen::LRahmen()
     ref( 1 )
     ref( 1 )
 {}
 {}
 
 
+// Destruktor
+LRahmen::~LRahmen()
+{}
+
 // nicht constant 
 // nicht constant 
 void LRahmen::setRamenBreite( int br ) // setzt die Breite des Rahmens
 void LRahmen::setRamenBreite( int br ) // setzt die Breite des Rahmens
 {
 {
@@ -38,7 +42,7 @@ void LRahmen::setFarbe( int f ) // Legt die Farbe des Rahmens fest
 
 
 void LRahmen::render( Bild &Obj ) // Zeichnet den Rahmen in das RenderZeichnung
 void LRahmen::render( Bild &Obj ) // Zeichnet den Rahmen in das RenderZeichnung
 {
 {
-    __super::render( Obj );
+	Zeichnung::render( Obj );
     int x = pos.x;
     int x = pos.x;
     int y = pos.y;
     int y = pos.y;
     int b = x + gr.x - 1;
     int b = x + gr.x - 1;
@@ -85,7 +89,7 @@ Zeichnung *LRahmen::dublizieren() const // Kopiert das Zeichnung
 {
 {
     LRahmen *obj = new LRahmen();
     LRahmen *obj = new LRahmen();
     obj->setPosition( pos );
     obj->setPosition( pos );
-    obj->setGröße( gr );
+    obj->setSize( gr );
     obj->setMausEreignisParameter( makParam );
     obj->setMausEreignisParameter( makParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setMausEreignis( Mak );
     obj->setMausEreignis( Mak );

+ 2 - 0
Rahmen.h

@@ -22,6 +22,8 @@ namespace Framework
     public:
     public:
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) LRahmen();
         __declspec( dllexport ) LRahmen();
+		// Destruktor
+		__declspec( dllexport ) virtual ~LRahmen();
         // Setzt die Breite des Rahmens
         // Setzt die Breite des Rahmens
         //  br: Die Breite in Pixeln
         //  br: Die Breite in Pixeln
         __declspec( dllexport ) void setRamenBreite( int br );
         __declspec( dllexport ) void setRamenBreite( int br );

+ 3 - 3
Render3D.cpp

@@ -198,7 +198,7 @@ void Render3D::beginnModel( Model3D *zMdl )
         lastObjektId = zMdl->getDatenId();
         lastObjektId = zMdl->getDatenId();
         unsigned int offset = 0;
         unsigned int offset = 0;
         ID3D11Buffer *b = zMdl->zVertexBuffer()->zBuffer();
         ID3D11Buffer *b = zMdl->zVertexBuffer()->zBuffer();
-        unsigned int es = (unsigned)zMdl->zVertexBuffer()->getElementLänge();
+        unsigned int es = (unsigned)zMdl->zVertexBuffer()->getElementLength();
         context->IASetVertexBuffers( 0, 1, &b, &es, &offset );
         context->IASetVertexBuffers( 0, 1, &b, &es, &offset );
     }
     }
 }
 }
@@ -210,9 +210,9 @@ void Render3D::beginnModel( Model3D *zMdl )
 void Render3D::draw( DXIndexBuffer *zIndexBuffer, Textur *textur, D3D_PRIMITIVE_TOPOLOGY struktur )
 void Render3D::draw( DXIndexBuffer *zIndexBuffer, Textur *textur, D3D_PRIMITIVE_TOPOLOGY struktur )
 {
 {
     DXGI_FORMAT f = DXGI_FORMAT_R32_UINT;
     DXGI_FORMAT f = DXGI_FORMAT_R32_UINT;
-    if( zIndexBuffer->getElementLänge() == 2 )
+    if( zIndexBuffer->getElementLength() == 2 )
         f = DXGI_FORMAT_R16_UINT;
         f = DXGI_FORMAT_R16_UINT;
-    if( zIndexBuffer->getElementLänge() == 1 )
+    if( zIndexBuffer->getElementLength() == 1 )
         f = DXGI_FORMAT_R8_UINT;
         f = DXGI_FORMAT_R8_UINT;
     context->IASetIndexBuffer( zIndexBuffer->zBuffer(), f, 0 );
     context->IASetIndexBuffer( zIndexBuffer->zBuffer(), f, 0 );
     context->IASetPrimitiveTopology( struktur );
     context->IASetPrimitiveTopology( struktur );

+ 135 - 134
Schrift.cpp

@@ -3,7 +3,9 @@
 #include "Text.h"
 #include "Text.h"
 #include "Scroll.h"
 #include "Scroll.h"
 #include "Globals.h"
 #include "Globals.h"
+#ifdef WIN32
 #include <Windows.h>
 #include <Windows.h>
+#endif
 #include "FrameworkMath.h"
 #include "FrameworkMath.h"
 
 
 using namespace Framework;
 using namespace Framework;
@@ -11,10 +13,10 @@ using namespace Framework;
 // Inhalt der Buchstabe Klasse aus Schrift.h
 // Inhalt der Buchstabe Klasse aus Schrift.h
 // Konstruktor 
 // Konstruktor 
 Buchstabe::Buchstabe()
 Buchstabe::Buchstabe()
-    : größe( 0, 0 ),
+    : size( 0, 0 ),
     pos( 0, 0 ),
     pos( 0, 0 ),
     alpha( 0 ),
     alpha( 0 ),
-    schriftGröße( 0 ),
+    schriftSize( 0 ),
     drawSg( 0 ),
     drawSg( 0 ),
     ref( 1 )
     ref( 1 )
 {}
 {}
@@ -27,23 +29,23 @@ Buchstabe::~Buchstabe()
 }
 }
 
 
 // nicht constant 
 // nicht constant 
-void Buchstabe::NeuBuchstabe( Punkt &größe ) // Initialisierung
+void Buchstabe::NeuBuchstabe( Punkt &size ) // Initialisierung
 {
 {
-    this->größe = größe;
+    this->size = size;
     if( alpha )
     if( alpha )
         delete[]alpha;
         delete[]alpha;
-    alpha = new unsigned char[ größe.x * größe.y ];
-    ZeroMemory( alpha, größe.x * größe.y );
+    alpha = new unsigned char[ size.x * size.y ];
+    ZeroMemory( alpha, size.x * size.y );
 }
 }
 
 
 void Buchstabe::setPixel( Punkt &pos, unsigned char alpha ) // setzt den alphawert des Pixels
 void Buchstabe::setPixel( Punkt &pos, unsigned char alpha ) // setzt den alphawert des Pixels
 {
 {
-    this->alpha[ pos.x + pos.y * größe.x ] = alpha;
+    this->alpha[ pos.x + pos.y * size.x ] = alpha;
 }
 }
 
 
 void Buchstabe::setPixel( int x, int y, unsigned char alpha )
 void Buchstabe::setPixel( int x, int y, unsigned char alpha )
 {
 {
-    this->alpha[ x + y * größe.x ] = alpha;
+    this->alpha[ x + y * size.x ] = alpha;
 }
 }
 
 
 void Buchstabe::setPixel( int i, unsigned char alpha )
 void Buchstabe::setPixel( int i, unsigned char alpha )
@@ -62,35 +64,35 @@ void Buchstabe::setPosition( int x, int y )
     pos.y = y;
     pos.y = y;
 }
 }
 
 
-void Buchstabe::setSchriftGröße( int sg ) // setzt die Schriftgröße des Buchstaben
+void Buchstabe::setSchriftSize( int sg ) // setzt die Schriftgröße des Buchstaben
 {
 {
-    schriftGröße = sg;
+    schriftSize = sg;
 }
 }
 
 
-void Buchstabe::setDrawSchriftGröße( int dsg ) // setzt die Zeichengröße des Buchstaben
+void Buchstabe::setDrawSchriftSize( int dsg ) // setzt die Zeichengröße des Buchstaben
 {
 {
     drawSg = dsg;
     drawSg = dsg;
 }
 }
 
 
 // constant
 // constant
-const Punkt &Buchstabe::getGröße() const // gibt die Buchstabenbildgröße zurück
+const Punkt &Buchstabe::getSize() const // gibt die Buchstabenbildgröße zurück
 {
 {
-    return größe;
+    return size;
 }
 }
 
 
 int Buchstabe::getBreite() const // Buchstabenbreite
 int Buchstabe::getBreite() const // Buchstabenbreite
 {
 {
-    return (int)( ( (double)größe.x / (double)schriftGröße ) * (double)drawSg + 0.5 );
+    return (int)( ( (double)size.x / (double)schriftSize ) * (double)drawSg + 0.5 );
 }
 }
 
 
-int Buchstabe::getHöhe() const // Buchstabenhöhe
+int Buchstabe::getHeight() const // Buchstabenhöhe
 {
 {
-    return (int)( ( (double)größe.y / (double)schriftGröße ) *(double)drawSg + 0.5 );
+    return (int)( ( (double)size.y / (double)schriftSize ) *(double)drawSg + 0.5 );
 }
 }
 
 
-int Buchstabe::getNormHöhe() const // Buchstabenhöhe
+int Buchstabe::getNormHeight() const // Buchstabenhöhe
 {
 {
-    return größe.y;
+    return size.y;
 }
 }
 
 
 unsigned char *Buchstabe::getBuff() const // gibt den Alphabuffer zurück
 unsigned char *Buchstabe::getBuff() const // gibt den Alphabuffer zurück
@@ -107,10 +109,10 @@ void Buchstabe::render( Bild &zRObj, int f ) const // Zeichnet nach zRObj
         const Punkt &zRObjOff = zRObj.getDrawOff();
         const Punkt &zRObjOff = zRObj.getDrawOff();
         int xp = pos.x + zRObjOff.x, yp = pos.y + zRObjOff.y;
         int xp = pos.x + zRObjOff.x, yp = pos.y + zRObjOff.y;
         int xs = xp < zRObjPos.x ? ( zRObjPos.x - xp ) : 0, ys = yp < zRObjPos.y ? ( zRObjPos.y - yp ) : 0;
         int xs = xp < zRObjPos.x ? ( zRObjPos.x - xp ) : 0, ys = yp < zRObjPos.y ? ( zRObjPos.y - yp ) : 0;
-        int b = größe.x, h = größe.y;
-        unsigned char a2 = ( 255 - ( f >> 24 ) );
+        int b = size.x, h = size.y;
+        unsigned char a2 = (unsigned char)( 255 - ( f >> 24 ) );
         f &= 0x00FFFFFF;
         f &= 0x00FFFFFF;
-        if( schriftGröße == drawSg )
+        if( schriftSize == drawSg )
         {
         {
             if( xp >= zRObjGr.x || yp >= zRObjGr.y || xp + b < zRObjPos.x || yp + h < zRObjPos.y )
             if( xp >= zRObjGr.x || yp >= zRObjGr.y || xp + b < zRObjPos.x || yp + h < zRObjPos.y )
                 return;
                 return;
@@ -118,10 +120,10 @@ void Buchstabe::render( Bild &zRObj, int f ) const // Zeichnet nach zRObj
             h = ( yp + h ) > zRObjGr.y ? ( zRObjGr.y - yp ) : h;
             h = ( yp + h ) > zRObjGr.y ? ( zRObjGr.y - yp ) : h;
             if( !a2 )
             if( !a2 )
             {
             {
-                int xx, ygr = ( ys - 1 ) * größe.x, ygr2 = ( yp + ys - 1 ) * zRObj.getBreite();
+                int xx, ygr = ( ys - 1 ) * size.x, ygr2 = ( yp + ys - 1 ) * zRObj.getBreite();
                 for( int yy = ys; yy < h; ++yy )
                 for( int yy = ys; yy < h; ++yy )
                 {
                 {
-                    ygr += größe.x;
+                    ygr += size.x;
                     ygr2 += zRObj.getBreite();
                     ygr2 += zRObj.getBreite();
                     for( xx = xs; xx < b; ++xx )
                     for( xx = xs; xx < b; ++xx )
                         zRObj.alphaPixel( xp + xx + ygr2, f | ( alpha[ xx + ygr ] << 24 ) );
                         zRObj.alphaPixel( xp + xx + ygr2, f | ( alpha[ xx + ygr ] << 24 ) );
@@ -130,10 +132,10 @@ void Buchstabe::render( Bild &zRObj, int f ) const // Zeichnet nach zRObj
             else
             else
             {
             {
                 int a;
                 int a;
-                int xx, ygr = ( ys - 1 ) * größe.x, ygr2 = ( yp + ys - 1 ) * zRObj.getBreite();
+                int xx, ygr = ( ys - 1 ) * size.x, ygr2 = ( yp + ys - 1 ) * zRObj.getBreite();
                 for( int yy = ys; yy < h; ++yy )
                 for( int yy = ys; yy < h; ++yy )
                 {
                 {
-                    ygr += größe.x;
+                    ygr += size.x;
                     ygr2 += zRObj.getBreite();
                     ygr2 += zRObj.getBreite();
                     for( xx = xs; xx < b; ++xx )
                     for( xx = xs; xx < b; ++xx )
                     {
                     {
@@ -146,10 +148,10 @@ void Buchstabe::render( Bild &zRObj, int f ) const // Zeichnet nach zRObj
         }
         }
         else
         else
         {
         {
-            double xoff = (double)schriftGröße / (double)drawSg,
-                yoff = (double)schriftGröße / (double)drawSg;
+            double xoff = (double)schriftSize / (double)drawSg,
+                yoff = (double)schriftSize / (double)drawSg;
             double x = xs * xoff, y = ys * yoff;
             double x = xs * xoff, y = ys * yoff;
-            int maxX = getBreite(), maxY = getHöhe();
+            int maxX = getBreite(), maxY = getHeight();
             maxX = ( xp + maxX ) >= zRObjGr.x ? ( zRObjGr.x - xp ) : maxX;
             maxX = ( xp + maxX ) >= zRObjGr.x ? ( zRObjGr.x - xp ) : maxX;
             maxY = ( yp + maxY ) >= zRObjGr.y ? ( zRObjGr.y - yp ) : maxY;
             maxY = ( yp + maxY ) >= zRObjGr.y ? ( zRObjGr.y - yp ) : maxY;
             if( !a2 )
             if( !a2 )
@@ -208,10 +210,10 @@ Buchstabe *Buchstabe::release()
 // Konstruktor 
 // Konstruktor 
 Alphabet::Alphabet()
 Alphabet::Alphabet()
     : zeichen( new Buchstabe*[ 256 ] ),
     : zeichen( new Buchstabe*[ 256 ] ),
-    schriftGröße( 12 ),
-    drawSchriftGröße( 12 ),
+    schriftSize( 12 ),
+    drawSchriftSize( 12 ),
     pos( 0, 0 ),
     pos( 0, 0 ),
-    zeilenHöhe( 0 ),
+    zeilenHeight( 0 ),
     zeilenAbstand( 5 ),
     zeilenAbstand( 5 ),
     ref( 1 )
     ref( 1 )
 {
 {
@@ -240,7 +242,7 @@ void Alphabet::NeuAlphabet() // Initialisierung
     }
     }
     for( int i = 0; i < 256; ++i )
     for( int i = 0; i < 256; ++i )
         zeichen[ i ] = 0;
         zeichen[ i ] = 0;
-    zeilenHöhe = 0;
+    zeilenHeight = 0;
 }
 }
 
 
 void Alphabet::setBuchstabe( unsigned char i, Buchstabe *buchstabe ) // setzt einen Buchstaben
 void Alphabet::setBuchstabe( unsigned char i, Buchstabe *buchstabe ) // setzt einen Buchstaben
@@ -250,34 +252,34 @@ void Alphabet::setBuchstabe( unsigned char i, Buchstabe *buchstabe ) // setzt ei
     zeichen[ i ] = buchstabe;
     zeichen[ i ] = buchstabe;
     if( zeichen[ i ] )
     if( zeichen[ i ] )
     {
     {
-        zeichen[ i ]->setSchriftGröße( schriftGröße );
-        zeichen[ i ]->setDrawSchriftGröße( drawSchriftGröße );
+        zeichen[ i ]->setSchriftSize( schriftSize );
+        zeichen[ i ]->setDrawSchriftSize( drawSchriftSize );
     }
     }
-    zeilenHöhe = 0;
+    zeilenHeight = 0;
     for( int i = 0; i < 256; ++i )
     for( int i = 0; i < 256; ++i )
     {
     {
         if( zeichen[ i ] != 0 )
         if( zeichen[ i ] != 0 )
-            zeilenHöhe = maxInt( zeichen[ i ]->getHöhe(), zeilenHöhe );
+            zeilenHeight = maxInt( zeichen[ i ]->getHeight(), zeilenHeight );
     }
     }
 }
 }
 
 
-void Alphabet::setSchriftgröße( int gr ) // setzt die Schriftgröße
+void Alphabet::setSchriftSize( int gr ) // setzt die Schriftgröße
 {
 {
-    schriftGröße = gr;
+    schriftSize = gr;
     for( int i = 0; i < 256; ++i )
     for( int i = 0; i < 256; ++i )
     {
     {
         if( zeichen[ i ] )
         if( zeichen[ i ] )
-            zeichen[ i ]->setSchriftGröße( gr );
+            zeichen[ i ]->setSchriftSize( gr );
     }
     }
 }
 }
 
 
-void Alphabet::setDrawSchriftgröße( int gr ) // setzt die Zeichengröße
+void Alphabet::setDrawSchriftSize( int gr ) // setzt die Zeichengröße
 {
 {
-    drawSchriftGröße = gr;
+    drawSchriftSize = gr;
     for( int i = 0; i < 256; ++i )
     for( int i = 0; i < 256; ++i )
     {
     {
         if( zeichen[ i ] )
         if( zeichen[ i ] )
-            zeichen[ i ]->setDrawSchriftGröße( gr );
+            zeichen[ i ]->setDrawSchriftSize( gr );
     }
     }
 }
 }
 
 
@@ -315,14 +317,14 @@ bool Alphabet::hatBuchstabe( unsigned char b ) const
     return zeichen[ b ] != 0;
     return zeichen[ b ] != 0;
 }
 }
 
 
-int Alphabet::getSchriftgröße() const // gibt die Schriftgröße zurück
+int Alphabet::getSchriftSize() const // gibt die Schriftgröße zurück
 {
 {
-    return schriftGröße;
+    return schriftSize;
 }
 }
 
 
-int Alphabet::getDrawSchriftGröße() const // gibt die Zeichengröße zurück
+int Alphabet::getDrawSchriftSize() const // gibt die Zeichengröße zurück
 {
 {
-    return drawSchriftGröße;
+    return drawSchriftSize;
 }
 }
 
 
 int Alphabet::getZeilenAbstand() const // gibt den Zeilenabstand zurück
 int Alphabet::getZeilenAbstand() const // gibt den Zeilenabstand zurück
@@ -330,9 +332,9 @@ int Alphabet::getZeilenAbstand() const // gibt den Zeilenabstand zur
     return zeilenAbstand;
     return zeilenAbstand;
 }
 }
 
 
-int Alphabet::getZeilenHöhe() const // gibt die Höhe des höchsten Zeichens zurück
+int Alphabet::getZeilenHeight() const // gibt die Höhe des höchsten Zeichens zurück
 {
 {
-    return (int)( (double)zeilenHöhe / schriftGröße * drawSchriftGröße + 0.5 );
+    return (int)( (double)zeilenHeight / schriftSize * drawSchriftSize + 0.5 );
 }
 }
 
 
 const Punkt &Alphabet::getPosition() const // gibt die DrawPosition zurück
 const Punkt &Alphabet::getPosition() const // gibt die DrawPosition zurück
@@ -343,11 +345,11 @@ const Punkt &Alphabet::getPosition() const // gibt die DrawPosition zur
 int Alphabet::getTextBreite( Text *zTxt ) const // gibt die Breite des Textes zurück
 int Alphabet::getTextBreite( Text *zTxt ) const // gibt die Breite des Textes zurück
 {
 {
     int ret = 0;
     int ret = 0;
-    int län = zTxt->getLänge();
+    int len = zTxt->getLength();
     char *buff = zTxt->getText();
     char *buff = zTxt->getText();
     unsigned char c = 0;
     unsigned char c = 0;
     int tmp = 0;
     int tmp = 0;
-    for( int i = 0; i < län; ++i )
+    for( int i = 0; i < len; ++i )
     {
     {
         c = (unsigned char)buff[ i ];
         c = (unsigned char)buff[ i ];
         if( buff[ i ] == '\n' )
         if( buff[ i ] == '\n' )
@@ -362,9 +364,9 @@ int Alphabet::getTextBreite( Text *zTxt ) const // gibt die Breite des Textes zu
             continue;
             continue;
         }
         }
         else if( buff[ i ] == '\t' )
         else if( buff[ i ] == '\t' )
-            tmp += drawSchriftGröße;
+            tmp += drawSchriftSize;
         else if( buff[ i ] == ' ' )
         else if( buff[ i ] == ' ' )
-            tmp += drawSchriftGröße / 2;
+            tmp += drawSchriftSize / 2;
         else if( zeichen[ c ] )
         else if( zeichen[ c ] )
             tmp += zeichen[ c ]->getBreite();
             tmp += zeichen[ c ]->getBreite();
     }
     }
@@ -373,22 +375,22 @@ int Alphabet::getTextBreite( Text *zTxt ) const // gibt die Breite des Textes zu
     return ret;
     return ret;
 }
 }
 
 
-int Alphabet::getTextHöhe( Text *zTxt ) const // gibt die Höhe des Textes zurück
+int Alphabet::getTextHeight( Text *zTxt ) const // gibt die Höhe des Textes zurück
 {
 {
-    int hö = getZeilenHöhe();
-    return hö + ( ( hö + zeilenAbstand ) * zTxt->anzahlVon( '\n' ) );
+    int hi = getZeilenHeight();
+    return hi + ( ( hi + zeilenAbstand ) * zTxt->anzahlVon( '\n' ) );
 }
 }
 
 
 int Alphabet::textPos( Text *zText, int mausX, int mausY ) const // gibt den Buchstaben zurück, auf den die Maus zeigt
 int Alphabet::textPos( Text *zText, int mausX, int mausY ) const // gibt den Buchstaben zurück, auf den die Maus zeigt
 {
 {
     char *buffer = zText->getText();
     char *buffer = zText->getText();
-    int län = zText->getLänge();
+    int len = zText->getLength();
     int tx = 0;
     int tx = 0;
     int ty = 0;
     int ty = 0;
-    int sh = getZeilenHöhe();
+    int sh = getZeilenHeight();
     if( mausX < 0 || mausY < 0 )
     if( mausX < 0 || mausY < 0 )
         return -1;
         return -1;
-    for( int i = 0; i < län; ++i )
+    for( int i = 0; i < len; ++i )
     {
     {
         if( buffer[ i ] == '\n' )
         if( buffer[ i ] == '\n' )
         {
         {
@@ -398,9 +400,9 @@ int Alphabet::textPos( Text *zText, int mausX, int mausY ) const // gibt den Buc
                 return i;
                 return i;
         }
         }
         if( buffer[ i ] == '\t' )
         if( buffer[ i ] == '\t' )
-            tx += drawSchriftGröße;
+            tx += drawSchriftSize;
         if( buffer[ i ] == ' ' )
         if( buffer[ i ] == ' ' )
-            tx += drawSchriftGröße / 2;
+            tx += drawSchriftSize / 2;
         if( zeichen[ (unsigned char)buffer[ i ] ] )
         if( zeichen[ (unsigned char)buffer[ i ] ] )
             tx += zeichen[ (unsigned char)buffer[ i ] ]->getBreite();
             tx += zeichen[ (unsigned char)buffer[ i ] ]->getBreite();
         int txpl = 0;
         int txpl = 0;
@@ -410,33 +412,32 @@ int Alphabet::textPos( Text *zText, int mausX, int mausY ) const // gibt den Buc
             return i;
             return i;
     }
     }
     if( mausY < ty + sh + zeilenAbstand )
     if( mausY < ty + sh + zeilenAbstand )
-        return län;
+        return len;
     return -1;
     return -1;
 }
 }
 
 
-void Alphabet::textFormatieren( Text *zText, int maxBreite, int schriftGröße ) // fügt zeilenumbrüche ein 
+void Alphabet::textFormatieren( Text *zText, int maxBreite, int schriftSize ) // fügt zeilenumbrüche ein 
 {
 {
-    int sg = drawSchriftGröße;
-    setDrawSchriftgröße( schriftGröße );
-    int zeilenHöhe = getZeilenHöhe() + getZeilenAbstand();
+    int sg = drawSchriftSize;
+    setDrawSchriftSize( schriftSize );
     int lastPos = -1;
     int lastPos = -1;
-    int län = zText->getLänge();
+    int len = zText->getLength();
     char *txt = zText->getText();
     char *txt = zText->getText();
     int x = 0;
     int x = 0;
     Text result = zText->getText();
     Text result = zText->getText();
-    for( int i = 0; i < län; ++i )
+    for( int i = 0; i < len; ++i )
     {
     {
         char c = txt[ i ];
         char c = txt[ i ];
         if( c == ' ' )
         if( c == ' ' )
         {
         {
             lastPos = i;
             lastPos = i;
-            x += schriftGröße / 2;
+            x += schriftSize / 2;
             continue;
             continue;
         }
         }
         if( c == '\t' )
         if( c == '\t' )
         {
         {
             lastPos = i;
             lastPos = i;
-            x += schriftGröße;
+            x += schriftSize;
             continue;
             continue;
         }
         }
         if( c == '\n' )
         if( c == '\n' )
@@ -445,7 +446,7 @@ void Alphabet::textFormatieren( Text *zText, int maxBreite, int schriftGr
             lastPos = -1;
             lastPos = -1;
             continue;
             continue;
         }
         }
-        if( c == '\r' && län - i >= 11 )
+        if( c == '\r' && len - i >= 11 )
         {
         {
             i += 10;
             i += 10;
             continue;
             continue;
@@ -465,31 +466,31 @@ void Alphabet::textFormatieren( Text *zText, int maxBreite, int schriftGr
         }
         }
     }
     }
     zText->setText( result );
     zText->setText( result );
-    setDrawSchriftgröße( sg );
+    setDrawSchriftSize( sg );
 }
 }
 
 
 void Alphabet::render( Text *zTxt, Bild &rendezRObj, int f ) const // Zeichnet txt nach rendezRObj
 void Alphabet::render( Text *zTxt, Bild &rendezRObj, int f ) const // Zeichnet txt nach rendezRObj
 {
 {
     int zRObjBr = rendezRObj.getBreite();
     int zRObjBr = rendezRObj.getBreite();
-    int zRObjHö = rendezRObj.getHöhe();
+    int zRObjHi = rendezRObj.getHeight();
     int xp = pos.x;
     int xp = pos.x;
     int yp = pos.y;
     int yp = pos.y;
-    int zh = getZeilenHöhe();
-    if( yp + ( zh + zeilenAbstand ) * zTxt->anzahlVon( '\n' ) + zh < 0 || xp >= zRObjBr || yp >= zRObjHö )
+    int zh = getZeilenHeight();
+    if( yp + ( zh + zeilenAbstand ) * zTxt->anzahlVon( '\n' ) + zh < 0 || xp >= zRObjBr || yp >= zRObjHi )
         return;
         return;
     char *text = zTxt->getText();
     char *text = zTxt->getText();
-    int län = zTxt->getLänge();
-    for( int i = 0; i < län; ++i )
+    int len = zTxt->getLength();
+    for( int i = 0; i < len; ++i )
     {
     {
         unsigned char c = text[ i ];
         unsigned char c = text[ i ];
         if( c == ' ' )
         if( c == ' ' )
         {
         {
-            xp += drawSchriftGröße / 2;
+            xp += drawSchriftSize / 2;
             continue;
             continue;
         }
         }
         if( c == '\t' )
         if( c == '\t' )
         {
         {
-            xp += drawSchriftGröße;
+            xp += drawSchriftSize;
             continue;
             continue;
         }
         }
         if( c == '\n' )
         if( c == '\n' )
@@ -498,7 +499,7 @@ void Alphabet::render( Text *zTxt, Bild &rendezRObj, int f ) const // Zeichnet t
             xp = pos.x;
             xp = pos.x;
             continue;
             continue;
         }
         }
-        if( c == '\r' && län - i >= 11 )
+        if( c == '\r' && len - i >= 11 )
         {
         {
             i += 3;
             i += 3;
             Text *hex1 = zTxt->getTeilText( i, i + 6 );
             Text *hex1 = zTxt->getTeilText( i, i + 6 );
@@ -524,37 +525,37 @@ void Alphabet::render( Text *zTxt, Bild &rendezRObj, int f ) const // Zeichnet t
 void Alphabet::render( Text *zTxt, Bild &rendezRObj, int cpos, int cf, int fbeg, int ff, int f ) const
 void Alphabet::render( Text *zTxt, Bild &rendezRObj, int cpos, int cf, int fbeg, int ff, int f ) const
 {
 {
     int zRObjBr = rendezRObj.getBreite();
     int zRObjBr = rendezRObj.getBreite();
-    int zRObjHö = rendezRObj.getHöhe();
+    int zRObjHi = rendezRObj.getHeight();
     int xp = pos.x;
     int xp = pos.x;
     int yp = pos.y;
     int yp = pos.y;
-    int zh = getZeilenHöhe();
-    if( yp + ( zh + zeilenAbstand ) * zTxt->anzahlVon( '\n' ) + zh < 0 || xp >= zRObjBr || yp >= zRObjHö )
+    int zh = getZeilenHeight();
+    if( yp + ( zh + zeilenAbstand ) * zTxt->anzahlVon( '\n' ) + zh < 0 || xp >= zRObjBr || yp >= zRObjHi )
         return;
         return;
     char *text = zTxt->getText();
     char *text = zTxt->getText();
-    int län = zTxt->getLänge();
-    bool färb = 0;
-    for( int i = 0; i < län; ++i )
+    int len = zTxt->getLength();
+    bool faerb = 0;
+    for( int i = 0; i < len; ++i )
     {
     {
         unsigned char c = text[ i ];
         unsigned char c = text[ i ];
         if( i == fbeg )
         if( i == fbeg )
-            färb = !färb;
+            faerb = !faerb;
         if( i == cpos )
         if( i == cpos )
         {
         {
             rendezRObj.drawLinieVAlpha( xp, yp, zh, cf );
             rendezRObj.drawLinieVAlpha( xp, yp, zh, cf );
-            färb = !färb;
+            faerb = !faerb;
         }
         }
         if( c == ' ' )
         if( c == ' ' )
         {
         {
-            if( färb )
-                rendezRObj.alphaRegion( xp, yp, drawSchriftGröße / 2, zh, ff );
-            xp += drawSchriftGröße / 2;
+            if( faerb )
+                rendezRObj.alphaRegion( xp, yp, drawSchriftSize / 2, zh, ff );
+            xp += drawSchriftSize / 2;
             continue;
             continue;
         }
         }
         if( c == '\t' )
         if( c == '\t' )
         {
         {
-            if( färb )
-                rendezRObj.alphaRegion( xp, yp, drawSchriftGröße, zh, ff );
-            xp += drawSchriftGröße;
+            if( faerb )
+                rendezRObj.alphaRegion( xp, yp, drawSchriftSize, zh, ff );
+            xp += drawSchriftSize;
             continue;
             continue;
         }
         }
         if( c == '\n' )
         if( c == '\n' )
@@ -563,7 +564,7 @@ void Alphabet::render( Text *zTxt, Bild &rendezRObj, int cpos, int cf, int fbeg,
             xp = pos.x;
             xp = pos.x;
             continue;
             continue;
         }
         }
-        if( c == '\r' && län - i >= 11 )
+        if( c == '\r' && len - i >= 11 )
         {
         {
             i += 3;
             i += 3;
             Text *hex1 = zTxt->getTeilText( i, i + 6 );
             Text *hex1 = zTxt->getTeilText( i, i + 6 );
@@ -579,7 +580,7 @@ void Alphabet::render( Text *zTxt, Bild &rendezRObj, int cpos, int cf, int fbeg,
         {
         {
             if( xp >= zRObjBr )
             if( xp >= zRObjBr )
                 continue;
                 continue;
-            if( färb )
+            if( faerb )
             {
             {
                 int br = zeichen[ c ]->getBreite();
                 int br = zeichen[ c ]->getBreite();
                 rendezRObj.alphaRegion( xp, yp, br, zh, ff );
                 rendezRObj.alphaRegion( xp, yp, br, zh, ff );
@@ -589,7 +590,7 @@ void Alphabet::render( Text *zTxt, Bild &rendezRObj, int cpos, int cf, int fbeg,
             xp += zeichen[ c ]->getBreite();
             xp += zeichen[ c ]->getBreite();
         }
         }
     }
     }
-    if( län == cpos )
+    if( len == cpos )
         rendezRObj.drawLinieVAlpha( xp, yp, zh, cf );
         rendezRObj.drawLinieVAlpha( xp, yp, zh, cf );
 }
 }
 
 
@@ -628,7 +629,7 @@ bool AlphabetArray::addAlphabet( Alphabet *alphabet ) // F
 {
 {
     if( This )
     if( This )
     {
     {
-        if( This->getSchriftgröße() == alphabet->getSchriftgröße() )
+        if( This->getSchriftSize() == alphabet->getSchriftSize() )
         {
         {
             alphabet->release();
             alphabet->release();
             return false;
             return false;
@@ -648,7 +649,7 @@ bool AlphabetArray::removeAlphabet( int sg ) // entfernt ein Alphabet
 {
 {
     if( This )
     if( This )
     {
     {
-        if( This->getSchriftgröße() == sg )
+        if( This->getSchriftSize() == sg )
             This = This->release();
             This = This->release();
         return 1;
         return 1;
     }
     }
@@ -664,12 +665,12 @@ bool AlphabetArray::removeAlphabet( int sg ) // entfernt ein Alphabet
     return 0;
     return 0;
 }
 }
 
 
-void AlphabetArray::setDrawSchriftGröße( int sg ) // Setzt die Draw Schriftgröße aller Alphabete
+void AlphabetArray::setDrawSchriftSize( int sg ) // Setzt die Draw Schriftgröße aller Alphabete
 {
 {
     if( This )
     if( This )
-        This->setDrawSchriftgröße( sg );
+        This->setDrawSchriftSize( sg );
     if( next )
     if( next )
-        next->setDrawSchriftGröße( sg );
+        next->setDrawSchriftSize( sg );
 }
 }
 
 
 void AlphabetArray::setZeilenAbstand( int za ) // setzt den Zeilenabstant aller Alphabete
 void AlphabetArray::setZeilenAbstand( int za ) // setzt den Zeilenabstant aller Alphabete
@@ -690,7 +691,7 @@ Alphabet *AlphabetArray::getAlphabet( unsigned char sg ) const // gibt getThis v
 {
 {
     if( !This )
     if( !This )
         return 0;
         return 0;
-    if( This->getSchriftgröße() == sg )
+    if( This->getSchriftSize() == sg )
         return This->getThis();
         return This->getThis();
     if( next )
     if( next )
         return next->getAlphabet( sg );
         return next->getAlphabet( sg );
@@ -701,7 +702,7 @@ Alphabet *AlphabetArray::zAlphabet( unsigned char sg ) const // gibt ein Alphabe
 {
 {
     if( !This )
     if( !This )
         return 0;
         return 0;
-    if( This->getSchriftgröße() == sg )
+    if( This->getSchriftSize() == sg )
         return This;
         return This;
     if( next )
     if( next )
         return next->zAlphabet( sg );
         return next->zAlphabet( sg );
@@ -736,7 +737,7 @@ AlphabetArray *AlphabetArray::getNext() const // gibt das n
 Schrift::Schrift()
 Schrift::Schrift()
     : alphabetAnzahl( 0 ),
     : alphabetAnzahl( 0 ),
     alphabet( new AlphabetArray() ),
     alphabet( new AlphabetArray() ),
-    schriftGröße( 12 ),
+    schriftSize( 12 ),
     zeilenAbstand( 5 ),
     zeilenAbstand( 5 ),
     drawPos( 0, 0 ),
     drawPos( 0, 0 ),
     ref( 1 )
     ref( 1 )
@@ -768,7 +769,7 @@ bool Schrift::addAlphabet( Alphabet *alphabet ) // F
     if( this->alphabet->addAlphabet( alphabet ) )
     if( this->alphabet->addAlphabet( alphabet ) )
     {
     {
         ++alphabetAnzahl;
         ++alphabetAnzahl;
-        alphabet->setDrawSchriftgröße( schriftGröße );
+        alphabet->setDrawSchriftSize( schriftSize );
         unlock();
         unlock();
         return true;
         return true;
     }
     }
@@ -799,11 +800,11 @@ void Schrift::setDrawPosition( Punkt &pos )
     unlock();
     unlock();
 }
 }
 
 
-void Schrift::setSchriftGröße( int sg ) // setzt die Schriftgröße
+void Schrift::setSchriftSize( int sg ) // setzt die Schriftgröße
 {
 {
     lock();
     lock();
-    schriftGröße = sg;
-    alphabet->setDrawSchriftGröße( sg );
+    schriftSize = sg;
+    alphabet->setDrawSchriftSize( sg );
     unlock();
     unlock();
 }
 }
 
 
@@ -815,39 +816,39 @@ void Schrift::setZeilenAbstand( int za ) // setzt den Zeilenabstand
     unlock();
     unlock();
 }
 }
 
 
-void Schrift::textFormatieren( Text *zText, int maxBreite, int schriftGröße ) // fügt zeilenumbrüche ein
+void Schrift::textFormatieren( Text *zText, int maxBreite, int schriftSize ) // fügt zeilenumbrüche ein
 {
 {
     lock();
     lock();
-    Alphabet *drawAlphabet = alphabet->zAlphabet( schriftGröße );
+    Alphabet *drawAlphabet = alphabet->zAlphabet( (unsigned char)schriftSize );
     if( !drawAlphabet )
     if( !drawAlphabet )
     {
     {
         for( int i = 0; i < 256; ++i )
         for( int i = 0; i < 256; ++i )
         {
         {
-            drawAlphabet = alphabet->zAlphabet( schriftGröße - i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize - i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
-            drawAlphabet = alphabet->zAlphabet( schriftGröße + i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize + i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
         }
         }
     }
     }
     if( drawAlphabet )
     if( drawAlphabet )
-        drawAlphabet->textFormatieren( zText, maxBreite, schriftGröße );
+        drawAlphabet->textFormatieren( zText, maxBreite, schriftSize );
     unlock();
     unlock();
 }
 }
 
 
 void Schrift::renderText( Text *zTxt, Bild &zRObj, int f ) // zeichnet txt nach zRObj
 void Schrift::renderText( Text *zTxt, Bild &zRObj, int f ) // zeichnet txt nach zRObj
 {
 {
     lock();
     lock();
-    Alphabet *drawAlphabet = alphabet->zAlphabet( schriftGröße );
+    Alphabet *drawAlphabet = alphabet->zAlphabet( (unsigned char)schriftSize );
     if( !drawAlphabet )
     if( !drawAlphabet )
     {
     {
         for( int i = 0; i < 256; ++i )
         for( int i = 0; i < 256; ++i )
         {
         {
-            drawAlphabet = alphabet->zAlphabet( schriftGröße - i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize - i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
-            drawAlphabet = alphabet->zAlphabet( schriftGröße + i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize + i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
         }
         }
@@ -863,15 +864,15 @@ void Schrift::renderText( Text *zTxt, Bild &zRObj, int f ) // zeichnet txt nach
 void Schrift::renderText( Text *zTxt, Bild &zRObj, int cpos, int cf, int fbeg, int ff, int f )
 void Schrift::renderText( Text *zTxt, Bild &zRObj, int cpos, int cf, int fbeg, int ff, int f )
 {
 {
     lock();
     lock();
-    Alphabet *drawAlphabet = alphabet->zAlphabet( schriftGröße );
+    Alphabet *drawAlphabet = alphabet->zAlphabet( (unsigned char)schriftSize );
     if( !drawAlphabet )
     if( !drawAlphabet )
     {
     {
         for( int i = 0; i < 256; ++i )
         for( int i = 0; i < 256; ++i )
         {
         {
-            drawAlphabet = alphabet->zAlphabet( schriftGröße - i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize - i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
-            drawAlphabet = alphabet->zAlphabet( schriftGröße + i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize + i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
         }
         }
@@ -887,12 +888,12 @@ void Schrift::renderText( Text *zTxt, Bild &zRObj, int cpos, int cf, int fbeg, i
 // constant 
 // constant 
 Alphabet *Schrift::getAlphabet( int sg ) const // gibt einen Alphaberarray zurück
 Alphabet *Schrift::getAlphabet( int sg ) const // gibt einen Alphaberarray zurück
 {
 {
-    return alphabet->getAlphabet( sg );
+    return alphabet->getAlphabet( (unsigned char)sg );
 }
 }
 
 
 Alphabet *Schrift::zAlphabet( int sg ) const
 Alphabet *Schrift::zAlphabet( int sg ) const
 {
 {
-    return alphabet->zAlphabet( sg );
+    return alphabet->zAlphabet( (unsigned char)sg );
 }
 }
 
 
 Alphabet *Schrift::getAlphabetI( int index ) const
 Alphabet *Schrift::getAlphabetI( int index ) const
@@ -910,9 +911,9 @@ unsigned char Schrift::getAlphabetAnzahl() const // gibt die anzahl von in der S
     return alphabetAnzahl;
     return alphabetAnzahl;
 }
 }
 
 
-int Schrift::getSchriftGröße() const // gibt die Schriftgröße zurück
+int Schrift::getSchriftSize() const // gibt die Schriftgröße zurück
 {
 {
-    return schriftGröße;
+    return schriftSize;
 }
 }
 
 
 int Schrift::getZeilenabstand() const // gibt den Zeilenabstand zurück
 int Schrift::getZeilenabstand() const // gibt den Zeilenabstand zurück
@@ -937,15 +938,15 @@ const Punkt &Schrift::getDrawPosition() const
 
 
 int Schrift::getTextBreite( Text *zTxt ) const // gibt die Breite des Textes zurück
 int Schrift::getTextBreite( Text *zTxt ) const // gibt die Breite des Textes zurück
 {
 {
-    Alphabet *drawAlphabet = alphabet->zAlphabet( schriftGröße );
+    Alphabet *drawAlphabet = alphabet->zAlphabet( (unsigned char)schriftSize );
     if( !drawAlphabet )
     if( !drawAlphabet )
     {
     {
         for( int i = 0; i < 256; ++i )
         for( int i = 0; i < 256; ++i )
         {
         {
-            drawAlphabet = alphabet->zAlphabet( schriftGröße - i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize - i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
-            drawAlphabet = alphabet->zAlphabet( schriftGröße + i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize + i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
         }
         }
@@ -955,37 +956,37 @@ int Schrift::getTextBreite( Text *zTxt ) const // gibt die Breite des Textes zur
     return drawAlphabet->getTextBreite( zTxt );
     return drawAlphabet->getTextBreite( zTxt );
 }
 }
 
 
-int Schrift::getTextHöhe( Text *zTxt ) const // gibt die Höhe des Textes zurück
+int Schrift::getTextHeight( Text *zTxt ) const // gibt die Höhe des Textes zurück
 {
 {
-    Alphabet *drawAlphabet = alphabet->zAlphabet( schriftGröße );
+    Alphabet *drawAlphabet = alphabet->zAlphabet( (unsigned char)schriftSize );
     if( !drawAlphabet )
     if( !drawAlphabet )
     {
     {
         for( int i = 0; i < 256; ++i )
         for( int i = 0; i < 256; ++i )
         {
         {
-            drawAlphabet = alphabet->zAlphabet( schriftGröße - i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize - i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
-            drawAlphabet = alphabet->zAlphabet( schriftGröße + i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize + i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
         }
         }
     }
     }
     if( !drawAlphabet )
     if( !drawAlphabet )
         return 0;
         return 0;
-    return drawAlphabet->getTextHöhe( zTxt );
+    return drawAlphabet->getTextHeight( zTxt );
 }
 }
 
 
 int Schrift::textPos( Text *zTxt, int mausX, int mausY ) const // gibt den Buchstaben zurück, auf den die Maus zeigt
 int Schrift::textPos( Text *zTxt, int mausX, int mausY ) const // gibt den Buchstaben zurück, auf den die Maus zeigt
 {
 {
-    Alphabet *drawAlphabet = alphabet->zAlphabet( schriftGröße );
+    Alphabet *drawAlphabet = alphabet->zAlphabet( (unsigned char)schriftSize );
     if( !drawAlphabet )
     if( !drawAlphabet )
     {
     {
         for( int i = 0; i < 256; ++i )
         for( int i = 0; i < 256; ++i )
         {
         {
-            drawAlphabet = alphabet->zAlphabet( schriftGröße - i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize - i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
-            drawAlphabet = alphabet->zAlphabet( schriftGröße + i );
+            drawAlphabet = alphabet->zAlphabet( (unsigned char)( schriftSize + i ) );
             if( drawAlphabet )
             if( drawAlphabet )
                 break;
                 break;
         }
         }

+ 27 - 26
Schrift.h

@@ -19,10 +19,10 @@ namespace Framework
     class Buchstabe
     class Buchstabe
     {
     {
     private:
     private:
-        Punkt größe;
+        Punkt size;
         Punkt pos;
         Punkt pos;
         unsigned char *alpha;
         unsigned char *alpha;
-        int schriftGröße;
+        int schriftSize;
         int drawSg;
         int drawSg;
         int ref;
         int ref;
 
 
@@ -33,8 +33,8 @@ namespace Framework
         __declspec( dllexport ) ~Buchstabe();
         __declspec( dllexport ) ~Buchstabe();
 
 
         // Erstellt einen neuen Buchstaben mit bestimmter Größe
         // Erstellt einen neuen Buchstaben mit bestimmter Größe
-        //  größe: Die Größe des Buchstabens in Pixel
-        __declspec( dllexport ) void NeuBuchstabe( Punkt &größe );
+        //  size: Die Größe des Buchstabens in Pixel
+        __declspec( dllexport ) void NeuBuchstabe( Punkt &size );
         // Setzt den Alphawert eines bestimmten Pixels
         // Setzt den Alphawert eines bestimmten Pixels
         //  pos: Die position des Pixels
         //  pos: Die position des Pixels
         //  alpha: Der Wert des Pixels
         //  alpha: Der Wert des Pixels
@@ -57,21 +57,21 @@ namespace Framework
         __declspec( dllexport ) void setPosition( int x, int y );
         __declspec( dllexport ) void setPosition( int x, int y );
         // Setzt die Schriftgröße, zu der der Buchstabe gehört
         // Setzt die Schriftgröße, zu der der Buchstabe gehört
         //  sg: Die Schriftgröße des Buchstabens. Wenn der Buchstabe in einer anderen größe gezeichnet werden soll, wird automatisch skalliert
         //  sg: Die Schriftgröße des Buchstabens. Wenn der Buchstabe in einer anderen größe gezeichnet werden soll, wird automatisch skalliert
-        __declspec( dllexport ) void setSchriftGröße( int sg );
+        __declspec( dllexport ) void setSchriftSize( int sg );
         // Setzt die Schriftgröße, in der der Buchstabe gezeichnet werden soll
         // Setzt die Schriftgröße, in der der Buchstabe gezeichnet werden soll
         //  dsg: Die Schriftgröße, in der der Buchstabe gezeichnet werden soll. Ist die ungleich der Schriftgröße, zu der der Buchstabe gehört, so wird automatisch skalliert.
         //  dsg: Die Schriftgröße, in der der Buchstabe gezeichnet werden soll. Ist die ungleich der Schriftgröße, zu der der Buchstabe gehört, so wird automatisch skalliert.
-        __declspec( dllexport ) void setDrawSchriftGröße( int dsg );
+        __declspec( dllexport ) void setDrawSchriftSize( int dsg );
 
 
         // Gibt die alpha Werte des Buchstabens als array zurück wobei die werte Zeilenweise hintereinander stehen
         // Gibt die alpha Werte des Buchstabens als array zurück wobei die werte Zeilenweise hintereinander stehen
         __declspec( dllexport ) unsigned char *getBuff() const;
         __declspec( dllexport ) unsigned char *getBuff() const;
         // Gibt die Größe des Buchstabens in Pixeln nicht skalliert zurück.
         // Gibt die Größe des Buchstabens in Pixeln nicht skalliert zurück.
-        __declspec( dllexport ) const Punkt &getGröße() const;
+        __declspec( dllexport ) const Punkt &getSize() const;
         // Gibt die Breite des Buchstabens in Pixeln zurück (Der Wert wurde bereits mit der Draw Schriftgröße skalliert)
         // Gibt die Breite des Buchstabens in Pixeln zurück (Der Wert wurde bereits mit der Draw Schriftgröße skalliert)
         __declspec( dllexport ) int getBreite() const;
         __declspec( dllexport ) int getBreite() const;
         // Gibt die Höhe des Buchstabens in Pixeln zurück (Der Wert wurde bereits mit der Draw Schriftgröße skalliert)
         // Gibt die Höhe des Buchstabens in Pixeln zurück (Der Wert wurde bereits mit der Draw Schriftgröße skalliert)
-        __declspec( dllexport ) int getHöhe() const;
+        __declspec( dllexport ) int getHeight() const;
         // Gibt die nicht skallierte Höhe des Buchstabens in Pixeln zurück
         // Gibt die nicht skallierte Höhe des Buchstabens in Pixeln zurück
-        __declspec( dllexport ) int getNormHöhe() const;
+        __declspec( dllexport ) int getNormHeight() const;
         // Zeichnet den Buchstaben in ein bestimmtes Bild
         // Zeichnet den Buchstaben in ein bestimmtes Bild
         // Nutze (setPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
         // Nutze (setPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
         //  zRObj: Das Bild, in den der Buchstabe gezeichnet werden soll
         //  zRObj: Das Bild, in den der Buchstabe gezeichnet werden soll
@@ -92,10 +92,10 @@ namespace Framework
     {
     {
     private:
     private:
         Buchstabe **zeichen;
         Buchstabe **zeichen;
-        int schriftGröße;
-        int drawSchriftGröße;
+        int schriftSize;
+        int drawSchriftSize;
         Punkt pos;
         Punkt pos;
-        int zeilenHöhe;
+        int zeilenHeight;
         int zeilenAbstand;
         int zeilenAbstand;
         int ref;
         int ref;
 
 
@@ -114,10 +114,10 @@ namespace Framework
         __declspec( dllexport ) void setBuchstabe( unsigned char i, Buchstabe *buchstabe );
         __declspec( dllexport ) void setBuchstabe( unsigned char i, Buchstabe *buchstabe );
         // Setzt die Schriftgröße des Alphabets und die der gespeicherten buchstaben
         // Setzt die Schriftgröße des Alphabets und die der gespeicherten buchstaben
         //  gr: Die Schriftgröße des Alphabets
         //  gr: Die Schriftgröße des Alphabets
-        __declspec( dllexport ) void setSchriftgröße( int gr );
+        __declspec( dllexport ) void setSchriftSize( int gr );
         // Setzt die Schriftgröße, in der die gespeicherten Buchstaben gezeichnet werden sollen.
         // Setzt die Schriftgröße, in der die gespeicherten Buchstaben gezeichnet werden sollen.
         //  gr: Die Zeichen Schriftgröße. Wenn sie ungleich der Schriftgröße des Alphabets ist, wird automatisch skalliert
         //  gr: Die Zeichen Schriftgröße. Wenn sie ungleich der Schriftgröße des Alphabets ist, wird automatisch skalliert
-        __declspec( dllexport ) void setDrawSchriftgröße( int gr );
+        __declspec( dllexport ) void setDrawSchriftSize( int gr );
         // Setzt den Zeilenabstand beim Zeichnen eines Textes
         // Setzt den Zeilenabstand beim Zeichnen eines Textes
         //  za: Der Abschtand zum unteren Ende der Zeile darüber in Pixeln
         //  za: Der Abschtand zum unteren Ende der Zeile darüber in Pixeln
         __declspec( dllexport ) void setZeilenAbstand( int za );
         __declspec( dllexport ) void setZeilenAbstand( int za );
@@ -142,13 +142,13 @@ namespace Framework
         //  return: (true), wenn ein Zeichen zu dem Code gefunden wurde. (false) sonnst
         //  return: (true), wenn ein Zeichen zu dem Code gefunden wurde. (false) sonnst
         __declspec( dllexport ) bool hatBuchstabe( unsigned char b ) const;
         __declspec( dllexport ) bool hatBuchstabe( unsigned char b ) const;
         // Gibt die Schriftgröße zurück, deren Zeichen in diesem Alphabet gespeichert werden
         // Gibt die Schriftgröße zurück, deren Zeichen in diesem Alphabet gespeichert werden
-        __declspec( dllexport ) int getSchriftgröße() const;
+        __declspec( dllexport ) int getSchriftSize() const;
         // Gibt die Schriftgröße zurück, in der die gespeicherten Zeichen gezeichnet werden
         // Gibt die Schriftgröße zurück, in der die gespeicherten Zeichen gezeichnet werden
-        __declspec( dllexport ) int getDrawSchriftGröße() const;
+        __declspec( dllexport ) int getDrawSchriftSize() const;
         // Gibt den Abstand in Pixeln zum unteren Ende der darüber ligenden Zeile zurück
         // Gibt den Abstand in Pixeln zum unteren Ende der darüber ligenden Zeile zurück
         __declspec( dllexport ) int getZeilenAbstand() const;
         __declspec( dllexport ) int getZeilenAbstand() const;
         // Gibt die skallierte Höhe zurück, die eine gezeichnete Zeile in Pixeln benötigt
         // Gibt die skallierte Höhe zurück, die eine gezeichnete Zeile in Pixeln benötigt
-        __declspec( dllexport ) int getZeilenHöhe() const;
+        __declspec( dllexport ) int getZeilenHeight() const;
         // gibt die Position zurück, an der der erste Buchstabe gezeichnet wird
         // gibt die Position zurück, an der der erste Buchstabe gezeichnet wird
         __declspec( dllexport ) const Punkt &getPosition() const;
         __declspec( dllexport ) const Punkt &getPosition() const;
         // Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
         // Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
@@ -156,7 +156,7 @@ namespace Framework
         __declspec( dllexport ) int getTextBreite( Text *zTxt ) const;
         __declspec( dllexport ) int getTextBreite( Text *zTxt ) const;
         // Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
         // Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
         //  zTxt: Der Text, von dem die Höhe in Pixeln ermitelt werden soll
         //  zTxt: Der Text, von dem die Höhe in Pixeln ermitelt werden soll
-        __declspec( dllexport ) int getTextHöhe( Text *zTxt ) const;
+        __declspec( dllexport ) int getTextHeight( Text *zTxt ) const;
         // Ermittelt das Zeichen im Text, auf das die Maus zeigt
         // Ermittelt das Zeichen im Text, auf das die Maus zeigt
         //  zTxt: Der Text, auf den die Maus Zeigt
         //  zTxt: Der Text, auf den die Maus Zeigt
         //  mausX: Die X Position der Maus in Pixeln Relativ zur Position des ersten Zeichens
         //  mausX: Die X Position der Maus in Pixeln Relativ zur Position des ersten Zeichens
@@ -165,7 +165,8 @@ namespace Framework
         // Fügt Zeilenumbrüche in den Text ein, so dass er bei einer vorgegebenen Breite follständig angezeigt wird
         // Fügt Zeilenumbrüche in den Text ein, so dass er bei einer vorgegebenen Breite follständig angezeigt wird
         //  zText: Der text, in den die Zeilenumbrüche eingefügt werden sollen
         //  zText: Der text, in den die Zeilenumbrüche eingefügt werden sollen
         //  maxBreite: Die Breite in Pixeln auf der der Text follständig angezeigt werden soll
         //  maxBreite: Die Breite in Pixeln auf der der Text follständig angezeigt werden soll
-        __declspec( dllexport ) void textFormatieren( Text *zText, int maxBreite, int schriftGröße );
+		//  schriftSize: Die Schriftgröße, in der der Text passend dargestellt werden soll
+        __declspec( dllexport ) void textFormatieren( Text *zText, int maxBreite, int schriftSize );
         // Zeichnet einen Bestimmten Text auf ein Bild
         // Zeichnet einen Bestimmten Text auf ein Bild
         // Nutze (setDrawPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
         // Nutze (setDrawPosition) und (setDrawSchriftGröße) um die Position und die Größe zu verändern
         //  zText: Der Text, der gezeichnet werden soll
         //  zText: Der Text, der gezeichnet werden soll
@@ -216,7 +217,7 @@ namespace Framework
         __declspec( dllexport ) bool removeAlphabet( int sg );
         __declspec( dllexport ) bool removeAlphabet( int sg );
         // Setzt die Schriftgröße, in der gezeichnet werden soll
         // Setzt die Schriftgröße, in der gezeichnet werden soll
         //  sg: Die Schriftgröße
         //  sg: Die Schriftgröße
-        __declspec( dllexport ) void setDrawSchriftGröße( int sg );
+        __declspec( dllexport ) void setDrawSchriftSize( int sg );
         // Setzt den Zeilenabstand, der zum zeichnen verwendet werden soll
         // Setzt den Zeilenabstand, der zum zeichnen verwendet werden soll
         //  za: Der Zeilenabstand zum unteren Ende der darüber liegenden zeile in Pixeln
         //  za: Der Zeilenabstand zum unteren Ende der darüber liegenden zeile in Pixeln
         __declspec( dllexport ) void setZeilenAbstand( int za );
         __declspec( dllexport ) void setZeilenAbstand( int za );
@@ -251,7 +252,7 @@ namespace Framework
     private:
     private:
         unsigned char alphabetAnzahl;
         unsigned char alphabetAnzahl;
         AlphabetArray *alphabet;
         AlphabetArray *alphabet;
-        int schriftGröße;
+        int schriftSize;
         int zeilenAbstand;
         int zeilenAbstand;
         Punkt drawPos;
         Punkt drawPos;
         CRITICAL_SECTION cs;
         CRITICAL_SECTION cs;
@@ -286,15 +287,15 @@ namespace Framework
         __declspec( dllexport ) void setDrawPosition( Punkt &pos );
         __declspec( dllexport ) void setDrawPosition( Punkt &pos );
         // Setzt die Schriftgröße, in der gezeichnet werden soll. Die Schrift wählt automatisch das passende Alphabet zum Zeichnen
         // Setzt die Schriftgröße, in der gezeichnet werden soll. Die Schrift wählt automatisch das passende Alphabet zum Zeichnen
         //  sg: Die Schriftgröße
         //  sg: Die Schriftgröße
-        __declspec( dllexport ) void setSchriftGröße( int sg );
+        __declspec( dllexport ) void setSchriftSize( int sg );
         // Setzt den Zeilenabstand, der zum zeichnen verwendet werden soll
         // Setzt den Zeilenabstand, der zum zeichnen verwendet werden soll
         //  za: Der Zeilenabstand zum unteren Ende der darüber liegenden zeile in Pixeln
         //  za: Der Zeilenabstand zum unteren Ende der darüber liegenden zeile in Pixeln
         __declspec( dllexport ) void setZeilenAbstand( int za );
         __declspec( dllexport ) void setZeilenAbstand( int za );
         // Fügt Zeilenumbrüche in den Text ein, so dass er bei einer vorgegebenen Breite follständig angezeigt wird
         // Fügt Zeilenumbrüche in den Text ein, so dass er bei einer vorgegebenen Breite follständig angezeigt wird
         //  zText: Der text, in den die Zeilenumbrüche eingefügt werden sollen
         //  zText: Der text, in den die Zeilenumbrüche eingefügt werden sollen
         //  maxBreite: Die Breite in Pixeln auf der der Text follständig angezeigt werden soll
         //  maxBreite: Die Breite in Pixeln auf der der Text follständig angezeigt werden soll
-        //  schriftGröße: Die Schriftgröße, die verwendet werden soll
-        __declspec( dllexport ) void textFormatieren( Text *zText, int maxBreite, int schriftGröße );
+        //  schriftSize: Die Schriftgröße, die verwendet werden soll
+        __declspec( dllexport ) void textFormatieren( Text *zText, int maxBreite, int schriftSize );
         // Zeichnet einen Bestimmten Text auf ein Bild
         // Zeichnet einen Bestimmten Text auf ein Bild
         // Nutze (setDrawPosition) und (setSchriftGröße) um die Position und die Größe zu verändern
         // Nutze (setDrawPosition) und (setSchriftGröße) um die Position und die Größe zu verändern
         //  zText: Der Text, der gezeichnet werden soll
         //  zText: Der Text, der gezeichnet werden soll
@@ -330,7 +331,7 @@ namespace Framework
         // Gibt zurück, wie viele Alphabete (und damit Schriftgrößen) in der Schrift enthalten sind
         // Gibt zurück, wie viele Alphabete (und damit Schriftgrößen) in der Schrift enthalten sind
         __declspec( dllexport ) unsigned char getAlphabetAnzahl() const;
         __declspec( dllexport ) unsigned char getAlphabetAnzahl() const;
         // Gibt die Schriftgröße zurück, die zum Zeichnen verwendet wird
         // Gibt die Schriftgröße zurück, die zum Zeichnen verwendet wird
-        __declspec( dllexport ) int getSchriftGröße() const;
+        __declspec( dllexport ) int getSchriftSize() const;
         // Gibt den Abstand in Pixeln zum unteren Ende der darüber ligenden Zeile zurück
         // Gibt den Abstand in Pixeln zum unteren Ende der darüber ligenden Zeile zurück
         __declspec( dllexport ) int getZeilenabstand() const;
         __declspec( dllexport ) int getZeilenabstand() const;
         // Gibt die x Koordinate des ersten Zeichens, dass gezeichnet wird, in Pixeln zurück
         // Gibt die x Koordinate des ersten Zeichens, dass gezeichnet wird, in Pixeln zurück
@@ -344,7 +345,7 @@ namespace Framework
         __declspec( dllexport ) int getTextBreite( Text *zTxt ) const;
         __declspec( dllexport ) int getTextBreite( Text *zTxt ) const;
         // Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
         // Ermittelt, wie viele Pixel benötigt werden, um einen Bestimmten Text vollständig darzustellen
         //  zTxt: Der Text, von dem die Höhe in Pixeln ermitelt werden soll
         //  zTxt: Der Text, von dem die Höhe in Pixeln ermitelt werden soll
-        __declspec( dllexport ) int getTextHöhe( Text *zTxt ) const;
+        __declspec( dllexport ) int getTextHeight( Text *zTxt ) const;
         // Ermittelt das Zeichen im Text, auf das die Maus zeigt
         // Ermittelt das Zeichen im Text, auf das die Maus zeigt
         //  zTxt: Der Text, auf den die Maus Zeigt
         //  zTxt: Der Text, auf den die Maus Zeigt
         //  mausX: Die X Position der Maus in Pixeln Relativ zur Position des ersten Zeichens
         //  mausX: Die X Position der Maus in Pixeln Relativ zur Position des ersten Zeichens

+ 44 - 36
Scroll.cpp

@@ -65,9 +65,9 @@ void ScrollBar::setKlickScroll( int ks )
     rend = 1;
     rend = 1;
 }
 }
 
 
-void ScrollBar::scroll( int höhe )
+void ScrollBar::scroll( int height )
 {
 {
-    data->scrollPos = höhe;
+    data->scrollPos = height;
     if( data->scrollPos > data->max - data->anzeige )
     if( data->scrollPos > data->max - data->anzeige )
         data->scrollPos = data->max - data->anzeige;
         data->scrollPos = data->max - data->anzeige;
     if( data->scrollPos < 0 )
     if( data->scrollPos < 0 )
@@ -150,9 +150,13 @@ VScrollBar::VScrollBar()
     : ScrollBar()
     : ScrollBar()
 {}
 {}
 
 
-bool VScrollBar::doMausMessage( int x, int y, int br, int hö, MausEreignis &me )
+// Destruktor 
+VScrollBar::~VScrollBar()
+{}
+
+bool VScrollBar::doMausMessage( int x, int y, int br, int hi, MausEreignis &me )
 {
 {
-    bool ret = me.mx >= x && me.mx <= x + br && me.my >= y && me.my <= y + hö;
+    bool ret = me.mx >= x && me.mx <= x + br && me.my >= y && me.my <= y + hi;
     knopfdruck = 0;
     knopfdruck = 0;
     if( me.verarbeitet )
     if( me.verarbeitet )
     {
     {
@@ -195,13 +199,13 @@ bool VScrollBar::doMausMessage( int x, int y, int br, int h
                 knopfdruck = 1;
                 knopfdruck = 1;
                 data->scrollPos -= klickScroll;
                 data->scrollPos -= klickScroll;
             }
             }
-            else if( my > hö - br )
+            else if( my > hi - br )
             {
             {
                 knopfdruck = 2;
                 knopfdruck = 2;
                 data->scrollPos += klickScroll;
                 data->scrollPos += klickScroll;
             }
             }
             else
             else
-                data->scrollPos = (int)( ( data->max / ( hö - 2.0 * br ) ) * ( my - br ) ) - data->anzeige / 2;
+                data->scrollPos = (int)( ( data->max / ( hi - 2.0 * br ) ) * ( my - br ) ) - data->anzeige / 2;
             if( data->scrollPos > data->max - data->anzeige )
             if( data->scrollPos > data->max - data->anzeige )
                 data->scrollPos = data->max - data->anzeige;
                 data->scrollPos = data->max - data->anzeige;
             if( data->scrollPos < 0 )
             if( data->scrollPos < 0 )
@@ -212,30 +216,30 @@ bool VScrollBar::doMausMessage( int x, int y, int br, int h
     return ret;
     return ret;
 }
 }
 
 
-void VScrollBar::render( int x, int y, int br, int hö, Bild &zRObj ) const
+void VScrollBar::render( int x, int y, int br, int hi, Bild &zRObj ) const
 {
 {
     if( bg )
     if( bg )
-        zRObj.alphaRegion( x, y, br, hö, bgFarbe );
+        zRObj.alphaRegion( x, y, br, hi, bgFarbe );
     --br;
     --br;
-    --hö;
+    --hi;
     zRObj.drawLinieH( x, y, br + 1, farbe );
     zRObj.drawLinieH( x, y, br + 1, farbe );
-    zRObj.drawLinieH( x, y + hö, br + 1, farbe );
-    zRObj.drawLinieV( x, y + 1, hö - 1, farbe );
-    zRObj.drawLinieV( x + br, y + 1, hö - 1, farbe );
+    zRObj.drawLinieH( x, y + hi, br + 1, farbe );
+    zRObj.drawLinieV( x, y + 1, hi - 1, farbe );
+    zRObj.drawLinieV( x + br, y + 1, hi - 1, farbe );
     zRObj.drawLinieH( x + 1, y + br, br - 1, farbe );
     zRObj.drawLinieH( x + 1, y + br, br - 1, farbe );
-    zRObj.drawLinieH( x + 1, y + hö - br, br - 1, farbe );
+    zRObj.drawLinieH( x + 1, y + hi - br, br - 1, farbe );
     ++br;
     ++br;
-    ++hö;
-    int st = (int)( data->scrollPos / ( data->max / ( hö - br * 2.0 ) ) );
-    int end = (int)( ( hö - 2.0 * br ) / ( (double)data->max / data->anzeige ) );
+    ++hi;
+    int st = (int)( data->scrollPos / ( data->max / ( hi - br * 2.0 ) ) );
+    int end = (int)( ( hi - 2.0 * br ) / ( (double)data->max / data->anzeige ) );
     if( data->scrollPos > data->max - data->anzeige )
     if( data->scrollPos > data->max - data->anzeige )
         data->scrollPos = data->max - data->anzeige;
         data->scrollPos = data->max - data->anzeige;
     if( data->scrollPos < 0 )
     if( data->scrollPos < 0 )
     {
     {
         data->scrollPos = 0;
         data->scrollPos = 0;
-        end = hö - br * 2;
+        end = hi - br * 2;
     }
     }
-    zRObj.füllRegion( x + 1, y + br + st, br - 1, end, farbe );
+    zRObj.fillRegion( x + 1, y + br + st, br - 1, end, farbe );
 }
 }
 
 
 ScrollBar *VScrollBar::release()
 ScrollBar *VScrollBar::release()
@@ -252,10 +256,14 @@ HScrollBar::HScrollBar()
     : ScrollBar()
     : ScrollBar()
 {}
 {}
 
 
+// Destruktor 
+HScrollBar::~HScrollBar()
+{}
+
 // nicht constant
 // nicht constant
-bool HScrollBar::doMausMessage( int x, int y, int br, int hö, MausEreignis &me )
+bool HScrollBar::doMausMessage( int x, int y, int br, int hi, MausEreignis &me )
 {
 {
-    bool ret = me.mx >= x && me.mx <= x + br && me.my >= y && me.my <= y + hö;
+    bool ret = me.mx >= x && me.mx <= x + br && me.my >= y && me.my <= y + hi;
     knopfdruck = 0;
     knopfdruck = 0;
     if( me.verarbeitet )
     if( me.verarbeitet )
     {
     {
@@ -293,18 +301,18 @@ bool HScrollBar::doMausMessage( int x, int y, int br, int h
     {
     {
         if( mx >= 0 && my >= 0 )
         if( mx >= 0 && my >= 0 )
         {
         {
-            if( mx < hö )
+            if( mx < hi )
             {
             {
                 knopfdruck = 1;
                 knopfdruck = 1;
                 data->scrollPos -= klickScroll;
                 data->scrollPos -= klickScroll;
             }
             }
-            else if( mx > br - hö )
+            else if( mx > br - hi )
             {
             {
                 knopfdruck = 2;
                 knopfdruck = 2;
                 data->scrollPos += klickScroll;
                 data->scrollPos += klickScroll;
             }
             }
             else
             else
-                data->scrollPos = (int)( ( data->max / ( br - 2.0 * hö ) ) * ( mx - hö ) ) - data->anzeige / 2;
+                data->scrollPos = (int)( ( data->max / ( br - 2.0 * hi ) ) * ( mx - hi ) ) - data->anzeige / 2;
             if( data->scrollPos > data->max - data->anzeige )
             if( data->scrollPos > data->max - data->anzeige )
                 data->scrollPos = data->max - data->anzeige;
                 data->scrollPos = data->max - data->anzeige;
             if( data->scrollPos < 0 )
             if( data->scrollPos < 0 )
@@ -315,30 +323,30 @@ bool HScrollBar::doMausMessage( int x, int y, int br, int h
     return ret;
     return ret;
 }
 }
 
 
-void HScrollBar::render( int x, int y, int br, int hö, Bild &zRObj ) const
+void HScrollBar::render( int x, int y, int br, int hi, Bild &zRObj ) const
 {
 {
     if( bg )
     if( bg )
-        zRObj.alphaRegion( x, y, br, hö, bgFarbe );
+        zRObj.alphaRegion( x, y, br, hi, bgFarbe );
     --br;
     --br;
-    --hö;
-    zRObj.drawLinieV( x, y, hö + 1, farbe );
-    zRObj.drawLinieV( x + br, y, hö + 1, farbe );
+    --hi;
+    zRObj.drawLinieV( x, y, hi + 1, farbe );
+    zRObj.drawLinieV( x + br, y, hi + 1, farbe );
     zRObj.drawLinieH( x + 1, y, br - 1, farbe );
     zRObj.drawLinieH( x + 1, y, br - 1, farbe );
-    zRObj.drawLinieH( x + 1, y + hö, br - 1, farbe );
-    zRObj.drawLinieV( x + hö, y + 1, hö - 1, farbe );
-    zRObj.drawLinieV( x + br - hö, y + 1, hö - 1, farbe );
+    zRObj.drawLinieH( x + 1, y + hi, br - 1, farbe );
+    zRObj.drawLinieV( x + hi, y + 1, hi - 1, farbe );
+    zRObj.drawLinieV( x + br - hi, y + 1, hi - 1, farbe );
     ++br;
     ++br;
-    ++hö;
-    int st = (int)( data->scrollPos / ( data->max / ( br - hö * 2.0 ) ) );
-    int end = (int)( ( br - 2.0 * hö ) / ( (double)data->max / data->anzeige ) );
+    ++hi;
+    int st = (int)( data->scrollPos / ( data->max / ( br - hi * 2.0 ) ) );
+    int end = (int)( ( br - 2.0 * hi ) / ( (double)data->max / data->anzeige ) );
     if( data->scrollPos > data->max - data->anzeige )
     if( data->scrollPos > data->max - data->anzeige )
         data->scrollPos = data->max - data->anzeige;
         data->scrollPos = data->max - data->anzeige;
     if( data->scrollPos < 0 )
     if( data->scrollPos < 0 )
     {
     {
         data->scrollPos = 0;
         data->scrollPos = 0;
-        end = br - hö * 2;
+        end = br - hi * 2;
     }
     }
-    zRObj.füllRegion( x + hö + st, y + 1, end, hö - 1, farbe );
+    zRObj.fillRegion( x + hi + st, y + 1, end, hi - 1, farbe );
 }
 }
 
 
 ScrollBar *HScrollBar::release()
 ScrollBar *HScrollBar::release()

+ 17 - 13
Scroll.h

@@ -34,7 +34,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) ScrollBar();
         __declspec( dllexport ) ScrollBar();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~ScrollBar();
+        __declspec( dllexport ) virtual ~ScrollBar();
         // Setzt die Fordergrundfarbe der Scrollbar
         // Setzt die Fordergrundfarbe der Scrollbar
         //  fc: Die Farbe in A8R8G8B8 Format
         //  fc: Die Farbe in A8R8G8B8 Format
         __declspec( dllexport ) void setFarbe( int fc );
         __declspec( dllexport ) void setFarbe( int fc );
@@ -56,18 +56,18 @@ namespace Framework
         //  x: Die X Position der Scroll Bar im Fenster
         //  x: Die X Position der Scroll Bar im Fenster
         //  y: Die Y Position der Scroll Bar im Fenster
         //  y: Die Y Position der Scroll Bar im Fenster
         //  br: Die Breite der Scroll Bar
         //  br: Die Breite der Scroll Bar
-        //  hö: Die Höhe der Scroll Bar
+        //  hi: Die Höhe der Scroll Bar
         //  return: 1, falls die Nachricht verarbeitet wurde. Setzt dafür nicht den verarbeitet flag des Maus Ereignisses
         //  return: 1, falls die Nachricht verarbeitet wurde. Setzt dafür nicht den verarbeitet flag des Maus Ereignisses
-        __declspec( dllexport ) virtual bool doMausMessage( int x, int y, int br, int hö, MausEreignis &me ) = 0;
+        __declspec( dllexport ) virtual bool doMausMessage( int x, int y, int br, int hi, MausEreignis &me ) = 0;
         // Gibt zurück, ob sich die Scrollbar seit dem letzten Aufruf der Funktion verändert hat
         // Gibt zurück, ob sich die Scrollbar seit dem letzten Aufruf der Funktion verändert hat
         __declspec( dllexport ) bool getRend();
         __declspec( dllexport ) bool getRend();
         // Zeichnet die Scrollbar
         // Zeichnet die Scrollbar
         //  x: Die X Position der Scroll Bar
         //  x: Die X Position der Scroll Bar
         //  y: Die Y Position der Scroll Bar
         //  y: Die Y Position der Scroll Bar
         //  br: Die Breite der Scroll Bar
         //  br: Die Breite der Scroll Bar
-        //  hö: Die Höhe der Scroll Bar
+        //  hi: Die Höhe der Scroll Bar
         //  zRObj: Das Bild, in das gezeichnet werden soll
         //  zRObj: Das Bild, in das gezeichnet werden soll
-        __declspec( dllexport ) virtual void render( int x, int y, int br, int hö, Bild &zRObj ) const = 0;
+        __declspec( dllexport ) virtual void render( int x, int y, int br, int hi, Bild &zRObj ) const = 0;
         // Gibt einen zeiger auf die Scroll Daten zurück
         // Gibt einen zeiger auf die Scroll Daten zurück
         __declspec( dllexport ) ScrollData *getScrollData() const;
         __declspec( dllexport ) ScrollData *getScrollData() const;
         // Gibt die Scroll geschwindigkeit zurück. Die Anzahl der gescrollten Pixel pro Klick
         // Gibt die Scroll geschwindigkeit zurück. Die Anzahl der gescrollten Pixel pro Klick
@@ -92,20 +92,22 @@ namespace Framework
     public:
     public:
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) VScrollBar();
         __declspec( dllexport ) VScrollBar();
+		// Destruktor 
+		__declspec( dllexport ) virtual ~VScrollBar();
         // Verarbeitet ein Maus Ereignis
         // Verarbeitet ein Maus Ereignis
         //  x: Die X Position der Scroll Bar im Fenster
         //  x: Die X Position der Scroll Bar im Fenster
         //  y: Die Y Position der Scroll Bar im Fenster
         //  y: Die Y Position der Scroll Bar im Fenster
         //  br: Die Breite der Scroll Bar
         //  br: Die Breite der Scroll Bar
-        //  hö: Die Höhe der Scroll Bar
+        //  hi: Die Höhe der Scroll Bar
         //  return: 1, falls die Nachricht verarbeitet wurde. Setzt dafür nicht den verarbeitet flag des Maus Ereignisses
         //  return: 1, falls die Nachricht verarbeitet wurde. Setzt dafür nicht den verarbeitet flag des Maus Ereignisses
-        __declspec( dllexport ) bool doMausMessage( int x, int y, int br, int hö, MausEreignis &me ) override;
+        __declspec( dllexport ) bool doMausMessage( int x, int y, int br, int hi, MausEreignis &me ) override;
         // Zeichnet die Scrollbar
         // Zeichnet die Scrollbar
         //  x: Die X Position der Scroll Bar
         //  x: Die X Position der Scroll Bar
         //  y: Die Y Position der Scroll Bar
         //  y: Die Y Position der Scroll Bar
         //  br: Die Breite der Scroll Bar
         //  br: Die Breite der Scroll Bar
-        //  hö: Die Höhe der Scroll Bar
+        //  hi: Die Höhe der Scroll Bar
         //  zRObj: Das Bild, in das gezeichnet werden soll
         //  zRObj: Das Bild, in das gezeichnet werden soll
-        __declspec( dllexport ) void render( int x, int y, int br, int hö, Bild &zRObj ) const override;
+        __declspec( dllexport ) void render( int x, int y, int br, int hi, Bild &zRObj ) const override;
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
         //  return: 0.
         //  return: 0.
         __declspec( dllexport ) ScrollBar *release() override;
         __declspec( dllexport ) ScrollBar *release() override;
@@ -117,20 +119,22 @@ namespace Framework
     public:
     public:
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) HScrollBar();
         __declspec( dllexport ) HScrollBar();
+		// Destruktor 
+		__declspec( dllexport ) virtual ~HScrollBar();
         // Verarbeitet ein Maus Ereignis
         // Verarbeitet ein Maus Ereignis
         //  x: Die X Position der Scroll Bar im Fenster
         //  x: Die X Position der Scroll Bar im Fenster
         //  y: Die Y Position der Scroll Bar im Fenster
         //  y: Die Y Position der Scroll Bar im Fenster
         //  br: Die Breite der Scroll Bar
         //  br: Die Breite der Scroll Bar
-        //  hö: Die Höhe der Scroll Bar
+        //  hi: Die Höhe der Scroll Bar
         //  return: 1, falls die Nachricht verarbeitet wurde. Setzt dafür nicht den verarbeitet flag des Maus Ereignisses
         //  return: 1, falls die Nachricht verarbeitet wurde. Setzt dafür nicht den verarbeitet flag des Maus Ereignisses
-        __declspec( dllexport ) bool doMausMessage( int x, int y, int br, int hö, MausEreignis &me ) override;
+        __declspec( dllexport ) bool doMausMessage( int x, int y, int br, int hi, MausEreignis &me ) override;
         // Zeichnet die Scrollbar
         // Zeichnet die Scrollbar
         //  x: Die X Position der Scroll Bar
         //  x: Die X Position der Scroll Bar
         //  y: Die Y Position der Scroll Bar
         //  y: Die Y Position der Scroll Bar
         //  br: Die Breite der Scroll Bar
         //  br: Die Breite der Scroll Bar
-        //  hö: Die Höhe der Scroll Bar
+        //  hi: Die Höhe der Scroll Bar
         //  zRObj: Das Bild, in das gezeichnet werden soll
         //  zRObj: Das Bild, in das gezeichnet werden soll
-        __declspec( dllexport ) void render( int x, int y, int br, int hö, Bild &zRObj ) const override;
+        __declspec( dllexport ) void render( int x, int y, int br, int hi, Bild &zRObj ) const override;
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Objekt automatisch gelöscht.
         //  return: 0.
         //  return: 0.
         __declspec( dllexport ) ScrollBar *release() override;
         __declspec( dllexport ) ScrollBar *release() override;

+ 12 - 12
Shader.cpp

@@ -18,7 +18,7 @@ Shader::Shader()
     for( int i = 0; i < 14; i++ )
     for( int i = 0; i < 14; i++ )
     {
     {
         constBuffers[ i ] = 0;
         constBuffers[ i ] = 0;
-        buffLän[ i ] = 0;
+        buffLen[ i ] = 0;
     }
     }
     buffAnz = 0;
     buffAnz = 0;
     ref = 1;
     ref = 1;
@@ -44,14 +44,14 @@ bool Shader::ladeAusDatei( const char *pfad )
 {
 {
     Datei d;
     Datei d;
     d.setDatei( pfad );
     d.setDatei( pfad );
-    __int64 gr = d.getGröße();
+    __int64 gr = d.getSize();
     if( gr > 10 * 1024 )
     if( gr > 10 * 1024 )
         return 0; // Datei zu groß für Shader Quellcode
         return 0; // Datei zu groß für Shader Quellcode
-    shader->füllText( ' ', (int)gr );
-    if( !d.öffnen( Datei::Style::lesen ) )
+    shader->fillText( ' ', (int)gr );
+    if( !d.open( Datei::Style::lesen ) )
         return 0;
         return 0;
     d.lese( shader->getText(), (int)gr );
     d.lese( shader->getText(), (int)gr );
-    d.schließen();
+    d.close();
     return 1;
     return 1;
 }
 }
 
 
@@ -76,7 +76,7 @@ bool Shader::compile( ID3D11Device *zD3d11Device, const char *einstiegsFunktion,
 #endif
 #endif
     if( shaderBuffer )
     if( shaderBuffer )
         shaderBuffer->Release();
         shaderBuffer->Release();
-    HRESULT result = D3DCompile( shader->getText(), shader->getLänge(), 0, 0, 0, einstiegsFunktion, type, flag, 0, &shaderBuffer, &errorMessage );
+    HRESULT result = D3DCompile( shader->getText(), shader->getLength(), 0, 0, 0, einstiegsFunktion, type, flag, 0, &shaderBuffer, &errorMessage );
     if( errorMessage )
     if( errorMessage )
     {
     {
         char *err = (char*)errorMessage->GetBufferPointer();
         char *err = (char*)errorMessage->GetBufferPointer();
@@ -116,18 +116,18 @@ bool Shader::erstelleConstBuffer( ID3D11Device *zD3d11Device, int gr
     {
     {
         constBuffers[ index ]->Release();
         constBuffers[ index ]->Release();
         constBuffers[ index ] = 0;
         constBuffers[ index ] = 0;
-        buffLän[ index ] = 0;
+        buffLen[ index ] = 0;
     }
     }
     HRESULT res = zD3d11Device->CreateBuffer( &bufferDesc, 0, &constBuffers[ index ] );
     HRESULT res = zD3d11Device->CreateBuffer( &bufferDesc, 0, &constBuffers[ index ] );
     if( res == S_OK )
     if( res == S_OK )
-        buffLän[ index ] = größe;
+        buffLen[ index ] = größe;
     for( buffAnz = 0; buffAnz < 14 && constBuffers[ buffAnz ]; buffAnz++ );
     for( buffAnz = 0; buffAnz < 14 && constBuffers[ buffAnz ]; buffAnz++ );
     return res == S_OK;
     return res == S_OK;
 }
 }
 
 
 // Löscht einen constanten Buffer
 // Löscht einen constanten Buffer
 //  index: der Index des Buffers, der gelöscht werden soll. Buffer 0 kann nicht gelöscht werden, solange Buffer 1 noch existiert usw.
 //  index: der Index des Buffers, der gelöscht werden soll. Buffer 0 kann nicht gelöscht werden, solange Buffer 1 noch existiert usw.
-bool Shader::löscheConstBuffer( int index )
+bool Shader::removeConstBuffer( int index )
 {
 {
     if( index < 0 || index >= 14 )
     if( index < 0 || index >= 14 )
         return 0;
         return 0;
@@ -140,7 +140,7 @@ bool Shader::l
     {
     {
         constBuffers[ index ]->Release();
         constBuffers[ index ]->Release();
         constBuffers[ index ] = 0;
         constBuffers[ index ] = 0;
-        buffLän[ index ] = 0;
+        buffLen[ index ] = 0;
     }
     }
     for( buffAnz = 0; buffAnz < 14 && constBuffers[ buffAnz ]; buffAnz++ );
     for( buffAnz = 0; buffAnz < 14 && constBuffers[ buffAnz ]; buffAnz++ );
     return 1;
     return 1;
@@ -158,7 +158,7 @@ bool Shader::f
     if( !constBuffers[ index ] )
     if( !constBuffers[ index ] )
         return 0;
         return 0;
     if( län < 0 )
     if( län < 0 )
-        län = buffLän[ index ];
+        län = buffLen[ index ];
     D3D11_MAPPED_SUBRESOURCE mappedResource;
     D3D11_MAPPED_SUBRESOURCE mappedResource;
     HRESULT res = zD3d11Context->Map( constBuffers[ index ], 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource );
     HRESULT res = zD3d11Context->Map( constBuffers[ index ], 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource );
     if( res != S_OK )
     if( res != S_OK )
@@ -174,7 +174,7 @@ int Shader::getConstBufferL
 {
 {
     if( index < 0 || index >= 14 )
     if( index < 0 || index >= 14 )
         return 0;
         return 0;
-    return buffLän[ index ];
+    return buffLen[ index ];
 }
 }
 
 
 // Gibt den Shadertyp zurück
 // Gibt den Shadertyp zurück

+ 6 - 6
Shader.h

@@ -28,7 +28,7 @@ namespace Framework
         ID3D10Blob *shaderBuffer;
         ID3D10Blob *shaderBuffer;
         ShaderType type;
         ShaderType type;
         ID3D11Buffer *constBuffers[ 14 ];
         ID3D11Buffer *constBuffers[ 14 ];
-        int buffLän[ 14 ];
+        int buffLen[ 14 ];
         int buffAnz;
         int buffAnz;
         int ref;
         int ref;
 
 
@@ -56,18 +56,18 @@ namespace Framework
         // erstellt ein constanten Buffer, der constante daten an den Shader übergibt
         // erstellt ein constanten Buffer, der constante daten an den Shader übergibt
         // es können maximal 14 Buffer erstellt werden
         // es können maximal 14 Buffer erstellt werden
         //  zD3d11Device: Das Device, mit dem der Buffer erstellt werden soll
         //  zD3d11Device: Das Device, mit dem der Buffer erstellt werden soll
-        //  größe: Die größe des buffers in byte
+        //  size: Die größe des buffers in byte
         //  index: Die position des Buffers im Buffer Array. Bereits vorhanderner Buffer wird ersetzt. Buffer 1 kann nicht erstellt werden, wenn Buffer 0 noch nicht erstellt wurde usw.
         //  index: Die position des Buffers im Buffer Array. Bereits vorhanderner Buffer wird ersetzt. Buffer 1 kann nicht erstellt werden, wenn Buffer 0 noch nicht erstellt wurde usw.
-        bool erstelleConstBuffer( ID3D11Device *zD3d11Device, int größe, int index );
+        bool erstelleConstBuffer( ID3D11Device *zD3d11Device, int size, int index );
         // Löscht einen constanten Buffer
         // Löscht einen constanten Buffer
         //  index: der Index des Buffers, der gelöscht werden soll. Buffer 0 kann nicht gelöscht werden, solange Buffer 1 noch existiert usw.
         //  index: der Index des Buffers, der gelöscht werden soll. Buffer 0 kann nicht gelöscht werden, solange Buffer 1 noch existiert usw.
-        bool löscheConstBuffer( int index );
+        bool removeConstBuffer( int index );
         // Kopiert daten in einen constanten buffer
         // Kopiert daten in einen constanten buffer
         //  zD3d11Context: Das Context Objekt, das zum kopieren verwendt werden soll
         //  zD3d11Context: Das Context Objekt, das zum kopieren verwendt werden soll
         //  data: Einen zeiger auf en byte Array der größe des Buffers
         //  data: Einen zeiger auf en byte Array der größe des Buffers
         //  index: Der Index des Buffers
         //  index: Der Index des Buffers
-        //  län: Die Länge der Daten in Bytes (-1 für die maximale größe des Buffers)
-        bool füllConstBuffer( ID3D11DeviceContext *zD3d11Context, char *data, int index, int län = -1 );
+        //  len: Die Länge der Daten in Bytes (-1 für die maximale größe des Buffers)
+        bool füllConstBuffer( ID3D11DeviceContext *zD3d11Context, char *data, int index, int len = -1 );
         // Gibt die Länge eines constanten Buffers zurück
         // Gibt die Länge eines constanten Buffers zurück
         //  index: Der Index des Buffers
         //  index: Der Index des Buffers
         int getConstBufferLänge( int index ) const;
         int getConstBufferLänge( int index ) const;

+ 143 - 143
Tabelle.cpp

@@ -18,11 +18,11 @@ ObjTabelle::ObjTabelle()
     spaltenNamen( new RCArray< Text >() ),
     spaltenNamen( new RCArray< Text >() ),
     zeilenNamen( new RCArray< Text >() ),
     zeilenNamen( new RCArray< Text >() ),
     spaltenBreite( new Array< int >() ),
     spaltenBreite( new Array< int >() ),
-    zeilenHöhe( new Array< int >() ),
+    zeilenHeight( new Array< int >() ),
     minSpaltenBreite( new Array< int >() ),
     minSpaltenBreite( new Array< int >() ),
     maxSpaltenBreite( new Array< int >() ),
     maxSpaltenBreite( new Array< int >() ),
-    minZeilenHöhe( new Array< int >() ),
-    maxZeilenHöhe( new Array< int >() ),
+    minZeilenHeight( new Array< int >() ),
+    maxZeilenHeight( new Array< int >() ),
     spaltenAnzahl( 0 ),
     spaltenAnzahl( 0 ),
     zeilenAnzahl( 0 ),
     zeilenAnzahl( 0 ),
     klickSpalte( -1 ),
     klickSpalte( -1 ),
@@ -54,16 +54,16 @@ ObjTabelle::~ObjTabelle()
         zeilenNamen->release();
         zeilenNamen->release();
     if( spaltenBreite )
     if( spaltenBreite )
         spaltenBreite->release();
         spaltenBreite->release();
-    if( zeilenHöhe )
-        zeilenHöhe->release();
+    if( zeilenHeight )
+        zeilenHeight->release();
     if( minSpaltenBreite )
     if( minSpaltenBreite )
         minSpaltenBreite->release();
         minSpaltenBreite->release();
     if( maxSpaltenBreite )
     if( maxSpaltenBreite )
         maxSpaltenBreite->release();
         maxSpaltenBreite->release();
-    if( minZeilenHöhe )
-        minZeilenHöhe->release();
-    if( maxZeilenHöhe )
-        maxZeilenHöhe->release();
+    if( minZeilenHeight )
+        minZeilenHeight->release();
+    if( maxZeilenHeight )
+        maxZeilenHeight->release();
     if( aRam )
     if( aRam )
         aRam->release();
         aRam->release();
     if( aAf )
     if( aAf )
@@ -143,7 +143,7 @@ void ObjTabelle::addZeile( const char *name ) // Zeile Hinzuf
 {
 {
     lockZeichnung();
     lockZeichnung();
     zeilenNamen->add( new Text( name ), zeilenAnzahl );
     zeilenNamen->add( new Text( name ), zeilenAnzahl );
-    zeilenHöhe->add( 20 );
+    zeilenHeight->add( 20 );
     ++zeilenAnzahl;
     ++zeilenAnzahl;
     rend = 1;
     rend = 1;
     unlockZeichnung();
     unlockZeichnung();
@@ -153,7 +153,7 @@ void ObjTabelle::addZeile( Text *name )
 {
 {
     lockZeichnung();
     lockZeichnung();
     zeilenNamen->add( name, zeilenAnzahl );
     zeilenNamen->add( name, zeilenAnzahl );
-    zeilenHöhe->add( 20 );
+    zeilenHeight->add( 20 );
     ++zeilenAnzahl;
     ++zeilenAnzahl;
     rend = 1;
     rend = 1;
     unlockZeichnung();
     unlockZeichnung();
@@ -165,9 +165,9 @@ void ObjTabelle::addZeile( int zNum, const char *name ) // Zeile bei zNum einf
         return;
         return;
     lockZeichnung();
     lockZeichnung();
     zeilenNamen->add( new Text( name ), zNum );
     zeilenNamen->add( new Text( name ), zNum );
-    zeilenHöhe->add( 20, zNum );
-    minZeilenHöhe->add( 0, zNum );
-    maxZeilenHöhe->add( 100, zNum );
+    zeilenHeight->add( 20, zNum );
+    minZeilenHeight->add( 0, zNum );
+    maxZeilenHeight->add( 100, zNum );
     for( int i = 0; i < spaltenAnzahl; ++i )
     for( int i = 0; i < spaltenAnzahl; ++i )
     {
     {
         if( zZeichnungs->z( i ) )
         if( zZeichnungs->z( i ) )
@@ -190,9 +190,9 @@ void ObjTabelle::addZeile( int zNum, Text *name )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
     zeilenNamen->add( name, zNum );
     zeilenNamen->add( name, zNum );
-    zeilenHöhe->add( 20, zNum );
-    minZeilenHöhe->add( 0, zNum );
-    maxZeilenHöhe->add( 100, zNum );
+    zeilenHeight->add( 20, zNum );
+    minZeilenHeight->add( 0, zNum );
+    maxZeilenHeight->add( 100, zNum );
     for( int i = 0; i < spaltenAnzahl; ++i )
     for( int i = 0; i < spaltenAnzahl; ++i )
     {
     {
         if( zZeichnungs->z( i ) )
         if( zZeichnungs->z( i ) )
@@ -214,18 +214,18 @@ void ObjTabelle::removeSpalte( int sNum ) // Spalte l
     if( sNum >= spaltenAnzahl )
     if( sNum >= spaltenAnzahl )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
-    zZeichnungs->lösche( sNum );
-    spaltenNamen->lösche( sNum );
-    spaltenBreite->lösche( sNum );
-    minSpaltenBreite->lösche( sNum );
-    maxSpaltenBreite->lösche( sNum );
+    zZeichnungs->remove( sNum );
+    spaltenNamen->remove( sNum );
+    spaltenBreite->remove( sNum );
+    minSpaltenBreite->remove( sNum );
+    maxSpaltenBreite->remove( sNum );
     if( msaRam->z( sNum ) )
     if( msaRam->z( sNum ) )
         msaRam->z( sNum )->release();
         msaRam->z( sNum )->release();
-    msaRam->lösche( sNum );
+    msaRam->remove( sNum );
     if( msaAf->z( sNum ) )
     if( msaAf->z( sNum ) )
         msaAf->z( sNum )->release();
         msaAf->z( sNum )->release();
-    msaAf->lösche( sNum );
-    styles->lösche( sNum );
+    msaAf->remove( sNum );
+    styles->remove( sNum );
     --spaltenAnzahl;
     --spaltenAnzahl;
     rend = 1;
     rend = 1;
     unlockZeichnung();
     unlockZeichnung();
@@ -246,20 +246,20 @@ void ObjTabelle::removeZeile( int zNum ) // Zeile l
     if( zNum >= zeilenAnzahl )
     if( zNum >= zeilenAnzahl )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
-    zeilenNamen->lösche( zNum );
-    zeilenHöhe->lösche( zNum );
-    minZeilenHöhe->lösche( zNum );
-    maxZeilenHöhe->lösche( zNum );
+    zeilenNamen->remove( zNum );
+    zeilenHeight->remove( zNum );
+    minZeilenHeight->remove( zNum );
+    maxZeilenHeight->remove( zNum );
     for( int i = 0; i < spaltenAnzahl; ++i )
     for( int i = 0; i < spaltenAnzahl; ++i )
     {
     {
         if( zZeichnungs->z( i ) )
         if( zZeichnungs->z( i ) )
-            zZeichnungs->z( i )->lösche( zNum );
+            zZeichnungs->z( i )->remove( zNum );
         if( msaRam->z( i ) )
         if( msaRam->z( i ) )
-            msaRam->z( i )->lösche( zNum );
+            msaRam->z( i )->remove( zNum );
         if( msaAf->z( i ) )
         if( msaAf->z( i ) )
-            msaAf->z( i )->lösche( zNum );
+            msaAf->z( i )->remove( zNum );
         if( styles->z( i ) )
         if( styles->z( i ) )
-            styles->z( i )->lösche( zNum );
+            styles->z( i )->remove( zNum );
     }
     }
     --zeilenAnzahl;
     --zeilenAnzahl;
     rend = 1;
     rend = 1;
@@ -290,27 +290,27 @@ void ObjTabelle::setSpaltePosition( int sNum, int pos )
 {
 {
     if( sNum >= spaltenAnzahl || pos >= spaltenAnzahl || sNum == pos )
     if( sNum >= spaltenAnzahl || pos >= spaltenAnzahl || sNum == pos )
         return;
         return;
-    int löschPos = sNum;
+    int delPos = sNum;
     int insertPos = pos;
     int insertPos = pos;
     if( pos < sNum )
     if( pos < sNum )
-        ++löschPos;
+        ++delPos;
     else
     else
         ++insertPos;
         ++insertPos;
     lockZeichnung();
     lockZeichnung();
     zZeichnungs->add( zZeichnungs->get( sNum ), insertPos );
     zZeichnungs->add( zZeichnungs->get( sNum ), insertPos );
-    zZeichnungs->lösche( löschPos );
+    zZeichnungs->remove( delPos );
     spaltenNamen->add( spaltenNamen->get( sNum ), insertPos );
     spaltenNamen->add( spaltenNamen->get( sNum ), insertPos );
-    spaltenNamen->lösche( löschPos );
+    spaltenNamen->remove( delPos );
     spaltenBreite->add( spaltenBreite->hat( sNum ) ? spaltenBreite->get( sNum ) : 0, insertPos );
     spaltenBreite->add( spaltenBreite->hat( sNum ) ? spaltenBreite->get( sNum ) : 0, insertPos );
-    spaltenBreite->lösche( löschPos );
+    spaltenBreite->remove( delPos );
     minSpaltenBreite->add( minSpaltenBreite->hat( sNum ) ? minSpaltenBreite->get( sNum ) : 0, insertPos );
     minSpaltenBreite->add( minSpaltenBreite->hat( sNum ) ? minSpaltenBreite->get( sNum ) : 0, insertPos );
-    minSpaltenBreite->lösche( löschPos );
+    minSpaltenBreite->remove( delPos );
     msaRam->add( msaRam->z( sNum ), insertPos );
     msaRam->add( msaRam->z( sNum ), insertPos );
-    msaRam->lösche( löschPos );
+    msaRam->remove( delPos );
     msaAf->add( msaAf->z( sNum ), insertPos );
     msaAf->add( msaAf->z( sNum ), insertPos );
-    msaAf->lösche( löschPos );
+    msaAf->remove( delPos );
     styles->add( styles->get( sNum ), insertPos );
     styles->add( styles->get( sNum ), insertPos );
-    styles->lösche( löschPos );
+    styles->remove( delPos );
     rend = 1;
     rend = 1;
     unlockZeichnung();
     unlockZeichnung();
 }
 }
@@ -329,42 +329,42 @@ void ObjTabelle::setZeilePosition( int zNum, int pos )
 {
 {
     if( zNum >= zeilenAnzahl || pos >= zeilenAnzahl || pos == zNum )
     if( zNum >= zeilenAnzahl || pos >= zeilenAnzahl || pos == zNum )
         return;
         return;
-    int löschPos = zNum;
+    int delPos = zNum;
     int insertPos = pos;
     int insertPos = pos;
     if( pos < zNum )
     if( pos < zNum )
-        ++löschPos;
+        ++delPos;
     else
     else
         ++insertPos;
         ++insertPos;
     lockZeichnung();
     lockZeichnung();
     zeilenNamen->add( zeilenNamen->get( zNum ), insertPos );
     zeilenNamen->add( zeilenNamen->get( zNum ), insertPos );
-    zeilenNamen->lösche( löschPos );
-    zeilenHöhe->add( zeilenHöhe->hat( zNum ) ? zeilenHöhe->get( zNum ) : 0, insertPos );
-    zeilenHöhe->lösche( löschPos );
-    minZeilenHöhe->add( minZeilenHöhe->hat( zNum ) ? minZeilenHöhe->get( zNum ) : 0, insertPos );
-    minZeilenHöhe->lösche( löschPos );
-    maxZeilenHöhe->add( maxZeilenHöhe->hat( zNum ) ? maxZeilenHöhe->get( zNum ) : 0, insertPos );
-    maxZeilenHöhe->lösche( löschPos );
+    zeilenNamen->remove( delPos );
+    zeilenHeight->add( zeilenHeight->hat( zNum ) ? zeilenHeight->get( zNum ) : 0, insertPos );
+    zeilenHeight->remove( delPos );
+    minZeilenHeight->add( minZeilenHeight->hat( zNum ) ? minZeilenHeight->get( zNum ) : 0, insertPos );
+    minZeilenHeight->remove( delPos );
+    maxZeilenHeight->add( maxZeilenHeight->hat( zNum ) ? maxZeilenHeight->get( zNum ) : 0, insertPos );
+    maxZeilenHeight->remove( delPos );
     for( int i = 0; i < spaltenAnzahl; ++i )
     for( int i = 0; i < spaltenAnzahl; ++i )
     {
     {
         if( zZeichnungs->z( i ) )
         if( zZeichnungs->z( i ) )
         {
         {
             zZeichnungs->z( i )->add( zZeichnungs->z( i )->hat( zNum ) ? zZeichnungs->z( i )->get( zNum ) : 0, insertPos );
             zZeichnungs->z( i )->add( zZeichnungs->z( i )->hat( zNum ) ? zZeichnungs->z( i )->get( zNum ) : 0, insertPos );
-            zZeichnungs->z( i )->lösche( löschPos );
+            zZeichnungs->z( i )->remove( delPos );
         }
         }
         if( msaRam->z( i ) )
         if( msaRam->z( i ) )
         {
         {
             msaRam->z( i )->add( msaRam->z( i )->z( zNum ) ? msaRam->z( i )->get( zNum ) : 0, insertPos );
             msaRam->z( i )->add( msaRam->z( i )->z( zNum ) ? msaRam->z( i )->get( zNum ) : 0, insertPos );
-            msaRam->z( i )->lösche( löschPos );
+            msaRam->z( i )->remove( delPos );
         }
         }
         if( msaAf->z( i ) )
         if( msaAf->z( i ) )
         {
         {
             msaAf->z( i )->add( msaAf->z( i )->z( zNum ) ? msaAf->z( i )->get( zNum ) : 0, insertPos );
             msaAf->z( i )->add( msaAf->z( i )->z( zNum ) ? msaAf->z( i )->get( zNum ) : 0, insertPos );
-            msaAf->z( i )->lösche( löschPos );
+            msaAf->z( i )->remove( delPos );
         }
         }
         if( styles->z( i ) )
         if( styles->z( i ) )
         {
         {
             styles->z( i )->add( styles->z( i )->hat( zNum ) ? styles->z( i )->get( zNum ) : 0, insertPos );
             styles->z( i )->add( styles->z( i )->hat( zNum ) ? styles->z( i )->get( zNum ) : 0, insertPos );
-            styles->z( i )->lösche( löschPos );
+            styles->z( i )->remove( delPos );
         }
         }
     }
     }
     rend = 1;
     rend = 1;
@@ -413,24 +413,24 @@ void ObjTabelle::setSpaltenBreite( Text *name, int br )
     setSpaltenBreite( getSpaltenNummer( name ), br );
     setSpaltenBreite( getSpaltenNummer( name ), br );
 }
 }
 
 
-void ObjTabelle::setZeilenHöhe( int zNum, int hö ) // setzt die Zeilenhöhe
+void ObjTabelle::setZeilenHeight( int zNum, int hi ) // setzt die Zeilenhöhe
 {
 {
     if( zNum >= zeilenAnzahl )
     if( zNum >= zeilenAnzahl )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
-    zeilenHöhe->set( hö, zNum );
+    zeilenHeight->set( hi, zNum );
     rend = 1;
     rend = 1;
     unlockZeichnung();
     unlockZeichnung();
 }
 }
 
 
-void ObjTabelle::setZeilenHöhe( const char *name, int hö )
+void ObjTabelle::setZeilenHeight( const char *name, int hi )
 {
 {
-    setZeilenHöhe( getZeilenNummer( name ), hö );
+    setZeilenHeight( getZeilenNummer( name ), hi );
 }
 }
 
 
-void ObjTabelle::setZeilenHöhe( Text *name, int hö )
+void ObjTabelle::setZeilenHeight( Text *name, int hi )
 {
 {
-    setZeilenHöhe( getZeilenNummer( name ), hö );
+    setZeilenHeight( getZeilenNummer( name ), hi );
 }
 }
 
 
 void ObjTabelle::setMinSpaltenBreite( int sNum, int minBr ) // setzt die mindest Spaltenbreite
 void ObjTabelle::setMinSpaltenBreite( int sNum, int minBr ) // setzt die mindest Spaltenbreite
@@ -473,44 +473,44 @@ void ObjTabelle::setMaxSpaltenBreite( Text *name, int maxBr )
     setMaxSpaltenBreite( getSpaltenNummer( name ), maxBr );
     setMaxSpaltenBreite( getSpaltenNummer( name ), maxBr );
 }
 }
 
 
-void ObjTabelle::setMinZeilenHöhe( int zNum, int minHö ) // setzt die mindest Zeilenhöhe
+void ObjTabelle::setMinZeilenHeight( int zNum, int minHi ) // setzt die mindest Zeilenhöhe
 {
 {
     if( zNum >= zeilenAnzahl )
     if( zNum >= zeilenAnzahl )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
-    minZeilenHöhe->set( minHö, zNum );
+    minZeilenHeight->set( minHi, zNum );
     rend = 1;
     rend = 1;
     unlockZeichnung();
     unlockZeichnung();
 }
 }
 
 
-void ObjTabelle::setMinZeilenHöhe( const char *name, int minHö )
+void ObjTabelle::setMinZeilenHeight( const char *name, int minHi )
 {
 {
-    setMinZeilenHöhe( getZeilenNummer( name ), minHö );
+    setMinZeilenHeight( getZeilenNummer( name ), minHi );
 }
 }
 
 
-void ObjTabelle::setMinZeilenHöhe( Text *name, int minHö )
+void ObjTabelle::setMinZeilenHeight( Text *name, int minHi )
 {
 {
-    setMinZeilenHöhe( getZeilenNummer( name ), minHö );
+    setMinZeilenHeight( getZeilenNummer( name ), minHi );
 }
 }
 
 
-void ObjTabelle::setMaxZeilenHöhe( int zNum, int maxHö ) // setzt die maximale Zeilenhöhe
+void ObjTabelle::setMaxZeilenHeight( int zNum, int maxHi ) // setzt die maximale Zeilenhöhe
 {
 {
     if( zNum >= zeilenAnzahl )
     if( zNum >= zeilenAnzahl )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
-    maxZeilenHöhe->set( maxHö, zNum );
+    maxZeilenHeight->set( maxHi, zNum );
     rend = 1;
     rend = 1;
     unlockZeichnung();
     unlockZeichnung();
 }
 }
 
 
-void ObjTabelle::setMaxZeilenHöhe( const char *name, int maxHö )
+void ObjTabelle::setMaxZeilenHeight( const char *name, int maxHi )
 {
 {
-    setMaxZeilenHöhe( getZeilenHöhe( name ), maxHö );
+    setMaxZeilenHeight( getZeilenHeight( name ), maxHi );
 }
 }
 
 
-void ObjTabelle::setMaxZeilenHöhe( Text *name, int maxHö )
+void ObjTabelle::setMaxZeilenHeight( Text *name, int maxHi )
 {
 {
-    setMaxZeilenHöhe( getZeilenHöhe( name ), maxHö );
+    setMaxZeilenHeight( getZeilenHeight( name ), maxHi );
 }
 }
 
 
 void ObjTabelle::setAuswahl( int sNum, int zNum ) // wählt das entsprechnde Feld aus
 void ObjTabelle::setAuswahl( int sNum, int zNum ) // wählt das entsprechnde Feld aus
@@ -586,11 +586,11 @@ void ObjTabelle::setAAfFarbe( int f ) // setzt die Farbe des auswahl AlphaFeldes
     rend = 1;
     rend = 1;
 }
 }
 
 
-void ObjTabelle::setAAfStärke( int st ) // setzt die Stärke des auswahl AlphaFeldes
+void ObjTabelle::setAAfStrength( int st ) // setzt die Stärke des auswahl AlphaFeldes
 {
 {
     if( !aAf )
     if( !aAf )
         aAf = new AlphaFeld();
         aAf = new AlphaFeld();
-    aAf->setStärke( st );
+    aAf->setStrength( st );
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -703,7 +703,7 @@ void ObjTabelle::setAAfFarbe( Text *spaltenName, Text *zeilenName, int f )
     setAAfFarbe( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), f );
     setAAfFarbe( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), f );
 }
 }
 
 
-void ObjTabelle::setAAfStärke( int sNum, int zNum, int st ) // setzt die Stärke des auswahl AlphaFeldes
+void ObjTabelle::setAAfStrength( int sNum, int zNum, int st ) // setzt die Stärke des auswahl AlphaFeldes
 {
 {
     if( msaAf->z( sNum ) )
     if( msaAf->z( sNum ) )
     {
     {
@@ -713,19 +713,19 @@ void ObjTabelle::setAAfSt
             tmp = new AlphaFeld();
             tmp = new AlphaFeld();
             msaAf->z( sNum )->set( tmp, zNum );
             msaAf->z( sNum )->set( tmp, zNum );
         }
         }
-        tmp->setStärke( st );
+        tmp->setStrength( st );
         rend = 1;
         rend = 1;
     }
     }
 }
 }
 
 
-void ObjTabelle::setAAfStärke( const char *spaltenName, const char *zeilenName, int st )
+void ObjTabelle::setAAfStrength( const char *spaltenName, const char *zeilenName, int st )
 {
 {
-    setAAfStärke( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), st );
+    setAAfStrength( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), st );
 }
 }
 
 
-void ObjTabelle::setAAfStärke( Text *spaltenName, Text *zeilenName, int st )
+void ObjTabelle::setAAfStrength( Text *spaltenName, Text *zeilenName, int st )
 {
 {
-    setAAfStärke( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), st );
+    setAAfStrength( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), st );
 }
 }
 
 
 void ObjTabelle::addMsStyle( int sNum, int zNum, __int64 style ) // setzt den Style wenn Multistyled
 void ObjTabelle::addMsStyle( int sNum, int zNum, __int64 style ) // setzt den Style wenn Multistyled
@@ -790,7 +790,7 @@ void ObjTabelle::setMsStyle( Text *spaltenName, Text *zeilenName, __int64 style,
     setMsStyle( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), style, add_remove );
     setMsStyle( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), style, add_remove );
 }
 }
 
 
-void ObjTabelle::löscheMsStyle( int sNum, int zNum, __int64 style )
+void ObjTabelle::removeMsStyle( int sNum, int zNum, __int64 style )
 {
 {
     if( sNum >= spaltenAnzahl || zNum >= zeilenAnzahl )
     if( sNum >= spaltenAnzahl || zNum >= zeilenAnzahl )
         return;
         return;
@@ -799,14 +799,14 @@ void ObjTabelle::l
     rend = 1;
     rend = 1;
 }
 }
 
 
-void ObjTabelle::löscheMsStyle( const char *spaltenName, const char *zeilenName, __int64 style )
+void ObjTabelle::removeMsStyle( const char *spaltenName, const char *zeilenName, __int64 style )
 {
 {
-    löscheMsStyle( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), style );
+    removeMsStyle( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), style );
 }
 }
 
 
-void ObjTabelle::löscheMsStyle( Text *spaltenName, Text *zeilenName, __int64 style )
+void ObjTabelle::removeMsStyle( Text *spaltenName, Text *zeilenName, __int64 style )
 {
 {
-    löscheMsStyle( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), style );
+    removeMsStyle( getSpaltenNummer( spaltenName ), getZeilenNummer( zeilenName ), style );
 }
 }
 
 
 bool ObjTabelle::tick( double tickVal ) // tick Message
 bool ObjTabelle::tick( double tickVal ) // tick Message
@@ -822,7 +822,7 @@ bool ObjTabelle::tick( double tickVal ) // tick Message
         }
         }
     }
     }
     unlockZeichnung();
     unlockZeichnung();
-    return __super::tick( tickVal );
+    return ZeichnungHintergrund::tick( tickVal );
 }
 }
 
 
 void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
 void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
@@ -837,7 +837,7 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
         {
         {
             mausIn = 0;
             mausIn = 0;
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -846,17 +846,17 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
         }
         }
         removeFokus = 1;
         removeFokus = 1;
     }
     }
-    bool außerhalb = !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt;
-    bool MakB = Mak && ( me.verarbeitet || außerhalb || Mak( makParam, this, me ) );
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt )
+    bool ausserhalb = !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves;
+    bool MakB = Mak && ( me.verarbeitet || ausserhalb || Mak( makParam, this, me ) );
+    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves )
     {
     {
         if( removeFokus && me.id == ME_RLinks )
         if( removeFokus && me.id == ME_RLinks )
         {
         {
             if( MakB )
             if( MakB )
-                löscheStyle( Style::Fokus );
+                removeStyle( Style::Fokus );
         }
         }
     }
     }
-    else if( !mausIn && me.id != ME_Verlässt )
+    else if( !mausIn && me.id != ME_Leaves )
     {
     {
         mausIn = 1;
         mausIn = 1;
         MausEreignis me2;
         MausEreignis me2;
@@ -869,9 +869,9 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
     int tmx = me.mx;
     int tmx = me.mx;
     int tmy = me.my;
     int tmy = me.my;
     bool aufScroll = 0;
     bool aufScroll = 0;
-    if( !außerhalb && vertikalScrollBar && hatStyle( Style::VScroll ) && me.mx > pos.x + gr.x - 15 )
+    if( !ausserhalb && vertikalScrollBar && hatStyle( Style::VScroll ) && me.mx > pos.x + gr.x - 15 )
         aufScroll = 1;
         aufScroll = 1;
-    if( !außerhalb && horizontalScrollBar && hatStyle( Style::HScroll ) && me.my > pos.y + gr.y - 15 )
+    if( !ausserhalb && horizontalScrollBar && hatStyle( Style::HScroll ) && me.my > pos.y + gr.y - 15 )
         aufScroll = 1;
         aufScroll = 1;
     me.mx -= pos.x + ( ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0 );
     me.mx -= pos.x + ( ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0 );
     me.my -= pos.y + ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0 );
     me.my -= pos.y + ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0 );
@@ -880,10 +880,10 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
         lockZeichnung();
         lockZeichnung();
         if( removeFokus && me.id == ME_RLinks )
         if( removeFokus && me.id == ME_RLinks )
         {
         {
-            löscheStyle( Style::Fokus );
+            removeStyle( Style::Fokus );
             klickSpalte = -1;
             klickSpalte = -1;
         }
         }
-        if( !me.verarbeitet && !außerhalb && !aufScroll )
+        if( !me.verarbeitet && !ausserhalb && !aufScroll )
         {
         {
             double ox = getMausSpalte( me.mx + ( ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0 ) );
             double ox = getMausSpalte( me.mx + ( ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0 ) );
             double oy = getMausZeile( me.my + ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0 ) );
             double oy = getMausZeile( me.my + ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0 ) );
@@ -893,9 +893,9 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
                 klickSpalte = -1;
                 klickSpalte = -1;
                 mSpalte = -1, mZeile = -1;
                 mSpalte = -1, mZeile = -1;
             }
             }
-            if( ( hatStyle( Style::SpaltenBreiteÄnderbar ) || hatStyle( Style::ZeilenHöheÄnderbar ) ) && klickSpalte < 0 )
+            if( ( hatStyle( Style::SpaltenBreiteChangeable ) || hatStyle( Style::ZeilenHeightChangeable ) ) && klickSpalte < 0 )
             {
             {
-                if( hatStyle( Style::SpaltenBreiteÄnderbar ) )
+                if( hatStyle( Style::SpaltenBreiteChangeable ) )
                 {
                 {
                     if( me.id == ME_PLinks && ox != (int)ox )
                     if( me.id == ME_PLinks && ox != (int)ox )
                     {
                     {
@@ -915,7 +915,7 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
                         rend = 1;
                         rend = 1;
                     }
                     }
                 }
                 }
-                if( hatStyle( Style::ZeilenHöheÄnderbar ) )
+                if( hatStyle( Style::ZeilenHeightChangeable ) )
                 {
                 {
                     if( me.id == ME_PLinks && oy != (int)oy )
                     if( me.id == ME_PLinks && oy != (int)oy )
                     {
                     {
@@ -925,12 +925,12 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
                     }
                     }
                     if( mZeile > -1 )
                     if( mZeile > -1 )
                     {
                     {
-                        int hö = getZeilenHöhe( (int)mZeile ) + ( me.my - my );
-                        if( hatStyle( Style::ZeilenHöheMax ) && hö > getMaxZeilenHöhe( (int)mZeile ) )
-                            hö = getMaxZeilenHöhe( (int)mZeile );
-                        if( hatStyle( Style::ZeilenHöheMin ) && hö < getMinZeilenHöhe( (int)mZeile ) )
-                            hö = getMinZeilenHöhe( (int)mZeile );
-                        setZeilenHöhe( (int)mZeile, hö );
+                        int hi = getZeilenHeight( (int)mZeile ) + ( me.my - my );
+                        if( hatStyle( Style::ZeilenHeightMax ) && hi > getMaxZeilenHeight( (int)mZeile ) )
+                            hi = getMaxZeilenHeight( (int)mZeile );
+                        if( hatStyle( Style::ZeilenHeightMin ) && hi < getMinZeilenHeight( (int)mZeile ) )
+                            hi = getMinZeilenHeight( (int)mZeile );
+                        setZeilenHeight( (int)mZeile, hi );
                         my = me.my;
                         my = me.my;
                         rend = 1;
                         rend = 1;
                     }
                     }
@@ -956,9 +956,9 @@ void ObjTabelle::doMausEreignis( MausEreignis &me ) // verarbeitet Nachrichten
         }
         }
         me.mx += ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
         me.mx += ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
         me.my += ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
         me.my += ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
-        if( me.id != ME_Betritt && me.id != ME_Verlässt )
+        if( me.id != ME_Betritt && me.id != ME_Leaves )
         {
         {
-            if( !außerhalb )
+            if( !ausserhalb )
             {
             {
                 bool vs = hatStyle( Style::VScroll ) && vertikalScrollBar;
                 bool vs = hatStyle( Style::VScroll ) && vertikalScrollBar;
                 bool hs = hatStyle( Style::HScroll ) && horizontalScrollBar;
                 bool hs = hatStyle( Style::HScroll ) && horizontalScrollBar;
@@ -1045,9 +1045,9 @@ void ObjTabelle::render( Bild &zRObj ) // zeichnet nach zRObj
 {
 {
     if( hatStyleNicht( Style::Sichtbar ) )
     if( hatStyleNicht( Style::Sichtbar ) )
         return;
         return;
-    __super::render( zRObj );
+	ZeichnungHintergrund::render( zRObj );
     lockZeichnung();
     lockZeichnung();
-    if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
+    if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
     {
     {
         unlockZeichnung();
         unlockZeichnung();
         return;
         return;
@@ -1066,12 +1066,12 @@ void ObjTabelle::render( Bild &zRObj ) // zeichnet nach zRObj
             continue;
             continue;
         for( int z = 0; z < zeilenAnzahl && tmp_zZeichnungs; ++z )
         for( int z = 0; z < zeilenAnzahl && tmp_zZeichnungs; ++z )
         {
         {
-            int zHö = zeilenHöhe->hat( z ) ? zeilenHöhe->get( z ) : 0;
+            int zHi = zeilenHeight->hat( z ) ? zeilenHeight->get( z ) : 0;
             Zeichnung *obj = tmp_zZeichnungs->hat( z ) ? tmp_zZeichnungs->get( z ) : 0;
             Zeichnung *obj = tmp_zZeichnungs->hat( z ) ? tmp_zZeichnungs->get( z ) : 0;
             if( obj )
             if( obj )
             {
             {
                 obj->setPosition( xPos, yPos );
                 obj->setPosition( xPos, yPos );
-                obj->setGröße( sBr, zHö );
+                obj->setSize( sBr, zHi );
                 obj->render( zRObj );
                 obj->render( zRObj );
                 if( selected.x == s && selected.y == z )
                 if( selected.x == s && selected.y == z )
                 {
                 {
@@ -1090,30 +1090,30 @@ void ObjTabelle::render( Bild &zRObj ) // zeichnet nach zRObj
                     if( aRamB )
                     if( aRamB )
                     {
                     {
                         tmp_aRam->setPosition( xPos, yPos );
                         tmp_aRam->setPosition( xPos, yPos );
-                        tmp_aRam->setGröße( sBr, zHö );
+                        tmp_aRam->setSize( sBr, zHi );
                         tmp_aRam->render( zRObj );
                         tmp_aRam->render( zRObj );
                         aRbr = tmp_aRam->getRBreite();
                         aRbr = tmp_aRam->getRBreite();
                     }
                     }
                     if( aAfB )
                     if( aAfB )
                     {
                     {
                         tmp_aAf->setPosition( aRbr + xPos, aRbr + yPos );
                         tmp_aAf->setPosition( aRbr + xPos, aRbr + yPos );
-                        tmp_aAf->setGröße( sBr - aRbr * 2, zHö - aRbr * 2 );
+                        tmp_aAf->setSize( sBr - aRbr * 2, zHi - aRbr * 2 );
                         tmp_aAf->render( zRObj );
                         tmp_aAf->render( zRObj );
                     }
                     }
                 }
                 }
             }
             }
             if( hatStyle( Style::Raster ) )
             if( hatStyle( Style::Raster ) )
             {
             {
-                zRObj.drawLinieH( xPos, yPos + zHö, sBr, rasterFarbe );
+                zRObj.drawLinieH( xPos, yPos + zHi, sBr, rasterFarbe );
                 yPos += rasterBreite;
                 yPos += rasterBreite;
             }
             }
-            yPos += zHö;
+            yPos += zHi;
             if( z == zeilenAnzahl - 1 && vertikalScrollBar && hatStyle( Style::VScroll ) )
             if( z == zeilenAnzahl - 1 && vertikalScrollBar && hatStyle( Style::VScroll ) )
                 vertikalScrollBar->getScrollData()->max = yPos + vertikalScrollBar->getScroll();
                 vertikalScrollBar->getScrollData()->max = yPos + vertikalScrollBar->getScroll();
         }
         }
         if( hatStyle( Style::Raster ) )
         if( hatStyle( Style::Raster ) )
         {
         {
-            zRObj.drawLinieV( xPos + sBr, 0, innenGröße.y, rasterFarbe );
+            zRObj.drawLinieV( xPos + sBr, 0, innenSize.y, rasterFarbe );
             xPos += rasterBreite;
             xPos += rasterBreite;
         }
         }
         xPos += sBr;
         xPos += sBr;
@@ -1237,19 +1237,19 @@ int ObjTabelle::getSpaltenBreite( Text *name ) const
     return getSpaltenBreite( getSpaltenNummer( name ) );
     return getSpaltenBreite( getSpaltenNummer( name ) );
 }
 }
 
 
-int ObjTabelle::getZeilenHöhe( int num ) const // gibt die Höhe der Zeile zurück
+int ObjTabelle::getZeilenHeight( int num ) const // gibt die Höhe der Zeile zurück
 {
 {
-    return zeilenHöhe->get( num );
+    return zeilenHeight->get( num );
 }
 }
 
 
-int ObjTabelle::getZeilenHöhe( const char *name ) const
+int ObjTabelle::getZeilenHeight( const char *name ) const
 {
 {
-    return getZeilenHöhe( getZeilenNummer( name ) );
+    return getZeilenHeight( getZeilenNummer( name ) );
 }
 }
 
 
-int ObjTabelle::getZeilenHöhe( Text *name ) const
+int ObjTabelle::getZeilenHeight( Text *name ) const
 {
 {
-    return getZeilenHöhe( getZeilenNummer( name ) );
+    return getZeilenHeight( getZeilenNummer( name ) );
 }
 }
 
 
 int ObjTabelle::getMinSpaltenBreite( int num ) const // gibt die minimale Spaltengröße zurück
 int ObjTabelle::getMinSpaltenBreite( int num ) const // gibt die minimale Spaltengröße zurück
@@ -1282,34 +1282,34 @@ int ObjTabelle::getMaxSpaltenBreite( Text *name ) const
     return getMaxSpaltenBreite( getSpaltenNummer( name ) );
     return getMaxSpaltenBreite( getSpaltenNummer( name ) );
 }
 }
 
 
-int ObjTabelle::getMinZeilenHöhe( int num ) const // gibt die minimale Zeilenhöhe zurück
+int ObjTabelle::getMinZeilenHeight( int num ) const // gibt die minimale Zeilenhöhe zurück
 {
 {
-    return minZeilenHöhe->get( num );
+    return minZeilenHeight->get( num );
 }
 }
 
 
-int ObjTabelle::getMinZeilenHöhe( const char *name ) const
+int ObjTabelle::getMinZeilenHeight( const char *name ) const
 {
 {
-    return getMinZeilenHöhe( getZeilenNummer( name ) );
+    return getMinZeilenHeight( getZeilenNummer( name ) );
 }
 }
 
 
-int ObjTabelle::getMinZeilenHöhe( Text *name ) const
+int ObjTabelle::getMinZeilenHeight( Text *name ) const
 {
 {
-    return getMinZeilenHöhe( getZeilenNummer( name ) );
+    return getMinZeilenHeight( getZeilenNummer( name ) );
 }
 }
 
 
-int ObjTabelle::getMaxZeilenHöhe( int num ) const // gibt die maximale Zeilenhöhe zurück
+int ObjTabelle::getMaxZeilenHeight( int num ) const // gibt die maximale Zeilenhöhe zurück
 {
 {
-    return maxZeilenHöhe->get( num );
+    return maxZeilenHeight->get( num );
 }
 }
 
 
-int ObjTabelle::getMaxZeilenHöhe( const char *name ) const
+int ObjTabelle::getMaxZeilenHeight( const char *name ) const
 {
 {
-    return getMaxZeilenHöhe( getZeilenNummer( name ) );
+    return getMaxZeilenHeight( getZeilenNummer( name ) );
 }
 }
 
 
-int ObjTabelle::getMaxZeilenHöhe( Text *name ) const
+int ObjTabelle::getMaxZeilenHeight( Text *name ) const
 {
 {
-    return getMaxZeilenHöhe( getZeilenNummer( name ) );
+    return getMaxZeilenHeight( getZeilenNummer( name ) );
 }
 }
 
 
 double ObjTabelle::getMausSpalte( int mx ) const // ermittelt die Spalte unter der Maus
 double ObjTabelle::getMausSpalte( int mx ) const // ermittelt die Spalte unter der Maus
@@ -1360,7 +1360,7 @@ double ObjTabelle::getMausZeile( int my ) const // ermittelt die Zeile unter der
     int yy = rahmen ? rahmen->getRBreite() : 0;
     int yy = rahmen ? rahmen->getRBreite() : 0;
     for( int i = 0; i < zeilenAnzahl; ++i )
     for( int i = 0; i < zeilenAnzahl; ++i )
     {
     {
-        yy += zeilenHöhe->get( i );
+        yy += zeilenHeight->get( i );
         if( my < yy - 5 )
         if( my < yy - 5 )
             return i;
             return i;
         if( my < yy + 5 )
         if( my < yy + 5 )
@@ -1520,7 +1520,7 @@ Zeichnung *ObjTabelle::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
 {
 {
     ObjTabelle *obj = new ObjTabelle();
     ObjTabelle *obj = new ObjTabelle();
     obj->setPosition( pos );
     obj->setPosition( pos );
-    obj->setGröße( gr );
+    obj->setSize( gr );
     obj->setMausEreignisParameter( makParam );
     obj->setMausEreignisParameter( makParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setMausEreignis( Mak );
     obj->setMausEreignis( Mak );
@@ -1555,12 +1555,12 @@ Zeichnung *ObjTabelle::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
             if( !s )
             if( !s )
             {
             {
                 obj->addZeile( zeilenNamen->get( z ) );
                 obj->addZeile( zeilenNamen->get( z ) );
-                if( zeilenHöhe->hat( z ) )
-                    obj->setZeilenHöhe( z, zeilenHöhe->get( z ) );
-                if( minZeilenHöhe->hat( z ) )
-                    obj->setMinZeilenHöhe( z, minZeilenHöhe->get( z ) );
-                if( maxZeilenHöhe->hat( z ) )
-                    obj->setMaxZeilenHöhe( z, maxZeilenHöhe->get( z ) );
+                if( zeilenHeight->hat( z ) )
+                    obj->setZeilenHeight( z, zeilenHeight->get( z ) );
+                if( minZeilenHeight->hat( z ) )
+                    obj->setMinZeilenHeight( z, minZeilenHeight->get( z ) );
+                if( maxZeilenHeight->hat( z ) )
+                    obj->setMaxZeilenHeight( z, maxZeilenHeight->get( z ) );
             }
             }
             if( zZeichnungs->z( s ) && zZeichnungs->z( s )->hat( z ) )
             if( zZeichnungs->z( s ) && zZeichnungs->z( s )->hat( z ) )
                 obj->setZeichnungZ( s, z, zZeichnungs->z( s )->get( z ) );
                 obj->setZeichnungZ( s, z, zZeichnungs->z( s )->get( z ) );

+ 44 - 44
Tabelle.h

@@ -20,20 +20,20 @@ namespace Framework
         class Style : public ZeichnungHintergrund::Style
         class Style : public ZeichnungHintergrund::Style
         {
         {
         public:
         public:
-            const static __int64 SpaltenBreiteÄnderbar = 0x00001000; // Wenn dieser Flag gesetzt wird, so kann der Benutzer die Spalten mit der Maus vergrößern und verkleinern
-            const static __int64 ZeilenHöheÄnderbar = 0x00002000; // Wenn dieser Flag gesetzt wird, so kann der Benutzer die Spalten mit der Maus vergrößern und verkleinern
+            const static __int64 SpaltenBreiteChangeable = 0x00001000; // Wenn dieser Flag gesetzt wird, so kann der Benutzer die Spalten mit der Maus vergrößern und verkleinern
+            const static __int64 ZeilenHeightChangeable = 0x00002000; // Wenn dieser Flag gesetzt wird, so kann der Benutzer die Spalten mit der Maus vergrößern und verkleinern
             const static __int64 SpaltenBreiteMin = 0x00004000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags SpaltenBreiteÄnderbar die Spaltenbreite nicht kleiner machen als eine bestimmte Grenze
             const static __int64 SpaltenBreiteMin = 0x00004000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags SpaltenBreiteÄnderbar die Spaltenbreite nicht kleiner machen als eine bestimmte Grenze
             const static __int64 SpaltenBreiteMax = 0x00008000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags SpaltenBreiteÄnderbar die Spaltenbreite nicht größer machen als eine bestimmte Grenze
             const static __int64 SpaltenBreiteMax = 0x00008000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags SpaltenBreiteÄnderbar die Spaltenbreite nicht größer machen als eine bestimmte Grenze
-            const static __int64 ZeilenHöheMin = 0x00010000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags ZeilenHöheÄnderbar die Zeilenhöhe nicht kleiner machen als eine bestimmte Grenze
-            const static __int64 ZeilenHöheMax = 0x00020000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags ZeilenHöheÄnderbar die Zeilenhöhe nicht größer machen als eine bestimmte Grenze
+            const static __int64 ZeilenHeightMin = 0x00010000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags ZeilenHöheÄnderbar die Zeilenhöhe nicht kleiner machen als eine bestimmte Grenze
+            const static __int64 ZeilenHeightMax = 0x00020000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer trotz des Flags ZeilenHöheÄnderbar die Zeilenhöhe nicht größer machen als eine bestimmte Grenze
             const static __int64 SpaltenBeweglich = 0x00040000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer die Reihenfolge der Spalten bestimmen, in dem er sie per Drag and Drop verschiebt
             const static __int64 SpaltenBeweglich = 0x00040000; // Wenn dieser Flag gesetzt wird, so kann der Nutzer die Reihenfolge der Spalten bestimmen, in dem er sie per Drag and Drop verschiebt
             const static __int64 AuswahlRahmen = 0x0080000; // Wenn dieser Flag gesetzt ist, so bekommt das Feld, dass der Benutzer durch den Flag Erlaubt auswählen kann einen anderen Rahmen
             const static __int64 AuswahlRahmen = 0x0080000; // Wenn dieser Flag gesetzt ist, so bekommt das Feld, dass der Benutzer durch den Flag Erlaubt auswählen kann einen anderen Rahmen
             const static __int64 AuswahlBuffer = 0x00100000; // Wenn dieser Flag gesetzt ist, so bekommt das Feld, dass der Benutzer durch den Flag Erlaubt auswählen kann ein anderes AlphaFeld
             const static __int64 AuswahlBuffer = 0x00100000; // Wenn dieser Flag gesetzt ist, so bekommt das Feld, dass der Benutzer durch den Flag Erlaubt auswählen kann ein anderes AlphaFeld
             const static __int64 AuswahlMultistyled = 0x00200000; // Wenn dieser Flag gesetzt ist, so kann jedes Feld andere Rahmen und AlphaFelder beim Auswählen haben.
             const static __int64 AuswahlMultistyled = 0x00200000; // Wenn dieser Flag gesetzt ist, so kann jedes Feld andere Rahmen und AlphaFelder beim Auswählen haben.
             const static __int64 Raster = 0x00400000; // Wenn dieser Flag gesetzt ist, so werden zwischen den Feldern Linien gezeichnet
             const static __int64 Raster = 0x00400000; // Wenn dieser Flag gesetzt ist, so werden zwischen den Feldern Linien gezeichnet
 
 
-            const static __int64 beweglich = SpaltenBreiteÄnderbar | ZeilenHöheÄnderbar | SpaltenBeweglich; // Vereint die Flags: SpaltenBreiteÄnderbar, ZeilenHöheÄnderbar, SpaltenBeweglich
-            const static __int64 min_max = SpaltenBreiteMax | SpaltenBreiteMin | ZeilenHöheMax | ZeilenHöheMax; // Vereint die Flags: SpaltenBreiteMax, SpaltenBreiteMin, ZeilenHöheMax, ZeilenHöheMax
+            const static __int64 beweglich = SpaltenBreiteChangeable | ZeilenHeightChangeable | SpaltenBeweglich; // Vereint die Flags: SpaltenBreiteÄnderbar, ZeilenHöheÄnderbar, SpaltenBeweglich
+            const static __int64 min_max = SpaltenBreiteMax | SpaltenBreiteMin | ZeilenHeightMax | ZeilenHeightMax; // Vereint die Flags: SpaltenBreiteMax, SpaltenBreiteMin, ZeilenHöheMax, ZeilenHöheMax
             const static __int64 scroll = VScroll | HScroll; // Vereint die Flags: VScroll, HScroll
             const static __int64 scroll = VScroll | HScroll; // Vereint die Flags: VScroll, HScroll
             const static __int64 normal = Rahmen | Erlaubt | Sichtbar | AuswahlBuffer | AuswahlRahmen | Raster; // Vereint die Flags: Rahmen, Erlaubt, Sichtbar, SpaltenBeweglich, AuswahlBuffer, AuswahlRahmen, Raster
             const static __int64 normal = Rahmen | Erlaubt | Sichtbar | AuswahlBuffer | AuswahlRahmen | Raster; // Vereint die Flags: Rahmen, Erlaubt, Sichtbar, SpaltenBeweglich, AuswahlBuffer, AuswahlRahmen, Raster
         };
         };
@@ -42,11 +42,11 @@ namespace Framework
         RCArray< Text > *spaltenNamen;
         RCArray< Text > *spaltenNamen;
         RCArray< Text > *zeilenNamen;
         RCArray< Text > *zeilenNamen;
         Array< int > *spaltenBreite;
         Array< int > *spaltenBreite;
-        Array< int > *zeilenHöhe;
+        Array< int > *zeilenHeight;
         Array< int > *minSpaltenBreite;
         Array< int > *minSpaltenBreite;
         Array< int > *maxSpaltenBreite;
         Array< int > *maxSpaltenBreite;
-        Array< int > *minZeilenHöhe;
-        Array< int > *maxZeilenHöhe;
+        Array< int > *minZeilenHeight;
+        Array< int > *maxZeilenHeight;
         int spaltenAnzahl, zeilenAnzahl;
         int spaltenAnzahl, zeilenAnzahl;
         int klickSpalte;
         int klickSpalte;
         double mSpalte, mZeile;
         double mSpalte, mZeile;
@@ -65,7 +65,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) ObjTabelle();
         __declspec( dllexport ) ObjTabelle();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~ObjTabelle();
+        __declspec( dllexport ) virtual ~ObjTabelle();
         // Fügt der Tabelle eine Spalte hinzu
         // Fügt der Tabelle eine Spalte hinzu
         //  name: Der Name der Spalte
         //  name: Der Name der Spalte
         __declspec( dllexport ) void addSpalte( const char *name );
         __declspec( dllexport ) void addSpalte( const char *name );
@@ -168,16 +168,16 @@ namespace Framework
         __declspec( dllexport ) void setSpaltenBreite( Text *name, int br );
         __declspec( dllexport ) void setSpaltenBreite( Text *name, int br );
         // Setzt die Zeilen Höhe
         // Setzt die Zeilen Höhe
         //  zNum: Der Index der Zeile
         //  zNum: Der Index der Zeile
-        //  hö: Die Höhe in Pixeln
-        __declspec( dllexport ) void setZeilenHöhe( int zNum, int hö );
+        //  hi: Die Höhe in Pixeln
+        __declspec( dllexport ) void setZeilenHeight( int zNum, int hi );
         // Setzt die Zeilen Höhe
         // Setzt die Zeilen Höhe
         //  name: Der Index der Zeile
         //  name: Der Index der Zeile
-        //  hö: Die Höhe in Pixeln
-        __declspec( dllexport ) void setZeilenHöhe( const char *name, int hö );
+        //  hi: Die Höhe in Pixeln
+        __declspec( dllexport ) void setZeilenHeight( const char *name, int hi );
         // Setzt die Zeilen Höhe
         // Setzt die Zeilen Höhe
         //  name: Der Index der Zeile
         //  name: Der Index der Zeile
-        //  hö: Die Höhe in Pixeln
-        __declspec( dllexport ) void setZeilenHöhe( Text *name, int hö );
+        //  hi: Die Höhe in Pixeln
+        __declspec( dllexport ) void setZeilenHeight( Text *name, int hi );
         // Setzt die minimale Spalten Breite (benötigt Flag: SpaltenBreiteÄnderbar, SpaltenBreiteMin)
         // Setzt die minimale Spalten Breite (benötigt Flag: SpaltenBreiteÄnderbar, SpaltenBreiteMin)
         //  sNum: Der Index der Spalte
         //  sNum: Der Index der Spalte
         //  minBr: Die minimale Breite in Pixeln
         //  minBr: Die minimale Breite in Pixeln
@@ -204,28 +204,28 @@ namespace Framework
         __declspec( dllexport ) void setMaxSpaltenBreite( Text *name, int maxBr );
         __declspec( dllexport ) void setMaxSpaltenBreite( Text *name, int maxBr );
         // Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMin)
         // Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMin)
         //  zNum: Der Index der Zeile
         //  zNum: Der Index der Zeile
-        //  minHö: Die minimale Höhe in Pixeln
-        __declspec( dllexport ) void setMinZeilenHöhe( int zNum, int minHö );
+        //  minHi: Die minimale Höhe in Pixeln
+        __declspec( dllexport ) void setMinZeilenHeight( int zNum, int minHi );
         // Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMin)
         // Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMin)
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        //  minHö: Die minimale Höhe in Pixeln
-        __declspec( dllexport ) void setMinZeilenHöhe( const char *name, int minHö );
+        //  minHi: Die minimale Höhe in Pixeln
+        __declspec( dllexport ) void setMinZeilenHeight( const char *name, int minHi );
         // Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMin)
         // Setzt die minimale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMin)
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        //  minHö: Die minimale Höhe in Pixeln
-        __declspec( dllexport ) void setMinZeilenHöhe( Text *name, int minHö );
+        //  minHi: Die minimale Höhe in Pixeln
+        __declspec( dllexport ) void setMinZeilenHeight( Text *name, int minHi );
         // Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMax)
         // Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMax)
         //  zNum: Der Index der Zeile
         //  zNum: Der Index der Zeile
-        //  maxHö: Die maximale Höhe in Pixeln
-        __declspec( dllexport ) void setMaxZeilenHöhe( int zNum, int maxHö );
+        //  maxHi: Die maximale Höhe in Pixeln
+        __declspec( dllexport ) void setMaxZeilenHeight( int zNum, int maxHi );
         // Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMax)
         // Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMax)
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        //  maxHö: Die maximale Höhe in Pixeln
-        __declspec( dllexport ) void setMaxZeilenHöhe( const char *name, int maxHö );
+        //  maxHi: Die maximale Höhe in Pixeln
+        __declspec( dllexport ) void setMaxZeilenHeight( const char *name, int maxHi );
         // Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMax)
         // Setzt die maximale Zeilen Höhe (benötigt Flag: ZeilenHöheÄnderbar, ZeienHöheMax)
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        //  maxHö: Die maximale Höhe in Pixeln
-        __declspec( dllexport ) void setMaxZeilenHöhe( Text *name, int maxHö );
+        //  maxHi: Die maximale Höhe in Pixeln
+        __declspec( dllexport ) void setMaxZeilenHeight( Text *name, int maxHi );
         // Legt fest, welches Feld ausgewählt ist (benötigt Flag: Erlaubt)
         // Legt fest, welches Feld ausgewählt ist (benötigt Flag: Erlaubt)
         //  sNum: Der Index der Spalte des Feldes
         //  sNum: Der Index der Spalte des Feldes
         //  zNum: Der Index der Zeile des Feldes
         //  zNum: Der Index der Zeile des Feldes
@@ -261,7 +261,7 @@ namespace Framework
         __declspec( dllexport ) void setAAfFarbe( int f );
         __declspec( dllexport ) void setAAfFarbe( int f );
         // Setzt die Stärke des AlphaFeldes, das für das ausgewählte Kästchen verwendet wird
         // Setzt die Stärke des AlphaFeldes, das für das ausgewählte Kästchen verwendet wird
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setAAfStärke( int st );
+        __declspec( dllexport ) void setAAfStrength( int st );
         // Setzt einen Zeiger auf einen Rahmen, der bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte wird
         // Setzt einen Zeiger auf einen Rahmen, der bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte wird
         //  sNum: Der Index der Spalte des Kästchens
         //  sNum: Der Index der Spalte des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
@@ -341,17 +341,17 @@ namespace Framework
         //  sNum: Der Index der Spalte des Kästchens
         //  sNum: Der Index der Spalte des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setAAfStärke( int sNum, int zNum, int st );
+        __declspec( dllexport ) void setAAfStrength( int sNum, int zNum, int st );
         // Setzt die Stärke des Farbüergangs, der bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte wird
         // Setzt die Stärke des Farbüergangs, der bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte wird
         //  spaltenName: Der Name der Spalte des Kästchens
         //  spaltenName: Der Name der Spalte des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setAAfStärke( const char *spaltenName, const char *zeilenName, int st );
+        __declspec( dllexport ) void setAAfStrength( const char *spaltenName, const char *zeilenName, int st );
         // Setzt die Stärke des Farbüergangs, der bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte wird
         // Setzt die Stärke des Farbüergangs, der bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte wird
         //  spaltenName: Der Name der Spalte des Kästchens
         //  spaltenName: Der Name der Spalte des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  st: Die Stärke
         //  st: Die Stärke
-        __declspec( dllexport ) void setAAfStärke( Text *spaltenName, Text *zeilenName, int st );
+        __declspec( dllexport ) void setAAfStrength( Text *spaltenName, Text *zeilenName, int st );
         // Fügt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte werden
         // Fügt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte werden
         //  sNum: Der Index der Spalte des Kästchens
         //  sNum: Der Index der Spalte des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
@@ -404,17 +404,17 @@ namespace Framework
         //  sNum: Der Index der Spalte des Kästchens
         //  sNum: Der Index der Spalte des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
         //  zNum: Der Index der Zeile des Kästchens
         //  style: der Style, der entfernt werden soll
         //  style: der Style, der entfernt werden soll
-        __declspec( dllexport ) void löscheMsStyle( int sNum, int zNum, __int64 style );
+        __declspec( dllexport ) void removeMsStyle( int sNum, int zNum, __int64 style );
         // Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte werden
         // Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte werden
         //  spaltenName: Der Name der Spalte des Kästchens
         //  spaltenName: Der Name der Spalte des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  style: der Style, der entfernt werden soll
         //  style: der Style, der entfernt werden soll
-        __declspec( dllexport ) void löscheMsStyle( const char *spaltenName, const char *zeilenName, __int64 style );
+        __declspec( dllexport ) void removeMsStyle( const char *spaltenName, const char *zeilenName, __int64 style );
         // Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte werden
         // Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled bei der Auswahl eines bestimmten Kästchens verwendte werden
         //  spaltenName: Der Name der Spalte des Kästchens
         //  spaltenName: Der Name der Spalte des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  zeilenName: Der Name der Zeile des Kästchens
         //  style: der Style, der entfernt werden soll
         //  style: der Style, der entfernt werden soll
-        __declspec( dllexport ) void löscheMsStyle( Text *spaltenName, Text *zeilenName, __int64 style );
+        __declspec( dllexport ) void removeMsStyle( Text *spaltenName, Text *zeilenName, __int64 style );
         // Aktualisiert das Objekt. Wird vom Framework aufgerufen
         // Aktualisiert das Objekt. Wird vom Framework aufgerufen
         //  tickVal: Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist
         //  tickVal: Die Zeit in sekunden, die seit dem lezten Aufruf dieser Funktion vergangen ist
         //  return: 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst
         //  return: 1, wenn sich etwas verändert hat und das Bild neu gezeichnet werden muss. 0 sonst
@@ -482,13 +482,13 @@ namespace Framework
         __declspec( dllexport ) int getSpaltenBreite( Text *name ) const;
         __declspec( dllexport ) int getSpaltenBreite( Text *name ) const;
         // Gibt die Höhe einer Zeile in Pixeln zurück
         // Gibt die Höhe einer Zeile in Pixeln zurück
         //  num: Der Index der Zeile
         //  num: Der Index der Zeile
-        __declspec( dllexport ) int getZeilenHöhe( int num ) const;
+        __declspec( dllexport ) int getZeilenHeight( int num ) const;
         // Gibt die Höhe einer Zeile in Pixeln zurück
         // Gibt die Höhe einer Zeile in Pixeln zurück
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        __declspec( dllexport ) int getZeilenHöhe( const char *name ) const;
+        __declspec( dllexport ) int getZeilenHeight( const char *name ) const;
         // Gibt die Höhe einer Zeile in Pixeln zurück
         // Gibt die Höhe einer Zeile in Pixeln zurück
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        __declspec( dllexport ) int getZeilenHöhe( Text *name ) const;
+        __declspec( dllexport ) int getZeilenHeight( Text *name ) const;
         // Gibt die minimale Spalten breite in Pixeln zurück
         // Gibt die minimale Spalten breite in Pixeln zurück
         //  num: Der Index der Spalte
         //  num: Der Index der Spalte
         __declspec( dllexport ) int getMinSpaltenBreite( int num ) const;
         __declspec( dllexport ) int getMinSpaltenBreite( int num ) const;
@@ -509,22 +509,22 @@ namespace Framework
         __declspec( dllexport ) int getMaxSpaltenBreite( Text *name ) const;
         __declspec( dllexport ) int getMaxSpaltenBreite( Text *name ) const;
         // Gibt die minimale Zeilen Höhe in Pixeln zurück
         // Gibt die minimale Zeilen Höhe in Pixeln zurück
         //  num: Der Index der Zeile
         //  num: Der Index der Zeile
-        __declspec( dllexport ) int getMinZeilenHöhe( int num ) const;
+        __declspec( dllexport ) int getMinZeilenHeight( int num ) const;
         // Gibt die minimale Zeilen Höhe in Pixeln zurück
         // Gibt die minimale Zeilen Höhe in Pixeln zurück
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        __declspec( dllexport ) int getMinZeilenHöhe( const char *name ) const;
+        __declspec( dllexport ) int getMinZeilenHeight( const char *name ) const;
         // Gibt die minimale Zeilen Höhe in Pixeln zurück
         // Gibt die minimale Zeilen Höhe in Pixeln zurück
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        __declspec( dllexport ) int getMinZeilenHöhe( Text *name ) const;
+        __declspec( dllexport ) int getMinZeilenHeight( Text *name ) const;
         // Gibt die maximale Zeilen Höhe in Pixeln zurück
         // Gibt die maximale Zeilen Höhe in Pixeln zurück
         //  num: Der Index der Zeile
         //  num: Der Index der Zeile
-        __declspec( dllexport ) int getMaxZeilenHöhe( int num ) const;
+        __declspec( dllexport ) int getMaxZeilenHeight( int num ) const;
         // Gibt die maximale Zeilen Höhe in Pixeln zurück
         // Gibt die maximale Zeilen Höhe in Pixeln zurück
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        __declspec( dllexport ) int getMaxZeilenHöhe( const char *name ) const;
+        __declspec( dllexport ) int getMaxZeilenHeight( const char *name ) const;
         // Gibt die maximale Zeilen Höhe in Pixeln zurück
         // Gibt die maximale Zeilen Höhe in Pixeln zurück
         //  name: Der Name der Zeile
         //  name: Der Name der Zeile
-        __declspec( dllexport ) int getMaxZeilenHöhe( Text *name ) const;
+        __declspec( dllexport ) int getMaxZeilenHeight( Text *name ) const;
         // Gibt den index der Splate zurück, auf die die Maus zeigt
         // Gibt den index der Splate zurück, auf die die Maus zeigt
         //  mx: Die x Koordinate der Mausposition basierend zum linken Rand der Tabelle in Pixeln
         //  mx: Die x Koordinate der Mausposition basierend zum linken Rand der Tabelle in Pixeln
         __declspec( dllexport ) double getMausSpalte( int mx ) const;
         __declspec( dllexport ) double getMausSpalte( int mx ) const;

+ 130 - 130
Text.cpp

@@ -14,7 +14,7 @@ Text::Text()
     : txt( 0 ),
     : txt( 0 ),
     suchGBeg( 0 ),
     suchGBeg( 0 ),
     suchGEnd( 0 ),
     suchGEnd( 0 ),
-    präzision( 0 ),
+    precision( 0 ),
     ref( 1 )
     ref( 1 )
 {
 {
     setText( "" );
     setText( "" );
@@ -24,7 +24,7 @@ Text::Text( const Text &txt )
     : txt( 0 ),
     : txt( 0 ),
     suchGBeg( 0 ),
     suchGBeg( 0 ),
     suchGEnd( 0 ),
     suchGEnd( 0 ),
-    präzision( 0 ),
+    precision( 0 ),
     ref( 1 )
     ref( 1 )
 {
 {
     setText( txt );
     setText( txt );
@@ -34,7 +34,7 @@ Text::Text( const char *t )
     : txt( 0 ),
     : txt( 0 ),
     suchGBeg( 0 ),
     suchGBeg( 0 ),
     suchGEnd( 0 ),
     suchGEnd( 0 ),
-    präzision( 0 ),
+    precision( 0 ),
     ref( 1 )
     ref( 1 )
 {
 {
     setText( t ); // Text setzen
     setText( t ); // Text setzen
@@ -44,7 +44,7 @@ Text::Text( int zahl )
     : txt( 0 ),
     : txt( 0 ),
     suchGBeg( 0 ),
     suchGBeg( 0 ),
     suchGEnd( 0 ),
     suchGEnd( 0 ),
-    präzision( 0 ),
+    precision( 0 ),
     ref( 1 )
     ref( 1 )
 {
 {
     *this = zahl;
     *this = zahl;
@@ -89,15 +89,15 @@ void Text::setText( Text *t )
     t = t->release(); // übergabe loslassen
     t = t->release(); // übergabe loslassen
 }
 }
 
 
-void Text::anhängen( char c ) // hängt an den Text an
+void Text::append( char c ) // hängt an den Text an
 {
 {
-    anhängen( &c, 1 );
+	append( &c, 1 );
 }
 }
 
 
-void Text::anhängen( const char *t ) // hängt an den Text an
+void Text::append( const char *t ) // hängt an den Text an
 {
 {
     int tl = (int)strlen( t ); // länge der übergabe
     int tl = (int)strlen( t ); // länge der übergabe
-    int txl = getLänge(); // länge des Textes
+    int txl = getLength(); // länge des Textes
     char *res = new char[ tl + txl + 1 ]; // neuen Text erstellen
     char *res = new char[ tl + txl + 1 ]; // neuen Text erstellen
     for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
     for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
         res[ i ] = txt[ i ];
         res[ i ] = txt[ i ];
@@ -108,14 +108,14 @@ void Text::anh
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::hexAnhängen( int num ) // hängt die zahl in hex anden Text an
+void Text::appendHex( int num ) // hängt die zahl in hex anden Text an
 {
 {
-    int l = getLänge();
+    int l = getLength();
     char *res = new char[ l + 9 ];
     char *res = new char[ l + 9 ];
     for( int i = 0; i < l; ++i )
     for( int i = 0; i < l; ++i )
         res[ i ] = txt[ i ];
         res[ i ] = txt[ i ];
     std::stringstream stream;
     std::stringstream stream;
-    stream << std::setfill( '0' ) << std::setw( sizeof( int ) * 2 ) << std::hex << num;
+    stream << std::setfill( '0' ) << std::setw( (int)sizeof( int ) * 2 ) << std::hex << num;
     std::string str = stream.str();
     std::string str = stream.str();
     for( int i = l; i < l + 8; ++i )
     for( int i = l; i < l + 8; ++i )
         res[ i ] = str.c_str()[ i - l ];
         res[ i ] = str.c_str()[ i - l ];
@@ -124,9 +124,9 @@ void Text::hexAnh
     delete[] res;
     delete[] res;
 }
 }
 
 
-void Text::farbeAnhängen( int fc ) // setzt die Farbe des folgenden Textes
+void Text::appendColor( int fc ) // setzt die Farbe des folgenden Textes
 {
 {
-    int l = getLänge();
+    int l = getLength();
     char *res = new char[ l + 12 ];
     char *res = new char[ l + 12 ];
     for( int i = 0; i < l; ++i )
     for( int i = 0; i < l; ++i )
         res[ i ] = txt[ i ];
         res[ i ] = txt[ i ];
@@ -134,7 +134,7 @@ void Text::farbeAnh
     res[ l + 1 ] = '0';
     res[ l + 1 ] = '0';
     res[ l + 2 ] = 'x';
     res[ l + 2 ] = 'x';
     std::stringstream stream;
     std::stringstream stream;
-    stream << std::setfill( '0' ) << std::setw( sizeof( int ) * 2 ) << std::hex << fc;
+    stream << std::setfill( '0' ) << std::setw( (int)sizeof( int ) * 2 ) << std::hex << fc;
     std::string str = stream.str();
     std::string str = stream.str();
     for( int i = l + 3; i < l + 11; ++i )
     for( int i = l + 3; i < l + 11; ++i )
         res[ i ] = str.c_str()[ i - ( l + 3 ) ];
         res[ i ] = str.c_str()[ i - ( l + 3 ) ];
@@ -143,9 +143,9 @@ void Text::farbeAnh
     delete[] res;
     delete[] res;
 }
 }
 
 
-void Text::anhängen( const char *t, int l ) // hängt an den Text an
+void Text::append( const char *t, int l ) // hängt an den Text an
 {
 {
-    int txl = getLänge(); // länge des Textes
+    int txl = getLength(); // länge des Textes
     char *res = new char[ l + txl + 1 ]; // neuen Text erstellen
     char *res = new char[ l + txl + 1 ]; // neuen Text erstellen
     for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
     for( int i = 0; i < txl; ++i ) // mit jetzigem Text füllen
         res[ i ] = txt[ i ];
         res[ i ] = txt[ i ];
@@ -156,40 +156,40 @@ void Text::anh
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::anhängen( Text *t )
+void Text::append( Text *t )
 {
 {
-    if( t->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
-        anhängen( t->getText() ); // Text anhängen
+    if( t->getLength() > 0 ) // Auf unsinnige übergabe prüfen
+        append( t->getText() ); // Text anhängen
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
 }
 }
 
 
-void Text::anhängen( int num )
+void Text::append( int num )
 {
 {
     std::stringstream ss;
     std::stringstream ss;
     ss << num;
     ss << num;
-    anhängen( ss.str().c_str() );
+    append( ss.str().c_str() );
 }
 }
 
 
-void Text::anhängen( unsigned int num )
+void Text::append( unsigned int num )
 {
 {
     std::stringstream ss;
     std::stringstream ss;
     ss << num;
     ss << num;
-    anhängen( ss.str().c_str() );
+    append( ss.str().c_str() );
 }
 }
 
 
-void Text::anhängen( double num )
+void Text::append( double num )
 {
 {
     std::stringstream ss;
     std::stringstream ss;
-    ss.precision( präzision );
+    ss.precision( precision );
     ss << num;
     ss << num;
-    anhängen( ss.str().c_str() );
+    append( ss.str().c_str() );
 }
 }
 
 
-void Text::einfügen( int p, char c ) // Fügt an stelle p ein
+void Text::insert( int p, char c ) // Fügt an stelle p ein
 {
 {
-    if( p > getLänge() || p < 0 ) // Auf unsinnige übergabe prüfen
+    if( p > getLength() || p < 0 ) // Auf unsinnige übergabe prüfen
         return;
         return;
-    int txl = getLänge(); // Länge des Textes
+    int txl = getLength(); // Länge des Textes
     char *res = new char[ txl + 2 ]; // neuer Text erstellen
     char *res = new char[ txl + 2 ]; // neuer Text erstellen
     for( int i = 0; i < p; ++i ) // Text füllen
     for( int i = 0; i < p; ++i ) // Text füllen
         res[ i ] = txt[ i ];
         res[ i ] = txt[ i ];
@@ -201,12 +201,12 @@ void Text::einf
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::einfügen( int p, const char *t ) // Fügt an stelle p ein
+void Text::insert( int p, const char *t ) // Fügt an stelle p ein
 {
 {
-    if( p > getLänge() || p < 0 || strlen( t ) <= 0 ) // Auf unsinnige übergabe prüfen
+    if( p > getLength() || p < 0 || strlen( t ) <= 0 ) // Auf unsinnige übergabe prüfen
         return;
         return;
     int tl = (int)strlen( t ); // Länge der übergabe
     int tl = (int)strlen( t ); // Länge der übergabe
-    int txl = getLänge(); // Länge des Textes
+    int txl = getLength(); // Länge des Textes
     char *res = new char[ tl + txl + 1 ]; // neuer Text erstellen
     char *res = new char[ tl + txl + 1 ]; // neuer Text erstellen
     for( int i = 0; i < p; ++i ) // Text füllen
     for( int i = 0; i < p; ++i ) // Text füllen
         res[ i ] = txt[ i ];
         res[ i ] = txt[ i ];
@@ -219,10 +219,10 @@ void Text::einf
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::einfügen( int p, Text *t )
+void Text::insert( int p, Text *t )
 {
 {
-    if( t->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
-        einfügen( p, t->getText() ); // Text einfügen
+    if( t->getLength() > 0 ) // Auf unsinnige übergabe prüfen
+        insert( p, t->getText() ); // Text einfügen
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
 }
 }
 
 
@@ -234,13 +234,13 @@ void Text::ersetzen( int p1, int p2, const char *t ) // Ersetzt den Text von p1
         p1 = p2;
         p1 = p2;
         p2 = x;
         p2 = x;
     }
     }
-    löschen( p1, p2 ); // Textabschnitt von p1 zu p2 löschen
-    einfügen( p1, t ); // Übergabe bei p1 einfügen
+    remove( p1, p2 ); // Textabschnitt von p1 zu p2 löschen
+    insert( p1, t ); // Übergabe bei p1 einfügen
 }
 }
 
 
 void Text::ersetzen( int p1, int p2, Text *t )
 void Text::ersetzen( int p1, int p2, Text *t )
 {
 {
-    if( t->getLänge() >= 0 ) // Auf unsinnige übergabe prüfen
+    if( t->getLength() >= 0 ) // Auf unsinnige übergabe prüfen
         ersetzen( p1, p2, t->getText() ); // Text ersetzen
         ersetzen( p1, p2, t->getText() ); // Text ersetzen
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
 }
 }
@@ -251,7 +251,7 @@ void Text::ersetzen( char c1, char c2 ) // ersetzt jedes c1 durch c2
         return;
         return;
     if( !hat( c1 ) ) // prüfen ob c1 vorhanden
     if( !hat( c1 ) ) // prüfen ob c1 vorhanden
         return;
         return;
-    int l = getLänge(); // Text Länge
+    int l = getLength(); // Text Länge
     int suchGCount = 0;
     int suchGCount = 0;
     for( int i = 0; i < l; ++i ) // Text durchsuchen
     for( int i = 0; i < l; ++i ) // Text durchsuchen
     {
     {
@@ -269,7 +269,7 @@ void Text::ersetzen( char c1, char c2 ) // ersetzt jedes c1 durch c2
 
 
 void Text::ersetzen( const char *t1, const char *t2 ) // ersetzt jedes t1 durch t2
 void Text::ersetzen( const char *t1, const char *t2 ) // ersetzt jedes t1 durch t2
 {
 {
-    int txl = getLänge(); // Text Länge
+    int txl = getLength(); // Text Länge
     int t1l = (int)strlen( t1 ); // Länge der Übergaben
     int t1l = (int)strlen( t1 ); // Länge der Übergaben
     int t2l = (int)strlen( t2 );
     int t2l = (int)strlen( t2 );
     if( t1l > txl || t1l <= 0 ) // Auf unsinnige übergabe prüfen
     if( t1l > txl || t1l <= 0 ) // Auf unsinnige übergabe prüfen
@@ -321,21 +321,21 @@ void Text::ersetzen( const char *t1, const char *t2 ) // ersetzt jedes t1 durch
 
 
 void Text::ersetzen( Text *t1, const char *t2 )
 void Text::ersetzen( Text *t1, const char *t2 )
 {
 {
-    if( t1->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
+    if( t1->getLength() > 0 ) // Auf unsinnige übergabe prüfen
         ersetzen( t1->getText(), t2 ); // ersetzen
         ersetzen( t1->getText(), t2 ); // ersetzen
     t1 = t1->release(); // Übergabe loslassen
     t1 = t1->release(); // Übergabe loslassen
 }
 }
 
 
 void Text::ersetzen( const char *t1, Text *t2 )
 void Text::ersetzen( const char *t1, Text *t2 )
 {
 {
-    if( t2->getLänge() >= 0 ) // Auf unsinnige übergabe prüfen
+    if( t2->getLength() >= 0 ) // Auf unsinnige übergabe prüfen
         ersetzen( t1, t2->getText() ); // ersetzen
         ersetzen( t1, t2->getText() ); // ersetzen
     t2 = t2->release(); // Übergabe loslassen
     t2 = t2->release(); // Übergabe loslassen
 }
 }
 
 
 void Text::ersetzen( Text *t1, Text *t2 )
 void Text::ersetzen( Text *t1, Text *t2 )
 {
 {
-    if( t1->getLänge() > 0 && t2->getLänge() >= 0 ) // Auf unsinnige übergabe prüfen
+    if( t1->getLength() > 0 && t2->getLength() >= 0 ) // Auf unsinnige übergabe prüfen
         ersetzen( t1->getText(), t2->getText() ); // ersetzen
         ersetzen( t1->getText(), t2->getText() ); // ersetzen
     t1 = t1->release(); // Übergaben loslassen
     t1 = t1->release(); // Übergaben loslassen
     t2 = t2->release();
     t2 = t2->release();
@@ -355,7 +355,7 @@ void Text::ersetzen( int index, char c1, char c2 ) // ersetzt das i-te c1 durch
 
 
 void Text::ersetzen( int index, const char *t1, const char *t2 ) // ersetzt das i-te t1 durch t2
 void Text::ersetzen( int index, const char *t1, const char *t2 ) // ersetzt das i-te t1 durch t2
 {
 {
-    int txl = getLänge(); // Text Länge
+    int txl = getLength(); // Text Länge
     int t1l = (int)strlen( t1 ); // Länge der Übergaben
     int t1l = (int)strlen( t1 ); // Länge der Übergaben
     if( t1l >= txl || t1l <= 0 || index < 0 ) // Auf unsinnige übergabe prüfen
     if( t1l >= txl || t1l <= 0 || index < 0 ) // Auf unsinnige übergabe prüfen
         return;
         return;
@@ -371,39 +371,39 @@ void Text::ersetzen( int index, const char *t1, const char *t2 ) // ersetzt das
 
 
 void Text::ersetzen( int i, Text *t1, const char *t2 )
 void Text::ersetzen( int i, Text *t1, const char *t2 )
 {
 {
-    if( t1->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
+    if( t1->getLength() > 0 ) // Auf unsinnige übergabe prüfen
         ersetzen( i, t1->getText(), t2 ); // ersetzen
         ersetzen( i, t1->getText(), t2 ); // ersetzen
     t1 = t1->release(); // Übergabe loslassen
     t1 = t1->release(); // Übergabe loslassen
 }
 }
 
 
 void Text::ersetzen( int i, const char *t1, Text *t2 )
 void Text::ersetzen( int i, const char *t1, Text *t2 )
 {
 {
-    if( t2->getLänge() >= 0 ) // Auf unsinnige übergabe prüfen
+    if( t2->getLength() >= 0 ) // Auf unsinnige übergabe prüfen
         ersetzen( i, t1, t2->getText() ); // ersetzen
         ersetzen( i, t1, t2->getText() ); // ersetzen
     t2 = t2->release(); // Übergabe loslassen
     t2 = t2->release(); // Übergabe loslassen
 }
 }
 
 
 void Text::ersetzen( int i, Text *t1, Text *t2 )
 void Text::ersetzen( int i, Text *t1, Text *t2 )
 {
 {
-    if( t1->getLänge() > 0 || t2->getLänge() >= 0 ) // Auf unsinnige übergabe prüfen
+    if( t1->getLength() > 0 || t2->getLength() >= 0 ) // Auf unsinnige übergabe prüfen
         ersetzen( i, t1->getText(), t2->getText() ); // ersetzen
         ersetzen( i, t1->getText(), t2->getText() ); // ersetzen
     t1 = t1->release(); // Übergaben loslassen
     t1 = t1->release(); // Übergaben loslassen
     t2 = t2->release();
     t2 = t2->release();
 }
 }
 
 
-void Text::füllText( char c, int län ) // setzt den Text zu so vielen c wie län groß ist
+void Text::fillText( char c, int len ) // setzt den Text zu so vielen c wie län groß ist
 {
 {
-    char *res = new char[ län + 1 ];
-    for( int i = 0; i < län; ++i )
+    char *res = new char[ len + 1 ];
+    for( int i = 0; i < len; ++i )
         res[ i ] = c;
         res[ i ] = c;
-    res[ län ] = '\0';
+    res[ len ] = '\0';
     setText( res );
     setText( res );
     delete[] res;
     delete[] res;
 }
 }
 
 
-void Text::löschen( int p ) // löscht p
+void Text::remove( int p ) // löscht p
 {
 {
-    int l = getLänge(); // Text Länge
+    int l = getLength(); // Text Länge
     if( p < 0 || p >= l ) // Auf unsinnige übergabe prüfen
     if( p < 0 || p >= l ) // Auf unsinnige übergabe prüfen
         return;
         return;
     char *res = new char[ l ]; // neuen Text anlegen
     char *res = new char[ l ]; // neuen Text anlegen
@@ -416,7 +416,7 @@ void Text::l
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::löschen( int p1, int p2 ) // löscht von p1 zu p2 ( p2 bleibt )
+void Text::remove( int p1, int p2 ) // löscht von p1 zu p2 ( p2 bleibt )
 {
 {
     if( p1 > p2 ) // p1 und p2 tauschen
     if( p1 > p2 ) // p1 und p2 tauschen
     {
     {
@@ -424,7 +424,7 @@ void Text::l
         p1 = p2;
         p1 = p2;
         p2 = x;
         p2 = x;
     }
     }
-    int l = getLänge(); // Länge des Testes
+    int l = getLength(); // Länge des Testes
     if( p1 < 0 || p2 > l ) // Auf unsinnige übergabe prüfen
     if( p1 < 0 || p2 > l ) // Auf unsinnige übergabe prüfen
         return;
         return;
     int resl = l - ( p2 - p1 ); // Länge vom Ergebnis
     int resl = l - ( p2 - p1 ); // Länge vom Ergebnis
@@ -438,11 +438,11 @@ void Text::l
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::löschen( char c ) // löscht jetes c
+void Text::remove( char c ) // löscht jetes c
 {
 {
     if( !hat( c ) ) // prüfen ob c vorhanden
     if( !hat( c ) ) // prüfen ob c vorhanden
         return;
         return;
-    int l = getLänge(); // Länge des Textes
+    int l = getLength(); // Länge des Textes
     int anz = anzahlVon( c ); // Anzahl von c
     int anz = anzahlVon( c ); // Anzahl von c
     char *res = new char[ l - anz + 1 ]; // neuen Text erstellen
     char *res = new char[ l - anz + 1 ]; // neuen Text erstellen
     int anz2 = 0;
     int anz2 = 0;
@@ -471,10 +471,10 @@ void Text::l
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::löschen( const char *t ) // löscht jetes t
+void Text::remove( const char *t ) // löscht jetes t
 {
 {
     int tl = (int)strlen( t ); // Länge der Übergabe
     int tl = (int)strlen( t ); // Länge der Übergabe
-    int txl = getLänge(); // Länge des Textes
+    int txl = getLength(); // Länge des Textes
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
         return;
         return;
     if( !hat( t ) ) // prüfen ob Text ein t enthält
     if( !hat( t ) ) // prüfen ob Text ein t enthält
@@ -502,14 +502,14 @@ void Text::l
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::löschen( Text *t )
+void Text::remove( Text *t )
 {
 {
-    if( t->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
-        löschen( t->getText() ); // löschen
+    if( t->getLength() > 0 ) // Auf unsinnige übergabe prüfen
+        remove( t->getText() ); // löschen
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
 }
 }
 
 
-void Text::löschen( int index, char c )
+void Text::remove( int index, char c )
 {
 {
     if( index < 0 || !hat( c ) ) // Auf unsinnige übergabe prüfen
     if( index < 0 || !hat( c ) ) // Auf unsinnige übergabe prüfen
         return;
         return;
@@ -519,7 +519,7 @@ void Text::l
     int pos = positionVon( c, index ); // Position vom i-ten c
     int pos = positionVon( c, index ); // Position vom i-ten c
     if( pos < 0 )
     if( pos < 0 )
         return;
         return;
-    int l = getLänge(); // Länge des Textes
+    int l = getLength(); // Länge des Textes
     if( !l )
     if( !l )
         return;
         return;
     char *res = new char[ l ]; // neuen Text erzeugen
     char *res = new char[ l ]; // neuen Text erzeugen
@@ -532,7 +532,7 @@ void Text::l
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::löschen( int index, const char *t ) // löscht das i-te t
+void Text::remove( int index, const char *t ) // löscht das i-te t
 {
 {
     int tl = (int)strlen( t ); // Länge der Übergabe
     int tl = (int)strlen( t ); // Länge der Übergabe
     if( index < 0 || !hat( t ) || tl <= 0 ) // Auf unsinnige übergabe prüfen
     if( index < 0 || !hat( t ) || tl <= 0 ) // Auf unsinnige übergabe prüfen
@@ -543,7 +543,7 @@ void Text::l
     int pos = positionVon( t, index ); // Position vom i-ten c
     int pos = positionVon( t, index ); // Position vom i-ten c
     if( pos < 0 )
     if( pos < 0 )
         return;
         return;
-    int l = getLänge(); // Länge des Textes
+    int l = getLength(); // Länge des Textes
     if( !l )
     if( !l )
         return;
         return;
     char *res = new char[ l - tl + 1 ]; // neuen Text erzeugen
     char *res = new char[ l - tl + 1 ]; // neuen Text erzeugen
@@ -556,20 +556,20 @@ void Text::l
     delete[] res; // Speicher freigeben
     delete[] res; // Speicher freigeben
 }
 }
 
 
-void Text::löschen( int i, Text *t )
+void Text::remove( int i, Text *t )
 {
 {
-    if( t->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
-        löschen( i, t->getText() ); // löschen
+    if( t->getLength() > 0 ) // Auf unsinnige übergabe prüfen
+        remove( i, t->getText() ); // löschen
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
 }
 }
 
 
-void Text::setPräzision( int p ) // setzt die Anzahl der Nachkommastellen bei doubles
+void Text::setPrecision( int p ) // setzt die Anzahl der Nachkommastellen bei doubles
 {
 {
-    präzision = p;
+    precision = p;
 }
 }
 
 
 // constant 
 // constant 
-int Text::getLänge() const // gibt die Text länge zurück
+int Text::getLength() const // gibt die Text länge zurück
 {
 {
     if( !txt )
     if( !txt )
         return -1;
         return -1;
@@ -601,18 +601,18 @@ int Text::getOKick( int pos ) const
     int lpos = 0;
     int lpos = 0;
     while( pos - lpos - 1 > 0 && txt[ pos - lpos - 1 ] != '\n' )
     while( pos - lpos - 1 > 0 && txt[ pos - lpos - 1 ] != '\n' )
         ++lpos;
         ++lpos;
-    int vllän = 1;
-    while( pos - lpos - vllän - 1 >= 0 && txt[ pos - lpos - vllän - 1 ] != '\n' )
-        ++vllän;
-    if( vllän > lpos )
-        return pos - vllän;
+    int vllen = 1;
+    while( pos - lpos - vllen - 1 >= 0 && txt[ pos - lpos - vllen - 1 ] != '\n' )
+        ++vllen;
+    if( vllen > lpos )
+        return pos - vllen;
     else
     else
         return pos - lpos - 1;
         return pos - lpos - 1;
 }
 }
 
 
 int Text::getRKick( int pos ) const
 int Text::getRKick( int pos ) const
 {
 {
-    int tl = getLänge();
+    int tl = getLength();
     if( txt[ pos ] == ' ' )
     if( txt[ pos ] == ' ' )
     {
     {
         int ret = 1;
         int ret = 1;
@@ -630,27 +630,27 @@ int Text::getRKick( int pos ) const
 int Text::getUKick( int pos ) const
 int Text::getUKick( int pos ) const
 {
 {
     if( !hat( '\n' ) )
     if( !hat( '\n' ) )
-        return getLänge();
+        return getLength();
     int lpos = 0;
     int lpos = 0;
     while( pos - lpos > 0 && txt[ pos - lpos - 1 ] != '\n' )
     while( pos - lpos > 0 && txt[ pos - lpos - 1 ] != '\n' )
         ++lpos;
         ++lpos;
-    int llän = 1;
-    while( pos + llän - 1 < getLänge() && txt[ pos + llän - 1 ] != '\n' )
-        ++llän;
-    int vllän = 1;
-    while( pos + llän + vllän - 1 < getLänge() && txt[ pos + llän + vllän - 1 ] != '\n' )
-        ++vllän;
-    if( vllän == 1 )
-        return pos + llän < getLänge() ? pos + llän : getLänge();
-    if( vllän < lpos )
-        return pos + llän + vllän - 1;
-    return pos + llän + lpos;
+    int llen = 1;
+    while( pos + llen - 1 < getLength() && txt[ pos + llen - 1 ] != '\n' )
+        ++llen;
+    int vllen = 1;
+    while( pos + llen + vllen - 1 < getLength() && txt[ pos + llen + vllen - 1 ] != '\n' )
+        ++vllen;
+    if( vllen == 1 )
+        return pos + llen < getLength() ? pos + llen : getLength();
+    if( vllen < lpos )
+        return pos + llen + vllen - 1;
+    return pos + llen + lpos;
 }
 }
 
 
 bool Text::hat( Text *t ) const // enthält der Text t
 bool Text::hat( Text *t ) const // enthält der Text t
 {
 {
     bool ret = 0;
     bool ret = 0;
-    if( t->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
+    if( t->getLength() > 0 ) // Auf unsinnige übergabe prüfen
         ret = hat( t->getText() ); // prüfen
         ret = hat( t->getText() ); // prüfen
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
     return ret;
     return ret;
@@ -659,7 +659,7 @@ bool Text::hat( Text *t ) const // enth
 bool Text::hat( const char *t ) const
 bool Text::hat( const char *t ) const
 {
 {
     int tl = (int)strlen( t ); // Länge der Übergabe
     int tl = (int)strlen( t ); // Länge der Übergabe
-    int txl = getLänge(); // Länge des Textes
+    int txl = getLength(); // Länge des Textes
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
         return 0;
         return 0;
     int suchGCount = 0;
     int suchGCount = 0;
@@ -691,7 +691,7 @@ bool Text::hat( const char *t ) const
 
 
 bool Text::hat( char c ) const // enthält c
 bool Text::hat( char c ) const // enthält c
 {
 {
-    int l = getLänge(); // Text Länge
+    int l = getLength(); // Text Länge
     bool ret = 0;
     bool ret = 0;
     int suchGCount = 0;
     int suchGCount = 0;
     for( int i = 0; i < l; ++i ) // suchen
     for( int i = 0; i < l; ++i ) // suchen
@@ -711,7 +711,7 @@ bool Text::hat( char c ) const // enth
 
 
 bool Text::istGleich( const char *t ) const // prüft ob det Text gleich t ist
 bool Text::istGleich( const char *t ) const // prüft ob det Text gleich t ist
 {
 {
-    int txl = getLänge(); // Text Länge
+    int txl = getLength(); // Text Länge
     int tl = (int)strlen( t ); // Länge der Übergabe
     int tl = (int)strlen( t ); // Länge der Übergabe
     if( txl != tl ) // Auf unsinniege Übergabe prüfen
     if( txl != tl ) // Auf unsinniege Übergabe prüfen
         return 0;
         return 0;
@@ -738,7 +738,7 @@ char *Text::getText() const // gibt Text zur
 int Text::anzahlVon( char c ) const // gibt die Anzahl von c im Text zurück
 int Text::anzahlVon( char c ) const // gibt die Anzahl von c im Text zurück
 {
 {
     int ret = 0;
     int ret = 0;
-    int l = getLänge(); // Text Länge
+    int l = getLength(); // Text Länge
     int suchGCount = 0;
     int suchGCount = 0;
     for( int i = 0; i < l; ++i ) // suchen
     for( int i = 0; i < l; ++i ) // suchen
     {
     {
@@ -756,7 +756,7 @@ int Text::anzahlVon( char c ) const // gibt die Anzahl von c im Text zur
 int Text::anzahlVon( const char *t ) const // gibt die Anzahl von t im Text zurück
 int Text::anzahlVon( const char *t ) const // gibt die Anzahl von t im Text zurück
 {
 {
     int tl = (int)strlen( t ); // Länge der Übergabe
     int tl = (int)strlen( t ); // Länge der Übergabe
-    int txl = getLänge(); // Länge des Textes
+    int txl = getLength(); // Länge des Textes
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
         return 0;
         return 0;
     int ret = 0;
     int ret = 0;
@@ -791,7 +791,7 @@ int Text::anzahlVon( const char *t ) const // gibt die Anzahl von t im Text zur
 int Text::anzahlVon( Text *t ) const
 int Text::anzahlVon( Text *t ) const
 {
 {
     int ret = 0;
     int ret = 0;
-    if( t->getLänge() > 0 )  // Auf unsinnige übergabe prüfen
+    if( t->getLength() > 0 )  // Auf unsinnige übergabe prüfen
         ret = anzahlVon( t->getText() ); // zählen
         ret = anzahlVon( t->getText() ); // zählen
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
     return ret;
     return ret;
@@ -799,7 +799,7 @@ int Text::anzahlVon( Text *t ) const
 
 
 int Text::positionVon( char c ) const // gibt die Position des ersten c zurück
 int Text::positionVon( char c ) const // gibt die Position des ersten c zurück
 {
 {
-    int l = getLänge(); // Text Länge
+    int l = getLength(); // Text Länge
     int suchGCount = 0;
     int suchGCount = 0;
     for( int i = 0; i < l; ++i ) // suchen
     for( int i = 0; i < l; ++i ) // suchen
     {
     {
@@ -819,7 +819,7 @@ int Text::positionVon( char c ) const // gibt die Position des ersten c zur
 int Text::positionVon( const char *t ) const // gibt die Position des ersten t zurück
 int Text::positionVon( const char *t ) const // gibt die Position des ersten t zurück
 {
 {
     int tl = (int)strlen( t ); // Länge der Übergabe
     int tl = (int)strlen( t ); // Länge der Übergabe
-    int txl = getLänge(); // Länge des Textes
+    int txl = getLength(); // Länge des Textes
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
         return -1;
         return -1;
     int suchGCount = 0;
     int suchGCount = 0;
@@ -853,7 +853,7 @@ int Text::positionVon( const char *t ) const // gibt die Position des ersten t z
 int Text::positionVon( Text *t ) const
 int Text::positionVon( Text *t ) const
 {
 {
     int ret = 0;
     int ret = 0;
-    if( t->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
+    if( t->getLength() > 0 ) // Auf unsinnige übergabe prüfen
         ret = positionVon( t->getText() ); // position ermitteln
         ret = positionVon( t->getText() ); // position ermitteln
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
     return ret;
     return ret;
@@ -861,7 +861,7 @@ int Text::positionVon( Text *t ) const
 
 
 int Text::positionVon( char c, int index ) const // gibt die Position des i-ten c zurück
 int Text::positionVon( char c, int index ) const // gibt die Position des i-ten c zurück
 {
 {
-    int l = getLänge(); // Text Länge
+    int l = getLength(); // Text Länge
     int ii = 0;
     int ii = 0;
     int suchGCount = 0;
     int suchGCount = 0;
     for( int i = 0; i < l; ++i ) // suchen
     for( int i = 0; i < l; ++i ) // suchen
@@ -892,7 +892,7 @@ int Text::positionVon( char c, int index ) const // gibt die Position des i-ten
 int Text::positionVon( const char *t, int index ) const // gibt die Position des i-ten t zurück
 int Text::positionVon( const char *t, int index ) const // gibt die Position des i-ten t zurück
 {
 {
     int tl = (int)strlen( t ); // Länge der Übergabe
     int tl = (int)strlen( t ); // Länge der Übergabe
-    int txl = getLänge(); // Länge des Textes
+    int txl = getLength(); // Länge des Textes
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
         return 0;
         return 0;
     int i2 = 0;
     int i2 = 0;
@@ -937,7 +937,7 @@ int Text::positionVon( const char *t, int index ) const // gibt die Position des
 int Text::positionVon( Text *t, int i ) const
 int Text::positionVon( Text *t, int i ) const
 {
 {
     int ret = 0;
     int ret = 0;
-    if( t->getLänge() > 0 ) // Auf unsinnige übergabe prüfen
+    if( t->getLength() > 0 ) // Auf unsinnige übergabe prüfen
         ret = positionVon( t->getText(), i ); // position ermitteln
         ret = positionVon( t->getText(), i ); // position ermitteln
     t = t->release(); // Übergabe loslassen
     t = t->release(); // Übergabe loslassen
     return ret;
     return ret;
@@ -951,7 +951,7 @@ Text *Text::getTeilText( int p1, int p2 ) const // gibt den Text von p1 bis p2 z
         p1 = p2;
         p1 = p2;
         p2 = x;
         p2 = x;
     }
     }
-    int l = getLänge(); // Text Länge
+    int l = getLength(); // Text Länge
     if( p1 < 0 || p2 > l ) // Auf unsinnige übergabe prüfen
     if( p1 < 0 || p2 > l ) // Auf unsinnige übergabe prüfen
         return new Text( "" );
         return new Text( "" );
     char *cp = new char[ p2 - p1 + 1 ]; // neuen Text erstellen
     char *cp = new char[ p2 - p1 + 1 ]; // neuen Text erstellen
@@ -967,7 +967,7 @@ Text *Text::getTeilText( int p1, int p2 ) const // gibt den Text von p1 bis p2 z
 
 
 Text *Text::getTeilText( int p ) const // gibt den Text von p bis zum Ende zurück
 Text *Text::getTeilText( int p ) const // gibt den Text von p bis zum Ende zurück
 {
 {
-    return getTeilText( p, getLänge() ); // Text zurückgeben
+    return getTeilText( p, getLength() ); // Text zurückgeben
 }
 }
 
 
 // Reference Counting
 // Reference Counting
@@ -988,39 +988,39 @@ Text *Text::release()
 // Operatoren
 // Operatoren
 Text &Text::operator+=( const int num )
 Text &Text::operator+=( const int num )
 {
 {
-    anhängen( num );
+    append( num );
     return *this;
     return *this;
 }
 }
 
 
 Text &Text::operator+=( const double num )
 Text &Text::operator+=( const double num )
 {
 {
-    anhängen( num );
+    append( num );
     return *this;
     return *this;
 }
 }
 
 
 Text &Text::operator+=( const char *txt )
 Text &Text::operator+=( const char *txt )
 {
 {
-    anhängen( txt );
+    append( txt );
     return *this;
     return *this;
 }
 }
 
 
 Text &Text::operator+=( const Text &txt )
 Text &Text::operator+=( const Text &txt )
 {
 {
-    anhängen( txt.getText() );
+    append( txt.getText() );
     return *this;
     return *this;
 }
 }
 
 
 Text &Text::operator=( const int num )
 Text &Text::operator=( const int num )
 {
 {
     setText( "" );
     setText( "" );
-    anhängen( num );
+    append( num );
     return *this;
     return *this;
 }
 }
 
 
 Text &Text::operator=( const double num )
 Text &Text::operator=( const double num )
 {
 {
     setText( "" );
     setText( "" );
-    anhängen( num );
+    append( num );
     return *this;
     return *this;
 }
 }
 
 
@@ -1057,34 +1057,34 @@ Text::operator double() const
 
 
 bool Text::operator>( Text &t ) const
 bool Text::operator>( Text &t ) const
 {
 {
-    int län1 = getLänge();
-    int län2 = t.getLänge();
+    int len1 = getLength();
+    int len2 = t.getLength();
     char *txt2 = t;
     char *txt2 = t;
-    for( int i = 0; i < län1 && i < län2; ++i )
+    for( int i = 0; i < len1 && i < len2; ++i )
     {
     {
         if( txt[ i ] > txt2[ i ] )
         if( txt[ i ] > txt2[ i ] )
             return 1;
             return 1;
         if( txt[ i ] < txt2[ i ] )
         if( txt[ i ] < txt2[ i ] )
             return 0;
             return 0;
     }
     }
-    if( län1 > län2 )
+    if( len1 > len2 )
         return 1;
         return 1;
     return 0;
     return 0;
 }
 }
 
 
 bool Text::operator<( Text &t ) const
 bool Text::operator<( Text &t ) const
 {
 {
-    int län1 = getLänge();
-    int län2 = t.getLänge();
+    int len1 = getLength();
+    int len2 = t.getLength();
     char *txt2 = t;
     char *txt2 = t;
-    for( int i = 0; i < län1 && i < län2; ++i )
+    for( int i = 0; i < len1 && i < len2; ++i )
     {
     {
         if( txt[ i ] < txt2[ i ] )
         if( txt[ i ] < txt2[ i ] )
             return 1;
             return 1;
         if( txt[ i ] > txt2[ i ] )
         if( txt[ i ] > txt2[ i ] )
             return 0;
             return 0;
     }
     }
-    if( län1 < län2 )
+    if( len1 < len2 )
         return 1;
         return 1;
     return 0;
     return 0;
 }
 }
@@ -1116,8 +1116,8 @@ int Framework::stringPositionVonString( char *string, char *suche, int sBegPos )
             return -1;
             return -1;
         ++string;
         ++string;
     }
     }
-    int tl = textLänge( suche ); // Länge der Übergabe
-    int txl = textLänge( string ); // Länge des Textes
+    int tl = textLength( suche ); // Länge der Übergabe
+    int txl = textLength( string ); // Länge des Textes
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
     if( tl <= 0 || tl > txl ) // Auf unsinnige übergabe prüfen
         return -1;
         return -1;
     for( int i = 0; i + tl <= txl; ++i ) // suchen
     for( int i = 0; i + tl <= txl; ++i ) // suchen
@@ -1136,7 +1136,7 @@ int Framework::stringPositionVonString( char *string, char *suche, int sBegPos )
 void Framework::TextKopieren( const char *txt ) // kopiert den Text in den Zwischenspeicher
 void Framework::TextKopieren( const char *txt ) // kopiert den Text in den Zwischenspeicher
 {
 {
 #ifdef WIN32
 #ifdef WIN32
-    int län = textLänge( txt ) + 1;
+    int län = textLength( txt ) + 1;
     if( län == 1 )
     if( län == 1 )
         return;
         return;
     HGLOBAL hMem = GlobalAlloc( GMEM_MOVEABLE, län );
     HGLOBAL hMem = GlobalAlloc( GMEM_MOVEABLE, län );
@@ -1151,7 +1151,7 @@ void Framework::TextKopieren( const char *txt ) // kopiert den Text in den Zwisc
 #endif
 #endif
 }
 }
 
 
-char *Framework::TextEinfügen() // gibt den Text aus der Zwischenablage zurück
+char *Framework::TextInsert() // gibt den Text aus der Zwischenablage zurück
 {
 {
 #ifdef WIN32
 #ifdef WIN32
     if( !OpenClipboard( 0 ) )
     if( !OpenClipboard( 0 ) )
@@ -1166,7 +1166,7 @@ char *Framework::TextEinf
 #endif
 #endif
 }
 }
 
 
-char Framework::KleinOrGroß( char c, bool gr )
+char Framework::smallOrBig( char c, bool gr )
 {
 {
     int ret = c;
     int ret = c;
     if( gr )
     if( gr )
@@ -1279,7 +1279,7 @@ char Framework::KleinOrGro
             }
             }
         }
         }
     }
     }
-    return ret;
+    return (char)ret;
 }
 }
 
 
 bool Framework::istSchreibbar( unsigned char zeichen ) // prüft, ob zeichen ein Schreibbarer Buchstabe ist
 bool Framework::istSchreibbar( unsigned char zeichen ) // prüft, ob zeichen ein Schreibbarer Buchstabe ist
@@ -1312,15 +1312,15 @@ bool Framework::istSchreibbar( unsigned char zeichen ) // pr
 unsigned int Framework::TextZuInt( char *c, int system ) // Konvertiert c zu int
 unsigned int Framework::TextZuInt( char *c, int system ) // Konvertiert c zu int
 {
 {
     if( system == 16 )
     if( system == 16 )
-        return strtoul( c, 0, system );
-    return strtol( c, 0, system );
+        return (unsigned int)strtoul( c, 0, system );
+    return (unsigned int)strtol( c, 0, system );
 }
 }
 
 
 unsigned int Framework::TextZuInt( char *c, char **c_ende, int system )
 unsigned int Framework::TextZuInt( char *c, char **c_ende, int system )
 {
 {
     if( system == 16 )
     if( system == 16 )
-        return strtoul( c, c_ende, system );
-    return strtol( c, c_ende, system );
+        return (unsigned int)strtoul( c, c_ende, system );
+    return (unsigned int)strtol( c, c_ende, system );
 }
 }
 
 
 double Framework::TextZuDouble( char *c ) // Konvertiert c zu double
 double Framework::TextZuDouble( char *c ) // Konvertiert c zu double
@@ -1333,7 +1333,7 @@ double Framework::TextZuDouble( char *c, char **c_ende )
     return strtod( c, c_ende );
     return strtod( c, c_ende );
 }
 }
 
 
-int Framework::textLänge( const char *txt ) // gibt die Länge von txt zurück
+int Framework::textLength( const char *txt ) // gibt die Länge von txt zurück
 {
 {
     if( !txt )
     if( !txt )
         return 0;
         return 0;

+ 28 - 28
Text.h

@@ -14,7 +14,7 @@ namespace Framework
         char *txt;
         char *txt;
         char suchGBeg;
         char suchGBeg;
         char suchGEnd;
         char suchGEnd;
-        int präzision;
+        int precision;
         int ref;
         int ref;
 
 
     public:
     public:
@@ -47,44 +47,44 @@ namespace Framework
         __declspec( dllexport ) void setText( Text *t );
         __declspec( dllexport ) void setText( Text *t );
         // Hängt eine Zeichenfolge ans Ende des Textes an, die von der Schrift Klasse beim zeichnen interpretiert wird, so dass der nachfolgende Text in einer anderen Farbe gezeichnet wird.
         // Hängt eine Zeichenfolge ans Ende des Textes an, die von der Schrift Klasse beim zeichnen interpretiert wird, so dass der nachfolgende Text in einer anderen Farbe gezeichnet wird.
         //  fc: Der Farbcode im A8R8G8B8 Format
         //  fc: Der Farbcode im A8R8G8B8 Format
-        __declspec( dllexport ) void farbeAnhängen( int fc );
+        __declspec( dllexport ) void appendColor( int fc );
         // Hängt die übergebene Zahl als Hex Text (0-F) ans Ende des Textes an.
         // Hängt die übergebene Zahl als Hex Text (0-F) ans Ende des Textes an.
         //  num: Die Zahl, die ins Hex System umgewandelt und angehängt werden soll
         //  num: Die Zahl, die ins Hex System umgewandelt und angehängt werden soll
-        __declspec( dllexport ) void hexAnhängen( int num );
+        __declspec( dllexport ) void appendHex( int num );
         // Fügt den übergebenen Buchtaben der Zeichenkette hinzu
         // Fügt den übergebenen Buchtaben der Zeichenkette hinzu
         //  c: Der Buchstabe, der angehängt werden soll
         //  c: Der Buchstabe, der angehängt werden soll
-        __declspec( dllexport ) void anhängen( char c );
+        __declspec( dllexport ) void append( char c );
         // Hängt die übergebene Zeichenkette ans Ende des Textes an
         // Hängt die übergebene Zeichenkette ans Ende des Textes an
         //  t: Die Zeichenkette, deren Kopie ans Ende des Textes angehängt werden soll
         //  t: Die Zeichenkette, deren Kopie ans Ende des Textes angehängt werden soll
-        __declspec( dllexport ) void anhängen( const char *t );
+        __declspec( dllexport ) void append( const char *t );
         // Hängt einen Teil der übergebenen Zeichenkette ans Ende des Textes an
         // Hängt einen Teil der übergebenen Zeichenkette ans Ende des Textes an
         //  t: Die Zeichenkette, deren Kopie angehängt werden soll
         //  t: Die Zeichenkette, deren Kopie angehängt werden soll
         //  l: Die Länge des Textabschnittes der angehängt werden soll
         //  l: Die Länge des Textabschnittes der angehängt werden soll
-        __declspec( dllexport ) void anhängen( const char *t, int l );
+        __declspec( dllexport ) void append( const char *t, int l );
         // Hängt den Inhalt des eines Textes ans Ende des Textes an
         // Hängt den Inhalt des eines Textes ans Ende des Textes an
         //  t: Der Text, dessen Kopie ans Ende des Textes angehängt werden soll
         //  t: Der Text, dessen Kopie ans Ende des Textes angehängt werden soll
-        __declspec( dllexport ) void anhängen( Text *t );
+        __declspec( dllexport ) void append( Text *t );
         // Hängt eine Zahl ans Ende Des Textes an
         // Hängt eine Zahl ans Ende Des Textes an
         //  num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
         //  num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
-        __declspec( dllexport ) void anhängen( int num );
+        __declspec( dllexport ) void append( int num );
         // Hängt eine Zahl ohne Vorzeichenbit am Ende des Textes an
         // Hängt eine Zahl ohne Vorzeichenbit am Ende des Textes an
         //  num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
         //  num: Die Zahl, die in einen Text umgewandelt und am Ende angehängt werden soll
-        __declspec( dllexport ) void anhängen( unsigned int num );
+        __declspec( dllexport ) void append( unsigned int num );
         // Hängt eine Kommazahl am Ende des Textes an
         // Hängt eine Kommazahl am Ende des Textes an
         //  num: Die Kommazahl, die am Ende des Textes angehängt werden soll
         //  num: Die Kommazahl, die am Ende des Textes angehängt werden soll
-        __declspec( dllexport ) void anhängen( double num );
+        __declspec( dllexport ) void append( double num );
         // Fügt an einer Bestimmten Stelle ein Zeichen in den Text ein
         // Fügt an einer Bestimmten Stelle ein Zeichen in den Text ein
         //  p: Die position im Text bei der das Zeichen eingefügt werden soll
         //  p: Die position im Text bei der das Zeichen eingefügt werden soll
         //  c: Das Zeichen, das eingefügt werden soll
         //  c: Das Zeichen, das eingefügt werden soll
-        __declspec( dllexport ) void einfügen( int p, char c );
+        __declspec( dllexport ) void insert( int p, char c );
         // Fügt an einer Bestimmten Stelle im Text eine Zeichenkette ein
         // Fügt an einer Bestimmten Stelle im Text eine Zeichenkette ein
         //  p: Die position im Text bei der die Zeichenkette eingefügt werden soll
         //  p: Die position im Text bei der die Zeichenkette eingefügt werden soll
         //  t: Die Zeichenkette, deren Kopie an eingefügt werden soll
         //  t: Die Zeichenkette, deren Kopie an eingefügt werden soll
-        __declspec( dllexport ) void einfügen( int p, const char *t );
+        __declspec( dllexport ) void insert( int p, const char *t );
         // Fügt den Inhalt eines Textes an einer Bestimmten Stelle im Text ein
         // Fügt den Inhalt eines Textes an einer Bestimmten Stelle im Text ein
         //  p: Die Position im Text, bei der der inhalt des Textest eingefügt werden soll
         //  p: Die Position im Text, bei der der inhalt des Textest eingefügt werden soll
         //  t: Der Text, dessen Kopie an der Stelle eingefügt werden soll
         //  t: Der Text, dessen Kopie an der Stelle eingefügt werden soll
-        __declspec( dllexport ) void einfügen( int p, Text *t );
+        __declspec( dllexport ) void insert( int p, Text *t );
         // Ersetzt einen bestimmten Textabschnitt mit einer anderen Zeichenkette
         // Ersetzt einen bestimmten Textabschnitt mit einer anderen Zeichenkette
         //  p1: Die Startposition des zu ersetzenden Textabschnittes
         //  p1: Die Startposition des zu ersetzenden Textabschnittes
         //  p2: Die Endposition des zu ersetzenden Textabschnittes
         //  p2: Die Endposition des zu ersetzenden Textabschnittes
@@ -144,41 +144,41 @@ namespace Framework
         __declspec( dllexport ) void ersetzen( int i, Text *t1, Text *t2 );
         __declspec( dllexport ) void ersetzen( int i, Text *t1, Text *t2 );
         // Löscht den bisherigen Text und erzeugt einen Text, der aus einem Bestimten Buchstaben besteht, mit einer bestimmten Länge
         // Löscht den bisherigen Text und erzeugt einen Text, der aus einem Bestimten Buchstaben besteht, mit einer bestimmten Länge
         //  c: Der Buchstabe, aus dem der Text bestehen soll
         //  c: Der Buchstabe, aus dem der Text bestehen soll
-        //  län: Die Länge des Textes
-        __declspec( dllexport ) void füllText( char c, int län );
+        //  length: Die Länge des Textes
+        __declspec( dllexport ) void fillText( char c, int length );
         // Löscht ein Bestimmtes Zeichen aus dem Text
         // Löscht ein Bestimmtes Zeichen aus dem Text
         //  p: Die Position des zu löschenden Zeichens
         //  p: Die Position des zu löschenden Zeichens
-        __declspec( dllexport ) void löschen( int p );
+        __declspec( dllexport ) void remove( int p );
         // Löscht einen Bestimmten Textabschnitt
         // Löscht einen Bestimmten Textabschnitt
         //  p1: Die Startposition des zu löschenden Abschnittes
         //  p1: Die Startposition des zu löschenden Abschnittes
         //  p2: Die Endposition des zu löschenden Abschnittes (Das Zeichen bei p2 bleibt erhalten)
         //  p2: Die Endposition des zu löschenden Abschnittes (Das Zeichen bei p2 bleibt erhalten)
-        __declspec( dllexport ) void löschen( int p1, int p2 );
+        __declspec( dllexport ) void remove( int p1, int p2 );
         // Löscht jedes Vorkommen eines bestimmten Buchsaben
         // Löscht jedes Vorkommen eines bestimmten Buchsaben
         //  c: Der Buchstabe, dessen Vorkommen gelöscht werden soll
         //  c: Der Buchstabe, dessen Vorkommen gelöscht werden soll
-        __declspec( dllexport ) void löschen( char c );
+        __declspec( dllexport ) void remove( char c );
         // Löscht jedes Vorkommen einer bestimmten Zeichenkette
         // Löscht jedes Vorkommen einer bestimmten Zeichenkette
         //  t: Die Zeichenkette, deren Vorkommen entfernt werden sollen
         //  t: Die Zeichenkette, deren Vorkommen entfernt werden sollen
-        __declspec( dllexport ) void löschen( const char *t );
+        __declspec( dllexport ) void remove( const char *t );
         // Löscht jedes Vorkommen des Inhalts eines Textes
         // Löscht jedes Vorkommen des Inhalts eines Textes
         //  t: Der text, dessen Inhalt gelöscht werden soll
         //  t: Der text, dessen Inhalt gelöscht werden soll
-        __declspec( dllexport ) void löschen( Text *t );
+        __declspec( dllexport ) void remove( Text *t );
         // Löscht das i-te Vorkommen eines bestimmten Buchstaben
         // Löscht das i-te Vorkommen eines bestimmten Buchstaben
         //  i: Das wie vielte Vorkommen des Buchstabens gelöscht werden soll
         //  i: Das wie vielte Vorkommen des Buchstabens gelöscht werden soll
         //  c: Der Buchstabe, dessen i-tes Vorkommen gelöscht werden soll
         //  c: Der Buchstabe, dessen i-tes Vorkommen gelöscht werden soll
-        __declspec( dllexport ) void löschen( int i, char c );
+        __declspec( dllexport ) void remove( int i, char c );
         // Löscht das i-te Vorkommen einer bestimmten Zechenkette
         // Löscht das i-te Vorkommen einer bestimmten Zechenkette
         //  i: Das wie vielte Vorkommen der Zeichenkette gelöscht werden soll
         //  i: Das wie vielte Vorkommen der Zeichenkette gelöscht werden soll
         //  t: Die Zeichenkette, dessen i-tes Vorkommen gelöscht werden soll
         //  t: Die Zeichenkette, dessen i-tes Vorkommen gelöscht werden soll
-        __declspec( dllexport ) void löschen( int i, const char *t );
+        __declspec( dllexport ) void remove( int i, const char *t );
         // Löscht das i-te Vorkommen eines bestimmten Textinhaltes
         // Löscht das i-te Vorkommen eines bestimmten Textinhaltes
         //  i: Das wie vielte Vorkommen des Textinhaltes gelöscht werden soll
         //  i: Das wie vielte Vorkommen des Textinhaltes gelöscht werden soll
         //  t: Der Text, dessen i-tes Vorkommen gelöscht werden soll
         //  t: Der Text, dessen i-tes Vorkommen gelöscht werden soll
-        __declspec( dllexport ) void löschen( int i, Text *t );
+        __declspec( dllexport ) void remove( int i, Text *t );
         // Setzt die Anzahl der Nachkommastellen beim Anhängen von Kommazahlen
         // Setzt die Anzahl der Nachkommastellen beim Anhängen von Kommazahlen
         //  p: Die Anzahl der Stellen nach dem Komma
         //  p: Die Anzahl der Stellen nach dem Komma
-        __declspec( dllexport ) void setPräzision( int p );
+        __declspec( dllexport ) void setPrecision( int p );
         // Gibt die Länge des Textes zurück
         // Gibt die Länge des Textes zurück
-        __declspec( dllexport ) int getLänge() const;
+        __declspec( dllexport ) int getLength() const;
         // Ermittelt die neue Curserposition nachdem Drücken der 'Links' Pfeiltaste
         // Ermittelt die neue Curserposition nachdem Drücken der 'Links' Pfeiltaste
         //  pos: Die alte Curserposition
         //  pos: Die alte Curserposition
         __declspec( dllexport ) int getLKick( int pos ) const;
         __declspec( dllexport ) int getLKick( int pos ) const;
@@ -311,12 +311,12 @@ namespace Framework
     __declspec( dllexport ) void TextKopieren( const char *txt );
     __declspec( dllexport ) void TextKopieren( const char *txt );
     // Ermittelt, ob in der Zwischenablage des Betriebssystems eine Zeichenkette steht.
     // Ermittelt, ob in der Zwischenablage des Betriebssystems eine Zeichenkette steht.
     //  return: Die Zeichenkette aus der Zwischenablage. Wenn keine Zeichenkette kopiert wurde, wird eine lehre Zeichenkette zurückgegeben.
     //  return: Die Zeichenkette aus der Zwischenablage. Wenn keine Zeichenkette kopiert wurde, wird eine lehre Zeichenkette zurückgegeben.
-    __declspec( dllexport ) char *TextEinfügen();
+    __declspec( dllexport ) char *TextInsert();
     // Wandelt einen bestimmten schreibbaren Buchstaben in einen Groß- oder Kleinbuchstaben um
     // Wandelt einen bestimmten schreibbaren Buchstaben in einen Groß- oder Kleinbuchstaben um
     //  c: Der Buchstabe, der umgewandelt werden soll
     //  c: Der Buchstabe, der umgewandelt werden soll
     //  groß: Wenn (true), so wird der Buchstabe in einen Großbuchstaben umgewandelt. Wenn (false), wird er in einen Kleinbuchstaben umgewandelt.
     //  groß: Wenn (true), so wird der Buchstabe in einen Großbuchstaben umgewandelt. Wenn (false), wird er in einen Kleinbuchstaben umgewandelt.
     //  return: Den umgewandelten Buchstaben
     //  return: Den umgewandelten Buchstaben
-    __declspec( dllexport ) char KleinOrGroß( char c, bool groß );
+    __declspec( dllexport ) char smallOrBig( char c, bool big );
     // Ermittelt, ob ein Buchstabe ein schreibbares Zeichen ist
     // Ermittelt, ob ein Buchstabe ein schreibbares Zeichen ist
     //  zeichen: Der Buchstabe, der geprüft werden soll
     //  zeichen: Der Buchstabe, der geprüft werden soll
     //  return: (true), wenn der Buchstabe gezeichnet werden kann. (false) sonnst
     //  return: (true), wenn der Buchstabe gezeichnet werden kann. (false) sonnst
@@ -344,6 +344,6 @@ namespace Framework
     // Ermittelt die Länge einer bestimmten Zeichenkette
     // Ermittelt die Länge einer bestimmten Zeichenkette
     //  txt: Die Zeichenkette, deren Länge ermittelt werden soll
     //  txt: Die Zeichenkette, deren Länge ermittelt werden soll
     //  return: Die Länge der Zeichenkette
     //  return: Die Länge der Zeichenkette
-    __declspec( dllexport ) int textLänge( const char *txt );
+    __declspec( dllexport ) int textLength( const char *txt );
 }
 }
 #endif
 #endif

+ 697 - 699
TextFeld.cpp

@@ -18,825 +18,823 @@ using namespace Framework;
 // Inhalt der TextFeld Klasse aus TextFeld.h 
 // Inhalt der TextFeld Klasse aus TextFeld.h 
 // Konstruktor 
 // Konstruktor 
 TextFeld::TextFeld()
 TextFeld::TextFeld()
-    : ZeichnungHintergrund(),
-    schriftGröße( 12 ),
-    schrift( 0 ),
-    text( 0 ),
-    sF( 0xFF000000 ),
-    showChar( 0 ),
-    begf( 0 ),
-    cpos( 0 ),
-    tickVal( 0 ),
-    mausKlick( 0 ),
-    ref( 1 )
+	: ZeichnungHintergrund(),
+	schriftSize( 12 ),
+	schrift( 0 ),
+	text( 0 ),
+	sF( 0xFF000000 ),
+	showChar( 0 ),
+	begf( 0 ),
+	cpos( 0 ),
+	tickVal( 0 ),
+	mausKlick( 0 ),
+	ref( 1 )
 {
 {
-    horizontalScrollBar = new HScrollBar();
-    vertikalScrollBar = new VScrollBar();
-    style = 0;
-    this->setMausEreignis( _ret1ME );
-    this->setTastaturEreignis( _ret1TE );
+	horizontalScrollBar = new HScrollBar();
+	vertikalScrollBar = new VScrollBar();
+	style = 0;
+	this->setMausEreignis( _ret1ME );
+	this->setTastaturEreignis( _ret1TE );
 }
 }
 
 
 // Destruktor 
 // Destruktor 
 TextFeld::~TextFeld()
 TextFeld::~TextFeld()
 {
 {
-    if( schrift )
-        schrift->release();
-    if( text )
-        text->release();
+	if( schrift )
+		schrift->release();
+	if( text )
+		text->release();
 }
 }
 
 
 // nicht constant 
 // nicht constant 
 void TextFeld::setText( Text *txt ) // setzt den angezeigten Text
 void TextFeld::setText( Text *txt ) // setzt den angezeigten Text
 {
 {
-    lockZeichnung();
-    if( !text )
-        text = new Text();
-    text->setText( txt );
-    if( hatStyle( Style::VScroll ) )
-        updateVScroll();
-    if( hatStyle( Style::HScroll ) )
-        updateHScroll();
-    unlockZeichnung();
-    rend = 1;
+	lockZeichnung();
+	if( !text )
+		text = new Text();
+	text->setText( txt );
+	if( hatStyle( Style::VScroll ) )
+		updateVScroll();
+	if( hatStyle( Style::HScroll ) )
+		updateHScroll();
+	unlockZeichnung();
+	rend = 1;
 }
 }
 
 
 void TextFeld::setTextZ( Text *txt ) // setzt einen Zeiger zum angezeigten Text
 void TextFeld::setTextZ( Text *txt ) // setzt einen Zeiger zum angezeigten Text
 {
 {
-    lockZeichnung();
-    if( text )
-        text->release();
-    text = txt;
-    if( hatStyle( Style::VScroll ) )
-        updateVScroll();
-    if( hatStyle( Style::HScroll ) )
-        updateHScroll();
-    rend = 1;
-    unlockZeichnung();
+	lockZeichnung();
+	if( text )
+		text->release();
+	text = txt;
+	if( hatStyle( Style::VScroll ) )
+		updateVScroll();
+	if( hatStyle( Style::HScroll ) )
+		updateHScroll();
+	rend = 1;
+	unlockZeichnung();
 }
 }
 
 
 void TextFeld::setText( const char *txt ) // setzt den angezeigten Text
 void TextFeld::setText( const char *txt ) // setzt den angezeigten Text
 {
 {
-    lockZeichnung();
-    if( !text )
-        text = new Text();
-    text->setText( txt );
-    if( hatStyle( Style::VScroll ) )
-        updateVScroll();
-    if( hatStyle( Style::HScroll ) )
-        updateHScroll();
-    rend = 1;
-    unlockZeichnung();
+	lockZeichnung();
+	if( !text )
+		text = new Text();
+	text->setText( txt );
+	if( hatStyle( Style::VScroll ) )
+		updateVScroll();
+	if( hatStyle( Style::HScroll ) )
+		updateHScroll();
+	rend = 1;
+	unlockZeichnung();
 }
 }
 
 
 void TextFeld::addZeile( const char *zeile ) // fügt Zeile An
 void TextFeld::addZeile( const char *zeile ) // fügt Zeile An
 {
 {
-    if( text )
-    {
-        Text *txt = new Text( zeile );
-        txt->anhängen( "\n" );
-        if( schrift )
-        {
-            bool vs = vertikalScrollBar && hatStyle( Style::VScroll );
-            int rbr = ( rahmen && hatStyle( Style::Rahmen ) ) ? rahmen->getRBreite() : 0;
-            schrift->lock();
-            schrift->setSchriftGröße( schriftGröße );
-            schrift->textFormatieren( txt, gr.x - ( (int)vs * 15 ) - rbr * 2, schriftGröße );
-            schrift->unlock();
-        }
-        lockZeichnung();
-        text->anhängen( txt->getText() );
-        unlockZeichnung();
-        txt->release();
-        if( hatStyle( Style::VScroll ) )
-            updateVScroll();
-        if( hatStyle( Style::HScroll ) )
-            updateHScroll();
-        rend = 1;
-    }
+	if( text )
+	{
+		Text *txt = new Text( zeile );
+		txt->append( "\n" );
+		if( schrift )
+		{
+			bool vs = vertikalScrollBar && hatStyle( Style::VScroll );
+			int rbr = ( rahmen && hatStyle( Style::Rahmen ) ) ? rahmen->getRBreite() : 0;
+			schrift->lock();
+			schrift->setSchriftSize( schriftSize );
+			schrift->textFormatieren( txt, gr.x - ( (int)vs * 15 ) - rbr * 2, schriftSize );
+			schrift->unlock();
+		}
+		lockZeichnung();
+		text->append( txt->getText() );
+		unlockZeichnung();
+		txt->release();
+		if( hatStyle( Style::VScroll ) )
+			updateVScroll();
+		if( hatStyle( Style::HScroll ) )
+			updateHScroll();
+		rend = 1;
+	}
 }
 }
 
 
 void TextFeld::setAuswahl( int pos1, int pos2 ) // setzt den Ausgewählten Text
 void TextFeld::setAuswahl( int pos1, int pos2 ) // setzt den Ausgewählten Text
 {
 {
-    cpos = pos1;
-    begf = pos2;
-    rend = 1;
+	cpos = pos1;
+	begf = pos2;
+	rend = 1;
 }
 }
 
 
 void TextFeld::setAuswahl( Punkt &auswahl )
 void TextFeld::setAuswahl( Punkt &auswahl )
 {
 {
-    cpos = auswahl.x;
-    begf = auswahl.y;
-    rend = 1;
+	cpos = auswahl.x;
+	begf = auswahl.y;
+	rend = 1;
 }
 }
 
 
 void TextFeld::setSchriftZ( Schrift *schrift ) // setzt einen Zeiger zur Schrift
 void TextFeld::setSchriftZ( Schrift *schrift ) // setzt einen Zeiger zur Schrift
 {
 {
-    if( this->schrift )
-        this->schrift->release();
-    this->schrift = schrift;
-    rend = 1;
+	if( this->schrift )
+		this->schrift->release();
+	this->schrift = schrift;
+	rend = 1;
 }
 }
 
 
-void TextFeld::setSchriftGröße( unsigned char gr ) // setzt die Schriftgröße
+void TextFeld::setSchriftSize( unsigned char gr ) // setzt die Schriftgröße
 {
 {
-    schriftGröße = gr;
-    rend = 1;
+	schriftSize = gr;
+	rend = 1;
 }
 }
 
 
 void TextFeld::setSchriftFarbe( int fc ) // setzt die Schrift Farbe
 void TextFeld::setSchriftFarbe( int fc ) // setzt die Schrift Farbe
 {
 {
-    sF = fc;
-    rend = 1;
+	sF = fc;
+	rend = 1;
 }
 }
 
 
 void TextFeld::setSchowChar( unsigned char c ) // bei Passwortfeld *
 void TextFeld::setSchowChar( unsigned char c ) // bei Passwortfeld *
 {
 {
-    showChar = c;
-    rend = 1;
+	showChar = c;
+	rend = 1;
 }
 }
 
 
 void TextFeld::setVScrollZuZeile( int zeile ) // scrollt zur Zeile
 void TextFeld::setVScrollZuZeile( int zeile ) // scrollt zur Zeile
 {
 {
-    if( vertikalScrollBar && schrift && text && hatStyle( Style::Mehrzeilig ) )
-    {
-        schrift->lock();
-        schrift->setSchriftGröße( schriftGröße );
-        Text t = "a";
-        vertikalScrollBar->scroll( zeile * ( schrift->getZeilenabstand() + schrift->getTextHöhe( &t ) ) );
-        schrift->unlock();
-        rend = 1;
-    }
+	if( vertikalScrollBar && schrift && text && hatStyle( Style::Mehrzeilig ) )
+	{
+		schrift->lock();
+		schrift->setSchriftSize( schriftSize );
+		Text t = "a";
+		vertikalScrollBar->scroll( zeile * ( schrift->getZeilenabstand() + schrift->getTextHeight( &t ) ) );
+		schrift->unlock();
+		rend = 1;
+	}
 }
 }
 
 
 void TextFeld::updateVScroll( int pos ) // scrollt nach unten
 void TextFeld::updateVScroll( int pos ) // scrollt nach unten
 {
 {
-    if( pos == -1 )
-        pos = cpos;
-    if( vertikalScrollBar )
-    {
-        int sPos = 0;
-        int hö = 0;
-        if( text && schrift )
-        {
-            if( hatStyleNicht( Style::Mehrzeilig ) )
-                text->löschen( '\n' );
-            schrift->setSchriftGröße( schriftGröße );
- = gr.y;
-            if( hatStyle( Style::Rahmen ) && rahmen )
- -= rahmen->getRBreite() * 2;
-            if( hatStyle( Style::HScroll ) && horizontalScrollBar )
- -= 15;
-            vertikalScrollBar->update( schrift->getTextHöhe( text ) + schriftGröße + schrift->getTextHöhe( &Text( "a" ) ), hö );
-            Text t;
-            int zh = schrift->getTextHöhe( &t ) + schrift->getZeilenabstand();
-            int l = text->getLänge();
-            for( int i = 0; i < l && ( i < pos || hatStyleNicht( Style::Erlaubt ) ); ++i )
-            {
-                if( text->getText()[ i ] == '\n' )
-                    sPos += zh;
-            }
-        }
-        if( schrift )
-        {
-            if( sPos - schrift->getZeilenabstand() - schrift->getTextHöhe( &Text( "a" ) ) < vertikalScrollBar->getScroll() )
-                vertikalScrollBar->scroll( sPos - schrift->getZeilenabstand() - schrift->getTextHöhe( &Text( "a" ) ) );
-            if( sPos + schrift->getZeilenabstand() + schrift->getTextHöhe( &Text( "a" ) ) > vertikalScrollBar->getScroll() + vertikalScrollBar->getScrollData()->anzeige )
-                vertikalScrollBar->scroll( sPos + ( schrift->getZeilenabstand() + schrift->getTextHöhe( &Text( "a" ) ) ) * 2 - hö );
-        }
-        rend = 1;
-    }
+	if( pos == -1 )
+		pos = cpos;
+	if( vertikalScrollBar )
+	{
+		int sPos = 0;
+		int hi = 0;
+		if( text && schrift )
+		{
+			if( hatStyleNicht( Style::Mehrzeilig ) )
+				text->remove( '\n' );
+			schrift->setSchriftSize( schriftSize );
+			hi = gr.y;
+			if( hatStyle( Style::Rahmen ) && rahmen )
+				hi -= rahmen->getRBreite() * 2;
+			if( hatStyle( Style::HScroll ) && horizontalScrollBar )
+				hi -= 15;
+			vertikalScrollBar->update( schrift->getTextHeight( text ) + schriftSize + schrift->getTextHeight( Text( "a" ).getThis() ), hi );
+			Text t;
+			int zh = schrift->getTextHeight( &t ) + schrift->getZeilenabstand();
+			int l = text->getLength();
+			for( int i = 0; i < l && ( i < pos || hatStyleNicht( Style::Erlaubt ) ); ++i )
+			{
+				if( text->getText()[ i ] == '\n' )
+					sPos += zh;
+			}
+		}
+		if( schrift )
+		{
+			if( sPos - schrift->getZeilenabstand() - schrift->getTextHeight( Text( "a" ).getThis() ) < vertikalScrollBar->getScroll() )
+				vertikalScrollBar->scroll( sPos - schrift->getZeilenabstand() - schrift->getTextHeight( Text( "a" ).getThis() ) );
+			if( sPos + schrift->getZeilenabstand() + schrift->getTextHeight( Text( "a" ).getThis() ) > vertikalScrollBar->getScroll() + vertikalScrollBar->getScrollData()->anzeige )
+				vertikalScrollBar->scroll( sPos + ( schrift->getZeilenabstand() + schrift->getTextHeight( Text( "a" ).getThis() ) ) * 2 - hi );
+		}
+		rend = 1;
+	}
 }
 }
 
 
 void TextFeld::updateHScroll( int pos ) // scrollt zur Curser Position
 void TextFeld::updateHScroll( int pos ) // scrollt zur Curser Position
 {
 {
-    if( pos == -1 )
-        pos = cpos;
-    if( horizontalScrollBar && text && schrift )
-    {
-        schrift->lock();
-        schrift->setSchriftGröße( schriftGröße );
-        int br = gr.x;
-        if( hatStyle( Style::Rahmen ) && rahmen )
-            br -= rahmen->getRBreite() * 2;
-        if( hatStyle( Style::VScroll ) && vertikalScrollBar )
-            br -= 15;
-        int maxBr = schrift->getTextBreite( text ) + schriftGröße;
-        horizontalScrollBar->update( maxBr, br );
-        if( hatStyle( Style::Erlaubt ) && maxBr > br && pos > 0 && pos < text->getLänge() )
-        {
-            int l = text->getLänge();
-            int p1 = 0;
-            char *tmp = text->getText();
-            for( int i = 0; i < pos; i++, tmp++ )
-            {
-                if( *tmp == '\n' )
-                    p1 = i + 1;
-            }
-            Text *t = text->getTeilText( p1, pos );
-            int cbr = schrift->getTextBreite( t );
-            t->release();
-            if( cbr + schriftGröße > horizontalScrollBar->getScroll() + horizontalScrollBar->getScrollData()->anzeige )
-                horizontalScrollBar->scroll( cbr + schriftGröße - br );
-            if( cbr - schriftGröße < horizontalScrollBar->getScroll() )
-                horizontalScrollBar->scroll( cbr - schriftGröße );
-        }
-        schrift->unlock();
-    }
+	if( pos == -1 )
+		pos = cpos;
+	if( horizontalScrollBar && text && schrift )
+	{
+		schrift->lock();
+		schrift->setSchriftSize( schriftSize );
+		int br = gr.x;
+		if( hatStyle( Style::Rahmen ) && rahmen )
+			br -= rahmen->getRBreite() * 2;
+		if( hatStyle( Style::VScroll ) && vertikalScrollBar )
+			br -= 15;
+		int maxBr = schrift->getTextBreite( text ) + schriftSize;
+		horizontalScrollBar->update( maxBr, br );
+		if( hatStyle( Style::Erlaubt ) && maxBr > br && pos > 0 && pos < text->getLength() )
+		{
+			int p1 = 0;
+			char *tmp = text->getText();
+			for( int i = 0; i < pos; i++, tmp++ )
+			{
+				if( *tmp == '\n' )
+					p1 = i + 1;
+			}
+			Text *t = text->getTeilText( p1, pos );
+			int cbr = schrift->getTextBreite( t );
+			t->release();
+			if( cbr + schriftSize > horizontalScrollBar->getScroll() + horizontalScrollBar->getScrollData()->anzeige )
+				horizontalScrollBar->scroll( cbr + schriftSize - br );
+			if( cbr - schriftSize < horizontalScrollBar->getScroll() )
+				horizontalScrollBar->scroll( cbr - schriftSize );
+		}
+		schrift->unlock();
+	}
 }
 }
 
 
 bool TextFeld::tick( double tickval ) // tick
 bool TextFeld::tick( double tickval ) // tick
 {
 {
-    if( hatStyle( Style::Fokus ) )
-    {
-        if( tickVal < 0.5 && tickVal + tickval >= 0.5 )
-            rend = 1;
-        if( tickVal >= 0.5 && tickVal + tickval >= 1 )
-            rend = 1;
-        tickVal += tickval;
-        if( tickVal >= 1 )
-            tickVal -= 1;
-    }
-    return __super::tick( tickval );
+	if( hatStyle( Style::Fokus ) )
+	{
+		if( tickVal < 0.5 && tickVal + tickval >= 0.5 )
+			rend = 1;
+		if( tickVal >= 0.5 && tickVal + tickval >= 1 )
+			rend = 1;
+		tickVal += tickval;
+		if( tickVal >= 1 )
+			tickVal -= 1;
+	}
+	return ZeichnungHintergrund::tick( tickval );
 }
 }
 
 
 void TextFeld::doMausEreignis( MausEreignis &me ) // Maus Ereignis
 void TextFeld::doMausEreignis( MausEreignis &me ) // Maus Ereignis
 {
 {
-    bool nmakc = !me.verarbeitet;
-    if( hatStyleNicht( Style::Erlaubt ) || hatStyleNicht( Style::Sichtbar ) )
-    {
-        if( toolTip )
-            toolTip->setMausIn( 0 );
-        me.mx -= pos.x, me.my -= pos.y;
-        int rbr = 0;
-        if( rahmen )
-            rbr = rahmen->getRBreite();
-        if( ( vertikalScrollBar && hatStyle( Style::VScroll ) ||
-              horizontalScrollBar && hatStyle( Style::HScroll ) ) &&
-            me.mx > rbr && me.mx < gr.x - rbr &&
-            me.my > rbr && me.my < gr.y - rbr )
-        {
-            vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me );
-            horizontalScrollBar->doMausMessage( rbr, gr.y - rbr * 2 - 15, gr.x - rbr * 2 - ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? 15 : 0 ), 15, me );
-            me.verarbeitet = 1;
-        }
-        me.mx += pos.x, me.my += pos.y;
-        mausKlick = 0;
-        return;
-    }
-    bool removeFokus = 0;
-    if( me.verarbeitet || !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) )
-    {
-        if( mausIn )
-        {
-            mausIn = 0;
-            if( toolTip )
-                toolTip->setMausIn( 0 );
-            MausEreignis me2;
-            me2.id = ME_Verlässt;
-            me2.mx = me.mx;
-            me2.my = me.my;
-            me2.verarbeitet = 0;
-            doMausEreignis( me2 );
-            return;
-        }
-        removeFokus = 1;
-    }
-    if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt )
-    {
-        if( removeFokus && me.id == ME_RLinks )
-        {
-            me.mx -= pos.x, me.my -= pos.y;
-            if( hatStyle( Style::Fokus ) && Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
-                löscheStyle( Style::Fokus );
-            if( nmakc && me.verarbeitet && nMak )
-                me.verarbeitet = nMak( nmakParam, this, me );
-            me.mx += pos.x, me.my += pos.y;
-        }
-        if( toolTip )
-            toolTip->setMausIn( 0 );
-        return;
-    }
-    if( !mausIn && me.id != ME_Verlässt )
-    {
-        mausIn = 1;
-        if( toolTip )
-            toolTip->setMausIn( 1 );
-        MausEreignis me2;
-        me2.id = ME_Betritt;
-        me2.mx = me.mx;
-        me2.my = me.my;
-        me2.verarbeitet = 0;
-        doMausEreignis( me2 );
-    }
-    me.mx -= pos.x, me.my -= pos.y;
-    if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
-    {
-        if( removeFokus && me.id == ME_RLinks )
-            löscheStyle( Style::Fokus );
-        if( !me.verarbeitet )
-        {
-            if( hatStyleNicht( Style::Fokus ) )
-            {
-                mausKlick = 0;
-                if( me.id == Framework::ME_PLinks )
-                    addStyle( Style::Fokus );
-            }
-            int rbr = 0;
-            if( rahmen )
-                rbr = rahmen->getRBreite();
-            if( vertikalScrollBar && hatStyle( Style::VScroll ) )
-            {
-                if( vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me ) )
-                {
-                    if( nmakc && me.verarbeitet && nMak )
-                        me.verarbeitet = nMak( nmakParam, this, me );
-                    me.mx += pos.x, me.my += pos.y;
-                    return;
-                }
-            }
-            if( horizontalScrollBar && hatStyle( Style::HScroll ) )
-            {
-                if( horizontalScrollBar->doMausMessage( rbr, gr.y - rbr - 15, gr.x - rbr * 2 - ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? 15 : 0 ), 15, me ) )
-                {
-                    if( nmakc && me.verarbeitet && nMak )
-                        me.verarbeitet = nMak( nmakParam, this, me );
-                    me.mx += pos.x, me.my += pos.y;
-                    return;
-                }
-            }
-            if( me.mx < gr.x - rbr - 15 )
-            {
-                if( schrift )
-                {
-                    schrift->setSchriftGröße( schriftGröße );
-                    bool shift = TastenStand[ T_Shift ];
-                    if( me.id == Framework::ME_PLinks )
-                    {
-                        int tbr = schrift->getTextBreite( text );
-                        int thö = schrift->getTextHöhe( text );
-                        int scrollHö = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
-                        int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
-                        int xxx = me.mx - rbr + scrollBr;
-                        int yyy = me.my - rbr + scrollHö;
-                        int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
-                        int scrollHöhe = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) * 15;
-                        if( hatStyle( Style::HCenter ) )
-                            xxx -= ( ( ( gr.x - scrollBreite ) / 2 ) - tbr / 2 ) - rbr;
-                        if( hatStyle( Style::VCenter ) && hatStyleNicht( Style::VScroll ) )
-                            yyy -= ( ( ( gr.y - scrollHö ) / 2 ) - thö / 2 ) - rbr;
-                        int pos = schrift->textPos( text, xxx, yyy );
-                        if( pos != -1 )
-                        {
-                            if( shift )
-                                begf = pos;
-                            else
-                            {
-                                cpos = pos;
-                                begf = pos;
-                            }
-                            rend = 1;
-                            if( vertikalScrollBar && hatStyle( Style::VScroll ) )
-                                updateVScroll( begf );
-                            if( horizontalScrollBar && hatStyle( Style::HScroll ) )
-                                updateHScroll( begf );
-                        }
-                        mausKlick = 1;
-                    }
-                    if( me.id == ME_Bewegung && mausKlick )
-                    {
-                        int tbr = schrift->getTextBreite( text );
-                        int thö = schrift->getTextHöhe( text );
-                        int scrollHö = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
-                        int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
-                        int xxx = me.mx - rbr + scrollBr;
-                        int yyy = me.my - rbr + scrollHö;
-                        int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
-                        int scrollHöhe = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) * 15;
-                        if( hatStyle( Style::HCenter ) )
-                            xxx -= ( ( ( gr.x - scrollBreite ) / 2 ) - tbr / 2 ) - rbr;
-                        if( hatStyle( Style::VCenter ) && hatStyleNicht( Style::VScroll ) )
-                            yyy -= ( ( ( gr.y - scrollHöhe ) / 2 ) - thö / 2 ) - rbr;
-                        int pos = schrift->textPos( text, xxx, yyy );
-                        if( pos != -1 )
-                        {
-                            if( begf != pos )
-                                rend = 1;
-                            begf = pos;
-                            if( vertikalScrollBar && hatStyle( Style::VScroll ) )
-                                updateVScroll( begf );
-                            if( horizontalScrollBar && hatStyle( Style::HScroll ) )
-                                updateHScroll( begf );
-                        }
-                    }
-                    if( me.id == ME_RLinks )
-                    {
-                        if( !shift )
-                        {
-                            int tbr = schrift->getTextBreite( text );
-                            int thö = schrift->getTextHöhe( text );
-                            int scrollHö = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
-                            int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
-                            int xxx = me.mx - rbr + scrollBr;
-                            int yyy = me.my - rbr + scrollHö;
-                            int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
-                            int scrollHöhe = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) * 15;
-                            if( hatStyle( Style::HCenter ) )
-                                xxx -= ( ( ( gr.x - scrollBreite ) / 2 ) - tbr / 2 ) - rbr;
-                            if( hatStyle( Style::VCenter ) && hatStyleNicht( Style::VScroll ) )
-                                yyy -= ( ( ( gr.y - scrollHöhe ) / 2 ) - thö / 2 ) - rbr;
-                            int pos = schrift->textPos( text, xxx, yyy );
-                            if( pos != -1 )
-                            {
-                                begf = pos;
-                                if( vertikalScrollBar && hatStyle( Style::VScroll ) )
-                                    updateVScroll( begf );
-                                if( horizontalScrollBar && hatStyle( Style::HScroll ) )
-                                    updateHScroll( begf );
-                            }
-                            rend = 1;
-                        }
-                        mausKlick = 0;
-                    }
-                }
-            }
-        }
-        me.verarbeitet = 1;
-    }
-    if( nmakc && me.verarbeitet && nMak )
-        me.verarbeitet = nMak( nmakParam, this, me );
-    me.mx += pos.x, me.my += pos.y;
+	bool nmakc = !me.verarbeitet;
+	if( hatStyleNicht( Style::Erlaubt ) || hatStyleNicht( Style::Sichtbar ) )
+	{
+		if( toolTip )
+			toolTip->setMausIn( 0 );
+		me.mx -= pos.x, me.my -= pos.y;
+		int rbr = 0;
+		if( rahmen )
+			rbr = rahmen->getRBreite();
+		if( ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ||
+			( horizontalScrollBar && hatStyle( Style::HScroll ) ) ) &&
+			me.mx > rbr && me.mx < gr.x - rbr &&
+			me.my > rbr && me.my < gr.y - rbr )
+		{
+			vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me );
+			horizontalScrollBar->doMausMessage( rbr, gr.y - rbr * 2 - 15, gr.x - rbr * 2 - ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? 15 : 0 ), 15, me );
+			me.verarbeitet = 1;
+		}
+		me.mx += pos.x, me.my += pos.y;
+		mausKlick = 0;
+		return;
+	}
+	bool removeFokus = 0;
+	if( me.verarbeitet || !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) )
+	{
+		if( mausIn )
+		{
+			mausIn = 0;
+			if( toolTip )
+				toolTip->setMausIn( 0 );
+			MausEreignis me2;
+			me2.id = ME_Leaves;
+			me2.mx = me.mx;
+			me2.my = me.my;
+			me2.verarbeitet = 0;
+			doMausEreignis( me2 );
+			return;
+		}
+		removeFokus = 1;
+	}
+	if( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves )
+	{
+		if( removeFokus && me.id == ME_RLinks )
+		{
+			me.mx -= pos.x, me.my -= pos.y;
+			if( hatStyle( Style::Fokus ) && Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
+				removeStyle( Style::Fokus );
+			if( nmakc && me.verarbeitet && nMak )
+				me.verarbeitet = nMak( nmakParam, this, me );
+			me.mx += pos.x, me.my += pos.y;
+		}
+		if( toolTip )
+			toolTip->setMausIn( 0 );
+		return;
+	}
+	if( !mausIn && me.id != ME_Leaves )
+	{
+		mausIn = 1;
+		if( toolTip )
+			toolTip->setMausIn( 1 );
+		MausEreignis me2;
+		me2.id = ME_Betritt;
+		me2.mx = me.mx;
+		me2.my = me.my;
+		me2.verarbeitet = 0;
+		doMausEreignis( me2 );
+	}
+	me.mx -= pos.x, me.my -= pos.y;
+	if( Mak && ( me.verarbeitet || Mak( makParam, this, me ) ) )
+	{
+		if( removeFokus && me.id == ME_RLinks )
+			removeStyle( Style::Fokus );
+		if( !me.verarbeitet )
+		{
+			if( hatStyleNicht( Style::Fokus ) )
+			{
+				mausKlick = 0;
+				if( me.id == Framework::ME_PLinks )
+					addStyle( Style::Fokus );
+			}
+			int rbr = 0;
+			if( rahmen )
+				rbr = rahmen->getRBreite();
+			if( vertikalScrollBar && hatStyle( Style::VScroll ) )
+			{
+				if( vertikalScrollBar->doMausMessage( gr.x - rbr - 15, rbr, 15, gr.y - rbr * 2, me ) )
+				{
+					if( nmakc && me.verarbeitet && nMak )
+						me.verarbeitet = nMak( nmakParam, this, me );
+					me.mx += pos.x, me.my += pos.y;
+					return;
+				}
+			}
+			if( horizontalScrollBar && hatStyle( Style::HScroll ) )
+			{
+				if( horizontalScrollBar->doMausMessage( rbr, gr.y - rbr - 15, gr.x - rbr * 2 - ( ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? 15 : 0 ), 15, me ) )
+				{
+					if( nmakc && me.verarbeitet && nMak )
+						me.verarbeitet = nMak( nmakParam, this, me );
+					me.mx += pos.x, me.my += pos.y;
+					return;
+				}
+			}
+			if( me.mx < gr.x - rbr - 15 )
+			{
+				if( schrift )
+				{
+					schrift->setSchriftSize( schriftSize );
+					bool shift = TastenStand[ T_Shift ];
+					if( me.id == Framework::ME_PLinks )
+					{
+						int tbr = schrift->getTextBreite( text );
+						int thi = schrift->getTextHeight( text );
+						int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
+						int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
+						int xxx = me.mx - rbr + scrollBr;
+						int yyy = me.my - rbr + scrollHi;
+						int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
+						if( hatStyle( Style::HCenter ) )
+							xxx -= ( ( ( gr.x - scrollBreite ) / 2 ) - tbr / 2 ) - rbr;
+						if( hatStyle( Style::VCenter ) && hatStyleNicht( Style::VScroll ) )
+							yyy -= ( ( ( gr.y - scrollHi ) / 2 ) - thi / 2 ) - rbr;
+						int pos = schrift->textPos( text, xxx, yyy );
+						if( pos != -1 )
+						{
+							if( shift )
+								begf = pos;
+							else
+							{
+								cpos = pos;
+								begf = pos;
+							}
+							rend = 1;
+							if( vertikalScrollBar && hatStyle( Style::VScroll ) )
+								updateVScroll( begf );
+							if( horizontalScrollBar && hatStyle( Style::HScroll ) )
+								updateHScroll( begf );
+						}
+						mausKlick = 1;
+					}
+					if( me.id == ME_Bewegung && mausKlick )
+					{
+						int tbr = schrift->getTextBreite( text );
+						int thi = schrift->getTextHeight( text );
+						int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
+						int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
+						int xxx = me.mx - rbr + scrollBr;
+						int yyy = me.my - rbr + scrollHi;
+						int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
+						int scrollHeight = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) * 15;
+						if( hatStyle( Style::HCenter ) )
+							xxx -= ( ( ( gr.x - scrollBreite ) / 2 ) - tbr / 2 ) - rbr;
+						if( hatStyle( Style::VCenter ) && hatStyleNicht( Style::VScroll ) )
+							yyy -= ( ( ( gr.y - scrollHeight ) / 2 ) - thi / 2 ) - rbr;
+						int pos = schrift->textPos( text, xxx, yyy );
+						if( pos != -1 )
+						{
+							if( begf != pos )
+								rend = 1;
+							begf = pos;
+							if( vertikalScrollBar && hatStyle( Style::VScroll ) )
+								updateVScroll( begf );
+							if( horizontalScrollBar && hatStyle( Style::HScroll ) )
+								updateHScroll( begf );
+						}
+					}
+					if( me.id == ME_RLinks )
+					{
+						if( !shift )
+						{
+							int tbr = schrift->getTextBreite( text );
+							int thi = schrift->getTextHeight( text );
+							int scrollHi = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) ? vertikalScrollBar->getScroll() : 0;
+							int scrollBr = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) ? horizontalScrollBar->getScroll() : 0;
+							int xxx = me.mx - rbr + scrollBr;
+							int yyy = me.my - rbr + scrollHi;
+							int scrollBreite = ( vertikalScrollBar && hatStyle( Style::VScroll ) ) * 15;
+							int scrollHeight = ( horizontalScrollBar && hatStyle( Style::HScroll ) ) * 15;
+							if( hatStyle( Style::HCenter ) )
+								xxx -= ( ( ( gr.x - scrollBreite ) / 2 ) - tbr / 2 ) - rbr;
+							if( hatStyle( Style::VCenter ) && hatStyleNicht( Style::VScroll ) )
+								yyy -= ( ( ( gr.y - scrollHeight ) / 2 ) - thi / 2 ) - rbr;
+							int pos = schrift->textPos( text, xxx, yyy );
+							if( pos != -1 )
+							{
+								begf = pos;
+								if( vertikalScrollBar && hatStyle( Style::VScroll ) )
+									updateVScroll( begf );
+								if( horizontalScrollBar && hatStyle( Style::HScroll ) )
+									updateHScroll( begf );
+							}
+							rend = 1;
+						}
+						mausKlick = 0;
+					}
+				}
+			}
+		}
+		me.verarbeitet = 1;
+	}
+	if( nmakc && me.verarbeitet && nMak )
+		me.verarbeitet = nMak( nmakParam, this, me );
+	me.mx += pos.x, me.my += pos.y;
 }
 }
 
 
 void TextFeld::doTastaturEreignis( TastaturEreignis &te )
 void TextFeld::doTastaturEreignis( TastaturEreignis &te )
 {
 {
-    bool ntakc = !te.verarbeitet;
-    if( te.verarbeitet || hatStyleNicht( Style::Fokus ) )
-        return;
-    if( !Tak )
-        return;
-    ++ref;
-    if( Tak( takParam, this, te ) )
-    {
-        if( hatStyleNicht( Style::Erlaubt ) )
-        {
-            --ref;
-            if( !ref )
-                delete this;
-            return;
-        }
-        if( te.id == TE_Press )
-        {
-            bool shift = TastenStand[ T_Shift ];
-            bool strg = TastenStand[ T_Strg ];
-            switch( te.taste )
-            {
-            case T_Entf:
-                if( cpos != begf )
-                    text->löschen( cpos, begf );
-                else
-                    text->löschen( cpos, cpos + 1 );
-                begf = cpos;
-                rend = 1;
-                break;
-            case T_BackSpace:
-                if( cpos != begf )
-                {
-                    text->löschen( cpos, begf );
-                    if( cpos > begf )
-                        cpos -= cpos - begf;
-                }
-                else
-                {
-                    text->löschen( cpos - 1, cpos );
-                    --cpos;
-                }
-                begf = cpos;
-                rend = 1;
-                break;
-            case T_Enter:
-                if( cpos != begf )
-                {
-                    text->löschen( begf, cpos );
-                    if( cpos > begf )
-                        cpos -= cpos - begf;
-                }
-                text->einfügen( cpos, '\n' );
-                ++cpos;
-                begf = cpos;
-                rend = 1;
-                break;
-            case T_Links:
-                if( shift )
-                {
-                    if( strg )
-                        begf = text->getLKick( begf );
-                    else
-                        --begf;
-                }
-                else
-                {
-                    if( strg )
-                        cpos = text->getLKick( cpos );
-                    else
-                        --cpos;
-                    begf = cpos;
-                }
-                rend = 1;
-                break;
-            case T_Oben:
-                if( shift )
-                {
-                    begf = text->getOKick( begf );
-                }
-                else
-                {
-                    cpos = text->getOKick( cpos );
-                    begf = cpos;
-                }
-                rend = 1;
-                break;
-            case T_Rechts:
-                if( shift )
-                {
-                    if( strg )
-                        begf = text->getRKick( begf );
-                    else
-                        ++begf;
-                }
-                else
-                {
-                    if( strg )
-                        cpos = text->getRKick( cpos );
-                    else
-                        ++cpos;
-                    begf = cpos;
-                }
-                rend = 1;
-                break;
-            case T_Unten:
-                if( shift )
-                {
-                    begf = text->getUKick( begf );
-                }
-                else
-                {
-                    cpos = text->getUKick( cpos );
-                    begf = cpos;
-                }
-                rend = 1;
-                break;
-            default:
-                if( strg && te.id == TE_Press )
-                {
-                    if( te.taste == 'c' || te.taste == 'C' )
-                    {
-                        if( begf != cpos )
-                        {
-                            int län = begf - cpos;
-                            if( län < 0 )
-                                län = -län;
-                            char *txt = new char[ län + 1 ];
-                            txt[ län ] = 0;
-                            int beg = begf < cpos ? begf : cpos;
-                            for( int i = beg; i < beg + län; ++i )
-                                txt[ i - beg ] = text->getText()[ i ];
-                            TextKopieren( txt );
-                            delete[] txt;
-                        }
-                        else
-                            TextKopieren( text->getText() );
-                    }
-                    if( te.taste == 'v' || te.taste == 'V' )
-                    {
-                        if( begf != cpos )
-                        {
-                            text->löschen( begf, cpos );
-                            if( cpos > begf )
-                                cpos = begf;
-                        }
-                        char *txt = TextEinfügen();
-                        text->einfügen( cpos, txt );
-                        cpos += textLänge( txt );
-                        begf = cpos;
-                        rend = 1;
-                    }
-                    break;
-                }
-                if( istSchreibbar( te.taste ) )
-                {
-                    if( begf != cpos )
-                    {
-                        text->löschen( begf, cpos );
-                        if( cpos > begf )
-                            cpos = begf;
-                    }
-                    text->einfügen( cpos, (char)te.taste );
-                    ++cpos;
-                    begf = cpos;
-                    rend = 1;
-                }
-                break;
-            }
-        }
-        if( cpos < 0 )
-            cpos = 0;
-        if( cpos > text->getLänge() )
-            cpos = text->getLänge();
-        if( begf < 0 )
-            begf = 0;
-        if( begf > text->getLänge() )
-            begf = text->getLänge();
-        if( hatStyle( Style::VScroll ) )
-            updateVScroll( begf );
-        if( hatStyle( Style::HScroll ) )
-            updateHScroll( begf );
-        te.verarbeitet = 1;
-    }
-    --ref;
-    if( ntakc && te.verarbeitet && nTak )
-        te.verarbeitet = nTak( ntakParam, this, te );
-    if( !ref )
-        delete this;
+	bool ntakc = !te.verarbeitet;
+	if( te.verarbeitet || hatStyleNicht( Style::Fokus ) )
+		return;
+	if( !Tak )
+		return;
+	++ref;
+	if( Tak( takParam, this, te ) )
+	{
+		if( hatStyleNicht( Style::Erlaubt ) )
+		{
+			--ref;
+			if( !ref )
+				delete this;
+			return;
+		}
+		if( te.id == TE_Press )
+		{
+			bool shift = TastenStand[ T_Shift ];
+			bool strg = TastenStand[ T_Strg ];
+			switch( te.taste )
+			{
+			case T_Entf:
+				if( cpos != begf )
+					text->remove( cpos, begf );
+				else
+					text->remove( cpos, cpos + 1 );
+				begf = cpos;
+				rend = 1;
+				break;
+			case T_BackSpace:
+				if( cpos != begf )
+				{
+					text->remove( cpos, begf );
+					if( cpos > begf )
+						cpos -= cpos - begf;
+				}
+				else
+				{
+					text->remove( cpos - 1, cpos );
+					--cpos;
+				}
+				begf = cpos;
+				rend = 1;
+				break;
+			case T_Enter:
+				if( cpos != begf )
+				{
+					text->remove( begf, cpos );
+					if( cpos > begf )
+						cpos -= cpos - begf;
+				}
+				text->insert( cpos, '\n' );
+				++cpos;
+				begf = cpos;
+				rend = 1;
+				break;
+			case T_Links:
+				if( shift )
+				{
+					if( strg )
+						begf = text->getLKick( begf );
+					else
+						--begf;
+				}
+				else
+				{
+					if( strg )
+						cpos = text->getLKick( cpos );
+					else
+						--cpos;
+					begf = cpos;
+				}
+				rend = 1;
+				break;
+			case T_Oben:
+				if( shift )
+				{
+					begf = text->getOKick( begf );
+				}
+				else
+				{
+					cpos = text->getOKick( cpos );
+					begf = cpos;
+				}
+				rend = 1;
+				break;
+			case T_Rechts:
+				if( shift )
+				{
+					if( strg )
+						begf = text->getRKick( begf );
+					else
+						++begf;
+				}
+				else
+				{
+					if( strg )
+						cpos = text->getRKick( cpos );
+					else
+						++cpos;
+					begf = cpos;
+				}
+				rend = 1;
+				break;
+			case T_Unten:
+				if( shift )
+				{
+					begf = text->getUKick( begf );
+				}
+				else
+				{
+					cpos = text->getUKick( cpos );
+					begf = cpos;
+				}
+				rend = 1;
+				break;
+			default:
+				if( strg && te.id == TE_Press )
+				{
+					if( te.taste == 'c' || te.taste == 'C' )
+					{
+						if( begf != cpos )
+						{
+							int len = begf - cpos;
+							if( len < 0 )
+								len = -len;
+							char *txt = new char[ len + 1 ];
+							txt[ len ] = 0;
+							int beg = begf < cpos ? begf : cpos;
+							for( int i = beg; i < beg + len; ++i )
+								txt[ i - beg ] = text->getText()[ i ];
+							TextKopieren( txt );
+							delete[] txt;
+						}
+						else
+							TextKopieren( text->getText() );
+					}
+					if( te.taste == 'v' || te.taste == 'V' )
+					{
+						if( begf != cpos )
+						{
+							text->remove( begf, cpos );
+							if( cpos > begf )
+								cpos = begf;
+						}
+						char *txt = TextInsert();
+						text->insert( cpos, txt );
+						cpos += textLength( txt );
+						begf = cpos;
+						rend = 1;
+					}
+					break;
+				}
+				if( istSchreibbar( te.taste ) )
+				{
+					if( begf != cpos )
+					{
+						text->remove( begf, cpos );
+						if( cpos > begf )
+							cpos = begf;
+					}
+					text->insert( cpos, (char)te.taste );
+					++cpos;
+					begf = cpos;
+					rend = 1;
+				}
+				break;
+			}
+		}
+		if( cpos < 0 )
+			cpos = 0;
+		if( cpos > text->getLength() )
+			cpos = text->getLength();
+		if( begf < 0 )
+			begf = 0;
+		if( begf > text->getLength() )
+			begf = text->getLength();
+		if( hatStyle( Style::VScroll ) )
+			updateVScroll( begf );
+		if( hatStyle( Style::HScroll ) )
+			updateHScroll( begf );
+		te.verarbeitet = 1;
+	}
+	--ref;
+	if( ntakc && te.verarbeitet && nTak )
+		te.verarbeitet = nTak( ntakParam, this, te );
+	if( !ref )
+		delete this;
 }
 }
 
 
 void TextFeld::render( Bild &zRObj ) // zeichenet nach zRObj
 void TextFeld::render( Bild &zRObj ) // zeichenet nach zRObj
 {
 {
-    if( hatStyleNicht( Style::Sichtbar ) )
-        return;
-    __super::render( zRObj );
-    if( !text || !schrift )
-        return;
-    lockZeichnung();
-    if( !zRObj.setDrawOptions( innenPosition, innenGröße ) )
-    {
-        unlockZeichnung();
-        return;
-    }
-    if( hatStyleNicht( Style::Mehrzeilig ) )
-        text->löschen( '\n' );
-    if( hatStyleNicht( Style::Mehrfarbig ) )
-    {
-        while( text->hat( '\r' ) )
-            text->löschen( text->positionVon( '\r' ), text->positionVon( '\r' ) + 11 );
-    }
-    schrift->setSchriftGröße( schriftGröße );
-    int tbr = schrift->getTextBreite( text );
-    int thö = schrift->getTextHöhe( text );
-    int xxx = 0;
-    int yyy = 0;
-    int breite = innenGröße.x;
-    int höhe = innenGröße.y;
-    bool hs = horizontalScrollBar && hatStyle( Style::HScroll );
-    bool vs = vertikalScrollBar && hatStyle( Style::VScroll );
-    if( vs )
-        yyy -= vertikalScrollBar->getScroll();
-    if( hs )
-        xxx -= horizontalScrollBar->getScroll();
-    if( hatStyle( Style::HCenter ) && !hs )
-        xxx = ( breite / 2 ) - tbr / 2;
-    if( hatStyle( Style::VCenter ) && !vs )
-        yyy = ( höhe / 2 ) - thö / 2;
-    schrift->setDrawPosition( xxx, yyy );
-    if( hatStyle( Style::Fokus ) && hatStyle( Style::Erlaubt ) )
-    {
-        if( istSchreibbar( showChar ) )
-        {
-            Text rt;
-            int län = text->getLänge() - text->anzahlVon( '\n' ) - text->anzahlVon( '\r' ) * 11;
-            rt.füllText( showChar, län );
-            if( tickVal <= 0.5 )
-                schrift->renderText( &rt, zRObj, cpos, 0xFFFF5555, begf, 0xFF0000FF, sF );
-            else
-                schrift->renderText( &rt, zRObj, cpos, 0x00000000, begf, 0xFF0000FF, sF );
-        }
-        else
-        {
-            if( tickVal <= 0.5 )
-                schrift->renderText( text, zRObj, cpos, 0xFFFF5555, begf, 0xFF0000FF, sF );
-            else
-                schrift->renderText( text, zRObj, cpos, 0x00000000, begf, 0xFF0000FF, sF );
-        }
-    }
-    else
-    {
-        if( istSchreibbar( showChar ) )
-        {
-            Text rt;
-            int län = text->getLänge() - text->anzahlVon( '\n' ) - text->anzahlVon( '\r' ) * 11;
-            rt.füllText( showChar, län );
-            schrift->renderText( &rt, zRObj, sF );
-        }
-        else
-            schrift->renderText( text, zRObj, sF );
-    }
-    zRObj.releaseDrawOptions();
-    unlockZeichnung();
+	if( hatStyleNicht( Style::Sichtbar ) )
+		return;
+	ZeichnungHintergrund::render( zRObj );
+	if( !text || !schrift )
+		return;
+	lockZeichnung();
+	if( !zRObj.setDrawOptions( innenPosition, innenSize ) )
+	{
+		unlockZeichnung();
+		return;
+	}
+	if( hatStyleNicht( Style::Mehrzeilig ) )
+		text->remove( '\n' );
+	if( hatStyleNicht( Style::Mehrfarbig ) )
+	{
+		while( text->hat( '\r' ) )
+			text->remove( text->positionVon( '\r' ), text->positionVon( '\r' ) + 11 );
+	}
+	schrift->setSchriftSize( schriftSize );
+	int tbr = schrift->getTextBreite( text );
+	int thi = schrift->getTextHeight( text );
+	int xxx = 0;
+	int yyy = 0;
+	int breite = innenSize.x;
+	int height = innenSize.y;
+	bool hs = horizontalScrollBar && hatStyle( Style::HScroll );
+	bool vs = vertikalScrollBar && hatStyle( Style::VScroll );
+	if( vs )
+		yyy -= vertikalScrollBar->getScroll();
+	if( hs )
+		xxx -= horizontalScrollBar->getScroll();
+	if( hatStyle( Style::HCenter ) && !hs )
+		xxx = ( breite / 2 ) - tbr / 2;
+	if( hatStyle( Style::VCenter ) && !vs )
+		yyy = ( height / 2 ) - thi / 2;
+	schrift->setDrawPosition( xxx, yyy );
+	if( hatStyle( Style::Fokus ) && hatStyle( Style::Erlaubt ) )
+	{
+		if( istSchreibbar( showChar ) )
+		{
+			Text rt;
+			int len = text->getLength() - text->anzahlVon( '\n' ) - text->anzahlVon( '\r' ) * 11;
+			rt.fillText( showChar, len );
+			if( tickVal <= 0.5 )
+				schrift->renderText( &rt, zRObj, cpos, 0xFFFF5555, begf, 0xFF0000FF, sF );
+			else
+				schrift->renderText( &rt, zRObj, cpos, 0x00000000, begf, 0xFF0000FF, sF );
+		}
+		else
+		{
+			if( tickVal <= 0.5 )
+				schrift->renderText( text, zRObj, cpos, 0xFFFF5555, begf, 0xFF0000FF, sF );
+			else
+				schrift->renderText( text, zRObj, cpos, 0x00000000, begf, 0xFF0000FF, sF );
+		}
+	}
+	else
+	{
+		if( istSchreibbar( showChar ) )
+		{
+			Text rt;
+			int len = text->getLength() - text->anzahlVon( '\n' ) - text->anzahlVon( '\r' ) * 11;
+			rt.fillText( showChar, len );
+			schrift->renderText( &rt, zRObj, sF );
+		}
+		else
+			schrift->renderText( text, zRObj, sF );
+	}
+	zRObj.releaseDrawOptions();
+	unlockZeichnung();
 }
 }
 
 
 // Konstant 
 // Konstant 
 Text *TextFeld::getText() const // gibt vom Text zurück
 Text *TextFeld::getText() const // gibt vom Text zurück
 {
 {
-    if( !text )
-        return 0;
-    return text->getThis();
+	if( !text )
+		return 0;
+	return text->getThis();
 }
 }
 
 
 Text *TextFeld::zText() const // gibt den Text zurück
 Text *TextFeld::zText() const // gibt den Text zurück
 {
 {
-    return text;
+	return text;
 }
 }
 
 
 Schrift *TextFeld::getSchrift() const// gint getThis der Schrift Zurück
 Schrift *TextFeld::getSchrift() const// gint getThis der Schrift Zurück
 {
 {
-    if( !schrift )
-        return 0;
-    return schrift->getThis();
+	if( !schrift )
+		return 0;
+	return schrift->getThis();
 }
 }
 
 
 Schrift *TextFeld::zSchrift() const// gibt die Schrift zurück
 Schrift *TextFeld::zSchrift() const// gibt die Schrift zurück
 {
 {
-    return schrift;
+	return schrift;
 }
 }
 
 
-unsigned char TextFeld::getSchriftGröße() const // gibt die Schriftgröße zurück
+unsigned char TextFeld::getSchriftSize() const // gibt die Schriftgröße zurück
 {
 {
-    return schriftGröße;
+	return schriftSize;
 }
 }
 
 
 int TextFeld::getSchriftFarbe() const// gibt getThis der Schriftfarbe zurück
 int TextFeld::getSchriftFarbe() const// gibt getThis der Schriftfarbe zurück
 {
 {
-    return sF;
+	return sF;
 }
 }
 
 
 unsigned char TextFeld::getShowChar() const // gibt den Anzeige Char zurück
 unsigned char TextFeld::getShowChar() const // gibt den Anzeige Char zurück
 {
 {
-    return showChar;
+	return showChar;
 }
 }
 
 
 int TextFeld::getCursorPos() const
 int TextFeld::getCursorPos() const
 {
 {
-    return cpos;
+	return cpos;
 }
 }
 
 
-int TextFeld::getFärbungPos() const
+int TextFeld::getSelectionPos() const
 {
 {
-    return begf;
+	return begf;
 }
 }
 
 
 Zeichnung *TextFeld::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
 Zeichnung *TextFeld::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
 {
 {
-    TextFeld *obj = new TextFeld();
-    obj->setPosition( pos );
-    obj->setGröße( gr );
-    obj->setMausEreignisParameter( makParam );
-    obj->setTastaturEreignisParameter( takParam );
-    obj->setMausEreignis( Mak );
-    obj->setTastaturEreignis( Tak );
-    if( toolTip )
-        obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
-    obj->setStyle( style );
-    obj->setSchriftGröße( schriftGröße );
-    if( schrift )
-        obj->setSchriftZ( schrift->getThis() );
-    if( text )
-        obj->setText( text->getText() );
-    obj->setHintergrundFarbe( hintergrundFarbe );
-    obj->setSchriftFarbe( sF );
-    if( hintergrundFeld )
-        obj->setAlphaFeldZ( (AlphaFeld*)hintergrundFeld->dublizieren() );
-    if( rahmen )
-        obj->setLinienRahmenZ( (LRahmen*)rahmen->dublizieren() );
-    if( hintergrundBild )
-        obj->setHintergrundBild( hintergrundBild->getThis() );
-    if( vertikalScrollBar )
-    {
-        obj->setVertikalKlickScroll( vertikalScrollBar->getKlickScroll() );
-        obj->setVertikalScrollPos( vertikalScrollBar->getScroll() );
-        obj->setVertikalScrollFarbe( vertikalScrollBar->getFarbe(), vertikalScrollBar->getBgFarbe() );
-    }
-    if( horizontalScrollBar )
-    {
-        obj->setHorizontalKlickScroll( horizontalScrollBar->getKlickScroll() );
-        obj->setHorizontalScrollPos( horizontalScrollBar->getScroll() );
-        obj->setHorizontalScrollFarbe( horizontalScrollBar->getFarbe(), horizontalScrollBar->getBgFarbe() );
-    }
-    obj->setSchowChar( showChar );
-    obj->setAuswahl( begf, cpos );
-    return obj;
+	TextFeld *obj = new TextFeld();
+	obj->setPosition( pos );
+	obj->setSize( gr );
+	obj->setMausEreignisParameter( makParam );
+	obj->setTastaturEreignisParameter( takParam );
+	obj->setMausEreignis( Mak );
+	obj->setTastaturEreignis( Tak );
+	if( toolTip )
+		obj->setToolTipText( toolTip->zText()->getText(), toolTip->zBildschirm() );
+	obj->setStyle( style );
+	obj->setSchriftSize( schriftSize );
+	if( schrift )
+		obj->setSchriftZ( schrift->getThis() );
+	if( text )
+		obj->setText( text->getText() );
+	obj->setHintergrundFarbe( hintergrundFarbe );
+	obj->setSchriftFarbe( sF );
+	if( hintergrundFeld )
+		obj->setAlphaFeldZ( (AlphaFeld*)hintergrundFeld->dublizieren() );
+	if( rahmen )
+		obj->setLinienRahmenZ( (LRahmen*)rahmen->dublizieren() );
+	if( hintergrundBild )
+		obj->setHintergrundBild( hintergrundBild->getThis() );
+	if( vertikalScrollBar )
+	{
+		obj->setVertikalKlickScroll( vertikalScrollBar->getKlickScroll() );
+		obj->setVertikalScrollPos( vertikalScrollBar->getScroll() );
+		obj->setVertikalScrollFarbe( vertikalScrollBar->getFarbe(), vertikalScrollBar->getBgFarbe() );
+	}
+	if( horizontalScrollBar )
+	{
+		obj->setHorizontalKlickScroll( horizontalScrollBar->getKlickScroll() );
+		obj->setHorizontalScrollPos( horizontalScrollBar->getScroll() );
+		obj->setHorizontalScrollFarbe( horizontalScrollBar->getFarbe(), horizontalScrollBar->getBgFarbe() );
+	}
+	obj->setSchowChar( showChar );
+	obj->setAuswahl( begf, cpos );
+	return obj;
 }
 }
 
 
 // Reference Counting 
 // Reference Counting 
 TextFeld *TextFeld::getThis()
 TextFeld *TextFeld::getThis()
 {
 {
-    ++ref;
-    return this;
+	++ref;
+	return this;
 }
 }
 
 
 TextFeld *TextFeld::release()
 TextFeld *TextFeld::release()
 {
 {
-    --ref;
-    if( ref == 0 )
-        delete this;
-    return 0;
+	--ref;
+	if( ref == 0 )
+		delete this;
+	return 0;
 }
 }

+ 5 - 5
TextFeld.h

@@ -32,7 +32,7 @@ namespace Framework
             const static __int64 Scroll = VScroll | HScroll; // Vereint die Flags VScroll und HScroll
             const static __int64 Scroll = VScroll | HScroll; // Vereint die Flags VScroll und HScroll
         };
         };
     private:
     private:
-        unsigned char schriftGröße;
+        unsigned char schriftSize;
         Schrift *schrift;
         Schrift *schrift;
         Text *text;
         Text *text;
         int sF;
         int sF;
@@ -47,7 +47,7 @@ namespace Framework
         // Konstruktor 
         // Konstruktor 
         __declspec( dllexport ) TextFeld();
         __declspec( dllexport ) TextFeld();
         // Destruktor 
         // Destruktor 
-        __declspec( dllexport ) ~TextFeld();
+        __declspec( dllexport ) virtual ~TextFeld();
         // setzt einen Zeiger auf den Text im Textfeld
         // setzt einen Zeiger auf den Text im Textfeld
         //  txt: Der Zeiger auf den Text
         //  txt: Der Zeiger auf den Text
         __declspec( dllexport ) void setTextZ( Text *txt );
         __declspec( dllexport ) void setTextZ( Text *txt );
@@ -72,7 +72,7 @@ namespace Framework
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
         __declspec( dllexport ) void setSchriftZ( Schrift *schrift );
         // Setzt die Schriftgröße (Standart: 12)
         // Setzt die Schriftgröße (Standart: 12)
         //  gr: Die Schriftgröße, die zum Textzeichnen verwendet werden soll
         //  gr: Die Schriftgröße, die zum Textzeichnen verwendet werden soll
-        __declspec( dllexport ) void setSchriftGröße( unsigned char gr );
+        __declspec( dllexport ) void setSchriftSize( unsigned char gr );
         // Setzt die Schrift Farbe
         // Setzt die Schrift Farbe
         //  fc: Die Farbe, die zum Textzeichnen verwendet werden soll
         //  fc: Die Farbe, die zum Textzeichnen verwendet werden soll
         __declspec( dllexport ) void setSchriftFarbe( int fc );
         __declspec( dllexport ) void setSchriftFarbe( int fc );
@@ -113,7 +113,7 @@ namespace Framework
         //  return: 0, falls die Schrift nicht gesetzt wurde
         //  return: 0, falls die Schrift nicht gesetzt wurde
         __declspec( dllexport ) Schrift *zSchrift() const;
         __declspec( dllexport ) Schrift *zSchrift() const;
         // Gibt die Schriftgröße zurück
         // Gibt die Schriftgröße zurück
-        __declspec( dllexport ) unsigned char getSchriftGröße() const;
+        __declspec( dllexport ) unsigned char getSchriftSize() const;
         // Gibt die Schriftfarbe im A8R8G8B8 Format zurück
         // Gibt die Schriftfarbe im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getSchriftFarbe() const;
         __declspec( dllexport ) int getSchriftFarbe() const;
         // Gibt den Anzeigebuchstabe zurück
         // Gibt den Anzeigebuchstabe zurück
@@ -121,7 +121,7 @@ namespace Framework
         // Gibt die Cursorposition zurück
         // Gibt die Cursorposition zurück
         __declspec( dllexport ) int getCursorPos() const;
         __declspec( dllexport ) int getCursorPos() const;
         // Gibt den Index des Buchstaben zurück, con dem an der Text bis zur Cursorposition eingefärbt ist
         // Gibt den Index des Buchstaben zurück, con dem an der Text bis zur Cursorposition eingefärbt ist
-        __declspec( dllexport ) int getFärbungPos() const;
+        __declspec( dllexport ) int getSelectionPos() const;
         // Erzeugt eine Komplette Kopie des Textfeldes, welches ohne auswirkungen verändert werden kann
         // Erzeugt eine Komplette Kopie des Textfeldes, welches ohne auswirkungen verändert werden kann
         __declspec( dllexport ) Zeichnung *dublizieren() const override;
         __declspec( dllexport ) Zeichnung *dublizieren() const override;
         // Erhöht den Reference Counting Zähler.
         // Erhöht den Reference Counting Zähler.

+ 14 - 8
Textur.cpp

@@ -1,7 +1,9 @@
 #include "Textur.h"
 #include "Textur.h"
 #include "Bild.h"
 #include "Bild.h"
+#ifdef WIN32
 #include "Render3D.h"
 #include "Render3D.h"
 #include <d3d11.h>
 #include <d3d11.h>
+#endif
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -23,10 +25,12 @@ Textur::~Textur()
 {
 {
     if( bild )
     if( bild )
         bild->release();
         bild->release();
+#ifdef WIN32
     if( txt )
     if( txt )
         txt->Release();
         txt->Release();
     if( view )
     if( view )
         view->Release();
         view->Release();
+#endif
 }
 }
 
 
 // Setzt einen Zeiger auf das Bild, welches die Textur enthält
 // Setzt einen Zeiger auf das Bild, welches die Textur enthält
@@ -44,13 +48,13 @@ void Textur::setBild( Bild *b )
 {
 {
     if( !b )
     if( !b )
         return;
         return;
-    if( !bild || bild->getBreite() != b->getBreite() || bild->getHöhe() != b->getHöhe() )
+    if( !bild || bild->getBreite() != b->getBreite() || bild->getHeight() != b->getHeight() )
     {
     {
         if( !bild )
         if( !bild )
             bild = new Bild();
             bild = new Bild();
-        bild->neuBild( b->getBreite(), b->getHöhe(), 0 );
+        bild->neuBild( b->getBreite(), b->getHeight(), 0 );
     }
     }
-    bild->drawBild( 0, 0, bild->getBreite(), bild->getHöhe(), *b );
+    bild->drawBild( 0, 0, bild->getBreite(), bild->getHeight(), *b );
     b->release();
     b->release();
 }
 }
 
 
@@ -60,7 +64,8 @@ bool Textur::updateTextur( Render3D *zRObj )
 {
 {
     if( !bild )
     if( !bild )
         return 0;
         return 0;
-    if( !txt || lastGr != bild->getGröße() )
+#ifdef WIN32
+    if( !txt || lastGr != bild->getSize() )
     {
     {
         if( txt )
         if( txt )
             txt->Release();
             txt->Release();
@@ -69,7 +74,7 @@ bool Textur::updateTextur( Render3D *zRObj )
         memset( &bufferDesc, 0, sizeof( D3D11_TEXTURE2D_DESC ) );
         memset( &bufferDesc, 0, sizeof( D3D11_TEXTURE2D_DESC ) );
         bufferDesc.ArraySize = 1;
         bufferDesc.ArraySize = 1;
         bufferDesc.Width = bild->getBreite();
         bufferDesc.Width = bild->getBreite();
-        bufferDesc.Height = bild->getHöhe();
+        bufferDesc.Height = bild->getHeight();
         bufferDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;
         bufferDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;
         bufferDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
         bufferDesc.BindFlags = D3D11_BIND_SHADER_RESOURCE;
         bufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
         bufferDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
@@ -84,10 +89,10 @@ bool Textur::updateTextur( Render3D *zRObj )
     zRObj->zContext()->Map( txt, 0, D3D11_MAP::D3D11_MAP_WRITE_DISCARD, 0, &buffer );
     zRObj->zContext()->Map( txt, 0, D3D11_MAP::D3D11_MAP_WRITE_DISCARD, 0, &buffer );
     int *bgBuff = bild->getBuffer();
     int *bgBuff = bild->getBuffer();
     int tmpBr = 4 * bild->getBreite();
     int tmpBr = 4 * bild->getBreite();
-    for( int y = 0, pitch = 0, bry = 0; y < bild->getHöhe(); ++y, pitch += buffer.RowPitch, bry += bild->getBreite() )
+    for( int y = 0, pitch = 0, bry = 0; y < bild->getHeight(); ++y, pitch += buffer.RowPitch, bry += bild->getBreite() )
         memcpy( &( (BYTE *)buffer.pData )[ pitch ], ( void* )&( bgBuff[ bry ] ), tmpBr );
         memcpy( &( (BYTE *)buffer.pData )[ pitch ], ( void* )&( bgBuff[ bry ] ), tmpBr );
     zRObj->zContext()->Unmap( txt, 0 );
     zRObj->zContext()->Unmap( txt, 0 );
-    if( !view || lastGr != bild->getGröße() )
+    if( !view || lastGr != bild->getSize() )
     {
     {
         if( view )
         if( view )
             view->Release();
             view->Release();
@@ -101,7 +106,8 @@ bool Textur::updateTextur( Render3D *zRObj )
         if( r != S_OK )
         if( r != S_OK )
             return 0;
             return 0;
     }
     }
-    lastGr = bild->getGröße();
+    lastGr = bild->getSize();
+#endif
     return 1;
     return 1;
 }
 }
 
 

+ 3 - 3
TexturList.cpp

@@ -47,7 +47,7 @@ bool TexturList::addTextur( Textur *t, const char *name )
 
 
 // Entfernt eine Textur aus der Liste
 // Entfernt eine Textur aus der Liste
 //  name: Der Name der Textur
 //  name: Der Name der Textur
-void TexturList::löscheTextur( const char *name )
+void TexturList::removeTextur( const char *name )
 {
 {
     EnterCriticalSection( &cs );
     EnterCriticalSection( &cs );
     int index = 0;
     int index = 0;
@@ -55,8 +55,8 @@ void TexturList::l
     {
     {
         if( i.var->istGleich( name ) )
         if( i.var->istGleich( name ) )
         {
         {
-            names->lösche( index );
-            textures->lösche( index );
+            names->remove( index );
+            textures->remove( index );
             LeaveCriticalSection( &cs );
             LeaveCriticalSection( &cs );
             return;
             return;
         }
         }

+ 1 - 1
TexturList.h

@@ -27,7 +27,7 @@ namespace Framework
         __declspec( dllexport ) bool addTextur( Textur *t, const char *name );
         __declspec( dllexport ) bool addTextur( Textur *t, const char *name );
         // Entfernt eine Textur aus der Liste
         // Entfernt eine Textur aus der Liste
         //  name: Der Name der Textur
         //  name: Der Name der Textur
-        __declspec( dllexport ) void löscheTextur( const char *name );
+        __declspec( dllexport ) void removeTextur( const char *name );
         // Überprüft, ob unter einem bestimmten Namen eine Textur abgespeichert wurde
         // Überprüft, ob unter einem bestimmten Namen eine Textur abgespeichert wurde
         //  name: Der Name
         //  name: Der Name
         //  return: true, wenn eine Textur mit dem Namen existiert
         //  return: true, wenn eine Textur mit dem Namen existiert

+ 3 - 3
TexturModel.cpp

@@ -29,7 +29,7 @@ TexturModel::TexturModel()
     Polygon3D *p = new Polygon3D();
     Polygon3D *p = new Polygon3D();
     p->indexAnz = 6;
     p->indexAnz = 6;
     p->indexList = new int[ p->indexAnz ];
     p->indexList = new int[ p->indexAnz ];
-    p->indexBuffer->setLänge( p->indexAnz * 4 );
+    p->indexBuffer->setLength( p->indexAnz * 4 );
     p->indexBuffer->setData( p->indexList );
     p->indexBuffer->setData( p->indexList );
     p->indexList[ 0 ] = 0;
     p->indexList[ 0 ] = 0;
     p->indexList[ 1 ] = 3;
     p->indexList[ 1 ] = 3;
@@ -65,7 +65,7 @@ void TexturModel::setTextur( int id )
 
 
 // Setzt die Größe, in der Die Textur angezeigt wird
 // Setzt die Größe, in der Die Textur angezeigt wird
 //  gr: Ein Vektor, der für x und y die breite und höhe beinhaltet
 //  gr: Ein Vektor, der für x und y die breite und höhe beinhaltet
-void TexturModel::setGröße( Vec2< float > gr )
+void TexturModel::setSize( Vec2< float > gr )
 {
 {
     gr /= 2;
     gr /= 2;
     Vertex3D *vertecies = new Vertex3D[ 4 ];
     Vertex3D *vertecies = new Vertex3D[ 4 ];
@@ -85,7 +85,7 @@ void TexturModel::setGr
 // Setzt die Größe, in der die Textur angezeigt wird
 // Setzt die Größe, in der die Textur angezeigt wird
 //  b: Die Breite, in der die Textur angezeigt wird
 //  b: Die Breite, in der die Textur angezeigt wird
 //  h: Die Höhe, in der die Textur angezeigt wird
 //  h: Die Höhe, in der die Textur angezeigt wird
-void TexturModel::setGröße( float b, float h )
+void TexturModel::setSize( float b, float h )
 {
 {
     b /= 2;
     b /= 2;
     h /= 2;
     h /= 2;

+ 2 - 2
TexturModel.h

@@ -20,11 +20,11 @@ namespace Framework
         __declspec( dllexport ) void setTextur( int id );
         __declspec( dllexport ) void setTextur( int id );
         // Setzt die Größe, in der Die Textur angezeigt wird
         // Setzt die Größe, in der Die Textur angezeigt wird
         //  gr: Ein Vektor, der für x und y die breite und höhe beinhaltet
         //  gr: Ein Vektor, der für x und y die breite und höhe beinhaltet
-        __declspec( dllexport ) void setGröße( Vec2< float > gr );
+        __declspec( dllexport ) void setSize( Vec2< float > gr );
         // Setzt die Größe, in der die Textur angezeigt wird
         // Setzt die Größe, in der die Textur angezeigt wird
         //  b: Die Breite, in der die Textur angezeigt wird
         //  b: Die Breite, in der die Textur angezeigt wird
         //  h: Die Höhe, in der die Textur angezeigt wird
         //  h: Die Höhe, in der die Textur angezeigt wird
-        __declspec( dllexport ) void setGröße( float b, float h );
+        __declspec( dllexport ) void setSize( float b, float h );
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         // Verringert den Reference Counting Zähler. Wenn der Zähler 0 erreicht, wird das Zeichnung automatisch gelöscht.
         //  return: 0.
         //  return: 0.
         __declspec( dllexport ) Model3D *release() override;
         __declspec( dllexport ) Model3D *release() override;

+ 3 - 3
Thread.cpp

@@ -87,7 +87,7 @@ void Thread::threadEnd()
 }
 }
 
 
 // constant 
 // constant 
-bool Thread::läuft() const // prüft, ob der Thrad aktiv ist
+bool Thread::isRunning() const // prüft, ob der Thrad aktiv ist
 {
 {
     return run;
     return run;
 }
 }
@@ -177,7 +177,7 @@ void ThreadRegister::add( Thread *t )
 void ThreadRegister::remove( Thread *t )
 void ThreadRegister::remove( Thread *t )
 {
 {
     EnterCriticalSection( &cs );
     EnterCriticalSection( &cs );
-    threads.lösche( threads.getWertIndex( t ) );
+    threads.remove( threads.getWertIndex( t ) );
     LeaveCriticalSection( &cs );
     LeaveCriticalSection( &cs );
 }
 }
 
 
@@ -206,7 +206,7 @@ void ThreadRegister::cleanUpClosedThreads()
 #ifndef WIN32
 #ifndef WIN32
         pthread_join( closedThreads.get( 0 ), 0 );
         pthread_join( closedThreads.get( 0 ), 0 );
 #endif
 #endif
-        closedThreads.lösche( 0 );
+        closedThreads.remove( 0 );
     }
     }
     LeaveCriticalSection( &cs );
     LeaveCriticalSection( &cs );
 }
 }

+ 1 - 1
Thread.h

@@ -39,7 +39,7 @@ namespace Framework
         // prüft, ob der Thrad aktiv ist
         // prüft, ob der Thrad aktiv ist
         // return: true, falls der Thread läuft. 
         // return: true, falls der Thread läuft. 
         //         false, wenn der Thread beendet, pausiert oder noch nicht gestartet wurde.
         //         false, wenn der Thread beendet, pausiert oder noch nicht gestartet wurde.
-        __declspec( dllexport ) bool läuft() const;
+        __declspec( dllexport ) bool isRunning() const;
         // wartet zeit lang auf den Thread
         // wartet zeit lang auf den Thread
         //  zeit: Die Zeit, die auf den Thread gewartet werden soll. 1000 = 1 Sekunde
         //  zeit: Die Zeit, die auf den Thread gewartet werden soll. 1000 = 1 Sekunde
         __declspec( dllexport ) int warteAufThread( int zeit );
         __declspec( dllexport ) int warteAufThread( int zeit );

+ 23 - 23
ToolTip.cpp

@@ -13,7 +13,7 @@ using namespace Framework;
 // Konstruktor
 // Konstruktor
 ToolTip::ToolTip( Bildschirm *zScreen )
 ToolTip::ToolTip( Bildschirm *zScreen )
     : TextFeld(),
     : TextFeld(),
-    größe( 0, 0 ),
+    size( 0, 0 ),
     animationSpeed( 250 ),
     animationSpeed( 250 ),
     warten( 1 ),
     warten( 1 ),
     wartenCount( 0 ),
     wartenCount( 0 ),
@@ -21,8 +21,8 @@ ToolTip::ToolTip( Bildschirm *zScreen )
     mausIn( 0 ),
     mausIn( 0 ),
     alpha( 0 ),
     alpha( 0 ),
     sichtbar( 0 ),
     sichtbar( 0 ),
-    bildschirm( zScreen ),
-    zeichnen( 0 )
+    zeichnen( 0 ),
+	bildschirm( zScreen )
 {
 {
     bildschirm->addToolTip( ( ToolTip* )this->getThis() );
     bildschirm->addToolTip( ( ToolTip* )this->getThis() );
 }
 }
@@ -32,16 +32,16 @@ ToolTip::~ToolTip()
 {}
 {}
 
 
 // nicht constant
 // nicht constant
-void ToolTip::setGröße( int breite, int höhe )
+void ToolTip::setSize( int breite, int height )
 {
 {
-    größe.x = breite;
-    größe.y = höhe;
+    size.x = breite;
+    size.y = height;
     rend = 1;
     rend = 1;
 }
 }
 
 
-void ToolTip::setGröße( Punkt &gr )
+void ToolTip::setSize( Punkt &gr )
 {
 {
-    größe = gr;
+    size = gr;
     rend = 1;
     rend = 1;
 }
 }
 
 
@@ -92,7 +92,7 @@ bool ToolTip::tick( double tickVal )
             if( alpha - val < 0 )
             if( alpha - val < 0 )
                 alpha = 0;
                 alpha = 0;
             else
             else
-                alpha -= val;
+                alpha = (unsigned char)( alpha - val );
             rend = 1;
             rend = 1;
         }
         }
         if( mausIn )
         if( mausIn )
@@ -103,7 +103,7 @@ bool ToolTip::tick( double tickVal )
                 sichtbar = 1;
                 sichtbar = 1;
                 wartenCount = 0;
                 wartenCount = 0;
                 alpha = 0xFF;
                 alpha = 0xFF;
-                __super::setGröße( 0, 0 );
+				TextFeld::setSize( 0, 0 );
             }
             }
         }
         }
         else
         else
@@ -111,18 +111,18 @@ bool ToolTip::tick( double tickVal )
     }
     }
     else
     else
     {
     {
-        if( getBreite() != größe.x )
+        if( getBreite() != size.x )
         {
         {
-            __super::setGröße( getBreite() + val, getSchriftGröße() + getLinienRahmenBreite() * 2 );
-            if( getBreite() > größe.x )
-                __super::setGröße( größe.x, getHöhe() );
+			TextFeld::setSize( getBreite() + val, getSchriftSize() + getLinienRahmenBreite() * 2 );
+            if( getBreite() > size.x )
+				TextFeld::setSize( size.x, getHeight() );
             rend = 1;
             rend = 1;
         }
         }
-        else if( getHöhe() != größe.y )
+        else if( getHeight() != size.y )
         {
         {
-            __super::setGröße( getBreite(), getHöhe() + val );
-            if( getHöhe() > größe.y )
-                __super::setGröße( getBreite(), größe.y );
+			TextFeld::setSize( getBreite(), getHeight() + val );
+            if( getHeight() > size.y )
+				TextFeld::setSize( getBreite(), size.y );
             rend = 1;
             rend = 1;
         }
         }
     }
     }
@@ -145,16 +145,16 @@ void ToolTip::render( Bild &zRObj )
     if( alpha && zeichnen )
     if( alpha && zeichnen )
     {
     {
         zSchrift()->lock();
         zSchrift()->lock();
-        zSchrift()->setSchriftGröße( getSchriftGröße() );
-        größe = Punkt( zSchrift()->getTextBreite( zText() ) + getLinienRahmenBreite() * 2, zSchrift()->getTextHöhe( zText() ) + getLinienRahmenBreite() * 2 );
+        zSchrift()->setSchriftSize( getSchriftSize() );
+        size = Punkt( zSchrift()->getTextBreite( zText() ) + getLinienRahmenBreite() * 2, zSchrift()->getTextHeight( zText() ) + getLinienRahmenBreite() * 2 );
         zSchrift()->unlock();
         zSchrift()->unlock();
         zRObj.setAlpha( alpha );
         zRObj.setAlpha( alpha );
         setPosition( pos );
         setPosition( pos );
         if( getX() + getBreite() > zRObj.getBreite() )
         if( getX() + getBreite() > zRObj.getBreite() )
             setPosition( getX() - ( getX() + getBreite() - zRObj.getBreite() ), getY() );
             setPosition( getX() - ( getX() + getBreite() - zRObj.getBreite() ), getY() );
-        if( getY() + getHöhe() > zRObj.getHöhe() )
-            setPosition( getX(), getY() - ( getY() + getHöhe() - zRObj.getHöhe() ) );
-        __super::render( zRObj );
+        if( getY() + getHeight() > zRObj.getHeight() )
+            setPosition( getX(), getY() - ( getY() + getHeight() - zRObj.getHeight() ) );
+		TextFeld::render( zRObj );
         zRObj.releaseAlpha();
         zRObj.releaseAlpha();
         zeichnen = 0;
         zeichnen = 0;
     }
     }

+ 4 - 4
ToolTip.h

@@ -20,7 +20,7 @@ namespace Framework
         class Style : public TextFeld::Style
         class Style : public TextFeld::Style
         {};
         {};
     private:
     private:
-        Punkt größe;
+        Punkt size;
         double animationSpeed;
         double animationSpeed;
         double warten;
         double warten;
         double wartenCount;
         double wartenCount;
@@ -38,13 +38,13 @@ namespace Framework
         __declspec( dllexport ) ~ToolTip();
         __declspec( dllexport ) ~ToolTip();
         // Setzt die ausgeklappte Größe.
         // Setzt die ausgeklappte Größe.
         //  breite: Die Breite in Pixeln
         //  breite: Die Breite in Pixeln
-        //  höhe: Die Höhe in Pixeln
+        //  height: Die Höhe in Pixeln
         // Die Größe wird beim rendern überschrieben
         // Die Größe wird beim rendern überschrieben
-        __declspec( dllexport ) void setGröße( int breite, int höhe );
+        __declspec( dllexport ) void setSize( int breite, int height );
         // Setzt die ausgeklappte Größe.
         // Setzt die ausgeklappte Größe.
         //  gr: Die Größe in Pixeln
         //  gr: Die Größe in Pixeln
         // Die Größe wird beim rendern überschrieben
         // Die Größe wird beim rendern überschrieben
-        __declspec( dllexport ) void setGröße( Punkt &gr );
+        __declspec( dllexport ) void setSize( Punkt &gr );
         // Setzt die anzahl an Seunden, de gewartet wird bis der Tipp erscheint
         // Setzt die anzahl an Seunden, de gewartet wird bis der Tipp erscheint
         //  warten: Die Anzahl an Sekunden
         //  warten: Die Anzahl an Sekunden
         __declspec( dllexport ) void setWarten( double warten );
         __declspec( dllexport ) void setWarten( double warten );

+ 6 - 6
Vec2.h

@@ -31,9 +31,9 @@ namespace Framework
         // Skalliert den Vektor, so dass er die Länge 1 hat
         // Skalliert den Vektor, so dass er die Länge 1 hat
         inline Vec2 &normalize()
         inline Vec2 &normalize()
         {
         {
-            const T länge = län();
-            x /= länge;
-            y /= länge;
+            const T length = getLength();
+            x /= length;
+            y /= length;
             return *this;
             return *this;
         }
         }
         // Dreht den Vektor um 90 Grad gegen den Uhrzeigersinn
         // Dreht den Vektor um 90 Grad gegen den Uhrzeigersinn
@@ -113,14 +113,14 @@ namespace Framework
             return Vec2< T2 >( (T2)x, (T2)y );
             return Vec2< T2 >( (T2)x, (T2)y );
         }
         }
         // Errechnet das Quadrat der Länge desVektors
         // Errechnet das Quadrat der Länge desVektors
-        inline T länSq() const
+        inline T getLengthSq() const
         {
         {
             return *this * *this;
             return *this * *this;
         }
         }
         // Errechnet die Länge des Vektors
         // Errechnet die Länge des Vektors
-        inline T län() const
+        inline T getLength() const
         {
         {
-            return sqrt( länSq() );
+            return sqrt( getLengthSq() );
         }
         }
         // Errechnet das Skalarprodukt zwischen zwei Vektoren
         // Errechnet das Skalarprodukt zwischen zwei Vektoren
         //  r: Der andere Vektor
         //  r: Der andere Vektor

+ 7 - 7
Vec3.h

@@ -33,10 +33,10 @@ namespace Framework
         // Skalliert den Vektor, so dass er die Länge 1 hat
         // Skalliert den Vektor, so dass er die Länge 1 hat
         inline Vec3 &normalize()
         inline Vec3 &normalize()
         {
         {
-            const T länge = län();
-            x /= länge;
-            y /= länge;
-            z /= länge;
+            const T length = getLength();
+            x /= length;
+            y /= length;
+            z /= length;
             return *this;
             return *this;
         }
         }
         // Vertaucht die Werte des Vektors mit denen eines anderen Vektor
         // Vertaucht die Werte des Vektors mit denen eines anderen Vektor
@@ -117,14 +117,14 @@ namespace Framework
             return{ (T2)x, (T2)y, (T2)z };
             return{ (T2)x, (T2)y, (T2)z };
         }
         }
         // Errechnet das Quadrat der Länge des Vektors
         // Errechnet das Quadrat der Länge des Vektors
-        inline T länSq() const
+        inline T getLengthSq() const
         {
         {
             return *this * *this;
             return *this * *this;
         }
         }
         // Errechnet due Länge des Vektors
         // Errechnet due Länge des Vektors
-        inline T län() const
+        inline T getLength() const
         {
         {
-            return sqrt( länSq() );
+            return (T)sqrt( getLengthSq() );
         }
         }
         // Bildet das Skalarprodukt zwischen zwei Vektoren
         // Bildet das Skalarprodukt zwischen zwei Vektoren
         //  r: Der andere Vektor
         //  r: Der andere Vektor

+ 6 - 2
Welt3D.cpp

@@ -1,7 +1,9 @@
 #include "Welt3D.h"
 #include "Welt3D.h"
 #include "Zeichnung3D.h"
 #include "Zeichnung3D.h"
-#include "Render3D.h"
 #include "MausEreignis.h"
 #include "MausEreignis.h"
+#ifdef WIN32
+#include "Render3D.h"
+#endif
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -228,9 +230,10 @@ bool Welt3D::tick( double tickval )
 //  zRObj: Enthällt alle Werkzeuge, die zum Zeichnen verwendet werden
 //  zRObj: Enthällt alle Werkzeuge, die zum Zeichnen verwendet werden
 void Welt3D::render( Render3D *zRObj )
 void Welt3D::render( Render3D *zRObj )
 {
 {
+#ifdef WIN32
     upd = 1;
     upd = 1;
+	EnterCriticalSection( &cs );
     int index = 0;
     int index = 0;
-    EnterCriticalSection( &cs );
     for( Zeichnung3D **i = members; index < arraySize; i++, index++ )
     for( Zeichnung3D **i = members; index < arraySize; i++, index++ )
     {
     {
         if( *i && zRObj->isInFrustrum( ( *i )->getPos(), ( *i )->getRadius() ) )
         if( *i && zRObj->isInFrustrum( ( *i )->getPos(), ( *i )->getRadius() ) )
@@ -311,6 +314,7 @@ void Welt3D::render( Render3D *zRObj )
     for( int i = index2 - 1; i >= 0; i-- )
     for( int i = index2 - 1; i >= 0; i-- )
         alphaVS[ i ]->render( zRObj );
         alphaVS[ i ]->render( zRObj );
     LeaveCriticalSection( &cs );
     LeaveCriticalSection( &cs );
+#endif
 }
 }
 
 
 // Erhöht den Reference Counting Zähler.
 // Erhöht den Reference Counting Zähler.

+ 1 - 1
Welt3D.h

@@ -30,7 +30,7 @@ namespace Framework
         // Konstructor
         // Konstructor
         __declspec( dllexport ) Welt3D();
         __declspec( dllexport ) Welt3D();
         // Destruktor
         // Destruktor
-        __declspec( dllexport ) ~Welt3D();
+        __declspec( dllexport ) virtual ~Welt3D();
         // Fügt der Welt ein Objekt hinzu
         // Fügt der Welt ein Objekt hinzu
         //  obj: Das Objekt, was hinzugefügt werden soll
         //  obj: Das Objekt, was hinzugefügt werden soll
         __declspec( dllexport ) void addZeichnung( Zeichnung3D *obj );
         __declspec( dllexport ) void addZeichnung( Zeichnung3D *obj );

+ 39 - 37
Zeichnung.cpp

@@ -8,7 +8,9 @@
 #include "Rahmen.h"
 #include "Rahmen.h"
 #include "AlphaFeld.h"
 #include "AlphaFeld.h"
 #include "Bild.h"
 #include "Bild.h"
+#ifdef WIN32
 #include <Windows.h>
 #include <Windows.h>
+#endif
 
 
 using namespace Framework;
 using namespace Framework;
 
 
@@ -110,7 +112,7 @@ void Zeichnung::setNTastaturEreignis( bool( *ak )( void *, void *, TastaturEreig
 
 
 void Zeichnung::doMausEreignis( MausEreignis &me ) // ruft Mak auf
 void Zeichnung::doMausEreignis( MausEreignis &me ) // ruft Mak auf
 {
 {
-    if( me.verarbeitet || ( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Verlässt ) )
+    if( me.verarbeitet || ( !( me.mx >= pos.x && me.mx <= pos.x + gr.x && me.my >= pos.y && me.my <= pos.y + gr.y ) && me.id != ME_Leaves ) )
     {
     {
         if( mausIn )
         if( mausIn )
         {
         {
@@ -118,7 +120,7 @@ void Zeichnung::doMausEreignis( MausEreignis &me ) // ruft Mak auf
             if( toolTip )
             if( toolTip )
                 toolTip->setMausIn( 0 );
                 toolTip->setMausIn( 0 );
             MausEreignis me2;
             MausEreignis me2;
-            me2.id = ME_Verlässt;
+            me2.id = ME_Leaves;
             me2.mx = me.mx;
             me2.mx = me.mx;
             me2.my = me.my;
             me2.my = me.my;
             me2.verarbeitet = 0;
             me2.verarbeitet = 0;
@@ -126,7 +128,7 @@ void Zeichnung::doMausEreignis( MausEreignis &me ) // ruft Mak auf
         }
         }
         return;
         return;
     }
     }
-    if( !mausIn && me.id != ME_Verlässt )
+    if( !mausIn && me.id != ME_Leaves )
     {
     {
         mausIn = 1;
         mausIn = 1;
         if( toolTip )
         if( toolTip )
@@ -187,7 +189,7 @@ void Zeichnung::setY( int yPos )
     unlockZeichnung();
     unlockZeichnung();
 }
 }
 
 
-void Zeichnung::setGröße( const Punkt &gr ) // setzt die Größe
+void Zeichnung::setSize( const Punkt &gr ) // setzt die Größe
 {
 {
     lockZeichnung();
     lockZeichnung();
     if( this->gr != gr )
     if( this->gr != gr )
@@ -201,9 +203,9 @@ void Zeichnung::setPosition( int x, int y ) // setzt die position
     setPosition( Punkt( x, y ) );
     setPosition( Punkt( x, y ) );
 }
 }
 
 
-void Zeichnung::setGröße( int x, int y ) // setzt die Größe
+void Zeichnung::setSize( int x, int y ) // setzt die Größe
 {
 {
-    setGröße( Punkt( x, y ) );
+    setSize( Punkt( x, y ) );
 }
 }
 
 
 bool Zeichnung::tick( double tickval )
 bool Zeichnung::tick( double tickval )
@@ -222,14 +224,14 @@ void Zeichnung::setStyle( __int64 style ) // setzt den Style des Text Feldes
     }
     }
 }
 }
 
 
-void Zeichnung::setStyle( __int64 style, bool add_löschen )
+void Zeichnung::setStyle( __int64 style, bool add_remove )
 {
 {
-    if( add_löschen && ( this->style | style ) != this->style )
+    if( add_remove && ( this->style | style ) != this->style )
     {
     {
         this->style |= style;
         this->style |= style;
         rend = 1;
         rend = 1;
     }
     }
-    else if( !add_löschen && ( this->style & ~style ) != this->style )
+    else if( !add_remove && ( this->style & ~style ) != this->style )
     {
     {
         if( toolTip && ( style | Style::Sichtbar ) == style )
         if( toolTip && ( style | Style::Sichtbar ) == style )
             toolTip->setMausIn( 0 );
             toolTip->setMausIn( 0 );
@@ -247,7 +249,7 @@ void Zeichnung::addStyle( __int64 style )
     }
     }
 }
 }
 
 
-void Zeichnung::löscheStyle( __int64 style )
+void Zeichnung::removeStyle( __int64 style )
 {
 {
     if( ( this->style & ~style ) != this->style )
     if( ( this->style & ~style ) != this->style )
     {
     {
@@ -280,7 +282,7 @@ const Punkt &Zeichnung::getPosition() const // gibt die Position zur
     return pos;
     return pos;
 }
 }
 
 
-const Punkt &Zeichnung::getGröße() const // gibt die Größe zurück
+const Punkt &Zeichnung::getSize() const // gibt die Größe zurück
 {
 {
     return gr;
     return gr;
 }
 }
@@ -290,7 +292,7 @@ int Zeichnung::getBreite() const // gibt die Breite zur
     return gr.x;
     return gr.x;
 }
 }
 
 
-int Zeichnung::getHöhe() const // gibt die Höhe zurück
+int Zeichnung::getHeight() const // gibt die Höhe zurück
 {
 {
     return gr.y;
     return gr.y;
 }
 }
@@ -329,7 +331,7 @@ Zeichnung *Zeichnung::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
 {
 {
     Zeichnung *obj = new Zeichnung();
     Zeichnung *obj = new Zeichnung();
     obj->setPosition( pos );
     obj->setPosition( pos );
-    obj->setGröße( gr );
+    obj->setSize( gr );
     obj->setMausEreignisParameter( makParam );
     obj->setMausEreignisParameter( makParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setMausEreignis( Mak );
     obj->setMausEreignis( Mak );
@@ -506,8 +508,8 @@ ZeichnungHintergrund::ZeichnungHintergrund()
     vertikalScrollBar = 0;
     vertikalScrollBar = 0;
     innenPosition.x = 0;
     innenPosition.x = 0;
     innenPosition.y = 0;
     innenPosition.y = 0;
-    innenGröße.x = 0;
-    innenGröße.y = 0;
+    innenSize.x = 0;
+    innenSize.y = 0;
 }
 }
 
 
 // Destruktor 
 // Destruktor 
@@ -529,10 +531,10 @@ void ZeichnungHintergrund::setHintergrundBild( Bild *bild ) // setzt das Hinterg
 {
 {
     if( !hintergrundBild )
     if( !hintergrundBild )
         hintergrundBild = new Bild();
         hintergrundBild = new Bild();
-    hintergrundBild->neuBild( bild->getBreite(), bild->getHöhe(), 0 );
+    hintergrundBild->neuBild( bild->getBreite(), bild->getHeight(), 0 );
     int *buff1 = hintergrundBild->getBuffer();
     int *buff1 = hintergrundBild->getBuffer();
     int *buff2 = bild->getBuffer();
     int *buff2 = bild->getBuffer();
-    for( int i = 0; i < bild->getBreite() * bild->getHöhe(); ++i )
+    for( int i = 0; i < bild->getBreite() * bild->getHeight(); ++i )
         buff1[ i ] = buff2[ i ];
         buff1[ i ] = buff2[ i ];
     bild->release();
     bild->release();
     rend = 1;
     rend = 1;
@@ -569,16 +571,16 @@ void ZeichnungHintergrund::setAlphaFeldZ( AlphaFeld *buff ) // setzt einen Zeige
     }
     }
 }
 }
 
 
-void ZeichnungHintergrund::setAlphaFeldStärke( int st ) // setzt die Stärke des Hintergrund Buffers
+void ZeichnungHintergrund::setAlphaFeldStrength( int st ) // setzt die Stärke des Hintergrund Buffers
 {
 {
     if( !hintergrundFeld )
     if( !hintergrundFeld )
     {
     {
         hintergrundFeld = new AlphaFeld();
         hintergrundFeld = new AlphaFeld();
         rend = 1;
         rend = 1;
     }
     }
-    if( hintergrundFeld->getStärke() != st )
+    if( hintergrundFeld->getStrength() != st )
     {
     {
-        hintergrundFeld->setStärke( st );
+        hintergrundFeld->setStrength( st );
         rend = 1;
         rend = 1;
     }
     }
 }
 }
@@ -728,15 +730,15 @@ bool ZeichnungHintergrund::tick( double tickVal )
         rend |= vertikalScrollBar->getRend();
         rend |= vertikalScrollBar->getRend();
     if( horizontalScrollBar && hatStyle( Style::HScroll ) )
     if( horizontalScrollBar && hatStyle( Style::HScroll ) )
         rend |= horizontalScrollBar->getRend();
         rend |= horizontalScrollBar->getRend();
-    return __super::tick( tickVal );
+    return Zeichnung::tick( tickVal );
 }
 }
 
 
 void ZeichnungHintergrund::render( Bild &rObj )
 void ZeichnungHintergrund::render( Bild &rObj )
 {
 {
     innenPosition.x = pos.x;
     innenPosition.x = pos.x;
     innenPosition.y = pos.y;
     innenPosition.y = pos.y;
-    innenGröße.x = gr.x;
-    innenGröße.y = gr.y;
+    innenSize.x = gr.x;
+    innenSize.y = gr.y;
     if( hatStyleNicht( Style::Sichtbar ) )
     if( hatStyleNicht( Style::Sichtbar ) )
         return;
         return;
     lockZeichnung();
     lockZeichnung();
@@ -745,18 +747,18 @@ void ZeichnungHintergrund::render( Bild &rObj )
         unlockZeichnung();
         unlockZeichnung();
         return;
         return;
     }
     }
-    __super::render( rObj );
+	Zeichnung::render( rObj );
     int rbr = 0;
     int rbr = 0;
     if( hatStyle( Style::Rahmen ) && rahmen )
     if( hatStyle( Style::Rahmen ) && rahmen )
     {
     {
-        rahmen->setGröße( gr );
+        rahmen->setSize( gr );
         rahmen->render( rObj );
         rahmen->render( rObj );
         rbr = rahmen->getRBreite();
         rbr = rahmen->getRBreite();
     }
     }
     innenPosition.x += rbr;
     innenPosition.x += rbr;
     innenPosition.y += rbr;
     innenPosition.y += rbr;
-    innenGröße.x -= rbr * 2;
-    innenGröße.y -= rbr * 2;
+    innenSize.x -= rbr * 2;
+    innenSize.y -= rbr * 2;
     if( !rObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, gr.y - rbr * 2 ) )
     if( !rObj.setDrawOptions( rbr, rbr, gr.x - rbr * 2, gr.y - rbr * 2 ) )
     {
     {
         rObj.releaseDrawOptions();
         rObj.releaseDrawOptions();
@@ -768,11 +770,11 @@ void ZeichnungHintergrund::render( Bild &rObj )
     if( vs )
     if( vs )
     {
     {
         vertikalScrollBar->render( gr.x - rbr * 2 - 15, 0, 15, gr.y - rbr * 2, rObj );
         vertikalScrollBar->render( gr.x - rbr * 2 - 15, 0, 15, gr.y - rbr * 2, rObj );
-        innenGröße.x -= 15;
+        innenSize.x -= 15;
         if( hs )
         if( hs )
         {
         {
             horizontalScrollBar->render( 0, gr.y - rbr * 2 - 15, gr.x - rbr * 2 - 15, 15, rObj );
             horizontalScrollBar->render( 0, gr.y - rbr * 2 - 15, gr.x - rbr * 2 - 15, 15, rObj );
-            innenGröße.y -= 15;
+            innenSize.y -= 15;
             if( !rObj.setDrawOptions( 0, 0, gr.x - rbr * 2 - 15, gr.y - rbr * 2 - 15 ) )
             if( !rObj.setDrawOptions( 0, 0, gr.x - rbr * 2 - 15, gr.y - rbr * 2 - 15 ) )
             {
             {
                 rObj.releaseDrawOptions();
                 rObj.releaseDrawOptions();
@@ -780,7 +782,7 @@ void ZeichnungHintergrund::render( Bild &rObj )
                 unlockZeichnung();
                 unlockZeichnung();
                 return;
                 return;
             }
             }
-            horizontalScrollBar->update( horizontalScrollBar->getScrollData()->max, innenGröße.x );
+            horizontalScrollBar->update( horizontalScrollBar->getScrollData()->max, innenSize.x );
         }
         }
         else
         else
         {
         {
@@ -792,12 +794,12 @@ void ZeichnungHintergrund::render( Bild &rObj )
                 return;
                 return;
             }
             }
         }
         }
-        vertikalScrollBar->update( vertikalScrollBar->getScrollData()->max, innenGröße.y );
+        vertikalScrollBar->update( vertikalScrollBar->getScrollData()->max, innenSize.y );
     }
     }
     else if( hs )
     else if( hs )
     {
     {
         horizontalScrollBar->render( rbr, gr.y - rbr * 2 - 15, gr.x - rbr * 2, 15, rObj );
         horizontalScrollBar->render( rbr, gr.y - rbr * 2 - 15, gr.x - rbr * 2, 15, rObj );
-        innenGröße.y -= 15;
+        innenSize.y -= 15;
         if( !rObj.setDrawOptions( 0, 0, gr.x - rbr * 2, gr.y - rbr * 2 - 15 ) )
         if( !rObj.setDrawOptions( 0, 0, gr.x - rbr * 2, gr.y - rbr * 2 - 15 ) )
         {
         {
             rObj.releaseDrawOptions();
             rObj.releaseDrawOptions();
@@ -811,7 +813,7 @@ void ZeichnungHintergrund::render( Bild &rObj )
         if( hatStyle( Style::HAlpha ) )
         if( hatStyle( Style::HAlpha ) )
             rObj.alphaRegion( 0, 0, gr.x - rbr * 2, gr.y - rbr * 2, hintergrundFarbe );
             rObj.alphaRegion( 0, 0, gr.x - rbr * 2, gr.y - rbr * 2, hintergrundFarbe );
         else
         else
-            rObj.füllRegion( 0, 0, gr.x - rbr * 2, gr.y - rbr * 2, hintergrundFarbe );
+            rObj.fillRegion( 0, 0, gr.x - rbr * 2, gr.y - rbr * 2, hintergrundFarbe );
         if( hatStyle( Style::HBild ) && hintergrundBild )
         if( hatStyle( Style::HBild ) && hintergrundBild )
         {
         {
             if( hatStyle( Style::HAlpha ) )
             if( hatStyle( Style::HAlpha ) )
@@ -822,7 +824,7 @@ void ZeichnungHintergrund::render( Bild &rObj )
     }
     }
     if( hatStyle( Style::Buffered ) && hintergrundFeld )
     if( hatStyle( Style::Buffered ) && hintergrundFeld )
     {
     {
-        hintergrundFeld->setGröße( gr.x - rbr * 2, gr.y - rbr * 2 );
+        hintergrundFeld->setSize( gr.x - rbr * 2, gr.y - rbr * 2 );
         hintergrundFeld->render( rObj );
         hintergrundFeld->render( rObj );
     }
     }
     if( vs || hs )
     if( vs || hs )
@@ -861,11 +863,11 @@ AlphaFeld *ZeichnungHintergrund::zAlphaFeld() const // gibt den Hintergrund Buff
     return hintergrundFeld;
     return hintergrundFeld;
 }
 }
 
 
-int ZeichnungHintergrund::getAlphaFeldStärke() const // gibt die Stärke des Hintergrund Buffers zurück
+int ZeichnungHintergrund::getAlphaFeldStrength() const // gibt die Stärke des Hintergrund Buffers zurück
 {
 {
     if( !hintergrundFeld )
     if( !hintergrundFeld )
         return 0;
         return 0;
-    return hintergrundFeld->getStärke();
+    return hintergrundFeld->getStrength();
 }
 }
 
 
 int ZeichnungHintergrund::getAlphaFeldFarbe() const // gibt getThis von der Farbe des Hintergrund Buffers zurück
 int ZeichnungHintergrund::getAlphaFeldFarbe() const // gibt getThis von der Farbe des Hintergrund Buffers zurück
@@ -941,7 +943,7 @@ Zeichnung *ZeichnungHintergrund::dublizieren() const // Erzeugt eine Kopie des Z
 {
 {
     ZeichnungHintergrund *obj = new ZeichnungHintergrund();
     ZeichnungHintergrund *obj = new ZeichnungHintergrund();
     obj->setPosition( pos );
     obj->setPosition( pos );
-    obj->setGröße( gr );
+    obj->setSize( gr );
     obj->setMausEreignisParameter( makParam );
     obj->setMausEreignisParameter( makParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setTastaturEreignisParameter( takParam );
     obj->setMausEreignis( Mak );
     obj->setMausEreignis( Mak );

+ 13 - 13
Zeichnung.h

@@ -118,28 +118,28 @@ namespace Framework
         __declspec( dllexport ) void setY( int yPos );
         __declspec( dllexport ) void setY( int yPos );
         // Setzt die Größe der Zeichnung
         // Setzt die Größe der Zeichnung
         //  gr: Ein Punkt mit x als Breite und y als Höhe in Pixeln
         //  gr: Ein Punkt mit x als Breite und y als Höhe in Pixeln
-        __declspec( dllexport ) void setGröße( const Punkt &gr );
+        __declspec( dllexport ) void setSize( const Punkt &gr );
         // Setzt die Position der Zeichnung
         // Setzt die Position der Zeichnung
         //  x: Die X Position in Pixeln
         //  x: Die X Position in Pixeln
         //  y: Die Y Position in Pixeln
         //  y: Die Y Position in Pixeln
         __declspec( dllexport ) void setPosition( int x, int y );
         __declspec( dllexport ) void setPosition( int x, int y );
         // Setzt die Größe der Zeichnung
         // Setzt die Größe der Zeichnung
         //  br: Die Breite in Pixeln
         //  br: Die Breite in Pixeln
-        //  hö: Die Höhe in Pixeln
-        __declspec( dllexport ) void setGröße( int br, int hö );
+        //  height: Die Höhe in Pixeln
+        __declspec( dllexport ) void setSize( int br, int height );
         // Setzt den Style der Zeichnung
         // Setzt den Style der Zeichnung
         //  style: Der neue Style bestehend aus den Flags aus der zugehörigen Style Klasse
         //  style: Der neue Style bestehend aus den Flags aus der zugehörigen Style Klasse
         __declspec( dllexport ) void setStyle( __int64 style );
         __declspec( dllexport ) void setStyle( __int64 style );
         // Setzt den Style der Zeichnung
         // Setzt den Style der Zeichnung
         //  style: Alle Style Flags, die verändert werden sollen
         //  style: Alle Style Flags, die verändert werden sollen
-        //  add_löschen: 1, falls der Style hinzugefügt werden soll. 0, falls der Style entfernt weden soll
-        __declspec( dllexport ) void setStyle( __int64 style, bool add_löschen );
+        //  add_remove: 1, falls der Style hinzugefügt werden soll. 0, falls der Style entfernt weden soll
+        __declspec( dllexport ) void setStyle( __int64 style, bool add_remove );
         // Fügt Style Flags hinzu
         // Fügt Style Flags hinzu
         //  style: Der Style, der hinzugefügt werden soll
         //  style: Der Style, der hinzugefügt werden soll
         __declspec( dllexport ) void addStyle( __int64 style );
         __declspec( dllexport ) void addStyle( __int64 style );
         // Entfernt Style Flags
         // Entfernt Style Flags
         //  style: Der Style, der entfernt werden soll
         //  style: Der Style, der entfernt werden soll
-        __declspec( dllexport ) void löscheStyle( __int64 style );
+        __declspec( dllexport ) void removeStyle( __int64 style );
         // Zeichnet die Zeihnung in ein bestimmtes Bild
         // Zeichnet die Zeihnung in ein bestimmtes Bild
         //  zRObj: Das Bild, in das gezeichnet werden soll
         //  zRObj: Das Bild, in das gezeichnet werden soll
         __declspec( dllexport ) virtual void render( Bild &zRObj );
         __declspec( dllexport ) virtual void render( Bild &zRObj );
@@ -150,11 +150,11 @@ namespace Framework
         // Gibt die Position der Zeichnung in Pixeln zurück
         // Gibt die Position der Zeichnung in Pixeln zurück
         __declspec( dllexport ) const Punkt &getPosition() const;
         __declspec( dllexport ) const Punkt &getPosition() const;
         // Gibt die Größe der Zeichnung in Pixeln zurück. x für Breite und y für Höhe
         // Gibt die Größe der Zeichnung in Pixeln zurück. x für Breite und y für Höhe
-        __declspec( dllexport ) const Punkt &getGröße() const;
+        __declspec( dllexport ) const Punkt &getSize() const;
         // Gibt die Breite der Zeichnung in Pixeln zurück
         // Gibt die Breite der Zeichnung in Pixeln zurück
         __declspec( dllexport ) int getBreite() const;
         __declspec( dllexport ) int getBreite() const;
         // Gibt die Höhe der Zeichnung in Pixeln zurück
         // Gibt die Höhe der Zeichnung in Pixeln zurück
-        __declspec( dllexport ) int getHöhe() const;
+        __declspec( dllexport ) int getHeight() const;
         // Gibt die X Position der Zeichnung in Pixeln zurück
         // Gibt die X Position der Zeichnung in Pixeln zurück
         __declspec( dllexport ) int getX() const;
         __declspec( dllexport ) int getX() const;
         // Gibt die Y Position der Zeichnung in Pixeln zurück
         // Gibt die Y Position der Zeichnung in Pixeln zurück
@@ -166,11 +166,11 @@ namespace Framework
         // Gibt zurück, ob bestimmte Styles gesetzt wurden
         // Gibt zurück, ob bestimmte Styles gesetzt wurden
         //  style: Die Styles, die überprüft werden sollen
         //  style: Die Styles, die überprüft werden sollen
         //  return: 1, falls alle Styles in style gesetzt wurden
         //  return: 1, falls alle Styles in style gesetzt wurden
-        __declspec( dllexport ) inline bool hatStyle( __int64 style ) const;
+        __declspec( dllexport ) bool hatStyle( __int64 style ) const;
         // Gibt zurück, ob bestimmte Styles nicht gesetzt wurden
         // Gibt zurück, ob bestimmte Styles nicht gesetzt wurden
         //  style: Die Styles, die geprüft werden sollen
         //  style: Die Styles, die geprüft werden sollen
         //  return: 1, falls alle Styles in style nicht gesetzt wurden
         //  return: 1, falls alle Styles in style nicht gesetzt wurden
-        __declspec( dllexport ) inline bool hatStyleNicht( __int64 style ) const;
+        __declspec( dllexport ) bool hatStyleNicht( __int64 style ) const;
         // Kopiert die Komplette Zeichnung, so dass sie ohne Effekt auf das Original verändert werden kann
         // Kopiert die Komplette Zeichnung, so dass sie ohne Effekt auf das Original verändert werden kann
         __declspec( dllexport ) virtual Zeichnung *dublizieren() const;
         __declspec( dllexport ) virtual Zeichnung *dublizieren() const;
     };
     };
@@ -252,7 +252,7 @@ namespace Framework
         VScrollBar *vertikalScrollBar;
         VScrollBar *vertikalScrollBar;
         HScrollBar *horizontalScrollBar;
         HScrollBar *horizontalScrollBar;
         Punkt innenPosition;
         Punkt innenPosition;
-        Punkt innenGröße;
+        Punkt innenSize;
 
 
     public:
     public:
         // Konstruktor 
         // Konstruktor 
@@ -273,7 +273,7 @@ namespace Framework
         __declspec( dllexport ) void setAlphaFeldZ( AlphaFeld *buff );
         __declspec( dllexport ) void setAlphaFeldZ( AlphaFeld *buff );
         // Setzt die Stärke des AlphaFeldes (benötigt Flag zum Zeichnen: Buffered)
         // Setzt die Stärke des AlphaFeldes (benötigt Flag zum Zeichnen: Buffered)
         //  st: Die Stärke des AlphaFeldes, welches über dem Hintergrund gezeichnet werden soll
         //  st: Die Stärke des AlphaFeldes, welches über dem Hintergrund gezeichnet werden soll
-        __declspec( dllexport ) void setAlphaFeldStärke( int st );
+        __declspec( dllexport ) void setAlphaFeldStrength( int st );
         // Setzt die Farbe des AlphaFeldes (benötigt Flag zum Zeichnen: Buffered)
         // Setzt die Farbe des AlphaFeldes (benötigt Flag zum Zeichnen: Buffered)
         //  fc: Die Farbe des AlphaFeldes, welches über dem Hintergrund gezeichnet werden soll
         //  fc: Die Farbe des AlphaFeldes, welches über dem Hintergrund gezeichnet werden soll
         __declspec( dllexport ) void setAlphaFeldFarbe( int fc );
         __declspec( dllexport ) void setAlphaFeldFarbe( int fc );
@@ -328,7 +328,7 @@ namespace Framework
         //  return: 0, falls das AlphaFeld nicht definiert wurde
         //  return: 0, falls das AlphaFeld nicht definiert wurde
         __declspec( dllexport ) AlphaFeld *zAlphaFeld() const;
         __declspec( dllexport ) AlphaFeld *zAlphaFeld() const;
         // Git die Stärke des Alphafeldes zurück
         // Git die Stärke des Alphafeldes zurück
-        __declspec( dllexport ) int getAlphaFeldStärke() const;
+        __declspec( dllexport ) int getAlphaFeldStrength() const;
         // Gibt die Farbe des Alphafedes im A8R8G8B8 Format zurück
         // Gibt die Farbe des Alphafedes im A8R8G8B8 Format zurück
         __declspec( dllexport ) int getAlphaFeldFarbe() const;
         __declspec( dllexport ) int getAlphaFeldFarbe() const;
         // Gibt den Rahmen zurück
         // Gibt den Rahmen zurück

+ 84 - 84
Zeit.cpp

@@ -134,9 +134,9 @@ int Uhrzeit::setUhrzeit( int stunde, int minute, int sekunde )
 
 
 int Uhrzeit::setUhrzeit( const char *format, const char *zeit ) // format Beispiele: "H:i:s", "H-i-s" (H=stunde,i=minute,s=sekunde)
 int Uhrzeit::setUhrzeit( const char *format, const char *zeit ) // format Beispiele: "H:i:s", "H-i-s" (H=stunde,i=minute,s=sekunde)
 {
 {
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -206,9 +206,9 @@ int Uhrzeit::plusUhrzeit( int stunde, int minute, int sekunde )
 
 
 int Uhrzeit::plusUhrzeit( const char *format, const char *zeit )
 int Uhrzeit::plusUhrzeit( const char *format, const char *zeit )
 {
 {
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -279,9 +279,9 @@ int Uhrzeit::minusUhrzeit( int stunde, int minute, int sekunde )
 
 
 int Uhrzeit::minusUhrzeit( const char *format, const char *zeit )
 int Uhrzeit::minusUhrzeit( const char *format, const char *zeit )
 {
 {
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -352,22 +352,22 @@ int Uhrzeit::getSekunde() const // gibt die Sekunde zur
 Text *Uhrzeit::getUhrzeit( const char *format ) const // gibt die Uhrzeit als Text formatiert zurück
 Text *Uhrzeit::getUhrzeit( const char *format ) const // gibt die Uhrzeit als Text formatiert zurück
 {
 {
     Text *ret = new Text( "" );
     Text *ret = new Text( "" );
-    int flän = textLänge( format );
-    for( const char *f = format; f < format + flän; ++f )
+    int flen = textLength( format );
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
         case 'h':
         case 'h':
-            ret->anhängen( stunde );
+            ret->append( stunde );
             break;
             break;
         case 'i':
         case 'i':
-            ret->anhängen( minute );
+            ret->append( minute );
             break;
             break;
         case 's':
         case 's':
-            ret->anhängen( sekunde );
+            ret->append( sekunde );
             break;
             break;
         default:
         default:
-            ret->anhängen( f, 1 );
+            ret->append( f, 1 );
             break;
             break;
         }
         }
     }
     }
@@ -386,9 +386,9 @@ bool Uhrzeit::istGleich( Uhrzeit *zeit ) const // pr
 bool Uhrzeit::istGleich( const char *format, const char *zeit ) const
 bool Uhrzeit::istGleich( const char *format, const char *zeit ) const
 {
 {
     int st = stunde, min = minute, sek = sekunde;
     int st = stunde, min = minute, sek = sekunde;
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -481,9 +481,9 @@ bool Uhrzeit::istKleiner( int stunde, int minute, int sekunde ) const
 bool Uhrzeit::istKleiner( const char *format, const char *zeit ) const
 bool Uhrzeit::istKleiner( const char *format, const char *zeit ) const
 {
 {
     int st = stunde, min = minute, sek = sekunde;
     int st = stunde, min = minute, sek = sekunde;
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -517,14 +517,14 @@ bool Uhrzeit::istKleiner( const char *format, Text *zeit ) const
     return ret;
     return ret;
 }
 }
 
 
-bool Uhrzeit::istGrößer( Uhrzeit *zeit ) const // prüft, ob die Zeit größer als zeit ist
+bool Uhrzeit::istLater( Uhrzeit *zeit ) const // prüft, ob die Zeit größer als zeit ist
 {
 {
-    bool ret = istGrößer( zeit->getStunde(), zeit->getMinute(), zeit->getSekunde() );
+    bool ret = istLater( zeit->getStunde(), zeit->getMinute(), zeit->getSekunde() );
     zeit->release();
     zeit->release();
     return ret;
     return ret;
 }
 }
 
 
-bool Uhrzeit::istGrößer( int stunde, int minute, int sekunde ) const
+bool Uhrzeit::istLater( int stunde, int minute, int sekunde ) const
 {
 {
     if( this->stunde > stunde )
     if( this->stunde > stunde )
         return 1;
         return 1;
@@ -548,12 +548,12 @@ bool Uhrzeit::istGr
         return 0;
         return 0;
 }
 }
 
 
-bool Uhrzeit::istGrößer( const char *format, const char *zeit ) const
+bool Uhrzeit::istLater( const char *format, const char *zeit ) const
 {
 {
     int st = stunde, min = minute, sek = sekunde;
     int st = stunde, min = minute, sek = sekunde;
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -577,12 +577,12 @@ bool Uhrzeit::istGr
             break;
             break;
         }
         }
     }
     }
-    return istGrößer( st, min, sek );
+    return istLater( st, min, sek );
 }
 }
 
 
-bool Uhrzeit::istGrößer( const char *format, Text *zeit ) const
+bool Uhrzeit::istLater( const char *format, Text *zeit ) const
 {
 {
-    bool ret = istGrößer( format, zeit->getText() );
+    bool ret = istLater( format, zeit->getText() );
     zeit->release();
     zeit->release();
     return ret;
     return ret;
 }
 }
@@ -688,9 +688,9 @@ void Datum::setDatum( int jahr, int monat, int tag )
 
 
 void Datum::setDatum( const char *format, const char *datum ) // format Beispiele: "Y:m:d", "Y-m-d" (Y=Jahr,m=Monat,d=tag)
 void Datum::setDatum( const char *format, const char *datum ) // format Beispiele: "Y:m:d", "Y-m-d" (Y=Jahr,m=Monat,d=tag)
 {
 {
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -760,9 +760,9 @@ void Datum::plusDatum( int jahr, int monat, int tag )
 
 
 void Datum::plusDatum( const char *format, const char *datum )
 void Datum::plusDatum( const char *format, const char *datum )
 {
 {
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -832,9 +832,9 @@ void Datum::minusDatum( int jahr, int monat, int tag )
 
 
 void Datum::minusDatum( const char *format, const char *datum )
 void Datum::minusDatum( const char *format, const char *datum )
 {
 {
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -904,22 +904,22 @@ int Datum::getTag() const // gibt der Tag zur
 Text *Datum::getDatum( const char *format ) const // gibt das Datum als Text formatiert zurück
 Text *Datum::getDatum( const char *format ) const // gibt das Datum als Text formatiert zurück
 {
 {
     Text *ret = new Text( "" );
     Text *ret = new Text( "" );
-    int flän = textLänge( format );
-    for( const char *f = format; f < format + flän; ++f )
+    int flen = textLength( format );
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
         case 'y':
         case 'y':
-            ret->anhängen( jahr );
+            ret->append( jahr );
             break;
             break;
         case 'm':
         case 'm':
-            ret->anhängen( monat );
+            ret->append( monat );
             break;
             break;
         case 'd':
         case 'd':
-            ret->anhängen( tag );
+            ret->append( tag );
             break;
             break;
         default:
         default:
-            ret->anhängen( f, 1 );
+            ret->append( f, 1 );
             break;
             break;
         }
         }
     }
     }
@@ -938,9 +938,9 @@ bool Datum::istGleich( Datum *datum ) const // pr
 bool Datum::istGleich( const char *format, const char *datum ) const
 bool Datum::istGleich( const char *format, const char *datum ) const
 {
 {
     int j = jahr, m = monat, t = tag;
     int j = jahr, m = monat, t = tag;
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1033,9 +1033,9 @@ bool Datum::istKleiner( int jahr, int monat, int tag ) const
 bool Datum::istKleiner( const char *format, const char *datum ) const
 bool Datum::istKleiner( const char *format, const char *datum ) const
 {
 {
     int j = jahr, m = monat, t = tag;
     int j = jahr, m = monat, t = tag;
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1069,14 +1069,14 @@ bool Datum::istKleiner( const char *format, Text *datum ) const
     return ret;
     return ret;
 }
 }
 
 
-bool Datum::istGrößer( Datum *datum ) const // prüft, ob die Datum größer als datum ist
+bool Datum::istLater( Datum *datum ) const // prüft, ob die Datum größer als datum ist
 {
 {
-    bool ret = istGrößer( datum->getJahr(), datum->getMonat(), datum->getTag() );
+    bool ret = istLater( datum->getJahr(), datum->getMonat(), datum->getTag() );
     datum->release();
     datum->release();
     return ret;
     return ret;
 }
 }
 
 
-bool Datum::istGrößer( int jahr, int monat, int tag ) const
+bool Datum::istLater( int jahr, int monat, int tag ) const
 {
 {
     if( this->jahr > jahr )
     if( this->jahr > jahr )
         return 1;
         return 1;
@@ -1100,12 +1100,12 @@ bool Datum::istGr
         return 0;
         return 0;
 }
 }
 
 
-bool Datum::istGrößer( const char *format, const char *datum ) const
+bool Datum::istLater( const char *format, const char *datum ) const
 {
 {
     int j = jahr, m = monat, t = tag;
     int j = jahr, m = monat, t = tag;
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1129,12 +1129,12 @@ bool Datum::istGr
             break;
             break;
         }
         }
     }
     }
-    return istGrößer( j, m, t );
+    return istLater( j, m, t );
 }
 }
 
 
-bool Datum::istGrößer( const char *format, Text *datum ) const
+bool Datum::istLater( const char *format, Text *datum ) const
 {
 {
-    bool ret = istGrößer( format, datum->getText() );
+    bool ret = istLater( format, datum->getText() );
     datum->release();
     datum->release();
     return ret;
     return ret;
 }
 }
@@ -1192,9 +1192,9 @@ void Zeit::setZeit( const char *format, const char *zeit ) // format Beispiele:
     int i = uhrzeit->getMinute();
     int i = uhrzeit->getMinute();
     int s = uhrzeit->getSekunde();
     int s = uhrzeit->getSekunde();
 
 
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1295,9 +1295,9 @@ void Zeit::plusZeit( const char *format, const char *zeit )
     int i = uhrzeit->getMinute();
     int i = uhrzeit->getMinute();
     int s = uhrzeit->getSekunde();
     int s = uhrzeit->getSekunde();
 
 
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1398,9 +1398,9 @@ void Zeit::minusZeit( const char *format, const char *zeit )
     int i = uhrzeit->getMinute();
     int i = uhrzeit->getMinute();
     int s = uhrzeit->getSekunde();
     int s = uhrzeit->getSekunde();
 
 
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1483,31 +1483,31 @@ void Zeit::minusSekunde( int sekunde ) // subtrahiert sekunde Sekunden
 Text *Zeit::getZeit( const char *format ) const // gibt die Zeit als Text formatiert zurück
 Text *Zeit::getZeit( const char *format ) const // gibt die Zeit als Text formatiert zurück
 {
 {
     Text *ret = new Text( "" );
     Text *ret = new Text( "" );
-    int flän = textLänge( format );
-    for( const char *f = format; f < format + flän; ++f )
+    int flen = textLength( format );
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
         case 'y':
         case 'y':
-            ret->anhängen( datum->getJahr() );
+            ret->append( datum->getJahr() );
             break;
             break;
         case 'm':
         case 'm':
-            ret->anhängen( datum->getMonat() );
+            ret->append( datum->getMonat() );
             break;
             break;
         case 'd':
         case 'd':
-            ret->anhängen( datum->getTag() );
+            ret->append( datum->getTag() );
             break;
             break;
         case 'h':
         case 'h':
-            ret->anhängen( uhrzeit->getStunde() );
+            ret->append( uhrzeit->getStunde() );
             break;
             break;
         case 'i':
         case 'i':
-            ret->anhängen( uhrzeit->getMinute() );
+            ret->append( uhrzeit->getMinute() );
             break;
             break;
         case 's':
         case 's':
-            ret->anhängen( uhrzeit->getSekunde() );
+            ret->append( uhrzeit->getSekunde() );
             break;
             break;
         default:
         default:
-            ret->anhängen( f, 1 );
+            ret->append( f, 1 );
         }
         }
     }
     }
     return ret;
     return ret;
@@ -1529,9 +1529,9 @@ bool Zeit::istGleich( const char *format, const char *zeit ) const
     int i = uhrzeit->getMinute();
     int i = uhrzeit->getMinute();
     int s = uhrzeit->getSekunde();
     int s = uhrzeit->getSekunde();
 
 
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1656,9 +1656,9 @@ bool Zeit::istKleiner( const char *format, const char *zeit ) const
     int i = uhrzeit->getMinute();
     int i = uhrzeit->getMinute();
     int s = uhrzeit->getSekunde();
     int s = uhrzeit->getSekunde();
 
 
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1717,16 +1717,16 @@ bool Zeit::istKleiner( const char *format, Text *zeit ) const
     return ret;
     return ret;
 }
 }
 
 
-bool Zeit::istGrößer( Zeit *zeit ) const // prüft, ob die Zeit größer als zeit ist
+bool Zeit::istLater( Zeit *zeit ) const // prüft, ob die Zeit größer als zeit ist
 {
 {
-    if( datum->istGrößer( zeit->getDatum() ) )
+    if( datum->istLater( zeit->getDatum() ) )
     {
     {
         zeit->release();
         zeit->release();
         return 1;
         return 1;
     }
     }
     else if( datum->istGleich( zeit->getDatum() ) )
     else if( datum->istGleich( zeit->getDatum() ) )
     {
     {
-        if( uhrzeit->istGrößer( zeit->getUhrzeit() ) )
+        if( uhrzeit->istLater( zeit->getUhrzeit() ) )
         {
         {
             zeit->release();
             zeit->release();
             return 1;
             return 1;
@@ -1744,13 +1744,13 @@ bool Zeit::istGr
     }
     }
 }
 }
 
 
-bool Zeit::istGrößer( int jahr, int monat, int tag, int stunde, int minute, int sekunde ) const
+bool Zeit::istLater( int jahr, int monat, int tag, int stunde, int minute, int sekunde ) const
 {
 {
-    if( datum->istGrößer( jahr, monat, tag ) )
+    if( datum->istLater( jahr, monat, tag ) )
         return 1;
         return 1;
     else if( datum->istGleich( jahr, monat, tag ) )
     else if( datum->istGleich( jahr, monat, tag ) )
     {
     {
-        if( uhrzeit->istGrößer( stunde, minute, sekunde ) )
+        if( uhrzeit->istLater( stunde, minute, sekunde ) )
             return 1;
             return 1;
         else
         else
             return 0;
             return 0;
@@ -1759,7 +1759,7 @@ bool Zeit::istGr
         return 0;
         return 0;
 }
 }
 
 
-bool Zeit::istGrößer( const char *format, const char *zeit ) const
+bool Zeit::istLater( const char *format, const char *zeit ) const
 {
 {
     int y = datum->getJahr();
     int y = datum->getJahr();
     int m = datum->getMonat();
     int m = datum->getMonat();
@@ -1768,9 +1768,9 @@ bool Zeit::istGr
     int i = uhrzeit->getMinute();
     int i = uhrzeit->getMinute();
     int s = uhrzeit->getSekunde();
     int s = uhrzeit->getSekunde();
 
 
-    int flän = textLänge( format );
+    int flen = textLength( format );
     char *ende = 0;
     char *ende = 0;
-    for( const char *f = format; f < format + flän; ++f )
+    for( const char *f = format; f < format + flen; ++f )
     {
     {
         switch( *f )
         switch( *f )
         {
         {
@@ -1809,11 +1809,11 @@ bool Zeit::istGr
             break;
             break;
         }
         }
     }
     }
-    if( datum->istGrößer( y, m, d ) )
+    if( datum->istLater( y, m, d ) )
         return 1;
         return 1;
     else if( datum->istGleich( y, m, d ) )
     else if( datum->istGleich( y, m, d ) )
     {
     {
-        if( uhrzeit->istGrößer( h, i, s ) )
+        if( uhrzeit->istLater( h, i, s ) )
             return 1;
             return 1;
         else
         else
             return 0;
             return 0;
@@ -1822,9 +1822,9 @@ bool Zeit::istGr
         return 0;
         return 0;
 }
 }
 
 
-bool Zeit::istGrößer( const char *format, Text *zeit ) const
+bool Zeit::istLater( const char *format, Text *zeit ) const
 {
 {
-    bool ret = istGrößer( format, zeit->getText() );
+    bool ret = istLater( format, zeit->getText() );
     zeit->release();
     zeit->release();
     return ret;
     return ret;
 }
 }
@@ -1864,14 +1864,14 @@ void ZeitMesser::messungStart() // legt des Startpunkt der Zeitmessung fest
 {
 {
     timeval tv;
     timeval tv;
     gettimeofday( &tv, 0 );
     gettimeofday( &tv, 0 );
-    start = tv.tv_sec + tv.tv_usec / 1000000.0;
+    start = (double)tv.tv_sec + (double)tv.tv_usec / 1000000.0;
 }
 }
 
 
 void ZeitMesser::messungEnde() // legt des Endpunkt der Zeitmessung fest
 void ZeitMesser::messungEnde() // legt des Endpunkt der Zeitmessung fest
 {
 {
     timeval tv;
     timeval tv;
     gettimeofday( &tv, 0 );
     gettimeofday( &tv, 0 );
-    ende = tv.tv_sec + tv.tv_usec / 1000000.0;
+    ende = (double)tv.tv_sec + (double)tv.tv_usec / 1000000.0;
     messung = ende - start;
     messung = ende - start;
 }
 }
 
 

+ 12 - 12
Zeit.h

@@ -214,26 +214,26 @@ namespace Framework
         //  zeit: Die zu prüfende Uhrzeit.
         //  zeit: Die zu prüfende Uhrzeit.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         // Beispiel: (5:30:00).istGrößer( (10:40:29) ); return false
         // Beispiel: (5:30:00).istGrößer( (10:40:29) ); return false
-        __declspec( dllexport ) bool istGrößer( Uhrzeit *zeit ) const;
+        __declspec( dllexport ) bool istLater( Uhrzeit *zeit ) const;
         // prüft, ob die Uhrzeit größer als die übergebene Zeit ist.
         // prüft, ob die Uhrzeit größer als die übergebene Zeit ist.
         //  stunde: Die Stunden der zu prüfenden Zeit.
         //  stunde: Die Stunden der zu prüfenden Zeit.
         //  minute: Die Minute der zu prüfenden Zeit.
         //  minute: Die Minute der zu prüfenden Zeit.
         //  sekunde: Die Sekunde der zu prüfenden Zeit.
         //  sekunde: Die Sekunde der zu prüfenden Zeit.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         // Beispiel: (5:30:00).istGrößer( 10, 40, 29 ); return false
         // Beispiel: (5:30:00).istGrößer( 10, 40, 29 ); return false
-        __declspec( dllexport ) bool istGrößer( int stunde, int minute, int sekunde ) const;
+        __declspec( dllexport ) bool istLater( int stunde, int minute, int sekunde ) const;
         // prüft, ob die Uhrzeit größer als die übergebene Zeit ist.
         // prüft, ob die Uhrzeit größer als die übergebene Zeit ist.
         //  format: Eine Zeichenfolge, die bestimmt in welcher Form die Uhrzeit in (zeit) vorliegt. h=Stunde, i=Minute,s=Sekunde.
         //  format: Eine Zeichenfolge, die bestimmt in welcher Form die Uhrzeit in (zeit) vorliegt. h=Stunde, i=Minute,s=Sekunde.
         //  zeit: Eine Zeichenfolge die die andere Uhrzeit enthält.
         //  zeit: Eine Zeichenfolge die die andere Uhrzeit enthält.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         // Beispiel: (5:30:00).istGrößer( "h:i:s", "10:40:29" ); return false
         // Beispiel: (5:30:00).istGrößer( "h:i:s", "10:40:29" ); return false
-        __declspec( dllexport ) bool istGrößer( const char *format, const char *zeit ) const;
+        __declspec( dllexport ) bool istLater( const char *format, const char *zeit ) const;
         // prüft, ob die Uhrzeit größer als die übergebene Zeit ist.
         // prüft, ob die Uhrzeit größer als die übergebene Zeit ist.
         //  format: Eine Zeichenfolge, die bestimmt in welcher Form die Uhrzeit in (zeit) vorliegt. h=Stunde, i=Minute,s=Sekunde.
         //  format: Eine Zeichenfolge, die bestimmt in welcher Form die Uhrzeit in (zeit) vorliegt. h=Stunde, i=Minute,s=Sekunde.
         //  zeit: Ein Text Zeichnung, welches die andere Uhrzeit enthält.
         //  zeit: Ein Text Zeichnung, welches die andere Uhrzeit enthält.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         //  return: (true), wenn die gespeicherte Zeit größer als die übergebene Zeit ist. (false) sonst.
         // Beispiel: (5:30:00).istGrößer( "h:i:s", "10:40:29" ); return false
         // Beispiel: (5:30:00).istGrößer( "h:i:s", "10:40:29" ); return false
-        __declspec( dllexport ) bool istGrößer( const char *format, Text *zeit ) const;
+        __declspec( dllexport ) bool istLater( const char *format, Text *zeit ) const;
         // Erhöht den Reference Counting Zähler
         // Erhöht den Reference Counting Zähler
         //  return: this
         //  return: this
         __declspec( dllexport ) Uhrzeit *getThis();
         __declspec( dllexport ) Uhrzeit *getThis();
@@ -422,26 +422,26 @@ namespace Framework
         //  datum: Das zu prüfende Datum.
         //  datum: Das zu prüfende Datum.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         // Beispiel: ( 1.11.1995 ).istGrößer( ( 23.1.2016 ) ); return false
         // Beispiel: ( 1.11.1995 ).istGrößer( ( 23.1.2016 ) ); return false
-        __declspec( dllexport ) bool istGrößer( Datum *datum ) const;
+        __declspec( dllexport ) bool istLater( Datum *datum ) const;
         // Prüft, ob das gespeicherte Datum größer als das übergebene ist.
         // Prüft, ob das gespeicherte Datum größer als das übergebene ist.
         //  jahr: Das Jahr des zu prüfenden Datums.
         //  jahr: Das Jahr des zu prüfenden Datums.
         //  monat: Der Monat des zu prüfenden Datums.
         //  monat: Der Monat des zu prüfenden Datums.
         //  tag: Der Tag des zu prüfenden Datums.
         //  tag: Der Tag des zu prüfenden Datums.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         // Beispiel: ( 1.11.1995 ).istGrößer( 2016, 1, 23 ); return false
         // Beispiel: ( 1.11.1995 ).istGrößer( 2016, 1, 23 ); return false
-        __declspec( dllexport ) bool istGrößer( int jahr, int monat, int tag ) const;
+        __declspec( dllexport ) bool istLater( int jahr, int monat, int tag ) const;
         // Prüft, ob das gespeicherte Datum größer als das übergebene ist.
         // Prüft, ob das gespeicherte Datum größer als das übergebene ist.
         //  format: Eine Zeichenkette, die angibt in welcher Form das Datum in (datum) vorhanden ist. y=Jahr, m=Monat, d=Tag.
         //  format: Eine Zeichenkette, die angibt in welcher Form das Datum in (datum) vorhanden ist. y=Jahr, m=Monat, d=Tag.
         //  datum: Eine Zeichenkette, die das zu überprüfende Datum enthält.
         //  datum: Eine Zeichenkette, die das zu überprüfende Datum enthält.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         // Beispiel: ( 1.11.1995 ).istGrößer( "y, m, d", "2016, 1, 23" ); return false
         // Beispiel: ( 1.11.1995 ).istGrößer( "y, m, d", "2016, 1, 23" ); return false
-        __declspec( dllexport ) bool istGrößer( const char *format, const char *datum ) const;
+        __declspec( dllexport ) bool istLater( const char *format, const char *datum ) const;
         // Prüft, ob das gespeicherte Datum größer als das übergebene ist.
         // Prüft, ob das gespeicherte Datum größer als das übergebene ist.
         //  format: Eine Zeichenkette, die angibt in welcher Form das Datum in (datum) vorhanden ist. y=Jahr, m=Monat, d=Tag.
         //  format: Eine Zeichenkette, die angibt in welcher Form das Datum in (datum) vorhanden ist. y=Jahr, m=Monat, d=Tag.
         //  datum: Ein Text Zeichnung, welches das zu überprüfende Datum enthält.
         //  datum: Ein Text Zeichnung, welches das zu überprüfende Datum enthält.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         //  return: (true), wenn das gespeicherte Datum hinter dem übergebenen liegt. (false) sonnst.
         // Beispiel: ( 1.11.1995 ).istGrößer( "y, m, d", new Text( "2016, 1, 23" ) ) ); return true
         // Beispiel: ( 1.11.1995 ).istGrößer( "y, m, d", new Text( "2016, 1, 23" ) ) ); return true
-        __declspec( dllexport ) bool istGrößer( const char *format, Text *datum ) const;
+        __declspec( dllexport ) bool istLater( const char *format, Text *datum ) const;
         // Erhöht den Reference Counting Zähler
         // Erhöht den Reference Counting Zähler
         //  return: this
         //  return: this
         __declspec( dllexport ) Datum *getThis();
         __declspec( dllexport ) Datum *getThis();
@@ -636,7 +636,7 @@ namespace Framework
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         //  zeit: Die zu überprüfende Zeit.
         //  zeit: Die zu überprüfende Zeit.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
-        __declspec( dllexport ) bool istGrößer( Zeit *zeit ) const;
+        __declspec( dllexport ) bool istLater( Zeit *zeit ) const;
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         //  jahr: Das zu überprüfende Jahr.
         //  jahr: Das zu überprüfende Jahr.
         //  monat: Der zu überprüfende Monat.
         //  monat: Der zu überprüfende Monat.
@@ -645,17 +645,17 @@ namespace Framework
         //  minute: Die zu überprüfende Minute.
         //  minute: Die zu überprüfende Minute.
         //  sekunde: Die zu überprüfende Sekunde.
         //  sekunde: Die zu überprüfende Sekunde.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
-        __declspec( dllexport ) bool istGrößer( int jahr, int monat, int tag, int stunde, int minute, int sekunde ) const;
+        __declspec( dllexport ) bool istLater( int jahr, int monat, int tag, int stunde, int minute, int sekunde ) const;
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         //  format: Eine Zeichenkette, die angibt in welcher Form die neue Zeit in (zeit) vorhanden ist. y=Jahr, m=Monat, d=Tag, h=Stunde, i=Minute, s=Sekunde.
         //  format: Eine Zeichenkette, die angibt in welcher Form die neue Zeit in (zeit) vorhanden ist. y=Jahr, m=Monat, d=Tag, h=Stunde, i=Minute, s=Sekunde.
         //  zeit: Eine Zeichenkette, die die zu überprüfende Zeit enthält.
         //  zeit: Eine Zeichenkette, die die zu überprüfende Zeit enthält.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
-        __declspec( dllexport ) bool istGrößer( const char *format, const char *zeit ) const;
+        __declspec( dllexport ) bool istLater( const char *format, const char *zeit ) const;
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         // Überprüft, ob die gespeicherte Zeit größer als die übergebene Zeit ist.
         //  format: Eine Zeichenkette, die angibt in welcher Form die neue Zeit in (zeit) vorhanden ist. y=Jahr, m=Monat, d=Tag, h=Stunde, i=Minute, s=Sekunde.
         //  format: Eine Zeichenkette, die angibt in welcher Form die neue Zeit in (zeit) vorhanden ist. y=Jahr, m=Monat, d=Tag, h=Stunde, i=Minute, s=Sekunde.
         //  zeit: Eine Text Zeichnung, welches die zu überprüfende Zeit enthält.
         //  zeit: Eine Text Zeichnung, welches die zu überprüfende Zeit enthält.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
         //  return: (true) wenn die gespeicherte Zeit nach der übergebenen Zeit liegt. (false) sonnst.
-        __declspec( dllexport ) bool istGrößer( const char *format, Text *zeit ) const;
+        __declspec( dllexport ) bool istLater( const char *format, Text *zeit ) const;
         // Erhöht den Reference Counting Zähler
         // Erhöht den Reference Counting Zähler
         //  return: this
         //  return: this
         __declspec( dllexport ) Zeit *getThis();
         __declspec( dllexport ) Zeit *getThis();