Forráskód Böngészése

translate remaining german comments in cpp files

Kolja Strohm 1 hete
szülő
commit
c2614a5862
42 módosított fájl, 1419 hozzáadás és 1479 törlés
  1. 120 130
      AuswahlBox.cpp
  2. 42 62
      Bild.cpp
  3. 7 7
      Cube.cpp
  4. 12 12
      DX11GraphicsApi.cpp
  5. 5 5
      DX12Buffer.cpp
  6. 7 7
      DX12GraphicsApi.cpp
  7. 26 26
      DX12Shader.cpp
  8. 4 4
      DX12Textur.cpp
  9. 24 24
      DXBuffer.cpp
  10. 64 67
      Diagramm.cpp
  11. 2 2
      Dialog.cpp
  12. 188 199
      Fenster.cpp
  13. 27 26
      Fortschritt.cpp
  14. 6 7
      Global.cpp
  15. 61 61
      Kam3D.cpp
  16. 50 51
      Knopf.cpp
  17. 17 17
      Liste.cpp
  18. 38 39
      M3Datei.cpp
  19. 24 24
      Model2D.cpp
  20. 104 112
      Model3D.cpp
  21. 14 14
      Model3DList.cpp
  22. 8 10
      Punkt.cpp
  23. 32 32
      Rahmen.cpp
  24. 12 12
      RenderThread.cpp
  25. 1 1
      Scroll.cpp
  26. 41 40
      Shader.cpp
  27. 5 5
      Slider.cpp
  28. 3 3
      Tabelle.cpp
  29. 135 133
      TextFeld.cpp
  30. 17 17
      Textur.cpp
  31. 12 12
      Textur2D.cpp
  32. 21 22
      TexturList.cpp
  33. 8 8
      TexturModel.cpp
  34. 16 17
      Thread.cpp
  35. 16 16
      ToolTip.cpp
  36. 7 7
      UIDialog.cpp
  37. 42 43
      UIMLView.cpp
  38. 17 17
      Welt2D.cpp
  39. 31 31
      Welt3D.cpp
  40. 26 27
      XML.cpp
  41. 73 76
      Zeichnung.cpp
  42. 54 54
      Zeichnung3D.cpp

+ 120 - 130
AuswahlBox.cpp

@@ -97,7 +97,7 @@ AuswahlBox::~AuswahlBox()
     if (msMausBgF) msMausBgF->release();
 }
 
-void AuswahlBox::doMausEreignis(MausEreignis& me, bool userRet) // Maus
+void AuswahlBox::doMausEreignis(MausEreignis& me, bool userRet) // mouse events
 {
     if (hatStyleNicht(Style::Erlaubt) || hatStyleNicht(Style::Fokus)
         || me.verarbeitet)
@@ -194,19 +194,18 @@ void AuswahlBox::doMausEreignis(MausEreignis& me, bool userRet) // Maus
 }
 
 // non-constant
-void AuswahlBox::setEventParam(void* p) // setzt den Event Parameter
+void AuswahlBox::setEventParam(void* p) // set event parameter
 {
     eAkP = p;
 }
 
 void AuswahlBox::setEventAktion(
-    std::function<void(void*, AuswahlBox*, int, int)>
-        event) // setzt die Event Funktion
+    std::function<void(void*, AuswahlBox*, int, int)> event) // set event action
 {
     this->eAk = event;
 }
 
-void AuswahlBox::setSchriftZ(Schrift* schrift) // setzt die schrift
+void AuswahlBox::setSchriftZ(Schrift* schrift) // set font
 {
     if (!this->textRd)
         textRd = new TextRenderer(schrift);
@@ -222,7 +221,7 @@ void AuswahlBox::setTextRendererZ(TextRenderer* textRd)
     this->textRd = textRd;
 }
 
-void AuswahlBox::addEintrag(const char* txt) // Eintrag hinzufuegen
+void AuswahlBox::addEintrag(const char* txt) // add entry
 {
     TextFeld* tf = new TextFeld();
     if (textRd) tf->setSchriftZ(textRd->getSchrift());
@@ -259,7 +258,7 @@ void AuswahlBox::addEintragZ(TextFeld* txt)
     rend = 1;
 }
 
-void AuswahlBox::setEintrag(int i, const char* txt) // Eintrag setzen
+void AuswahlBox::setEintrag(int i, const char* txt) // set entry text
 {
     if (members->z(i)) members->z(i)->setText(txt);
     rend = 1;
@@ -283,7 +282,7 @@ void AuswahlBox::setEintragZ(int i, TextFeld* txt)
     rend = 1;
 }
 
-void AuswahlBox::removeEintrag(int i) // Eintrag entfernen
+void AuswahlBox::removeEintrag(int i) // remove entry
 {
     if (i < anzahl)
     {
@@ -304,15 +303,14 @@ void AuswahlBox::removeEintrag(int i) // Eintrag entfernen
     }
 }
 
-void AuswahlBox::setAusklappKnopfZ(Knopf* ausK) // Ausklapp Knopf setzen
+void AuswahlBox::setAusklappKnopfZ(Knopf* ausK) // set expand button
 {
     if (ausfahren) ausfahren->release();
     ausfahren = ausK;
     rend = 1;
 }
 
-void AuswahlBox::setEintragRahmenZ(
-    int i, Rahmen* rahmen) // Eintrag Rahmen setzen
+void AuswahlBox::setEintragRahmenZ(int i, Rahmen* rahmen) // set entry border
 {
     if (members->z(i))
         members->z(i)->setRahmenZ(rahmen);
@@ -321,29 +319,28 @@ void AuswahlBox::setEintragRahmenZ(
     rend = 1;
 }
 
-void AuswahlBox::setEintragRahmenFarbe(
-    int i, int f) // Eintrag Rahmen Farbe setzen
+void AuswahlBox::setEintragRahmenFarbe(int i, int f) // set entry border color
 {
     if (members->z(i)) members->z(i)->setRahmenFarbe(f);
     rend = 1;
 }
 
 void AuswahlBox::setEintragRahmenBreite(
-    int i, int rbr) // Eintrag Rahmen Breite setzen
+    int i, int rbr) // set entry border width
 {
     if (members->z(i)) members->z(i)->setRahmenBreite(rbr);
     rend = 1;
 }
 
 void AuswahlBox::setEintragHintergrundFarbe(
-    int i, int f) // Eintrag Hintergrund farbe setzen
+    int i, int f) // set entry background color
 {
     if (members->z(i)) members->z(i)->setHintergrundFarbe(f);
     rend = 1;
 }
 
 void AuswahlBox::setEintragHintergrundBildZ(
-    int i, Bild* bgB) // Eintrag Hintergrund Bild setzen
+    int i, Bild* bgB) // set entry background image
 {
     if (members->z(i))
         members->z(i)->setHintergrundBildZ(bgB);
@@ -362,41 +359,41 @@ void AuswahlBox::setEintragHintergrundBild(int i, Bild* bgB)
 }
 
 void AuswahlBox::setEintragAlphaFeldZ(
-    int i, AlphaFeld* af) // Eintrag AlphaFeld setzen
+    int i, AlphaFeld* af) // set entry AlphaFeld
 {
     if (members->z(i)) members->z(i)->setAlphaFeldZ(af);
     rend = 1;
 }
 
 void AuswahlBox::setEintragAlphaFeldFarbe(
-    int i, int afF) // Eintrag AlphaFeld Farbe setzen
+    int i, int afF) // set entry AlphaFeld color
 {
     if (members->z(i)) members->z(i)->setAlphaFeldFarbe(afF);
     rend = 1;
 }
 
 void AuswahlBox::setEintragAlphaFeldStrength(
-    int i, int afSt) // Eintrag AlphaFeld Staerke setzen
+    int i, int afSt) // set entry AlphaFeld strength
 {
     if (members->z(i)) members->z(i)->setAlphaFeldStrength(afSt);
     rend = 1;
 }
 
-void AuswahlBox::setAuswRahmenZ(Rahmen* rahmen) // Auswahl Rahmen setzen
+void AuswahlBox::setAuswRahmenZ(Rahmen* rahmen) // set selection border
 {
     if (auswRahmen) auswRahmen->release();
     auswRahmen = rahmen;
     rend = 1;
 }
 
-void AuswahlBox::setAuswRahmenFarbe(int f) // Auswahl Rahmen Farbe setzen
+void AuswahlBox::setAuswRahmenFarbe(int f) // set selection border color
 {
     if (!auswRahmen) auswRahmen = new LRahmen();
     auswRahmen->setFarbe(f);
     rend = 1;
 }
 
-void AuswahlBox::setAuswRahmenBreite(int rbr) // Auswahl Rahmen Breite setzen
+void AuswahlBox::setAuswRahmenBreite(int rbr) // set selection border width
 {
     if (!auswRahmen) auswRahmen = new LRahmen();
     auswRahmen->setRamenBreite(rbr);
@@ -404,14 +401,14 @@ void AuswahlBox::setAuswRahmenBreite(int rbr) // Auswahl Rahmen Breite setzen
 }
 
 void AuswahlBox::setAuswHintergrundFarbe(
-    int f) // Auswahl Hintergrund Farbe setzen
+    int f) // set selection background color
 {
     auswBgF = f;
     rend = 1;
 }
 
 void AuswahlBox::setAuswHintergrundBildZ(
-    Bild* bgB) // Auswahl Hintergrund Bild setzen
+    Bild* bgB) // set selection background image
 {
     if (auswBgB) auswBgB->release();
     auswBgB = bgB;
@@ -427,15 +424,14 @@ void AuswahlBox::setAuswHintergrundBild(Bild* bgB)
     rend = 1;
 }
 
-void AuswahlBox::setAuswAlphaFeldZ(AlphaFeld* af) // Auswahl AlphaFeld setzen
+void AuswahlBox::setAuswAlphaFeldZ(AlphaFeld* af) // set selection AlphaFeld
 {
     if (auswAf) auswAf->release();
     auswAf = af;
     rend = 1;
 }
 
-void AuswahlBox::setAuswAlphaFeldFarbe(
-    int afF) // Auswahl AlphaFeld Farbe setzen
+void AuswahlBox::setAuswAlphaFeldFarbe(int afF) // set selection AlphaFeld color
 {
     if (!auswAf) auswAf = new AlphaFeld();
     auswAf->setFarbe(afF);
@@ -443,7 +439,7 @@ void AuswahlBox::setAuswAlphaFeldFarbe(
 }
 
 void AuswahlBox::setAuswAlphaFeldStrength(
-    int afSt) // Auswahl Alpha Feld staerke setzen
+    int afSt) // set selection AlphaFeld strength
 {
     if (!auswAf) auswAf = new AlphaFeld();
     auswAf->setStrength(afSt);
@@ -451,7 +447,7 @@ void AuswahlBox::setAuswAlphaFeldStrength(
 }
 
 void AuswahlBox::setMsAuswRahmenZ(
-    int i, Rahmen* rahmen) // Multistyle Auswahl Rahmen setzen
+    int i, Rahmen* rahmen) // set multistyle selection border
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl)
     {
@@ -464,7 +460,7 @@ void AuswahlBox::setMsAuswRahmenZ(
 }
 
 void AuswahlBox::setMsAuswRahmenFarbe(
-    int i, int f) // Multistyle Auswahl Rahmen Farbe setzen
+    int i, int f) // set multistyle selection border color
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msAuswRahmen) msAuswRahmen = new RCArray<Rahmen>();
@@ -474,7 +470,7 @@ void AuswahlBox::setMsAuswRahmenFarbe(
 }
 
 void AuswahlBox::setMsAuswRahmenBreite(
-    int i, int rbr) // Multistyle Auswahl Breite setzen
+    int i, int rbr) // set multistyle selection width
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msAuswRahmen) msAuswRahmen = new RCArray<Rahmen>();
@@ -484,7 +480,7 @@ void AuswahlBox::setMsAuswRahmenBreite(
 }
 
 void AuswahlBox::setMsAuswHintergrundFarbe(
-    int i, int f) // Multistyle Auswahl Hintergrund Farbe setzen
+    int i, int f) // set multistyle selection background color
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msAuswBgF) msAuswBgF = new Array<int>();
@@ -493,7 +489,7 @@ void AuswahlBox::setMsAuswHintergrundFarbe(
 }
 
 void AuswahlBox::setMsAuswHintergrundBildZ(
-    int i, Bild* bgB) // Multistyle Auswahl Hintergrund Bild setzen
+    int i, Bild* bgB) // set multistyle selection background image
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl)
     {
@@ -531,7 +527,7 @@ void AuswahlBox::setMsAuswHintergrundBild(int i, Bild* bgB)
 }
 
 void AuswahlBox::setMsAuswAlphaFeldZ(
-    int i, AlphaFeld* af) // Multistyle Auswahl AlphaFeld setzen
+    int i, AlphaFeld* af) // set multistyle selection AlphaFeld
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl)
     {
@@ -544,7 +540,7 @@ void AuswahlBox::setMsAuswAlphaFeldZ(
 }
 
 void AuswahlBox::setMsAuswAlphaFeldFarbe(
-    int i, int afF) // Multistyle Auswahl AlphaFeld Farbe setzen
+    int i, int afF) // set multistyle selection AlphaFeld color
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msAuswAf) msAuswAf = new RCArray<AlphaFeld>();
@@ -554,7 +550,7 @@ void AuswahlBox::setMsAuswAlphaFeldFarbe(
 }
 
 void AuswahlBox::setMsAuswAlphaFeldStrength(
-    int i, int afSt) // Multistyle Auswahl AlphaFeld staerke setzen
+    int i, int afSt) // set multistyle selection AlphaFeld strength
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msAuswAf) msAuswAf = new RCArray<AlphaFeld>();
@@ -563,35 +559,35 @@ void AuswahlBox::setMsAuswAlphaFeldStrength(
     rend = 1;
 }
 
-void AuswahlBox::setMausRahmenZ(Rahmen* rahmen) // Maus Rahmen setzen
+void AuswahlBox::setMausRahmenZ(Rahmen* rahmen) // set mouse border
 {
     if (mausRahmen) mausRahmen->release();
     mausRahmen = rahmen;
     rend = 1;
 }
 
-void AuswahlBox::setMausRahmenFarbe(int f) // Maus Rahmen Farbe setzen
+void AuswahlBox::setMausRahmenFarbe(int f) // set mouse border color
 {
     if (!mausRahmen) mausRahmen = new LRahmen();
     mausRahmen->setFarbe(f);
     rend = 1;
 }
 
-void AuswahlBox::setMausRahmenBreite(int rbr) // Maus Rahmen breite setzen
+void AuswahlBox::setMausRahmenBreite(int rbr) // set mouse border width
 {
     if (!mausRahmen) mausRahmen = new LRahmen();
     mausRahmen->setRamenBreite(rbr);
     rend = 1;
 }
 
-void AuswahlBox::setMausHintergrundFarbe(int f) // Maus Hintergrund Farbe setzen
+void AuswahlBox::setMausHintergrundFarbe(int f) // set mouse background color
 {
     mausBgF = f;
     rend = 1;
 }
 
 void AuswahlBox::setMausHintergrundBildZ(
-    Bild* bgB) // Maus Hintergrund Bild setzen
+    Bild* bgB) // set mouse background image
 {
     if (mausBgB) mausBgB->release();
     mausBgB = bgB;
@@ -607,14 +603,14 @@ void AuswahlBox::setMausHintergrundBild(Bild* bgB)
     rend = 1;
 }
 
-void AuswahlBox::setMausAlphaFeldZ(AlphaFeld* af) // Maus AlphaFeld setzen
+void AuswahlBox::setMausAlphaFeldZ(AlphaFeld* af) // set mouse AlphaFeld
 {
     if (mausAf) mausAf->release();
     mausAf = af;
     rend = 1;
 }
 
-void AuswahlBox::setMausAlphaFeldFarbe(int afF) // Maus AlphaFeld Farbe setzen
+void AuswahlBox::setMausAlphaFeldFarbe(int afF) // set mouse AlphaFeld color
 {
     if (!mausAf) mausAf = new AlphaFeld();
     mausAf->setFarbe(afF);
@@ -622,7 +618,7 @@ void AuswahlBox::setMausAlphaFeldFarbe(int afF) // Maus AlphaFeld Farbe setzen
 }
 
 void AuswahlBox::setMausAlphaFeldStrength(
-    int afSt) // Maus AlphaFeld staerke setzen
+    int afSt) // set mouse AlphaFeld strength
 {
     if (!mausAf) mausAf = new AlphaFeld();
     mausAf->setStrength(afSt);
@@ -630,7 +626,7 @@ void AuswahlBox::setMausAlphaFeldStrength(
 }
 
 void AuswahlBox::setMsMausRahmenZ(
-    int i, Rahmen* rahmen) // Multistyle Maus Rahmen setzen
+    int i, Rahmen* rahmen) // set multistyle mouse border
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl)
     {
@@ -643,7 +639,7 @@ void AuswahlBox::setMsMausRahmenZ(
 }
 
 void AuswahlBox::setMsMausRahmenFarbe(
-    int i, int f) // Multistyle Maus Rahmen Farbe setzen
+    int i, int f) // set multistyle mouse border color
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msMausRahmen) msMausRahmen = new RCArray<Rahmen>();
@@ -653,7 +649,7 @@ void AuswahlBox::setMsMausRahmenFarbe(
 }
 
 void AuswahlBox::setMsMausRahmenBreite(
-    int i, int rbr) // Multistyle Maus Rahmen breite setzen
+    int i, int rbr) // set multistyle mouse border width
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msMausRahmen) msMausRahmen = new RCArray<Rahmen>();
@@ -663,7 +659,7 @@ void AuswahlBox::setMsMausRahmenBreite(
 }
 
 void AuswahlBox::setMsMausHintergrundFarbe(
-    int i, int f) // Multistyle Maus Hintergrund Farbe setzen
+    int i, int f) // set multistyle mouse background color
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msMausBgF) msMausBgF = new Array<int>();
@@ -672,7 +668,7 @@ void AuswahlBox::setMsMausHintergrundFarbe(
 }
 
 void AuswahlBox::setMsMausHintergrundBildZ(
-    int i, Bild* bgB) // Multistyle Maus Hintergrund Bild setzen
+    int i, Bild* bgB) // set multistyle mouse background image
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl)
     {
@@ -710,7 +706,7 @@ void AuswahlBox::setMsMausHintergrundBild(int i, Bild* bgB)
 }
 
 void AuswahlBox::setMsMausAlphaFeldZ(
-    int i, AlphaFeld* af) // Multistyle Maus AlphaFeld setzen
+    int i, AlphaFeld* af) // set multistyle mouse AlphaFeld
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl)
     {
@@ -723,7 +719,7 @@ void AuswahlBox::setMsMausAlphaFeldZ(
 }
 
 void AuswahlBox::setMsMausAlphaFeldFarbe(
-    int i, int afF) // Multistyle Maus AlphaFeld Farbe setzen
+    int i, int afF) // set multistyle mouse AlphaFeld color
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msMausAf) msMausAf = new RCArray<AlphaFeld>();
@@ -733,7 +729,7 @@ void AuswahlBox::setMsMausAlphaFeldFarbe(
 }
 
 void AuswahlBox::setMsMausAlphaFeldStrength(
-    int i, int afSt) // Multistyle Maus AlphaFeld staerke setzen
+    int i, int afSt) // set multistyle mouse AlphaFeld strength
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msMausAf) msMausAf = new RCArray<AlphaFeld>();
@@ -742,7 +738,7 @@ void AuswahlBox::setMsMausAlphaFeldStrength(
     rend = 1;
 }
 
-void AuswahlBox::setAuswahl(int i) // Eintrag auswaehlen
+void AuswahlBox::setAuswahl(int i) // select entry
 {
     if (i < anzahl && i != auswahl)
     {
@@ -752,17 +748,17 @@ void AuswahlBox::setAuswahl(int i) // Eintrag auswaehlen
     }
 }
 
-void AuswahlBox::ausklappen() // liste ausklappen
+void AuswahlBox::ausklappen() // expand list
 {
     ausgeklappt = 1;
 }
 
-void AuswahlBox::einklappen() // liste einklappen
+void AuswahlBox::einklappen() // collapse list
 {
     ausgeklappt = 0;
 }
 
-void AuswahlBox::scrollZuEintrag(int i) // liste scrollen
+void AuswahlBox::scrollZuEintrag(int i) // scroll list
 {
     if (hatStyle(Style::VScroll) && vertikalScrollBar && i < anzahl)
     {
@@ -780,18 +776,17 @@ void AuswahlBox::scrollZuEintrag(int i) // liste scrollen
 }
 
 void AuswahlBox::setMaxAuskappHeight(
-    int maxHeight) // hoehe der Liste beim ausklappen
+    int maxHeight) // height of the list when expanded
 {
     ausklapMaxHeight = maxHeight;
 }
 
-void AuswahlBox::setEintragHeight(int height) // setzt die Hoehe der Eintraege
+void AuswahlBox::setEintragHeight(int height) // sets the height of the entries
 {
     eintragHeight = height;
 }
 
-void AuswahlBox::addMsStyle(
-    int i, __int64 abStyle) // Multistyle style hinzufuegen
+void AuswahlBox::addMsStyle(int i, __int64 abStyle) // add multistyle style
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msStyle) msStyle = new Array<__int64>();
@@ -800,7 +795,7 @@ void AuswahlBox::addMsStyle(
 }
 
 void AuswahlBox::setMsStyle(
-    int i, __int64 abStyle, bool add) // Multistyle style setzen
+    int i, __int64 abStyle, bool add) // set multistyle style
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msStyle) msStyle = new Array<__int64>();
@@ -820,7 +815,7 @@ void AuswahlBox::setMsStyle(int i, __int64 abStyle)
 }
 
 void AuswahlBox::removeMsStyle(
-    int i, __int64 abStyle) // Multistyle style entfernen
+    int i, __int64 abStyle) // remove multistyle style
 {
     if (hatStyleNicht(Style::MultiStyled) || i >= anzahl) return;
     if (!msStyle) msStyle = new Array<__int64>();
@@ -892,7 +887,7 @@ bool AuswahlBox::tick(double tickVal) // tick
     return ZeichnungHintergrund::tick(tickVal);
 }
 
-void AuswahlBox::doTastaturEreignis(TastaturEreignis& te) // Tastatur
+void AuswahlBox::doTastaturEreignis(TastaturEreignis& te) // Keyboard
 {
     if (te.verarbeitet || hatStyleNicht(Style::Fokus)
         || hatStyleNicht(Style::Erlaubt))
@@ -924,7 +919,7 @@ void AuswahlBox::doTastaturEreignis(TastaturEreignis& te) // Tastatur
     if (te.verarbeitet && nTak) te.verarbeitet = nTak(ntakParam, this, te);
 }
 
-void AuswahlBox::render(Bild& zRObj) // zeichnet nach zRObj
+void AuswahlBox::render(Bild& zRObj) // renders into zRObj
 {
     if (hatStyle(Style::Sichtbar))
     {
@@ -939,7 +934,7 @@ void AuswahlBox::render(Bild& zRObj) // zeichnet nach zRObj
             return;
         }
         int rbr = 0;
-        if (hatStyle(Style::Rahmen) && rahmen) // Rahmen zeichnen
+        if (hatStyle(Style::Rahmen) && rahmen) // Draw border
         {
             rahmen->setSize(br, hi);
             rahmen->render(zRObj);
@@ -974,13 +969,13 @@ void AuswahlBox::render(Bild& zRObj) // zeichnet nach zRObj
             hintergrundFeld->setSize(br - rbr * 2, hi - rbr * 2);
             hintergrundFeld->render(zRObj);
         }
-        if (ausfahren) // Ausklapp Knopf zeichnen
+        if (ausfahren) // Draw expand button
         {
             ausfahren->setSize(gr.y - rbr * 2, gr.y - rbr * 2);
             ausfahren->setPosition(gr.x - rbr - ausfahren->getBreite(), rbr);
             ausfahren->render(zRObj);
         }
-        if (members) // Ausgewaehtes TextFeld zeichnen
+        if (members) // Draw selected text field
         {
             if (auswahl < 0)
             {
@@ -1156,8 +1151,8 @@ void AuswahlBox::render(Bild& zRObj) // zeichnet nach zRObj
                 }
             }
         }
-        bool vsb = hatStyle(Style::VScroll)
-                && vertikalScrollBar; // Scroll bar zeichnen
+        bool vsb
+            = hatStyle(Style::VScroll) && vertikalScrollBar; // Draw scroll bar
         if (auswahl >= anzahl)
         {
             auswahl = 0;
@@ -1520,7 +1515,7 @@ void AuswahlBox::render(Bild& zRObj) // zeichnet nach zRObj
 
 // constant
 int AuswahlBox::getEintragPos(
-    const char* txt) const // gibt die Eintrag Position zurueck
+    const char* txt) const // returns the entry position
 {
     for (int i = 0; i < anzahl; ++i)
         if (members->z(i) && members->z(i)->zText()->istGleich(txt)) return i;
@@ -1541,7 +1536,7 @@ int AuswahlBox::getEintragPos(Text* txt) const
     return -1;
 }
 
-Text* AuswahlBox::getEintragText(int i) const // gibt den Eintrag Text zurueck
+Text* AuswahlBox::getEintragText(int i) const // returns the entry text
 {
     if (i >= anzahl) return 0;
     return members->z(i) ? members->z(i)->getText() : 0;
@@ -1553,7 +1548,7 @@ Text* AuswahlBox::zEintragText(int i) const
     return members->z(i) ? members->z(i)->zText() : 0;
 }
 
-TextFeld* AuswahlBox::getEintrag(int i) const // gibt den Eintrag zurueck
+TextFeld* AuswahlBox::getEintrag(int i) const // returns the entry
 {
     if (i >= anzahl) return 0;
     return members->get(i);
@@ -1565,35 +1560,34 @@ TextFeld* AuswahlBox::zEintrag(int i) const
     return members->z(i);
 }
 
-int AuswahlBox::getAuswahl()
-    const // gibt die Position des ausgewaehlten Eintrages zurueck
+int AuswahlBox::getAuswahl() const // returns the position of the selected entry
 {
     return auswahl;
 }
 
-int AuswahlBox::getEintragAnzahl() const // gibt die Anzahl der Eintraege zurueck
+int AuswahlBox::getEintragAnzahl() const // returns the number of entries
 {
     return anzahl;
 }
 
-bool AuswahlBox::istAusgeklappt() const // prueft, ob die Liste ausgeklappt ist
+bool AuswahlBox::istAusgeklappt() const // checks if the list is expanded
 {
     return ausgeklappt;
 }
 
-int AuswahlBox::getMaxHeight() const // gibt die maximale Hoehe der Liste zurueck
+int AuswahlBox::getMaxHeight() const // returns the maximum list height
 {
     if (!hatStyle(Style::MaxHeight)) return 0;
     return ausklapMaxHeight;
 }
 
-int AuswahlBox::getEintragHeight() const // gibt die Hoehe der Eintraege zurueck
+int AuswahlBox::getEintragHeight() const // returns the height of the entries
 {
     return eintragHeight;
 }
 
 Knopf*
-AuswahlBox::getAusklappKnopf() const // gibt den aus-/einklapp Knopf zurueck
+AuswahlBox::getAusklappKnopf() const // returns the expand/collapse button
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return ausfahren ? dynamic_cast<Knopf*>(ausfahren->getThis()) : 0;
@@ -1605,8 +1599,7 @@ Knopf* AuswahlBox::zAusklappKnopf() const
     return ausfahren;
 }
 
-Rahmen* AuswahlBox::getEintragRahmen(
-    int i) const // gibt den Eintrag Rahmen zurueck
+Rahmen* AuswahlBox::getEintragRahmen(int i) const // returns the entry border
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1621,7 +1614,7 @@ Rahmen* AuswahlBox::zEintragRahmen(int i) const
 }
 
 int AuswahlBox::getEintragRahmenFarbe(
-    int i) const // gibt die Eintrag Rahmen Frabe zurueck
+    int i) const // returns the entry border color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1629,7 +1622,7 @@ int AuswahlBox::getEintragRahmenFarbe(
 }
 
 int AuswahlBox::getEintragRahmenBreite(
-    int i) const // gibt die Eintrag Rahmen Breite zurueck
+    int i) const // returns the entry border width
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1637,7 +1630,7 @@ int AuswahlBox::getEintragRahmenBreite(
 }
 
 AlphaFeld* AuswahlBox::getEintragAlphaFeld(
-    int i) const // gibt das Eintrag AlphaFeld zurueck
+    int i) const // returns the entry AlphaFeld
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1652,7 +1645,7 @@ AlphaFeld* AuswahlBox::zEintragAlphaFeld(int i) const
 }
 
 int AuswahlBox::getEintragAlphaFeldFarbe(
-    int i) const // gibt die Eintrag AlphaFeld Farbe zurueck
+    int i) const // returns the entry AlphaFeld color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1660,7 +1653,7 @@ int AuswahlBox::getEintragAlphaFeldFarbe(
 }
 
 int AuswahlBox::getEintragAlphaFeldStrength(
-    int i) const // gibt die Eintrag AlphaFeld staerke zurueck
+    int i) const // returns the entry AlphaFeld strength
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1668,7 +1661,7 @@ int AuswahlBox::getEintragAlphaFeldStrength(
 }
 
 int AuswahlBox::getEintragHintergrundFarbe(
-    int i) const // gibt die Eintrag Hintergrund Farbe zurueck
+    int i) const // returns the entry background color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1676,7 +1669,7 @@ int AuswahlBox::getEintragHintergrundFarbe(
 }
 
 Bild* AuswahlBox::getEintragHintergrundBild(
-    int i) const // gibt das Eintrag Hintergrund Bild zurueck
+    int i) const // returns the entry background image
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!members->z(i)) return 0;
@@ -1690,7 +1683,7 @@ Bild* AuswahlBox::zEintragHintergrundBild(int i) const
     return members->z(i)->zHintergrundBild();
 }
 
-Rahmen* AuswahlBox::getAuswRahmen() const // gibt den Auswahl Rahmen zurueck
+Rahmen* AuswahlBox::getAuswRahmen() const // returns the selection border
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswRahmen ? dynamic_cast<Rahmen*>(auswRahmen->getThis()) : 0;
@@ -1702,22 +1695,21 @@ Rahmen* AuswahlBox::zAuswRahmen() const
     return auswRahmen;
 }
 
-int AuswahlBox::getAuswRahmenFarbe()
-    const // gibt die Auswahl Rahmen Frabe zurueck
+int AuswahlBox::getAuswRahmenFarbe() const // returns the selection border color
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswRahmen ? auswRahmen->getFarbe() : 0;
 }
 
 int AuswahlBox::getAuswRahmenBreite()
-    const // gibt die Auswahl Rahmen Breite zurueck
+    const // returns the selection border width
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswRahmen ? auswRahmen->getRBreite() : 0;
 }
 
 AlphaFeld*
-AuswahlBox::getAuswAlphaFeld() const // gibt das Auswahl AlphaFeld zurueck
+AuswahlBox::getAuswAlphaFeld() const // returns the selection AlphaFeld
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswAf ? dynamic_cast<AlphaFeld*>(auswAf->getThis()) : 0;
@@ -1730,28 +1722,28 @@ AlphaFeld* AuswahlBox::zAuswAlphaFeld() const
 }
 
 int AuswahlBox::getAuswAlphaFeldFarbe()
-    const // gibt die Auswahl AlphaFeld Farbe zurueck
+    const // returns the selection AlphaFeld color
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswAf ? auswAf->getFarbe() : 0;
 }
 
 int AuswahlBox::getAuswAlphaFeldStrength()
-    const // gibt die Auswahl AlphaFeld staerke zurueck
+    const // returns the selection AlphaFeld strength
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswAf ? auswAf->getStrength() : 0;
 }
 
 int AuswahlBox::getAuswHintergrundFarbe()
-    const // gibt die Auswahl Hintergrund Farbe zurueck
+    const // returns the selection background color
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswBgF;
 }
 
 Bild* AuswahlBox::getAuswHintergrundBild()
-    const // gibt das Auswahl Hintergrund Bild zurueck
+    const // returns the selection background image
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return auswBgB ? dynamic_cast<Bild*>(auswBgB->getThis()) : 0;
@@ -1764,7 +1756,7 @@ Bild* AuswahlBox::zAuswHintergrundBild() const
 }
 
 Rahmen* AuswahlBox::getMsAuswRahmen(
-    int i) const // gibt den Multistyle Auswahl Rahmen zurueck
+    int i) const // returns the multistyle selection border
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswRahmen) return 0;
@@ -1781,7 +1773,7 @@ Rahmen* AuswahlBox::zMsAuswRahmen(int i) const
 }
 
 int AuswahlBox::getMsAuswRahmenFarbe(
-    int i) const // gibt die Multistyle Auswahl Rahmen Frabe zurueck
+    int i) const // returns the multistyle selection border color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswRahmen) return 0;
@@ -1789,7 +1781,7 @@ int AuswahlBox::getMsAuswRahmenFarbe(
 }
 
 int AuswahlBox::getMsAuswRahmenBreite(
-    int i) const // gibt die Multistyle Auswahl Rahmen Breite zurueck
+    int i) const // returns the multistyle selection border width
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswRahmen) return 0;
@@ -1797,7 +1789,7 @@ int AuswahlBox::getMsAuswRahmenBreite(
 }
 
 AlphaFeld* AuswahlBox::getMsAuswAlphaFeld(
-    int i) const // gibt das Multistyle Auswahl AlphaFeld zurueck
+    int i) const // returns the multistyle selection AlphaFeld
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswAf) return 0;
@@ -1813,7 +1805,7 @@ AlphaFeld* AuswahlBox::zMsAuswAlphaFeld(int i) const
 }
 
 int AuswahlBox::getMsAuswAlphaFeldFarbe(
-    int i) const // gibt die Multistyle Auswahl AlphaFeld Farbe zurueck
+    int i) const // returns the multistyle selection AlphaFeld color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswAf) return 0;
@@ -1821,7 +1813,7 @@ int AuswahlBox::getMsAuswAlphaFeldFarbe(
 }
 
 int AuswahlBox::getMsAuswAlphaFeldStrength(
-    int i) const // gibt die Multistyle Auswahl AlphaFeld staerke zurueck
+    int i) const // returns the multistyle selection AlphaFeld strength
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswAf) return 0;
@@ -1829,7 +1821,7 @@ int AuswahlBox::getMsAuswAlphaFeldStrength(
 }
 
 int AuswahlBox::getMsAuswHintergrundFarbe(
-    int i) const // gibt die Multistyle Auswahl Hintergrund Farbe zurueck
+    int i) const // returns the multistyle selection background color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswBgF || !msAuswBgF->hat(i)) return 0;
@@ -1837,7 +1829,7 @@ int AuswahlBox::getMsAuswHintergrundFarbe(
 }
 
 Bild* AuswahlBox::getMsAuswHintergrundBild(
-    int i) const // gibt das Multistyle Auswahl Hintergrund Bild zurueck
+    int i) const // returns the multistyle selection background image
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msAuswBgB) return 0;
@@ -1851,7 +1843,7 @@ Bild* AuswahlBox::zMsAuswHintergrundBild(int i) const
     return msAuswBgB->z(i);
 }
 
-Rahmen* AuswahlBox::getMausRahmen() const // gibt den Maus Rahmen zurueck
+Rahmen* AuswahlBox::getMausRahmen() const // returns the mouse border
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausRahmen ? dynamic_cast<Rahmen*>(mausRahmen->getThis()) : 0;
@@ -1863,21 +1855,19 @@ Rahmen* AuswahlBox::zMausRahmen() const
     return mausRahmen;
 }
 
-int AuswahlBox::getMausRahmenFarbe() const // gibt die Maus Rahmen Frabe zurueck
+int AuswahlBox::getMausRahmenFarbe() const // returns the mouse border color
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausRahmen ? mausRahmen->getFarbe() : 0;
 }
 
-int AuswahlBox::getMausRahmenBreite()
-    const // gibt die Maus Rahmen Breite zurueck
+int AuswahlBox::getMausRahmenBreite() const // returns the mouse border width
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausRahmen ? mausRahmen->getRBreite() : 0;
 }
 
-AlphaFeld*
-AuswahlBox::getMausAlphaFeld() const // gibt das Maus AlphaFeld zurueck
+AlphaFeld* AuswahlBox::getMausAlphaFeld() const // returns the mouse AlphaFeld
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausAf ? dynamic_cast<AlphaFeld*>(mausAf->getThis()) : 0;
@@ -1890,28 +1880,28 @@ AlphaFeld* AuswahlBox::zMausAlphaFeld() const
 }
 
 int AuswahlBox::getMausAlphaFeldFarbe()
-    const // gibt die Maus AlphaFeld Farbe zurueck
+    const // returns the mouse AlphaFeld color
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausAf ? mausAf->getFarbe() : 0;
 }
 
 int AuswahlBox::getMausAlphaFeldStrength()
-    const // gibt die Maus AlphaFeld staerke zurueck
+    const // returns the mouse AlphaFeld strength
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausAf ? mausAf->getStrength() : 0;
 }
 
 int AuswahlBox::getMausHintergrundFarbe()
-    const // gibt die Maus Hintergrund Farbe zurueck
+    const // returns the mouse background color
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausBgF;
 }
 
 Bild* AuswahlBox::getMausHintergrundBild()
-    const // gibt das Maus Hintergrund Bild zurueck
+    const // returns the mouse background image
 {
     if (hatStyle(Style::MultiStyled)) return 0;
     return mausBgB ? dynamic_cast<Bild*>(mausBgB->getThis()) : 0;
@@ -1924,7 +1914,7 @@ Bild* AuswahlBox::zMausHintergrundBild() const
 }
 
 Rahmen* AuswahlBox::getMsMausRahmen(
-    int i) const // gibt den Multistyle Maus Rahmen zurueck
+    int i) const // returns the multistyle mouse border
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausRahmen) return 0;
@@ -1939,7 +1929,7 @@ Rahmen* AuswahlBox::zMsMausRahmen(int i) const
 }
 
 int AuswahlBox::getMsMausRahmenFarbe(
-    int i) const // gibt die Multistyle Maus Rahmen Frabe zurueck
+    int i) const // returns the multistyle mouse border color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausRahmen) return 0;
@@ -1947,7 +1937,7 @@ int AuswahlBox::getMsMausRahmenFarbe(
 }
 
 int AuswahlBox::getMsMausRahmenBreite(
-    int i) const // gibt die Multistyle Maus Rahmen Breite zurueck
+    int i) const // returns the multistyle mouse border width
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausRahmen) return 0;
@@ -1955,7 +1945,7 @@ int AuswahlBox::getMsMausRahmenBreite(
 }
 
 AlphaFeld* AuswahlBox::getMsMausAlphaFeld(
-    int i) const // gibt das Multistyle Maus AlphaFeld zurueck
+    int i) const // returns the multistyle mouse AlphaFeld
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausAf) return 0;
@@ -1970,7 +1960,7 @@ AlphaFeld* AuswahlBox::zMsMausAlphaFeld(int i) const
 }
 
 int AuswahlBox::getMsMausAlphaFeldFarbe(
-    int i) const // gibt die Multistyle Maus AlphaFeld Farbe zurueck
+    int i) const // returns the multistyle mouse AlphaFeld color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausAf) return 0;
@@ -1978,7 +1968,7 @@ int AuswahlBox::getMsMausAlphaFeldFarbe(
 }
 
 int AuswahlBox::getMsMausAlphaFeldStrength(
-    int i) const // gibt die Multistyle Maus AlphaFeld staerke zurueck
+    int i) const // returns the multistyle mouse AlphaFeld strength
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausAf) return 0;
@@ -1986,7 +1976,7 @@ int AuswahlBox::getMsMausAlphaFeldStrength(
 }
 
 int AuswahlBox::getMsMausHintergrundFarbe(
-    int i) const // gibt die Multistyle Maus Hintergrund Farbe zurueck
+    int i) const // returns the multistyle mouse background color
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausBgF || !msMausBgF->hat(i)) return 0;
@@ -1994,7 +1984,7 @@ int AuswahlBox::getMsMausHintergrundFarbe(
 }
 
 Bild* AuswahlBox::getMsMausHintergrundBild(
-    int i) const // gibt das Multistyle Maus Hintergrund Bild zurueck
+    int i) const // returns the multistyle mouse background image
 {
     if (!hatStyle(Style::MultiStyled)) return 0;
     if (!msMausBgB) return 0;
@@ -2008,10 +1998,10 @@ Bild* AuswahlBox::zMsMausHintergrundBild(int i) const
     return msMausBgB->z(i);
 }
 
-// Prueft, ob ein Punkt in diesem Objekt liegt
-//  x: die x koordinate des punktes
-//  y: die y koordinate des punktes
-//  return: 1, wenn der punkt innen ist, 0 sonst
+// Checks if a point is inside this object
+//  x: the x coordinate of the point
+//  y: the y coordinate of the point
+//  return: 1 if the point is inside, 0 otherwise
 bool AuswahlBox::istPunktInnen(int x, int y) const
 {
     return x >= pos.x && x < pos.x + gr.x && y >= pos.y
@@ -2019,7 +2009,7 @@ bool AuswahlBox::istPunktInnen(int x, int y) const
 }
 
 bool AuswahlBox::hatMsStyle(
-    int i, __int64 abStyle) const // prueft ob Multistyle style vorhanden
+    int i, __int64 abStyle) const // checks if multistyle style is present
 {
     if ((style | Style::MultiStyled) != style || !msStyle || !msStyle->hat(i))
         return 0;
@@ -2027,14 +2017,14 @@ bool AuswahlBox::hatMsStyle(
 }
 
 bool AuswahlBox::hatMsStyleNicht(
-    int i, __int64 abStyle) const // prueft ob Multistyle style nicht vorhanden
+    int i, __int64 abStyle) const // checks if multistyle style is not present
 {
     if ((style | Style::MultiStyled) != style || !msStyle || !msStyle->hat(i))
         return 1;
     return (msStyle->get(i) | abStyle) != msStyle->get(i);
 }
 
-Zeichnung* AuswahlBox::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
+Zeichnung* AuswahlBox::dublizieren() const // Creates a copy of the drawing
 {
     AuswahlBox* obj = new AuswahlBox();
     obj->setPosition(pos);

+ 42 - 62
Bild.cpp

@@ -95,8 +95,6 @@ inline void Bild::alphaPixelAssozP(int& fc, int f)
 
 inline void Bild::alphaPixelP3D(int& fc, int colorb)
 {
-    // alphaPixelAssozP( fc, colorb );
-    // return;
     int alpha = ((colorb >> 24) & 0xFF);
     int oldAlpha = ((fc >> 24) & 0xFF);
     bool newAlpha = alpha > oldAlpha;
@@ -111,20 +109,10 @@ inline void Bild::alphaPixelP3D(int& fc, int colorb)
              | ((fc & 0xFF000000) * !newAlpha))
            * (fc != 0)
        | (fc == 0) * colorb;
-    // unsigned char *fc1 = (unsigned char*)&fc;
-    // unsigned char *fc2 = (unsigned char*)&colorb;
-    // unsigned char na = 255-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 );
 }
 
 inline void Bild::alphaPixelP(int& fc, int colorb)
 {
-    // alphaPixelAssozP( fc, colorb );
-    // return;
     int alpha = ((colorb >> 24) & 0xFF);
     int na = (0x100 - alpha);
     fc = ((((na * (fc & 0xFF00FF)) >> 8) + ((alpha * (colorb & 0xFF00FF)) >> 8))
@@ -132,14 +120,6 @@ inline void Bild::alphaPixelP(int& fc, int colorb)
        | ((((na * (fc & 0x00FF00)) >> 8) + ((alpha * (colorb & 0x00FF00)) >> 8))
            & 0x00FF00)
        | ((fc & 0xFF000000));
-    // unsigned char *fc1 = (unsigned char*)&fc;
-    // unsigned char *fc2 = (unsigned char*)&colorb;
-    // unsigned char na = 255-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
@@ -281,7 +261,7 @@ void Bild::drawLinieHTextur(Vec2<double> p,
     Vec2<double> tb,
     double txo,
     double tyo,
-    const Bild& textur) // zeichnet eine horizontale Linie
+    const Bild& textur) // draws a horizontal line
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -332,7 +312,7 @@ void Bild::drawLinieHTexturAlpha(Vec2<double> p,
     Vec2<double> tb,
     double txo,
     double tyo,
-    const Bild& textur) // zeichnet eine horizontale Linie
+    const Bild& textur) // draws a horizontal line
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (len < 0)
@@ -400,8 +380,8 @@ void Bild::drawLinieHTexturAlpha(Vec2<double> p,
 
 // non-constant
 
-// Prueft ob ein Rechteck vollstaendig oder teilweise in der Zeichen Flaeche liegt.
-//  return 0, falls das Rechteck nicht in der Zeichenflaeche liegt, 1 sonst
+// Checks if a rectangle is fully or partially within the drawing area.
+//  return 0 if the rectangle is not in the drawing area, 1 otherwise
 bool Bild::isAreaDrawable(int x, int y, int b, int h)
 {
     int dpx = dPosA[doa].x;
@@ -414,17 +394,17 @@ bool Bild::isAreaDrawable(int x, int y, int b, int h)
     return 1;
 }
 
-// Wird dieser Flag gesetzt, so wird beim Alpha Blending wenn die vorheriege
-// Farbe 0 ist nur die neue mit ihrem Alpha Wert kopiert. Das ist sinnvoll fuer
-// die Verwendung im 3DBildschirm, wo das Gezeichnette Bild spaeter mittels Alpha
-// Blending angezeigt wird
+// When this flag is set, during alpha blending if the previous
+// color is 0, only the new one is copied with its alpha value. This is useful
+// for use in the 3D screen, where the drawn image is later displayed using alpha
+// blending
 void Bild::setAlpha3D(bool erlaubt)
 {
     alpha3D = erlaubt;
 }
 
 void Bild::setAlpha(
-    unsigned char alpha) // setzt die Transparenz der nachfolgenden Zeichnunge
+    unsigned char alpha) // sets the transparency for subsequent drawings
 {
     int last = this->alpha[alphaAnzahl];
     ++alphaAnzahl;
@@ -433,7 +413,7 @@ void Bild::setAlpha(
         = (unsigned char)((255 - alpha) > last ? (255 - alpha) : last);
 }
 
-void Bild::releaseAlpha() // Loescht alpha
+void Bild::releaseAlpha() // Releases alpha
 {
     --alphaAnzahl;
 }
@@ -441,7 +421,7 @@ void Bild::releaseAlpha() // Loescht alpha
 void Bild::setPixelBuffer(int* buffer,
     bool deleteBuffer,
     int breite,
-    int height) // setzt den Zeiger auf die Pixel des Bildes
+    int height) // sets the pointer to the image pixels
 {
     if (delFc) delete[] fc;
     fc = buffer;
@@ -721,7 +701,7 @@ void Bild::setPixelDP(int i, int f)
 }
 
 void Bild::drawLinieH(
-    int x, int y, int len, int f) // zeichnet eine horizontale Linie
+    int x, int y, int len, int f) // draws a horizontal line
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -757,7 +737,7 @@ void Bild::drawLinieH(
 }
 
 void Bild::drawLinieV(
-    int x, int y, int len, int f) // zeichnet eine vertikale Linie
+    int x, int y, int len, int f) // draws a vertical line
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -793,7 +773,7 @@ void Bild::drawLinieV(
 }
 
 void Bild::drawLinieHAlpha(
-    int x, int y, int len, int f) // zeichnet eine horizontale Linie
+    int x, int y, int len, int f) // draws a horizontal line
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     int dpx = dPosA[doa].x;
@@ -842,7 +822,7 @@ void Bild::drawLinieHAlpha(
 }
 
 void Bild::drawLinieVAlpha(
-    int x, int y, int len, int f) // zeichnet eine vertikale Linie
+    int x, int y, int len, int f) // draws a vertical line
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     int dpx = dPosA[doa].x;
@@ -1164,7 +1144,7 @@ void Bild::drawLinieBorderedAlpha(Punkt a, Punkt b, int bc, int fc)
 
 void Bild::drawLinie(Punkt a,
     Punkt b,
-    int fc) // zeichnet eine Linie von Punkt( x1, y1 ) nach Punke( x2, y2 )
+    int fc) // draws a line from Point(x1, y1) to Point(x2, y2)
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -1364,7 +1344,7 @@ void Bild::drawLinieAlpha(Punkt a, Punkt b, int fc)
 void Bild::fillCircle(int xOff,
     int yOff,
     int r,
-    int fc) // zeichnet einen Kreis um Punkt( xOff, yOff ) mit radius r
+    int fc) // fills a circle around Point(xOff, yOff) with radius r
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     for (int i = r; i > 0; i--)
@@ -1374,7 +1354,7 @@ void Bild::fillCircle(int xOff,
 void Bild::drawKreis(int xOff,
     int yOff,
     int r,
-    int fc) // zeichnet einen Kreis um Punkt( xOff, yOff ) mit radius r
+    int fc) // draws a circle around Point(xOff, yOff) with radius r
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -1554,7 +1534,7 @@ void Bild::drawKreisAlpha(int xOff, int yOff, int r, int fc)
 }
 
 void Bild::drawBild(
-    int x, int y, int br, int hi, const Bild& zBild) // zeichet zBild
+    int x, int y, int br, int hi, const Bild& zBild) // draws zBild
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -1732,7 +1712,7 @@ void Bild::drawBild90(int x,
     int y,
     int br,
     int hi,
-    const Bild& zBild) // Zeichnet ein um 90 Grad nach rchts gedrehtes Bild
+    const Bild& zBild) // Draws an image rotated 90 degrees to the right
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -1850,7 +1830,7 @@ void Bild::drawBild180(int x,
     int y,
     int br,
     int hi,
-    const Bild& zBild) // Zeichnet ein um 180 Grad nach rchts gedrehtes Bild
+    const Bild& zBild) // Draws an image rotated 180 degrees to the right
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -1975,7 +1955,7 @@ void Bild::drawBild270(int x,
     int y,
     int br,
     int hi,
-    const Bild& zBild) // Zeichnet ein um 270 Grad nach rchts gedrehtes Bild
+    const Bild& zBild) // Draws an image rotated 270 degrees to the right
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -2091,7 +2071,7 @@ void Bild::alphaBild270(int x, int y, int br, int hi, const Bild& zBild)
 }
 
 void Bild::drawBildSkall(
-    int x, int y, int br, int hi, const Bild& zBild) // zeichet zBild Skalliert
+    int x, int y, int br, int hi, const Bild& zBild) // draws zBild scaled
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -2186,7 +2166,7 @@ void Bild::alphaBildSkall(int x, int y, int br, int hi, const Bild& zBild)
 }
 
 void Bild::drawDreieck(
-    Punkt a, Punkt b, Punkt c, int farbe) // fuellt eine Dreieck aus
+    Punkt a, Punkt b, Punkt c, int farbe) // fills a triangle
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -2256,7 +2236,7 @@ void Bild::drawDreieckTextur(Punkt a,
     Punkt ta,
     Punkt tb,
     Punkt tc,
-    const Bild& textur) // fuellt eine Dreieck aus
+    const Bild& textur) // fills a triangle
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     if (alpha[alphaAnzahl])
@@ -2462,7 +2442,7 @@ void Bild::drawDreieckTextur(Punkt a,
 }
 
 void Bild::drawDreieckAlpha(
-    Punkt a, Punkt b, Punkt c, int farbe) // fuellt eine Dreieck aus
+    Punkt a, Punkt b, Punkt c, int farbe) // fills a triangle
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     int dpx = dPosA[doa].x;
@@ -2533,7 +2513,7 @@ void Bild::drawDreieckTexturAlpha(Punkt a,
     Punkt ta,
     Punkt tb,
     Punkt tc,
-    const Bild& textur) // fuellt eine Dreieck aus
+    const Bild& textur) // fills a triangle
 {
     if (alpha[alphaAnzahl] == 0xFF) return;
     int dpx = dPosA[doa].x;
@@ -2757,7 +2737,7 @@ void Bild::replaceColorWithAlpha(int color)
 }
 
 bool Bild::setDrawOptions(
-    const Punkt& pos, const Punkt& gr) // setzt die Drawoptionen
+    const Punkt& pos, const Punkt& gr) // sets the draw options
 {
     int dx = drawOff[doa].x, dy = drawOff[doa].y;
     int xx = dPosA[doa].x, yy = dPosA[doa].y;
@@ -2801,7 +2781,7 @@ bool Bild::setDrawOptions(int x, int y, int br, int hi)
 }
 
 bool Bild::setDrawOptionsErzwingen(
-    const Punkt& pos, const Punkt& gr) // setzt die Drawoptionen
+    const Punkt& pos, const Punkt& gr) // sets the draw options
 {
     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
@@ -2819,7 +2799,7 @@ bool Bild::setDrawOptionsErzwingen(
 }
 
 bool Bild::setDrawOptionsErzwingen(
-    int x, int y, int br, int hi) // setzt die Drawoptionen
+    int x, int y, int br, int hi) // sets the draw options
 {
     int dx = drawOff[doa].x, dy = drawOff[doa].y;
     if (dx + x + br < 0 || dy + y + hi < 0 || dx + x >= size.x
@@ -2847,13 +2827,13 @@ void Bild::setDrawOptionsReset()
     drawOff[doa].y = 0;
 }
 
-void Bild::addScrollOffset(int xOff, int yOff) // setzt ScrollOffset
+void Bild::addScrollOffset(int xOff, int yOff) // sets scroll offset
 {
     drawOff[doa].x -= xOff;
     drawOff[doa].y -= yOff;
 }
 
-void Bild::releaseDrawOptions() // setzt die Drawoptionen zurueck
+void Bild::releaseDrawOptions() // resets the draw options
 {
     --doa;
 }
@@ -2866,7 +2846,7 @@ bool Bild::getRend()
 }
 
 // constant
-int* Bild::getBuffer() const // gibt buffer zurueck
+int* Bild::getBuffer() const // returns the buffer
 {
     return fc;
 }
@@ -2877,22 +2857,22 @@ int Bild::getPixel(int x, int y) const
     return fc[x + y * size.x];
 }
 
-const Punkt& Bild::getSize() const // gibt die Groesse zurueck
+const Punkt& Bild::getSize() const // returns the size
 {
     return size;
 }
 
-int Bild::getBreite() const // gibt die Breite zurueck
+int Bild::getBreite() const // returns the width
 {
     return size.x;
 }
 
-int Bild::getHeight() const // gibt die Hoehe zurueck
+int Bild::getHeight() const // returns the height
 {
     return size.y;
 }
 
-unsigned char Bild::getAlpha() const // gibt den Alpha wert zurueck
+unsigned char Bild::getAlpha() const // returns the alpha value
 {
     return (unsigned char)(255 - alpha[alphaAnzahl]);
 }
@@ -2956,7 +2936,7 @@ BildZ::~BildZ()
     if (bild) bild->release();
 }
 
-void BildZ::doMausEreignis(MausEreignis& me, bool userRet) // ruft Mak auf
+void BildZ::doMausEreignis(MausEreignis& me, bool userRet) // calls Mak
 {
     if (userRet)
     {
@@ -2980,7 +2960,7 @@ void BildZ::doMausEreignis(MausEreignis& me, bool userRet) // ruft Mak auf
 }
 
 // non-constant
-void BildZ::setBildZ(Bild* b) // setzt das Bild
+void BildZ::setBildZ(Bild* b) // sets the image
 {
     if (bild) bild->release();
     bild = b;
@@ -3012,7 +2992,7 @@ bool BildZ::tick(double tickVal) // tick
     return ZeichnungHintergrund::tick(tickVal);
 }
 
-void BildZ::render(Bild& zRObj) // zeichnet nach zRObj
+void BildZ::render(Bild& zRObj) // draws to zRObj
 {
     if (hatStyle(Style::Sichtbar))
     {
@@ -3076,7 +3056,7 @@ void BildZ::render(Bild& zRObj) // zeichnet nach zRObj
 }
 
 // constant
-Bild* BildZ::getBild() const // gibt das Bild zurueck
+Bild* BildZ::getBild() const // returns the image
 {
     if (bild) return dynamic_cast<Bild*>(bild->getThis());
     return 0;
@@ -3087,7 +3067,7 @@ Bild* BildZ::zBild() const
     return bild;
 }
 
-Zeichnung* BildZ::dublizieren() const // erstellt eine Kopie des Zeichnungs
+Zeichnung* BildZ::dublizieren() const // creates a copy of the drawing
 {
     BildZ* obj = new BildZ();
     obj->setPosition(pos);

+ 7 - 7
Cube.cpp

@@ -9,10 +9,10 @@
 
 using namespace Framework;
 
-// Inhalt der Cube Klasse
+// Contents of the Cube class
 
 // Constructor
-//  size: Die Groesse des Wuerfels
+//  size: The size of the cube
 Cube::Cube(float size, GraphicsApi* zApi)
     : Model3D()
 {
@@ -161,8 +161,8 @@ Cube::Cube(float size, GraphicsApi* zApi)
     textur = new Model3DTextur();
 }
 
-// Setzt die Textur des Wuerfels, so dass sie an allen Seiten gleich ist
-//  textur: Die Textur
+// Sets the texture of the cube so that it is the same on all sides
+//  textur: the texture
 void Cube::setTextur(Textur* textur)
 {
     this->textur->setPolygonTextur(
@@ -179,9 +179,9 @@ void Cube::setTextur(Textur* textur)
     rend = 1;
 }
 
-// Setzt die Textur von einer bestimmten Seite des Wuerfels
-//  textur: Die Textur
-//  s: Die Seite, die gesetzt werden soll
+// Sets the texture of a specific side of the cube
+//  textur:  the texture
+//  s: The side to be set
 void Cube::setTextur(Textur* textur, CubeSeite s)
 {
     this->textur->setPolygonTextur(s, textur);

+ 12 - 12
DX11GraphicsApi.cpp

@@ -760,13 +760,13 @@ void DirectX11::renderObject(Model3D* zObj)
     zObj->afterRender(this, pixelShader, vertexShader);
 }
 
-// UEberprueft, ob eine Kugel in dem Sichtbaren Raum der Welt liegt und gezeichnet
-// werden muss
-//  pos: Der Mittelpunkt der Kugel
-//  radius: Der Radius der Kugel
-//  dist: Einen Zeiger auf einen float, in dem das quadrat des Abstands zur
-//  Kammeraposition gespeichert wird, falls diese Funktion true zurueckgiebt und
-//  der Zeiger nicht 0 ist
+// Checks whether a sphere is in the visible space of the world and needs to be
+// drawn
+//  pos: The center of the sphere
+//  radius: The radius of the sphere
+//  dist: A pointer to a float where the square of the distance to the
+//  camera position is stored if this function returns true and
+//  the pointer is not 0
 bool DirectX11::isInFrustrum(
     const Vec3<float>& pos, float radius, float* dist) const
 {
@@ -1178,8 +1178,8 @@ DX11VertexShader* DirectX11::initializeVertexShader(
     vertexShader->erstelleInputLayout(polygonLayout, 5);
     vertexShader->erstelleConstBuffer(sizeof(Mat4<float>) * MAX_KNOCHEN_ANZ,
         vertexShader
-            ->getFirstUninitializedBufferIndex()); // matrizen fuer skelett
-                                                   // annimationen
+            ->getFirstUninitializedBufferIndex()); // matrices for skeleton
+                                                    // animations
     vertexShader->erstelleConstBuffer(sizeof(Mat4<float>) * 2,
         vertexShader
             ->getFirstUninitializedBufferIndex()); // View and Projection Matrix
@@ -1194,10 +1194,10 @@ DX11PixelShader* DirectX11::initializePixelShader(
     pixelShader->setCompiledByteArray((unsigned char*)byteCode, size);
 
     pixelShader->erstelleConstBuffer(sizeof(float) * 3,
-        pixelShader->getFirstUninitializedBufferIndex()); // Kamera Position
+        pixelShader->getFirstUninitializedBufferIndex()); // Camera position
     pixelShader->erstelleConstBuffer(sizeof(float) * 3,
-        pixelShader->getFirstUninitializedBufferIndex()); // materialkonstanten
-                                                          // nach phong model
+        pixelShader->getFirstUninitializedBufferIndex()); // material constants
+                                                          // using phong model
     pixelShader->erstelleConstBuffer(
         sizeof(int) * 2, pixelShader->getFirstUninitializedBufferIndex());
     pixelShader->erstelleConstBuffer(

+ 5 - 5
DX12Buffer.cpp

@@ -7,7 +7,7 @@
 using namespace Framework;
 
 // Constructor
-// eSize: Die Laenge eines Elementes in Bytes
+// eSize: length of an element in bytes
 DX12Buffer::DX12Buffer(
     int eSize, ID3D12Device* device, ID3D12GraphicsCommandList* list, int flags)
     : DXBuffer(eSize),
@@ -36,7 +36,7 @@ DX12Buffer::~DX12Buffer()
     delete description;
 }
 
-// Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+// Copies the data into the buffer if it has changed
 void DX12Buffer::copieren(int byteCount)
 {
     if (!len) return;
@@ -88,7 +88,7 @@ void DX12Buffer::copieren(int byteCount)
     }
 }
 
-// Gibt den Buffer zurueck
+// Returns the buffer
 ID3D12Resource* DX12Buffer::zBuffer() const
 {
     return buffer;
@@ -108,7 +108,7 @@ DX12IndexBuffer::DX12IndexBuffer(int eSize,
 
 DX12IndexBuffer::~DX12IndexBuffer() {}
 
-// Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+// Copies the data into the buffer if it has changed
 void DX12IndexBuffer::copieren(int byteCount)
 {
     /*if( ibs )
@@ -152,7 +152,7 @@ DX12VertexBuffer::DX12VertexBuffer(int eSize,
 
 DX12VertexBuffer::~DX12VertexBuffer() {}
 
-// Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+// Copies the data into the buffer if it has changed
 void DX12VertexBuffer::copieren(int byteCount)
 {
     /*if( vbs )

+ 7 - 7
DX12GraphicsApi.cpp

@@ -1083,13 +1083,13 @@ void DirectX12::renderObject(Model3D* zObj)
     zObj->afterRender(this, pixelShader, vertexShader);
 }
 
-// UEberprueft, ob eine Kugel in dem Sichtbaren Raum der Welt liegt und
-// gezeichnet werden muss
-//  pos: Der Mittelpunkt der Kugel
-//  radius: Der Radius der Kugel
-//  dist: Einen Zeiger auf einen float, in dem das quadrat des Abstands zur
-//  Kammeraposition gespeichert wird, falls diese Funktion true zurueckgiebt und
-//  der Zeiger nicht 0 ist
+// Checks whether a sphere is in the visible space of the world and
+// needs to be drawn
+//  pos: The center of the sphere
+//  radius: The radius of the sphere
+//  dist: A pointer to a float where the square of the distance to the
+//  camera position is stored if this function returns true and
+//  the pointer is not 0
 bool DirectX12::isInFrustrum(
     const Vec3<float>& pos, float radius, float* dist) const
 {

+ 26 - 26
DX12Shader.cpp

@@ -22,13 +22,13 @@ DX12Shader::~DX12Shader()
     delete[] shaderByteBuffer;
 }
 
-// erstellt ein constanten Buffer, der constante daten an den Shader uebergibt
-// es koennen maximal 14 Buffer erstellt werden
-//  zD3d11Device: Das Device, mit dem der Buffer erstellt werden soll
-//  size: Die groesse 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.
+// Creates a constant buffer that passes constant data to the shader
+// A maximum of 14 buffers can be created
+//  zD3d11Device: The device used to create the buffer
+//  size: The size of the buffer in bytes
+//  index: The position of the buffer in the buffer array. Existing buffer
+//  is replaced. Buffer 1 cannot be created if buffer 0 has not yet
+//  been created, etc.
 bool DX12Shader::erstelleConstBuffer(int size, int index)
 {
     if (index < 0 || index >= 14) return 0;
@@ -42,11 +42,11 @@ bool DX12Shader::erstelleConstBuffer(int size, int index)
     return 1;
 }
 
-// Setzt den Compilierten Shader
-//  zD3d11Device: Das Device, mit welchem der Shader erstellt werden soll
-//  bytes: Die Bytes des compilierten codes
-//  length: die Laenge des bytearrays
-//  return: true, wenn bytes gueltig ist, false sonst
+// Sets the compiled shader
+//  zD3d11Device: The device used to create the shader
+//  bytes: The bytes of the compiled code
+//  length: the length of the byte array
+//  return: true if bytes is valid, false otherwise
 bool DX12Shader::setCompiledByteArray(unsigned char* bytes, int length)
 {
     delete[] shaderByteBuffer;
@@ -56,28 +56,28 @@ bool DX12Shader::setCompiledByteArray(unsigned char* bytes, int length)
     return 1;
 }
 
-// Nach dem Aufruf dieser Funktion wird dieser Shader als Pixel Shader benutzt
-//  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
+// After calling this function, this shader is used as pixel shader
+//  zD3d11Context: The context object used with the shader
 void DX12Shader::benutzeShader()
 {
     // not needet in DirectX 12
 }
 
-// gibt die compilierten bytes zurueck
+// returns the compiled bytes
 unsigned char* DX12Shader::getCompiledShader() const
 {
     return shaderByteBuffer;
 }
 
-// gitbt die anzahl der compilierten bytes zurueck
+// returns the number of compiled bytes
 int DX12Shader::getCompiledLength() const
 {
     return byteBufferSize;
 }
 
-// Erstellt den RootParameter zu einem constanten buffer
-//  index: Der Index des Buffers
-//  view: enthaelt nach dem Aufruf die position und groesse des buffers im speicher
+// Creates the root parameter for a constant buffer
+//  index: The index of the buffer
+//  view: contains the position and size of the buffer in memory after the call
 void DX12Shader::getViewDesc(int index, D3D12_CONSTANT_BUFFER_VIEW_DESC& view)
 {
     DX12Buffer* zB = (DX12Buffer*)constBuffers->z(index);
@@ -108,11 +108,11 @@ DX12VertexShader::~DX12VertexShader()
     delete[] inputLayout;
 }
 
-// erstellt ein InputLayout fuer den Shader
-// Darf erst nach compile aufgerufen werden
-//  zD3d11Device: Das Device, mit dem das Layout erstellt werden soll
-//  descArray: Ein Array mit initialisierungsdaten
-//  anz: Die Anzahl der Elemente im Array
+// Creates an InputLayout for the shader
+// Must only be called after compile
+//  zD3d11Device: The device used to create the layout
+//  descArray: An array with initialization data
+//  anz: The number of elements in the array
 bool DX12VertexShader::erstelleInputLayout(
     D3D12_INPUT_ELEMENT_DESC* descArray, int anz)
 {
@@ -123,13 +123,13 @@ bool DX12VertexShader::erstelleInputLayout(
     return 1;
 }
 
-// Gint die Anzahl an eingabeparametern des Shaders zurueck
+// Returns the number of input parameters of the shader
 int DX12VertexShader::getInputLayoutSize() const
 {
     return inputLayoutSize;
 }
 
-// Gibt eine Liste mit formaten fuer jeden Eingabewert zurueck
+// Returns a list of formats for each input value
 D3D12_INPUT_ELEMENT_DESC* DX12VertexShader::zInputLayout() const
 {
     return inputLayout;

+ 4 - 4
DX12Textur.cpp

@@ -26,8 +26,8 @@ DX12Textur::~DX12Textur()
 #endif
 }
 
-// Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in den
-// Graphikspeicher kopiert
+// Updates the texture. The pixels of the current image are copied into the
+// graphics memory
 bool DX12Textur::updateTextur()
 {
     if (!bild) return 0;
@@ -126,13 +126,13 @@ bool DX12Textur::updateTextur()
     return 1;
 }
 
-// Gibt true zuruek, wenn updateTextur aufgerufen werden muss
+// Returns true if updateTextur needs to be called
 bool DX12Textur::brauchtUpdate() const
 {
     return bild && !buffer;
 }
 
-// Gibt die DX12 Resource zurueck
+// Returns the DX12 resource
 ID3D12Resource* DX12Textur::getResource()
 {
     return buffer;

+ 24 - 24
DXBuffer.cpp

@@ -12,11 +12,11 @@
 
 using namespace Framework;
 
-// Inhalt der DXBuffer Klasse
+// Contents of the DXBuffer class
 
 // Constructor
-//  bind: Der verwendungszweck des Buffers. Beispiel: D3D11_BIND_INDEX_BUFFER,
-//  D3D11_BIND_VERTEX_BUFFER. eLaen: Laenge eines einzelnen Elements in Bytes
+//  bind: The usage purpose of the buffer. Example: D3D11_BIND_INDEX_BUFFER,
+//  D3D11_BIND_VERTEX_BUFFER. eLaen: Length of a single element in bytes
 DXBuffer::DXBuffer(int eLen)
     : ReferenceCounter()
 {
@@ -29,45 +29,45 @@ DXBuffer::DXBuffer(int eLen)
 // Destructor
 DXBuffer::~DXBuffer() {}
 
-// Setzt den geaendert flaeg, so das beim naechsten auruf von 'kopieren' die daten
-// neu kopiert werden
+// Sets the changed flag so that data is re-copied on the next call to
+// 'copieren'
 void DXBuffer::setChanged()
 {
     changed = 1;
 }
 
-// AEndert die laenge des Buffers beim naechsten aufruf von 'kopieren'
-//  laen: Die Laenge in Bytes
+// Changes the length of the buffer on the next call to 'copieren'
+//  laen: The length in bytes
 void DXBuffer::setLength(int len)
 {
     this->len = len;
 }
 
-// Legt fest, was beim naechsten aufruf von 'kopieren' kopiert wird
-//  data: Ein zeiger auf die Daten
+// Sets what will be copied on the next call to 'copieren'
+//  data: A pointer to the data
 void DXBuffer::setData(void* data)
 {
     this->data = data;
     changed = 1;
 }
 
-// Gibt die Laenge eines Elementes in bytes zurueck
+// Returns the length of an element in bytes
 int DXBuffer::getElementLength() const
 {
     return elLen;
 }
 
-// Gibt die Anzahl der Elemente im Buffer zurueck
+// Returns the number of elements in the buffer
 int DXBuffer::getElementAnzahl() const
 {
     return len / elLen;
 }
 
 #ifdef WIN32
-// Inhalt der DX11Buffer Klasse
+// Contents of the DX11Buffer class
 
 // Constructor
-// eSize: Die Laenge eines Elementes in Bytes
+// eSize: The length of an element in bytes
 DX11Buffer::DX11Buffer(int eSize,
     ID3D11Device* device,
     ID3D11DeviceContext* context,
@@ -92,8 +92,8 @@ DX11Buffer::~DX11Buffer()
     delete description;
 }
 
-// Kopiert die Daten in den Buffer, fals sie sich veraendert haben
-//  zRObj: Das Objekt, mit dem die Grafikkarte angesprochen wird
+// Copies the data into the buffer if it has changed
+//  zRObj: The object used to communicate with the graphics card
 void DX11Buffer::copieren(int byteCount)
 {
     if (!len) return;
@@ -132,22 +132,22 @@ void DX11Buffer::copieren(int byteCount)
     }
 }
 
-// Gibt den Buffer zurueck
+// Returns the buffer
 ID3D11Buffer* DX11Buffer::zBuffer() const
 {
     return buffer;
 }
 
-// Inhalt der DXStructuredBuffer Klasse
+// Contents of the DXStructuredBuffer class
 
 // Constructor
-// eSize: Die Laenge eines Elementes in Bytes
+// eSize: The length of an element in bytes
 DX11StructuredBuffer::DX11StructuredBuffer(
     int eSize, ID3D11Device* device, ID3D11DeviceContext* context)
     : DX11Buffer(eSize,
-        device,
-        context,
-        D3D11_BIND_UNORDERED_ACCESS | D3D11_BIND_SHADER_RESOURCE)
+          device,
+          context,
+          D3D11_BIND_UNORDERED_ACCESS | D3D11_BIND_SHADER_RESOURCE)
 {
     description->MiscFlags = D3D11_RESOURCE_MISC_BUFFER_STRUCTURED;
     description->StructureByteStride = eSize;
@@ -161,8 +161,8 @@ DX11StructuredBuffer::~DX11StructuredBuffer()
     if (view) view->Release();
 }
 
-// Kopiert die Daten in den Buffer, fals sie sich veraendert haben
-//  zRObj: Das Objekt, mit dem die Grafikkarte angesprochen wird
+// Copies the data into the buffer if it has changed
+//  zRObj: The object used to communicate with the graphics card
 void DX11StructuredBuffer::copieren(int byteCount)
 {
     ID3D11Buffer* old = buffer;
@@ -180,7 +180,7 @@ void DX11StructuredBuffer::copieren(int byteCount)
     }
 }
 
-// Gibt die verwendtete Shader Resource View zurueck
+// Returns the used shader resource view
 DX11StructuredBuffer::operator ID3D11ShaderResourceView*() const
 {
     return view;

+ 64 - 67
Diagramm.cpp

@@ -48,7 +48,7 @@ void SLDiag::setTextRendererZ(TextRenderer* textRd)
     this->textRd = textRd;
 }
 
-void SLDiag::setSchriftZ(Schrift* schrift) // setzt die Schrift
+void SLDiag::setSchriftZ(Schrift* schrift) // sets the font
 {
     if (!this->textRd)
         textRd = new TextRenderer(schrift);
@@ -57,19 +57,19 @@ void SLDiag::setSchriftZ(Schrift* schrift) // setzt die Schrift
     rend = 1;
 }
 
-void SLDiag::setGSize(Punkt& gr) // setzt die Groesse des Gitters
+void SLDiag::setGSize(Punkt& gr) // sets the grid size
 {
     gitterGr = gr;
     rend = 1;
 }
 
-void SLDiag::setGFarbe(int f) // setzt die Gitter Farbe
+void SLDiag::setGFarbe(int f) // sets the grid color
 {
     gF = f;
     rend = 1;
 }
 
-void SLDiag::addLinie(const char* name) // fuegt eine Linie hinzu
+void SLDiag::addLinie(const char* name) // adds a line
 {
     addLinie(new Text(name));
     rend = 1;
@@ -87,13 +87,13 @@ void SLDiag::addLinie(Text* txt)
     rend = 1;
 }
 
-void SLDiag::setLFarbe(int lNum, int f) // setzt die Linienfarbe
+void SLDiag::setLFarbe(int lNum, int f) // sets the line color
 {
     lFarbe->set(f, lNum);
     rend = 1;
 }
 
-void SLDiag::addPunkt(int lNum, int x, int h) // fuegt einen Punkt hinzu
+void SLDiag::addPunkt(int lNum, int x, int h) // adds a point
 {
     Array<int>* ph_tmp = ph->z(lNum);
     Array<int>* pb_tmp = pb->z(lNum);
@@ -120,7 +120,7 @@ void SLDiag::addPunkt(int lNum, int x, int h) // fuegt einen Punkt hinzu
     rend = 1;
 }
 
-void SLDiag::removeLinie(int lNum) // entfernt eine Linie
+void SLDiag::removeLinie(int lNum) // removes a line
 {
     lFarbe->remove(lNum);
     lName->remove(lNum);
@@ -130,7 +130,7 @@ void SLDiag::removeLinie(int lNum) // entfernt eine Linie
     rend = 1;
 }
 
-void SLDiag::render(Bild& zRObj) // zeichnet nach zRObj
+void SLDiag::render(Bild& zRObj) // draws to zRObj
 {
     if (hatStyle(Style::Sichtbar))
     {
@@ -212,7 +212,7 @@ void SLDiag::render(Bild& zRObj) // zeichnet nach zRObj
 }
 
 // constant
-Schrift* SLDiag::getSchrift() const // gibt die Schrift zurueck
+Schrift* SLDiag::getSchrift() const // returns the font
 {
     if (textRd) return textRd->getSchrift();
     return 0;
@@ -223,18 +223,17 @@ Schrift* SLDiag::zSchrift() const
     return textRd ? textRd->zSchrift() : 0;
 }
 
-const Punkt& SLDiag::getGSize() const // gibt die Gitter Groesse zurueck
+const Punkt& SLDiag::getGSize() const // returns the grid size
 {
     return gitterGr;
 }
 
-int SLDiag::getGFarbe() const // gibt die Gitter Farbe zurueck
+int SLDiag::getGFarbe() const // returns the grid color
 {
     return gF;
 }
 
-int SLDiag::getLinienNummer(
-    const char* name) const // gibt die Linien Nummer zurueck
+int SLDiag::getLinienNummer(const char* name) const // returns the line number
 {
     for (int i = 0; i < lines; ++i)
     {
@@ -257,7 +256,7 @@ int SLDiag::getLinienNummer(Text* name) const
     return -1;
 }
 
-Text* SLDiag::getLinienName(int lNum) const // gibt den Linien Namen zurueck
+Text* SLDiag::getLinienName(int lNum) const // returns the line name
 {
     return lName->get(lNum);
 }
@@ -267,7 +266,7 @@ Text* SLDiag::zLinienNamen(int lNum) const
     return lName->z(lNum);
 }
 
-int SLDiag::getHighestValue() const // gibt den Hoechsten Wert zurueck
+int SLDiag::getHighestValue() const // returns the highest value
 {
     int ret = 0;
     for (int i = 0; i < lines; ++i)
@@ -288,7 +287,7 @@ int SLDiag::getHighestValue(int lNum) const
     return ret;
 }
 
-int SLDiag::getMedian(int lNum) const // gibt den durchschnittswert zurueck
+int SLDiag::getMedian(int lNum) const // returns the average value
 {
     int count;
     int all = 0;
@@ -299,17 +298,17 @@ int SLDiag::getMedian(int lNum) const // gibt den durchschnittswert zurueck
     return (int)((double)all / count + 0.5);
 }
 
-int SLDiag::getLAnzahl() const // gibt die Linien Anzahl zurueck
+int SLDiag::getLAnzahl() const // returns the number of lines
 {
     return lines;
 }
 
-int SLDiag::getLastValue(int lNum) const // gibt den letzten Wert zurueck
+int SLDiag::getLastValue(int lNum) const // returns the last value
 {
     return lastValue->get(lNum);
 }
 
-// Inhalt der DiagWert Struktur aus Diagramm.h
+// Contents of the DiagWert struct from Diagramm.h
 // Constructor
 DiagWert::DiagWert()
     : ReferenceCounter(),
@@ -332,7 +331,7 @@ DiagWert::~DiagWert()
     punkte->release();
 }
 
-// Inhalt der DiagDaten Struktur aus Diagramm.h
+// Contents of the DiagDaten struct from Diagramm.h
 // Constructor
 DiagDaten::DiagDaten()
     : ReferenceCounter(),
@@ -382,7 +381,7 @@ BaseDiag::~BaseDiag()
 
 // non-constant
 void BaseDiag::setDiagDatenZ(
-    DiagDaten* dd) // Setzt einen Zeiger auf die Daten des Diagramms
+    DiagDaten* dd) // Sets a pointer to the diagram data
 {
     lock->lock();
     if (daten) daten->release();
@@ -391,7 +390,7 @@ void BaseDiag::setDiagDatenZ(
     changed = 1;
 }
 
-void BaseDiag::setDiagDaten(DiagDaten* dd) // Kopiert die Daten eines Diagramms
+void BaseDiag::setDiagDaten(DiagDaten* dd) // copies the diagram data
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -447,7 +446,7 @@ void BaseDiag::setDiagDaten(DiagDaten* dd) // Kopiert die Daten eines Diagramms
     changed = 1;
 }
 
-void BaseDiag::setRasterDicke(int d) // Rasterdicke setzen
+void BaseDiag::setRasterDicke(int d) // set raster thickness
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -456,7 +455,7 @@ void BaseDiag::setRasterDicke(int d) // Rasterdicke setzen
     lock->unlock();
 }
 
-void BaseDiag::setRasterBreite(int br) // Rasterbreite setzen
+void BaseDiag::setRasterBreite(int br) // set raster width
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -465,7 +464,7 @@ void BaseDiag::setRasterBreite(int br) // Rasterbreite setzen
     lock->unlock();
 }
 
-void BaseDiag::setRasterHeight(int hi) // Rasterhoehe setzen
+void BaseDiag::setRasterHeight(int hi) // set raster height
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -474,7 +473,7 @@ void BaseDiag::setRasterHeight(int hi) // Rasterhoehe setzen
     lock->unlock();
 }
 
-void BaseDiag::setRasterFarbe(int f) // Rasterfarbe setzen
+void BaseDiag::setRasterFarbe(int f) // set raster color
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -483,7 +482,7 @@ void BaseDiag::setRasterFarbe(int f) // Rasterfarbe setzen
     lock->unlock();
 }
 
-void BaseDiag::setHIntervallBreite(double br) // Intervall Breite
+void BaseDiag::setHIntervallBreite(double br) // interval width
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -491,7 +490,7 @@ void BaseDiag::setHIntervallBreite(double br) // Intervall Breite
     lock->unlock();
 }
 
-void BaseDiag::setVIntervallHeight(double hi) // Intervall Hoehe
+void BaseDiag::setVIntervallHeight(double hi) // interval height
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -499,7 +498,7 @@ void BaseDiag::setVIntervallHeight(double hi) // Intervall Hoehe
     lock->unlock();
 }
 
-void BaseDiag::setHIntervallFarbe(int f) // Farbe des Horizontalen Intervalls
+void BaseDiag::setHIntervallFarbe(int f) // color of the horizontal interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -508,7 +507,7 @@ void BaseDiag::setHIntervallFarbe(int f) // Farbe des Horizontalen Intervalls
     lock->unlock();
 }
 
-void BaseDiag::setVIntervallFarbe(int f) // Farbe des Vertikalen Intervalls
+void BaseDiag::setVIntervallFarbe(int f) // color of the vertical interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -518,7 +517,7 @@ void BaseDiag::setVIntervallFarbe(int f) // Farbe des Vertikalen Intervalls
 }
 
 void BaseDiag::setHIntervallName(
-    const char* name) // Setzt den Namen des Horizontalen Intervalls
+    const char* name) // Sets the name of the horizontal interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -540,7 +539,7 @@ void BaseDiag::setHIntervallName(Text* name)
 }
 
 void BaseDiag::setVIntervallName(
-    const char* name) // Setzt den Namen des Vertikalen Intervalls
+    const char* name) // Sets the name of the vertical interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -562,7 +561,7 @@ void BaseDiag::setVIntervallName(Text* name)
 }
 
 void BaseDiag::addHIntervallText(double hIntervall,
-    const char* text) // Text eines Horizontalen Intervalls hinzufuegen
+    const char* text) // Add text for a horizontal interval
 {
     setHIntervallText(hIntervall, text);
 }
@@ -574,7 +573,7 @@ void BaseDiag::addHIntervallText(double hIntervall, Text* text)
 }
 
 void BaseDiag::setHIntervallTextZ(double hIntervall,
-    Text* text) // Setzt den Text eines Horizontalen Intervalls
+    Text* text) // Sets the text of a horizontal interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -632,7 +631,7 @@ void BaseDiag::setHIntervallText(double hIntervall, const char* text)
 }
 
 void BaseDiag::removeHIntervallText(
-    double hIntervall) // Text eines Horizontalen Intervalls entfernen
+    double hIntervall) // removes the text of a horizontal interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -655,7 +654,7 @@ void BaseDiag::removeHIntervallText(
 }
 
 void BaseDiag::addVIntervallText(double vIntervall,
-    const char* text) // Text eines Vertikalen Intervalls hinzufuegen
+    const char* text) // Add text for a vertical interval
 {
     setVIntervallText(vIntervall, text);
 }
@@ -667,7 +666,7 @@ void BaseDiag::addVIntervallText(double vIntervall, Text* text)
 }
 
 void BaseDiag::setVIntervallTextZ(
-    double vIntervall, Text* text) // Setzt den Text eines Vertikalen Intervalls
+    double vIntervall, Text* text) // Sets the text of a vertical interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -725,7 +724,7 @@ void BaseDiag::setVIntervallText(double vIntervall, const char* text)
 }
 
 void BaseDiag::removeVIntervallText(
-    double vIntervall) // Text eines Vertikalen Intervalls entfernen
+    double vIntervall) // removes the text of a vertical interval
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -747,7 +746,7 @@ void BaseDiag::removeVIntervallText(
     lock->unlock();
 }
 
-void BaseDiag::addWertZ(DiagWert* w) // Fuegt einen Wert hinzu
+void BaseDiag::addWertZ(DiagWert* w) // Adds a value
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -800,7 +799,7 @@ void BaseDiag::addWert(Text* txt)
     txt->release();
 }
 
-void BaseDiag::setWertFarbe(int wNum, int f) // setzt die Farbe eines Wertes
+void BaseDiag::setWertFarbe(int wNum, int f) // sets the color of a value
 {
     if (wNum < 0) return;
     lock->lock();
@@ -812,8 +811,7 @@ void BaseDiag::setWertFarbe(int wNum, int f) // setzt die Farbe eines Wertes
     changed = 1;
 }
 
-void BaseDiag::addPunktZ(
-    int wNum, DiagPunkt* p) // fuegt einem Wert einen Punkt hinzu
+void BaseDiag::addPunktZ(int wNum, DiagPunkt* p) // adds a point to a value
 {
     if (wNum < 0) return;
     lock->lock();
@@ -863,7 +861,7 @@ void BaseDiag::addPunkt(int wNum, double hI, double vI)
     changed = 1;
 }
 
-// AEndert einen vorhandenen Punkt eines Wertes
+// changes an existing point
 void BaseDiag::setPunktZ(int wNum, double hI, DiagPunkt* p)
 {
     setPunktZ(wNum, getDiagPunktPos(wNum, hI), p);
@@ -918,7 +916,7 @@ void BaseDiag::setPunkt(int wNum, int pNum, double h, double v)
     changed = 1;
 }
 
-// Loescht einen vorhandenen Punkt
+// Deletes an existing point
 void BaseDiag::removePunkt(int wNum, double hI)
 {
     lock->lock();
@@ -960,7 +958,7 @@ void BaseDiag::removePunkt(int wNum, int pNum)
     lock->unlock();
 }
 
-void BaseDiag::removeWert(int wNum) // entfernt einen Wert
+void BaseDiag::removeWert(int wNum) // removes a value
 {
     lock->lock();
     if (!daten) daten = new DiagDaten();
@@ -996,7 +994,7 @@ void BaseDiag::removeWert(Text* name)
     name->release();
 }
 
-void BaseDiag::addDatenStyle(int style) // Setzt den Style der Daten
+void BaseDiag::addDatenStyle(int style) // Sets the style of the data
 {
     if (!daten) daten = new DiagDaten();
     if ((daten->style | style) != daten->style) changed = 1;
@@ -1025,7 +1023,7 @@ void BaseDiag::removeDatenStyle(int style)
     daten->style &= ~style;
 }
 
-void BaseDiag::addWertStyle(int wNum, int style) // Setzt den Style eines Wertes
+void BaseDiag::addWertStyle(int wNum, int style) // Sets the style of a value
 {
     if (wNum < 0) return;
     if (!daten) daten = new DiagDaten();
@@ -1064,7 +1062,7 @@ void BaseDiag::removeWertStyle(int wNum, int style)
 }
 
 // constant
-DiagDaten* BaseDiag::getDiagDaten() const // Gibt die Daten des Diagramms zurueck
+DiagDaten* BaseDiag::getDiagDaten() const // Returns the diagram data
 {
     return daten ? dynamic_cast<DiagDaten*>(daten->getThis()) : 0;
 }
@@ -1074,8 +1072,7 @@ DiagDaten* BaseDiag::zDiagDaten() const
     return daten;
 }
 
-DiagWert* BaseDiag::getDiagWert(
-    int wNum) const // Gibt die Daten eines Wertes zurueck
+DiagWert* BaseDiag::getDiagWert(int wNum) const // Returns the data of a value
 {
     return (daten && daten->werte) ? daten->werte->get(wNum) : 0;
 }
@@ -1096,7 +1093,7 @@ DiagWert* BaseDiag::zDiagWert(const char* name) const
 }
 
 int BaseDiag::getDiagWertPos(
-    const char* name) const // Gibt die Position eines Wertes zurueck
+    const char* name) const // Returns the position of a value
 {
     if (!daten || !daten->werte) return -1;
     int anz = daten->werte->getEintragAnzahl();
@@ -1110,7 +1107,7 @@ int BaseDiag::getDiagWertPos(
 }
 
 int BaseDiag::getDiagPunktPos(int wNum,
-    double hI) const // Gibt die Position eines Punktes von einem Wert zurueck
+    double hI) const // Returns the position of a point from a value
 {
     if (!daten || !daten->werte || !daten->werte->z(wNum)
         || !daten->werte->z(wNum)->punkte)
@@ -1130,7 +1127,7 @@ int BaseDiag::getDiagPunktPos(char* wName, double hI) const
     return getDiagPunktPos(getDiagWertPos(wName), hI);
 }
 
-bool BaseDiag::hatDatenStyle(int style) const // Prueft den Style der Daten
+bool BaseDiag::hatDatenStyle(int style) const // Checks the style of the data
 {
     if (!daten) return 0;
     return (daten->style | style) == daten->style;
@@ -1143,7 +1140,7 @@ bool BaseDiag::hatDatenStyleNicht(int style) const
 }
 
 bool BaseDiag::hatWertStyle(
-    int wNum, int style) const // Prueft den Style eines Wertes
+    int wNum, int style) const // Checks the style of a value
 {
     if (!daten || !daten->werte || !daten->werte->z(wNum)) return 0;
     return (daten->werte->z(wNum)->style | style)
@@ -1220,7 +1217,7 @@ void LDiag::setTextRendererZ(TextRenderer* textRd)
     unlockZeichnung();
 }
 
-void LDiag::setSchriftZ(Schrift* schrift) // Setzt die Schrift
+void LDiag::setSchriftZ(Schrift* schrift) // Sets the font
 {
     lockZeichnung();
     if (!this->textRd)
@@ -1240,7 +1237,7 @@ void LDiag::setSchriftSize(int gr)
 }
 
 void LDiag::setDatenRahmenZ(
-    Rahmen* ram) // Setzt den inneren Rahmen um das eigentliche Diagramm
+    Rahmen* ram) // Sets the inner border around the actual diagram
 {
     lockZeichnung();
     if (dRam) dRam->release();
@@ -1280,7 +1277,7 @@ void LDiag::setDatenRahmenFarbe(int f)
 }
 
 void LDiag::setDatenHintergrundFarbe(
-    int f) // Setzt den Hintergrund des eigentlichen Diagramms
+    int f) // Sets the background of the actual diagram
 {
     dBgF = f;
     rend = 1;
@@ -1307,7 +1304,7 @@ void LDiag::setDatenHintergrundBild(Bild* b)
 }
 
 void LDiag::setDatenAlphaFeldZ(
-    AlphaFeld* af) // Setzt das AlphaFeld des eigentlichen Diagramms
+    AlphaFeld* af) // Sets the AlphaFeld of the actual diagram
 {
     lockZeichnung();
     if (dAf) dAf->release();
@@ -1357,7 +1354,7 @@ void LDiag::render(Bild& zRObj)
     int vIAnz = 0;
     int hIAnz = 0;
     if (daten)
-    { // Auto werte berechnen
+    { // calculating auto values
         vIAnz = daten->vIntervallWerte
                   ? daten->vIntervallWerte->getEintragAnzahl()
                   : 0;
@@ -1405,7 +1402,7 @@ void LDiag::render(Bild& zRObj)
     }
     if (hatDatenStyle(DiagDaten::Style::VIntervall) && textRd && schriftGr
         && daten)
-    { // Rendern des vertikalen Intervalls
+    { // rendering of the vertical interval
         int vIRBbr = innenSize.y;
         if (hatDatenStyle(DiagDaten::Style::HIntervall)
             && daten->hIntervallFarbe)
@@ -1515,7 +1512,7 @@ void LDiag::render(Bild& zRObj)
     }
     if (hatDatenStyle(DiagDaten::Style::HIntervall) && textRd && schriftGr
         && daten)
-    { // Rendern des horizontalen Intervalls
+    { // rendering of the horizontal interval
         int hIRBbr = innenSize.x;
         if (hatDatenStyle(DiagDaten::Style::VIntervall)
             && daten->vIntervallFarbe)
@@ -1701,7 +1698,7 @@ void LDiag::render(Bild& zRObj)
     }
     if (daten && daten->werte && daten->werte->getEintragAnzahl()
         && daten->hIntervallBreite && daten->vIntervallHeight)
-    { // Werte
+    { // values
         int wAnz = daten->werte->getEintragAnzahl();
         for (int i = 0; i < wAnz; ++i)
         {
@@ -1886,7 +1883,7 @@ void LDiag::render(Bild& zRObj)
 }
 
 // constant
-Schrift* LDiag::getSchrift() const // Gibt die Schrift zurueck
+Schrift* LDiag::getSchrift() const // Returns the font
 {
     return textRd ? textRd->getSchrift() : 0;
 }
@@ -1897,7 +1894,7 @@ Schrift* LDiag::zSchrift() const
 }
 
 Rahmen* LDiag::getDatenRahmen()
-    const // Gibt den inneren Rahmen um das eigentliche Diagramm zurueck
+    const // Returns the inner border around the actual diagram
 {
     return dRam ? dynamic_cast<Rahmen*>(dRam->getThis()) : 0;
 }
@@ -1918,7 +1915,7 @@ int LDiag::getDatenRahmenBreite() const
 }
 
 int LDiag::getDatenHintergrundFarbe()
-    const // Gibt den Hintergrund des eigentlichen Diagramms zurueck
+    const // Returns the background of the actual diagram
 {
     return dBgF;
 }
@@ -1933,8 +1930,8 @@ Bild* LDiag::zDatenHintergrundBild() const
     return dBgB;
 }
 
-AlphaFeld* LDiag::getDatenAlphaFeld()
-    const // Gibt das AlphaFeld des eigentlichen Diagramms zurueck
+AlphaFeld*
+LDiag::getDatenAlphaFeld() const // Returns the AlphaFeld of the actual diagram
 {
     return dAf ? dynamic_cast<AlphaFeld*>(dAf->getThis()) : 0;
 }

+ 2 - 2
Dialog.cpp

@@ -25,14 +25,14 @@ MultiplChoiceDialog::~MultiplChoiceDialog()
     ids->release();
 }
 
-// Fuegt eine Auswahlmoeglichkeit hinzu
+// Adds a selection option
 void MultiplChoiceDialog::addChoice(const char* text, void* id)
 {
     entrys->add(new Text(text));
     ids->add(id);
 }
 
-// Zeigt den dialog an und wartet auf benutzereingabe
+// shows the dialog and waits for user input
 void* MultiplChoiceDialog::anzeigen(Schrift* zSchrift)
 {
     void* result = 0;

+ 188 - 199
Fenster.cpp

@@ -21,9 +21,8 @@
 
 using namespace Framework;
 #ifdef WIN32
-// Fensterklasse erzeugen
-WNDCLASS Framework::F_Normal(
-    HINSTANCE hInst) // Erzeugen einer normalen Fensterklasse
+// Create window class
+WNDCLASS Framework::F_Normal(HINSTANCE hInst) // Creates a normal window class
 {
     if (!hInst) hInst = _hinst;
     WNDCLASS ret;
@@ -65,19 +64,19 @@ LRESULT CALLBACK Framework::WindowProc(
     if (msgExit) return (DefWindowProc(hwnd, message, wparam, lparam));
     switch (message)
     {
-    case WM_SETCURSOR: // Maus Zeiger
+    case WM_SETCURSOR: // Mouse cursor
         MausZeiger.update();
         return 0;
-    case WM_SIZE: // Fenster
+    case WM_SIZE: // Window
         if (wparam == SIZE_RESTORED) WFensterA.sendRestoreMessage(hwnd);
         break;
-    case WM_CLOSE: // Schliessen
+    case WM_CLOSE: // Close
         if (WFensterA.sendVSchliessMessage(hwnd)) return 0;
         break;
     case WM_DESTROY:
         if (WFensterA.sendNSchliessMessage(hwnd)) return 0;
-        break;           // Maus
-    case WM_LBUTTONDOWN: // Linksklick
+        break;           // Mouse
+    case WM_LBUTTONDOWN: // Left click
         {
             MausStand[M_Links] = 1;
             MausEreignis me = {ME_PLinks,
@@ -90,7 +89,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_RBUTTONDOWN: // Rechtsklick
+    case WM_RBUTTONDOWN: // Right click
         {
             MausStand[M_Rechts] = 1;
             MausEreignis me = {ME_PRechts,
@@ -103,7 +102,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_MBUTTONDOWN: // Mittelklick
+    case WM_MBUTTONDOWN: // Middle click
         {
             MausStand[M_Mitte] = 1;
             MausEreignis me = {ME_PMitte,
@@ -116,7 +115,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_LBUTTONUP: // Linksrelease
+    case WM_LBUTTONUP: // Left release
         {
             MausStand[M_Links] = 0;
             MausEreignis me = {ME_RLinks,
@@ -129,7 +128,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_RBUTTONUP: // Rechtsrelease
+    case WM_RBUTTONUP: // Right release
         {
             MausStand[M_Rechts] = 0;
             MausEreignis me = {ME_RRechts,
@@ -142,7 +141,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_MBUTTONUP: // Mittelrelease
+    case WM_MBUTTONUP: // Middle release
         {
             MausStand[M_Mitte] = 0;
             MausEreignis me = {ME_RMitte,
@@ -155,7 +154,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_LBUTTONDBLCLK: // Linksdoppelklick
+    case WM_LBUTTONDBLCLK: // Left double click
         {
             MausEreignis me = {ME_DKLinks,
                 (int)LOWORD(lparam),
@@ -167,7 +166,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_RBUTTONDBLCLK: // Rechtsdoppelklick
+    case WM_RBUTTONDBLCLK: // Right double click
         {
             MausEreignis me = {ME_DKRechts,
                 (int)LOWORD(lparam),
@@ -179,7 +178,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_MBUTTONDBLCLK: // Mitteldoppelklick
+    case WM_MBUTTONDBLCLK: // Middle double click
         {
             MausEreignis me = {ME_DKMitte,
                 (int)LOWORD(lparam),
@@ -191,7 +190,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_MOUSEHOVER: // Maus betritt Fenster
+    case WM_MOUSEHOVER: // Mouse enters window
         {
             MausTrack = 1;
             MausEreignis me = {ME_Betritt,
@@ -204,7 +203,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_MOUSELEAVE: // Maus verlaesst Fenster
+    case WM_MOUSELEAVE: // Mouse leaves window
         {
             MausTrack = 1;
             MausEreignis me = {ME_Leaves,
@@ -217,7 +216,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_MOUSEMOVE: // Maus wird bewegt
+    case WM_MOUSEMOVE: // Mouse is moving
         {
             if (MausTrack)
             {
@@ -239,7 +238,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-    case WM_MOUSEWHEEL: // Maus scroll
+    case WM_MOUSEWHEEL: // Mouse scroll
         {
             Punkt pos = getMausPos();
             RECT r;
@@ -254,7 +253,7 @@ LRESULT CALLBACK Framework::WindowProc(
             WFensterA.sendMausMessage(hwnd, me);
             break;
         }
-        // Tastatur
+        // Keyboard
     case WM_KEYDOWN:
         {
             TastaturEreignis te = {
@@ -264,7 +263,7 @@ LRESULT CALLBACK Framework::WindowProc(
             CalculateEnteredString((int)wparam, 0, te);
             WFensterA.sendTastaturMessage(hwnd, te);
             return 0;
-        } // Taste wird gedrueckt
+        } // Key is pressed
     case WM_KEYUP:
         {
             TastaturEreignis te = {
@@ -274,7 +273,7 @@ LRESULT CALLBACK Framework::WindowProc(
             CalculateEnteredString((int)wparam, HIWORD(lparam) & 0xFF, te);
             WFensterA.sendTastaturMessage(hwnd, te);
             return 0;
-        } // Taste wird losgelassen
+        } // Key is released
     }
     return (DefWindowProc(hwnd, message, wparam, lparam));
 }
@@ -363,18 +362,17 @@ WFenster::~WFenster()
 }
 
 // non-constant
-void WFenster::erstellen(
-    int style, WNDCLASS wc) // Erstellt ein Fenster in Windows
+void WFenster::erstellen(int style, WNDCLASS wc) // Creates a window in Windows
 {
     if (!GetClassInfo(wc.hInstance, wc.lpszClassName, &wc))
     {
 #    pragma warning(suppress : 6102)
-        if (!RegisterClass(&wc)) // Register Fensterklasse
+        if (!RegisterClass(&wc)) // Register window class
         {
             MessageBox(hWnd,
                 "Fehler beim Registrieren der Fensterklasse!",
                 "Error",
-                MB_ICONERROR); // Fehlermeldung bei Fehler
+                MB_ICONERROR); // Error message on failure
             return;
         }
     }
@@ -389,31 +387,31 @@ void WFenster::erstellen(
         0,
         0,
         wc.hInstance,
-        0); // Fenster Erstellen
+        0); // Create window
 
     if (hWnd == 0)
     {
         MessageBox(hWnd,
             "Fehler beim erstellen des Fensters!",
             "Error",
-            MB_ICONERROR); // Fehlermeldung bei Fehler
+            MB_ICONERROR); // Error message on failure
         return;
     }
     this->style = style;
 }
 
 void WFenster::erstellenEx(
-    int exStyle, int style, WNDCLASSEX wc) // Das Fenster Erstellen
+    int exStyle, int style, WNDCLASSEX wc) // Create the window
 {
     if (!GetClassInfoEx(wc.hInstance, wc.lpszClassName, &wc))
     {
 #    pragma warning(suppress : 6102)
-        if (!RegisterClassEx(&wc)) // Register Fensterklasse
+        if (!RegisterClassEx(&wc)) // Register window class
         {
             MessageBox(hWnd,
                 "Fehler beim Registrieren der Fensterklasse!",
                 "Error",
-                MB_ICONERROR); // Fehlermeldung bei Fehler
+                MB_ICONERROR); // Error message on failure
             return;
         }
     }
@@ -429,20 +427,20 @@ void WFenster::erstellenEx(
         0,
         0,
         wc.hInstance,
-        0); // Fenster Erstellen
+        0); // Create window
 
     if (hWnd == 0)
     {
         MessageBox(hWnd,
             "Fehler beim erstellen des Fensters!",
             "Error",
-            MB_ICONERROR); // Fehlermeldung bei Fehler
+            MB_ICONERROR); // Error message on failure
         return;
     }
     this->style = style;
 }
 
-void WFenster::setAnzeigeModus(int mod) // Fenster Anzeigen
+void WFenster::setAnzeigeModus(int mod) // Display window
 {
     if (rahmen)
     {
@@ -454,7 +452,7 @@ void WFenster::setAnzeigeModus(int mod) // Fenster Anzeigen
     ShowWindow(hWnd, mod);
 }
 
-bool WFenster::setFokus() // Setzt den Fokus auf das Fenster
+bool WFenster::setFokus() // Sets the focus on the window
 {
     DWORD dwCurrentThread = GetCurrentThreadId();
     DWORD dwFGThread = GetWindowThreadProcessId(GetForegroundWindow(), NULL);
@@ -478,7 +476,7 @@ bool WFenster::setFokus() // Setzt den Fokus auf das Fenster
     return GetFocus() == hWnd;
 }
 
-void WFenster::setPosition(const Punkt& p) // Fenster Position
+void WFenster::setPosition(const Punkt& p) // Window position
 {
     setPosition(p.x, p.y);
 }
@@ -486,7 +484,7 @@ void WFenster::setPosition(const Punkt& p) // Fenster Position
 void WFenster::setPosition(int x, int y)
 {
     RECT r;
-    GetWindowRect(hWnd, &r); // Vorherige Position herausfinden
+    GetWindowRect(hWnd, &r); // Find previous position
     RECT res;
     res.left = x, res.top = y, res.right = r.right - r.left,
     res.bottom = r.bottom - r.top;
@@ -497,35 +495,35 @@ void WFenster::setPosition(int x, int y)
         res.top,
         res.right,
         res.bottom,
-        0); // Position aendern
+        0); // Change position
 }
 
-void WFenster::setSize(Punkt& g) // Fenster Groesse
+void WFenster::setSize(Punkt& g) // Window size
 {
     RECT r;
-    GetWindowRect(hWnd, &r); // vorherige Groesse herausfinden
+    GetWindowRect(hWnd, &r); // Find previous size
     RECT res;
     res.left = r.left, res.top = r.top, res.right = g.x, res.bottom = g.y;
     AdjustWindowRect(&res, style, 0);
     SetWindowPos(
-        hWnd, 0, res.left, res.top, res.right, res.bottom, 0); // Groesse aendern
+        hWnd, 0, res.left, res.top, res.right, res.bottom, 0); // Change size
 }
 
 void WFenster::setSize(int breite, int hoehe)
 {
     RECT r;
-    GetWindowRect(hWnd, &r); // vorherige Groesse herausfinden
+    GetWindowRect(hWnd, &r); // Find previous size
     RECT res;
     res.left = r.left, res.top = r.top, res.right = breite, res.bottom = hoehe;
     AdjustWindowRect(&res, style, 0);
     SetWindowPos(
-        hWnd, 0, res.left, res.top, res.right, res.bottom, 0); // Groesse aendern
+        hWnd, 0, res.left, res.top, res.right, res.bottom, 0); // Change size
 }
 
 void WFenster::setBounds(
-    const Punkt& p, const Punkt& g) // setzt groesse und Position
+    const Punkt& p, const Punkt& g) // sets size and position
 {
-    SetWindowPos(hWnd, 0, p.x, p.y, g.x, g.y, 0); // Groesse und Position aendern
+    SetWindowPos(hWnd, 0, p.x, p.y, g.x, g.y, 0); // Change size and position
 }
 
 void WFenster::setBildschirm(Bildschirm* screen)
@@ -554,7 +552,7 @@ void WFenster::doMausAktion(MausEreignis& me)
         screen->doMausEreignis(me);
         if (!me.verarbeitet && verschiebbar)
         {
-            if (mx != -1 && my != -1) // verschieben
+            if (mx != -1 && my != -1) // move
             {
                 RECT r;
                 if (rahmen)
@@ -569,10 +567,10 @@ void WFenster::doMausAktion(MausEreignis& me)
                         r.top,
                         r.right,
                         r.bottom,
-                        0); // Position setzen
+                        0); // Set position
                 }
-                GetWindowRect(hWnd, &r); // Vorherige Position herausfinden
-                r.right -= r.left, r.bottom -= r.top; // Position updaten
+                GetWindowRect(hWnd, &r);              // Find previous position
+                r.right -= r.left, r.bottom -= r.top; // Update position
                 r.left += me.mx - mx;
                 r.top += me.my - my;
                 SetWindowPos(hWnd,
@@ -581,11 +579,11 @@ void WFenster::doMausAktion(MausEreignis& me)
                     r.top,
                     r.right,
                     r.bottom,
-                    0); // Position setzen
+                    0); // Set position
             }
-            else if (me.id == ME_PLinks) // verschieben starten
+            else if (me.id == ME_PLinks) // start moving
                 mx = me.mx, my = me.my;
-            if (me.id == ME_RLinks) // verschieben beenden
+            if (me.id == ME_RLinks) // stop moving
                 mx = -1, my = -1;
             me.verarbeitet = 1;
         }
@@ -610,26 +608,26 @@ void WFenster::doTastaturAktion(TastaturEreignis& te)
     if (screen) screen->doTastaturEreignis(te);
 }
 
-void WFenster::doRestoreMessage() // macht den Rahmen sichtbar
+void WFenster::doRestoreMessage() // makes the border visible
 {
     if (rahmen) ShowWindow(rahmen, 1);
     ShowWindow(hWnd, 1);
 }
 
 void WFenster::setMausEreignisParameter(
-    void* p) // setzt den Parameter vom Maus Ereignis
+    void* p) // sets the mouse event parameter
 {
     makParam = p;
 }
 
 void WFenster::setSchliessEreignisParameter(
-    void* p) // setzt den Parameter vom Schliess Ereignis
+    void* p) // sets the close event parameter
 {
     sakParam = p;
 }
 
 void WFenster::setTastaturEreignisParameter(
-    void* p) // setzt den Parameter vom Tastatur Ereignis
+    void* p) // sets the keyboard event parameter
 {
     takParam = p;
 }
@@ -654,23 +652,23 @@ void WFenster::setTastaturAktion(TastaturAktion tastaturAk)
     tastaturAktion = tastaturAk;
 }
 
-void WFenster::setFensterHandle(HWND hWnd) // setzt das operationsfenster
+void WFenster::setFensterHandle(HWND hWnd) // sets the operation window
 {
     this->hWnd = hWnd;
 }
 
 void WFenster::setVerschiebbar(
-    bool verschiebbar) // legt fest, ob das Fenster durch ziehen mit Maus
-                       // verschoben werden kann
+    bool verschiebbar) // determines whether the window can be
+                       // moved by dragging with the mouse
 {
     this->verschiebbar = verschiebbar;
 }
 
 void WFenster::ladeRahmenFenster(Bild* zBild,
-    HINSTANCE hinst) // setzt einen Transpatenten Rahmen um das Fenster
+    HINSTANCE hinst) // sets a transparent border around the window
 {
     if (!zBild) return;
-    // Fenster erstellen
+    // Create window
     WNDCLASSEX wcl = {0};
     wcl.cbSize = sizeof(wcl);
     wcl.style = CS_HREDRAW | CS_VREDRAW;
@@ -685,7 +683,7 @@ void WFenster::ladeRahmenFenster(Bild* zBild,
     wcl.lpszClassName = TEXT("LayeredWindowClass");
     wcl.hIconSm = NULL;
 
-    // Bitmap erstellen
+    // Create bitmap
     hdc = CreateCompatibleDC(NULL);
     if (!hdc) return;
     BITMAPINFO info;
@@ -700,7 +698,7 @@ void WFenster::ladeRahmenFenster(Bild* zBild,
         = CreateDIBSection(hdc, &info, DIB_RGB_COLORS, (void**)&pPixels, 0, 0);
     if (!bitmap) DeleteDC(hdc);
     GdiFlush();
-    // bitmap fuellen
+    // Fill bitmap
     int pitch = ((zBild->getBreite() * 32 + 31) & ~31) >> 3;
     unsigned char* pRow = 0;
     int* buffer = zBild->getBuffer();
@@ -722,7 +720,7 @@ void WFenster::ladeRahmenFenster(Bild* zBild,
                                   & 0xFF);
         }
     }
-    // alpha berechnen
+    // Calculate alpha
     unsigned char* pPixel = 0;
     if (zBild->getBreite() * 4 == pitch)
     {
@@ -753,7 +751,7 @@ void WFenster::ladeRahmenFenster(Bild* zBild,
             }
         }
     }
-    // Fenster erstellen fortsetzen
+    // Continue creating window
     if (RegisterClassEx(&wcl))
     {
         rahmen = CreateWindowEx(WS_EX_TOOLWINDOW | WS_EX_LAYERED,
@@ -770,7 +768,7 @@ void WFenster::ladeRahmenFenster(Bild* zBild,
             0);
         if (rahmen)
         {
-            // zeichnen
+            // draw
             HDC h = 0;
             if ((h = GetDC(rahmen)) && bitmap)
             {
@@ -810,42 +808,42 @@ void WFenster::ladeRahmenFenster(Bild* zBild,
 }
 
 // constant
-Punkt WFenster::getPosition() const // gibt die Position zurueck
+Punkt WFenster::getPosition() const // returns the position
 {
     RECT r;
-    GetWindowRect(hWnd, &r); // Position herausfinden
+    GetWindowRect(hWnd, &r); // Find position
     return {r.left, r.top};
 }
 
-Punkt WFenster::getGroesse() const // gibt die Groesse zurueck
+Punkt WFenster::getGroesse() const // returns the size
 {
     RECT r;
-    GetWindowRect(hWnd, &r); // Groesse herausfinden
+    GetWindowRect(hWnd, &r); // Find size
     return {r.right - r.left, r.bottom - r.top};
 }
 
-Punkt WFenster::getKoerperGroesse() const // gibt die Fenster Koerpergroesse zurueck
+Punkt WFenster::getKoerperGroesse() const // returns the window body size
 {
     RECT r;
-    GetClientRect(hWnd, &r); // Groesse herausfinden
+    GetClientRect(hWnd, &r); // Find size
     return {r.right - r.left, r.bottom - r.top};
 }
 
-int WFenster::getKoerperBreite() const // gibt die Fenster Koerperbreite zurueck
+int WFenster::getKoerperBreite() const // returns the window body width
 {
     RECT r;
-    GetClientRect(hWnd, &r); // Groesse herausfinden
+    GetClientRect(hWnd, &r); // Find size
     return r.right;
 }
 
-int WFenster::getKoerperHoehe() const // gibt die Fenster Koerperhoehe zurueck
+int WFenster::getKoerperHoehe() const // returns the window body height
 {
     RECT r;
-    GetClientRect(hWnd, &r); // Groesse herausfinden
+    GetClientRect(hWnd, &r); // Find size
     return r.bottom;
 }
 
-HWND WFenster::getFensterHandle() const // gibt ein Handle zum Fenster zurueck
+HWND WFenster::getFensterHandle() const // returns a handle to the window
 {
     return hWnd;
 }
@@ -882,7 +880,7 @@ Bildschirm* WFenster::zBildschirm() const
 }
 
 bool WFenster::istVerschiebbar()
-    const // prueft, ob das Fenster durch ziehen mit Maus verschoben werden kann
+    const // checks if the window can be moved by dragging with the mouse
 {
     return verschiebbar;
 }
@@ -1379,31 +1377,31 @@ void Fenster::doMausEreignis(MausEreignis& me, bool userRet)
     if (hatStyleNicht(Style::Erlaubt)) me.verarbeitet = mvtmp;
 }
 
-// nicht const
-// -- Rahmen --
-void Fenster::setRahmenZ(Rahmen* ram) // setzt den rahmen
+// non-const
+// -- Border --
+void Fenster::setRahmenZ(Rahmen* ram) // sets the border
 {
     if (rahmen) rahmen->release();
     rahmen = ram;
     rend = 1;
 }
 
-void Fenster::setRFarbe(int f) // setzt die Rahmen Farbe
+void Fenster::setRFarbe(int f) // sets the border color
 {
     if (!rahmen) rahmen = new LRahmen();
     rahmen->setFarbe(f);
     rend = 1;
 }
 
-void Fenster::setRBreite(int br) // setzt die Breite des Rahmens
+void Fenster::setRBreite(int br) // sets the border width
 {
     if (!rahmen) rahmen = new LRahmen();
     rahmen->setRamenBreite(br);
     rend = 1;
 }
 
-// -- Titel --
-void Fenster::setTitel(Text* txt) // setzt den Titel
+// -- Title --
+void Fenster::setTitel(Text* txt) // sets the title
 {
     if (!titel) titel = new TextFeld();
     titel->setText(txt);
@@ -1424,67 +1422,67 @@ void Fenster::setTitel(const char* txt)
     rend = 1;
 }
 
-void Fenster::setTTextFeldZ(TextFeld* tf) // setzt das Titel TextFeld
+void Fenster::setTTextFeldZ(TextFeld* tf) // sets the title text field
 {
     if (titel) titel->release();
     titel = tf;
     rend = 1;
 }
 
-// -- Schrift --
-void Fenster::setTSchriftZ(Schrift* schrift) // setzt die Titel Schrift
+// -- Font --
+void Fenster::setTSchriftZ(Schrift* schrift) // sets the title font
 {
     if (!titel) titel = new TextFeld();
     titel->setSchriftZ(schrift);
     rend = 1;
 }
 
-void Fenster::setTSFarbe(int f) // setzt die Titel Schrift Farbe
+void Fenster::setTSFarbe(int f) // sets the title font color
 {
     if (!titel) titel = new TextFeld();
     titel->setSchriftFarbe(f);
     rend = 1;
 }
 
-void Fenster::setTSSize(int gr) // setzt die Titel Schrift Groesse
+void Fenster::setTSSize(int gr) // sets the title font size
 {
     if (!titel) titel = new TextFeld();
     titel->setSchriftSize((unsigned char)gr);
     rend = 1;
 }
 
-// -- Titel Hintergrund --
-void Fenster::setTBgFarbe(int f) // setzt Titel Hintergrund farbe
+// -- Title Background --
+void Fenster::setTBgFarbe(int f) // sets title background color
 {
     if (!titel) titel = new TextFeld();
     titel->setHintergrundFarbe(f);
     rend = 1;
 }
 
-// -- Titel AlphaFeld --
-void Fenster::setTAlphaFeldZ(AlphaFeld* af) // setzt das Titel AlphaFeld
+// -- Title AlphaFeld --
+void Fenster::setTAlphaFeldZ(AlphaFeld* af) // sets the title AlphaFeld
 {
     if (!titel) titel = new TextFeld();
     titel->setAlphaFeldZ(af);
     rend = 1;
 }
 
-void Fenster::setTAfFarbe(int f) // setzt die Titel AlphFeld Farbe
+void Fenster::setTAfFarbe(int f) // sets the title AlphaFeld color
 {
     if (!titel) titel = new TextFeld();
     titel->setAlphaFeldFarbe(f);
     rend = 1;
 }
 
-void Fenster::setTAfStrength(int st) // setzt die Staerke des Titel AlphaFeldes
+void Fenster::setTAfStrength(int st) // sets the strength of the title AlphaFeld
 {
     if (!titel) titel = new TextFeld();
     titel->setAlphaFeldStrength(st);
     rend = 1;
 }
 
-// -- Titel Hintergrund Bild --
-void Fenster::setTBgBild(Bild* b) // setzt das Titel Hintergrund Bild
+// -- Title Background Image --
+void Fenster::setTBgBild(Bild* b) // sets the title background image
 {
     if (!titel) titel = new TextFeld();
     titel->setHintergrundBild(b);
@@ -1498,37 +1496,37 @@ void Fenster::setTBgBildZ(Bild* b)
     rend = 1;
 }
 
-// -- Titel Rahmen --
-void Fenster::setTRahmenZ(Rahmen* ram) // set Titel Rahmen
+// -- Title Border --
+void Fenster::setTRahmenZ(Rahmen* ram) // sets the title border
 {
     if (!titel) titel = new TextFeld();
     titel->setRahmenZ(ram);
     rend = 1;
 }
 
-void Fenster::setTRFarbe(int f) // setzt die Titel Rahmen Farbe
+void Fenster::setTRFarbe(int f) // sets the title border color
 {
     if (!titel) titel = new TextFeld();
     titel->setRahmenFarbe(f);
     rend = 1;
 }
 
-void Fenster::setTRBreite(int br) // setzt die Titel Rahmen Breite
+void Fenster::setTRBreite(int br) // sets the title border width
 {
     if (!titel) titel = new TextFeld();
     titel->setRahmenBreite(br);
     rend = 1;
 }
 
-// -- Koerper Hintergrund --
-void Fenster::setKBgFarbe(int f) // setzt die Koerper Hintergrund Farbe
+// -- Body Background --
+void Fenster::setKBgFarbe(int f) // sets the body background color
 {
     bgBodyColor = f;
     rend = 1;
 }
 
-// -- Koerper Hintergrund Bild --
-void Fenster::setKBgBild(Bild* b) // setzt das Koerper Hintergrund Bild
+// -- Body Background Image --
+void Fenster::setKBgBild(Bild* b) // sets the body background image
 {
     if (!bgBodyPicture) bgBodyPicture = new Bild();
     bgBodyPicture->neuBild(b->getBreite(), b->getHeight(), 0);
@@ -1548,49 +1546,48 @@ void Fenster::setKBgBildZ(Bild* b)
     rend = 1;
 }
 
-// -- Koerper AlphaFeld --
-void Fenster::setKAlphaFeldZ(AlphaFeld* af) // setzt das Koerper AlphaFeld
+// -- Body AlphaFeld --
+void Fenster::setKAlphaFeldZ(AlphaFeld* af) // sets the body AlphaFeld
 {
     if (bodyBuffer) bodyBuffer->release();
     bodyBuffer = af;
     rend = 1;
 }
 
-void Fenster::setKAfFarbe(int f) // setzt Koerper AlphaFeld Farbe
+void Fenster::setKAfFarbe(int f) // sets body AlphaFeld color
 {
     if (!bodyBuffer) bodyBuffer = new AlphaFeld();
     bodyBuffer->setFarbe(f);
     rend = 1;
 }
 
-void Fenster::setKAfStrength(int st) // setzt die Staerke des Koerper AlphaFeldes
+void Fenster::setKAfStrength(int st) // sets the strength of the body AlphaFeld
 {
     if (!bodyBuffer) bodyBuffer = new AlphaFeld();
     bodyBuffer->setStrength(st);
     rend = 1;
 }
 
-// -- Schliessen --
+// -- Close --
 void Fenster::setClosingMeParam(void* param)
 {
     closingMeParam = param;
 }
 
-void Fenster::setClosingMe(
-    MausAktion closingMe) // setzt das Schliessen Mausereignis
+void Fenster::setClosingMe(MausAktion closingMe) // sets the close mouse event
 {
     this->closingMe = closingMe;
 }
 
-// -- Schliessen Hintergrund --
-void Fenster::setSBgFarbe(int f) // setzt die Schliess Hintergrund Farbe
+// -- Close Background --
+void Fenster::setSBgFarbe(int f) // sets the close background color
 {
     bgClosingFarbe = f;
     rend = 1;
 }
 
-// -- Schliessen Hintergrund Bild --
-void Fenster::setSBgBild(Bild* b) // setzt das Schliess Hintergrund Bild
+// -- Close Background Image --
+void Fenster::setSBgBild(Bild* b) // sets the close background image
 {
     if (!bgClosingBild) bgClosingBild = new Bild();
     bgClosingBild->neuBild(b->getBreite(), b->getHeight(), 0);
@@ -1610,40 +1607,37 @@ void Fenster::setSBgBildZ(Bild* b)
     rend = 1;
 }
 
-// -- Schliessen AlphaFeld --
-void Fenster::setSAlphaFeldZ(AlphaFeld* af) // setzt das Schliess AlphaFeld
+// -- Close AlphaFeld --
+void Fenster::setSAlphaFeldZ(AlphaFeld* af) // sets the close AlphaFeld
 {
     if (closeBuffer) closeBuffer->release();
     closeBuffer = af;
     rend = 1;
 }
 
-void Fenster::setSAfFarbe(int f) // setzt die Farbe des Schliess AlphaFeldes
+void Fenster::setSAfFarbe(int f) // sets the color of the close AlphaFeld
 {
     if (!closeBuffer) closeBuffer = new AlphaFeld();
     closeBuffer->setFarbe(f);
     rend = 1;
 }
 
-void Fenster::setSAfStrength(
-    int st) // setzt die Staerke des Schliess AlphaFeldes
+void Fenster::setSAfStrength(int st) // sets the strength of the close AlphaFeld
 {
     if (!closeBuffer) closeBuffer = new AlphaFeld();
     closeBuffer->setStrength(st);
     rend = 1;
 }
 
-// -- Schliessen Klick AlphaFeld --
-void Fenster::setSKAlphaFeldZ(
-    AlphaFeld* af) // setzt das Schliess klick AlphaFeld
+// -- Close Click AlphaFeld --
+void Fenster::setSKAlphaFeldZ(AlphaFeld* af) // sets the close click AlphaFeld
 {
     if (closeKlickBuffer) closeKlickBuffer->release();
     closeKlickBuffer = af;
     rend = 1;
 }
 
-void Fenster::setSKAfFarbe(
-    int f) // setzt die Farbe des Schliess klick AlphaFeldes
+void Fenster::setSKAfFarbe(int f) // sets the color of the close click AlphaFeld
 {
     if (!closeKlickBuffer) closeKlickBuffer = new AlphaFeld();
     closeKlickBuffer->setFarbe(f);
@@ -1651,7 +1645,7 @@ void Fenster::setSKAfFarbe(
 }
 
 void Fenster::setSKAfStrength(
-    int st) // setzt die Staerke des Schliess klick AlphaFeldes
+    int st) // sets the strength of the close click AlphaFeld
 {
     if (!closeKlickBuffer) closeKlickBuffer = new AlphaFeld();
     closeKlickBuffer->setStrength(st);
@@ -1659,7 +1653,7 @@ void Fenster::setSKAfStrength(
 }
 
 // -- min max --
-void Fenster::setMin(int mx, int my) // setzt die Mindest Fenster Groesse
+void Fenster::setMin(int mx, int my) // sets the minimum window size
 {
     min.x = mx;
     min.y = my;
@@ -1670,7 +1664,7 @@ void Fenster::setMin(const Punkt& min)
     this->min = min;
 }
 
-void Fenster::setMax(int mx, int my) // setzt die Maximale Fenster Groesse
+void Fenster::setMax(int mx, int my) // sets the maximum window size
 {
     max.x = mx;
     max.y = my;
@@ -1681,7 +1675,7 @@ void Fenster::setMax(const Punkt& max)
     this->max = max;
 }
 
-void Fenster::setKMin(int mx, int my) // setzt die Mindest Koerper Groesse
+void Fenster::setKMin(int mx, int my) // sets the minimum body size
 {
     kMin.x = mx;
     kMin.y = my;
@@ -1692,7 +1686,7 @@ void Fenster::setKMin(const Punkt& min)
     kMin = min;
 }
 
-void Fenster::setKMax(int mx, int my) // setzt die Maximale Koerper Groesse
+void Fenster::setKMax(int mx, int my) // sets the maximum body size
 {
     kMax.x = mx;
     kMax.y = my;
@@ -1705,7 +1699,7 @@ void Fenster::setKMax(const Punkt& max)
 
 // -- scroll --
 void Fenster::setHScrollBarZ(
-    HScrollBar* hScroll) // setzt die Horizontale Scroll Bar
+    HScrollBar* hScroll) // sets the horizontal scroll bar
 {
     if (this->hScroll) this->hScroll->release();
     this->hScroll = hScroll;
@@ -1713,14 +1707,14 @@ void Fenster::setHScrollBarZ(
 }
 
 void Fenster::setVScrollBarZ(
-    VScrollBar* vScroll) // setzt die Vertikale Scroll BAr
+    VScrollBar* vScroll) // sets the vertical scroll bar
 {
     if (this->vScroll) this->vScroll->release();
     this->vScroll = vScroll;
     rend = 1;
 }
 
-void Fenster::setHSBMax(int max) // setzt das Scroll Maximum
+void Fenster::setHSBMax(int max) // sets the scroll maximum
 {
     if (!hScroll) hScroll = new HScrollBar();
     int rbr = 0;
@@ -1744,7 +1738,7 @@ void Fenster::setVSBMax(int max)
     rend = 1;
 }
 
-void Fenster::setHSBScroll(int scroll) // setzt die momentane Scroll Position
+void Fenster::setHSBScroll(int scroll) // sets the current scroll position
 {
     if (!hScroll) hScroll = new HScrollBar();
     hScroll->scroll(scroll);
@@ -1775,7 +1769,7 @@ void Framework::Fenster::updateVScroll()
 }
 
 // -- Members --
-void Fenster::addMember(Zeichnung* obj) // fuegt einen Member hinzu
+void Fenster::addMember(Zeichnung* obj) // adds a member
 {
     members->add(obj);
     rend = 1;
@@ -1788,7 +1782,7 @@ void Framework::Fenster::setMemberIndex(Zeichnung* zMember, int index)
     members->setPosition(currentIndex, index);
 }
 
-void Fenster::removeMember(Zeichnung* zObj) // entfernt einen Member
+void Fenster::removeMember(Zeichnung* zObj) // removes a member
 {
     for (int i = 0; i < members->getEintragAnzahl(); i++)
     {
@@ -1848,7 +1842,7 @@ void Fenster::doTastaturEreignis(TastaturEreignis& te)
 }
 
 // -- Render --
-void Fenster::render(Bild& zRObj) // zeichent nach zRObj
+void Fenster::render(Bild& zRObj) // draws to zRObj
 {
     if (hatStyle(Style::Sichtbar))
     {
@@ -1998,13 +1992,13 @@ void Fenster::render(Bild& zRObj) // zeichent nach zRObj
 }
 
 // constant
-// Gibt die Breite des Innenraumes in der Zeichnung in Pixeln zurueck
+// Returns the width of the interior area of the drawing in pixels
 int Fenster::getInnenBreite() const
 {
     return getBreite() - 2 * getRBreite();
 }
 
-// Gibt die Hoehe des Innenraumes in der Zeichnung in Pixeln zurueck
+// Returns the height of the interior area of the drawing in pixels
 int Fenster::getInnenHeight() const
 {
     int th = 0;
@@ -2012,8 +2006,8 @@ int Fenster::getInnenHeight() const
     return getHeight() - 2 * getRBreite() - th;
 }
 
-// -- Rahmen --
-Rahmen* Fenster::getRahmen() const // gibt den Rahmen zurueck
+// -- Border --
+Rahmen* Fenster::getRahmen() const // returns the border
 {
     if (!rahmen) return 0;
     return dynamic_cast<Rahmen*>(rahmen->getThis());
@@ -2024,20 +2018,20 @@ Rahmen* Fenster::zRahmen() const
     return rahmen;
 }
 
-int Fenster::getRFarbe() const // gibt die Farbe des Rahmens zurueck
+int Fenster::getRFarbe() const // returns the border color
 {
     if (!rahmen) return 0;
     return rahmen->getFarbe();
 }
 
-int Fenster::getRBreite() const // gibt die breite des Rahmens zurueck
+int Fenster::getRBreite() const // returns the border width
 {
     if (!rahmen || hatStyleNicht(Style::Rahmen)) return 0;
     return rahmen->getRBreite();
 }
 
-// -- Titel  --
-Text* Fenster::getTitel() const // gibt den Titel zurueck
+// -- Title --
+Text* Fenster::getTitel() const // returns the title
 {
     if (!titel) return 0;
     return titel->getText();
@@ -2049,7 +2043,7 @@ Text* Fenster::zTitel() const
     return titel->zText();
 }
 
-TextFeld* Fenster::getTTextFeld() const // gibt das Titel TextFeld zurueck
+TextFeld* Fenster::getTTextFeld() const // returns the title text field
 {
     if (!titel) return 0;
     return dynamic_cast<TextFeld*>(titel->getThis());
@@ -2060,8 +2054,8 @@ TextFeld* Fenster::zTTextFeld() const
     return titel;
 }
 
-// -- Titel Schrift --
-Schrift* Fenster::getTSchrift() const // gibt die Titel Schrift zurueck
+// -- Title Font --
+Schrift* Fenster::getTSchrift() const // returns the title font
 {
     if (!titel) return 0;
     return titel->getSchrift();
@@ -2073,27 +2067,27 @@ Schrift* Fenster::zTSchrift() const
     return titel->zSchrift();
 }
 
-int Fenster::getTSFarbe() const // gibt die Titel Schrift Farbe zurueck
+int Fenster::getTSFarbe() const // returns the title font color
 {
     if (!titel) return 0;
     return titel->getSchriftFarbe();
 }
 
-int Fenster::getTSSize() const // gibt die Titel Schrift Groesse zurueck
+int Fenster::getTSSize() const // returns the title font size
 {
     if (!titel) return 0;
     return titel->getSchriftSize();
 }
 
-// -- Titel Hintergrund --
-int Fenster::getTBgFarbe() const // gibt die Titel Hintergrund Farbe zurueck
+// -- Title Background --
+int Fenster::getTBgFarbe() const // returns the title background color
 {
     if (!titel) return 0;
     return titel->getHintergrundFarbe();
 }
 
-// -- Titel AlphaFeld --
-AlphaFeld* Fenster::getTAlphaFeld() const // gibt das Titel AlphaFeld zurueck
+// -- Title AlphaFeld --
+AlphaFeld* Fenster::getTAlphaFeld() const // returns the title AlphaFeld
 {
     if (!titel) return 0;
     return titel->getAlphaFeld();
@@ -2105,21 +2099,21 @@ AlphaFeld* Fenster::zTAlphaFeld() const
     return titel->zAlphaFeld();
 }
 
-int Fenster::getTAfFarbe() const // gibt die Farbe des Titel AlphaFeldes zurueck
+int Fenster::getTAfFarbe() const // returns the color of the title AlphaFeld
 {
     if (!titel) return 0;
     return titel->getAlphaFeldFarbe();
 }
 
 int Fenster::getTAfStrength()
-    const // gibt die Staerke des TitelAlphaFeldes zurueck
+    const // returns the strength of the title AlphaFeld
 {
     if (!titel) return 0;
     return titel->getAlphaFeldStrength();
 }
 
-// -- Titel Hintergrund Bild --
-Bild* Fenster::getTBgBild() const // gibt das Titel Hintergrund Bild zurueck
+// -- Title Background Image --
+Bild* Fenster::getTBgBild() const // returns the title background image
 {
     if (!titel) return 0;
     return titel->getHintergrundBild();
@@ -2131,8 +2125,8 @@ Bild* Fenster::zTBgBild() const
     return titel->zHintergrundBild();
 }
 
-// -- Titel Rahmen --
-Rahmen* Fenster::getTRahmen() const // gibt den Titel Rahmen zurueck
+// -- Title Border --
+Rahmen* Fenster::getTRahmen() const // returns the title border
 {
     if (!titel) return 0;
     return titel->getRahmen();
@@ -2144,26 +2138,26 @@ Rahmen* Fenster::zTRahmen() const
     return titel->zRahmen();
 }
 
-int Fenster::getTRFarbe() const // gibt die Farbe des Titel Rahmens zurueck
+int Fenster::getTRFarbe() const // returns the title border color
 {
     if (!titel) return 0;
     return titel->getRahmenFarbe();
 }
 
-int Fenster::getTRBreite() const // gibt die Breite des Titel Rahmens zurueck
+int Fenster::getTRBreite() const // returns the title border width
 {
     if (!titel) return 0;
     return titel->getRahmenBreite();
 }
 
-// -- Koerper Hintergrund --
-int Fenster::getKBgFarbe() const // gibt die Koerper Hintergrund Farbe zurueck
+// -- Body Background --
+int Fenster::getKBgFarbe() const // returns the body background color
 {
     return bgBodyColor;
 }
 
-// -- Koerper Hintergrund Bild --
-Bild* Fenster::getKBgBild() const // gibt das Koerper Hintergrund Bild zurueck
+// -- Body Background Image --
+Bild* Fenster::getKBgBild() const // returns the body background image
 {
     if (!bgBodyPicture) return 0;
     return dynamic_cast<Bild*>(bgBodyPicture->getThis());
@@ -2174,8 +2168,8 @@ Bild* Fenster::zKBgBild() const
     return bgBodyPicture;
 }
 
-// -- Koerper AlphaFeld --
-AlphaFeld* Fenster::getKAlphaFeld() const // gibt das Koerper AlphaFeld zurueck
+// -- Body AlphaFeld --
+AlphaFeld* Fenster::getKAlphaFeld() const // returns the body AlphaFeld
 {
     if (!bodyBuffer) return 0;
     return dynamic_cast<AlphaFeld*>(bodyBuffer->getThis());
@@ -2186,27 +2180,27 @@ AlphaFeld* Fenster::zKAlphaFeld() const
     return bodyBuffer;
 }
 
-int Fenster::getKAfFarbe() const // gibt die Farbe des Koerper AlphaFeldes zurueck
+int Fenster::getKAfFarbe() const // returns the body AlphaFeld color
 {
     if (!bodyBuffer) return 0;
     return bodyBuffer->getFarbe();
 }
 
 int Fenster::getKAfStrength()
-    const // gibt die Staerke des Koerper AlphaFeldes zurueck
+    const // returns the strength of the body AlphaFeld
 {
     if (!bodyBuffer) return 0;
     return bodyBuffer->getStrength();
 }
 
-// -- Schliessen Hintergrund --
-int Fenster::getSBgFarbe() const // gibt die Schliess Hintergrund Farbe zurueck
+// -- Close Background --
+int Fenster::getSBgFarbe() const // returns the close background color
 {
     return bgClosingFarbe;
 }
 
-// -- Schliessen Hintergrund Bild --
-Bild* Fenster::getSBgBild() const // gibt das Schliess Hintergrund Bild zurueck
+// -- Close Background Image --
+Bild* Fenster::getSBgBild() const // returns the close background image
 {
     if (!bgClosingBild) return 0;
     return dynamic_cast<Bild*>(bgClosingBild->getThis());
@@ -2217,8 +2211,8 @@ Bild* Fenster::zSBgBild() const
     return bgClosingBild;
 }
 
-// -- Schliessen AlphaFeld --
-AlphaFeld* Fenster::getSAlphaFeld() const // gibt das Schliess AlphaFeld zurueck
+// -- Close AlphaFeld --
+AlphaFeld* Fenster::getSAlphaFeld() const // returns the close AlphaFeld
 {
     if (!closeBuffer) return 0;
     return dynamic_cast<AlphaFeld*>(closeBuffer->getThis());
@@ -2229,23 +2223,21 @@ AlphaFeld* Fenster::zSAlphaFeld() const
     return closeBuffer;
 }
 
-int Fenster::getSAfFarbe()
-    const // gibt die Farbe des Schliess AlphaFeldes zurueck
+int Fenster::getSAfFarbe() const // returns the close AlphaFeld color
 {
     if (!closeBuffer) return 0;
     return closeBuffer->getFarbe();
 }
 
 int Fenster::getSAfStrength()
-    const // gibt die Staerke des Schliess AlphaFeldes zurueck
+    const // returns the strength of the close AlphaFeld
 {
     if (!closeBuffer) return 0;
     return closeBuffer->getStrength();
 }
 
-// -- Schliessen Klick AlphaFeld --
-AlphaFeld*
-Fenster::getSKAlphaFeld() const // gibt das Schliess Klick AlphaFeld zurueck
+// -- Close Click AlphaFeld --
+AlphaFeld* Fenster::getSKAlphaFeld() const // returns the close click AlphaFeld
 {
     if (!closeKlickBuffer) return 0;
     return dynamic_cast<AlphaFeld*>(closeKlickBuffer->getThis());
@@ -2256,44 +2248,42 @@ AlphaFeld* Fenster::zSKAlphaFeld() const
     return closeKlickBuffer;
 }
 
-int Fenster::getSKAfFarbe()
-    const // gibt die Farbe des Schliess Klick AlphaFeldes zurueck
+int Fenster::getSKAfFarbe() const // returns the close click AlphaFeld color
 {
     if (!closeKlickBuffer) return 0;
     return closeKlickBuffer->getFarbe();
 }
 
 int Fenster::getSKAfStrength()
-    const // gibt die Staerke des Schliess Klick AlphaFeldes zurueck
+    const // returns the strength of the close click AlphaFeld
 {
     if (!closeKlickBuffer) return 0;
     return closeKlickBuffer->getStrength();
 }
 
 // -- min max --
-const Punkt& Fenster::getMin() const // gibt die minimale Fenstergroesse zurueck
+const Punkt& Fenster::getMin() const // returns the minimum window size
 {
     return min;
 }
 
-const Punkt& Fenster::getMax() const // gibt die maximale Fenstergroesse zurueck
+const Punkt& Fenster::getMax() const // returns the maximum window size
 {
     return max;
 }
 
-const Punkt& Fenster::getKMin() const // gibt die minimale Fenstergroesse zurueck
+const Punkt& Fenster::getKMin() const // returns the minimum body size
 {
     return kMin;
 }
 
-const Punkt& Fenster::getKMax() const // gibt die maximale Fenstergroesse zurueck
+const Punkt& Fenster::getKMax() const // returns the maximum body size
 {
     return kMax;
 }
 
 // -- scroll --
-VScrollBar*
-Fenster::getVScrollBar() const // gibt die Vertikale Scroll Bar zurueck
+VScrollBar* Fenster::getVScrollBar() const // returns the vertical scroll bar
 {
     if (!vScroll) return 0;
     return dynamic_cast<VScrollBar*>(vScroll->getThis());
@@ -2304,8 +2294,7 @@ VScrollBar* Fenster::zVScrollBar() const
     return vScroll;
 }
 
-HScrollBar*
-Fenster::getHScrollBar() const // gibt die Horizontale Scroll Bar zurueck
+HScrollBar* Fenster::getHScrollBar() const // returns the horizontal scroll bar
 {
     if (!hScroll) return 0;
     return dynamic_cast<HScrollBar*>(hScroll->getThis());
@@ -2317,7 +2306,7 @@ HScrollBar* Fenster::zHScrollBar() const
 }
 
 // -- Members --
-const RCArray<Zeichnung>& Fenster::getMembers() const // gibt die Members zurueck
+const RCArray<Zeichnung>& Fenster::getMembers() const // returns the members
 {
     return *members;
 }
@@ -2342,8 +2331,8 @@ int Framework::Fenster::getNeededChildHeight() const
     return max;
 }
 
-// -- Kopie --
-Zeichnung* Fenster::dublizieren() const // Erzeugt eine Kopie des Fensters
+// -- Copy --
+Zeichnung* Fenster::dublizieren() const // Creates a copy of the window
 {
     Fenster* ret = new Fenster();
     ret->setPosition(pos);

+ 27 - 26
Fortschritt.cpp

@@ -36,40 +36,41 @@ FBalken::~FBalken()
 }
 
 // non-constant
-void FBalken::setAktionAnzahl(__int64 ak) // setzt die anzahl der Aktionen
+void FBalken::setAktionAnzahl(__int64 ak) // sets the number of actions
 {
     maxAk = ak;
     rend = 1;
 }
 
-void FBalken::aktionPlus(__int64 aktionen) // mehrere Aktionen sind fertig
+void FBalken::aktionPlus(__int64 aktionen) // multiple actions are finished
 {
     ak += aktionen;
     if (ak > maxAk) ak = maxAk;
     rend = 1;
 }
 
-void FBalken::reset() // setzt die fertigen Aktionen zurueck
+void FBalken::reset() // resets the completed actions
 {
     ak = 0;
     rend = 1;
 }
 
-void FBalken::setFRahmenZ(Rahmen* ram) // setzt einen Zeiger zum Fertig Rahmen
+void FBalken::setFRahmenZ(
+    Rahmen* ram) // sets a pointer to the completion border
 {
     if (fRahmen) fRahmen->release();
     fRahmen = ram;
     rend = 1;
 }
 
-void FBalken::setFRFarbe(int f) // setzt die Fertig Rahmen Farbe
+void FBalken::setFRFarbe(int f) // sets the completion border color
 {
     if (!fRahmen) fRahmen = new LRahmen();
     fRahmen->setFarbe(f);
     rend = 1;
 }
 
-void FBalken::setFRBreite(int br) // setzt die Fertig Rahmen Breite
+void FBalken::setFRBreite(int br) // sets the completion border width
 {
     if (!fRahmen) fRahmen = new LRahmen();
     fRahmen->setRamenBreite(br);
@@ -77,42 +78,42 @@ void FBalken::setFRBreite(int br) // setzt die Fertig Rahmen Breite
 }
 
 void FBalken::setFAlphaFeldZ(
-    AlphaFeld* af) // setzt einen Zeiger zum Fertig Alpha Feld
+    AlphaFeld* af) // sets a pointer to the completion AlphaFeld
 {
     if (fBuffer) fBuffer->release();
     fBuffer = af;
     rend = 1;
 }
 
-void FBalken::setFAFFarbe(int f) // setzt die Fertig Alpha Feld Farbe
+void FBalken::setFAFFarbe(int f) // sets the completion AlphaFeld color
 {
     if (!fBuffer) fBuffer = new AlphaFeld();
     fBuffer->setFarbe(f);
     rend = 1;
 }
 
-void FBalken::setFAFStrength(int st) // setzt die Staerke des Fertig Alpha Feldes
+void FBalken::setFAFStrength(
+    int st) // sets the strength of the completion AlphaFeld
 {
     if (!fBuffer) fBuffer = new AlphaFeld();
     fBuffer->setStrength(st);
     rend = 1;
 }
 
-void FBalken::setFBgFarbe(
-    int f) // setzt einen Zeiger zur Fertig Hintergrund Farbe
+void FBalken::setFBgFarbe(int f) // sets the completion background color
 {
     fBgF = f;
     rend = 1;
 }
 
-void FBalken::setFBgBildZ(Bild* b) // setzt das Fertig Hintergrund Bild
+void FBalken::setFBgBildZ(Bild* b) // sets the completion background image
 {
     if (fBgBild) fBgBild->release();
     fBgBild = b;
     rend = 1;
 }
 
-void FBalken::setFBgBild(Bild* b) // kopiert in das Fertig Hintergrund Bild
+void FBalken::setFBgBild(Bild* b) // copies into the completion background image
 {
     if (!fBgBild) fBgBild = new Bild();
     fBgBild->neuBild(b->getBreite(), b->getHeight(), 0);
@@ -127,7 +128,7 @@ void FBalken::setTextRendererZ(TextRenderer* textRd)
     this->textRd = textRd;
 }
 
-void FBalken::setSchriftZ(Schrift* s) // setzt die Schrift
+void FBalken::setSchriftZ(Schrift* s) // sets the font
 {
     if (!textRd)
         textRd = new TextRenderer(s);
@@ -136,19 +137,19 @@ void FBalken::setSchriftZ(Schrift* s) // setzt die Schrift
     rend = 1;
 }
 
-void FBalken::setSFarbe(int f) // setzt die Schrift Farbe
+void FBalken::setSFarbe(int f) // sets the font color
 {
     schriftFarbe = f;
     rend = 1;
 }
 
-void FBalken::setSSize(unsigned char gr) // setzt die Schrift groesse
+void FBalken::setSSize(unsigned char gr) // sets the font size
 {
     schriftSize = gr;
     rend = 1;
 }
 
-void FBalken::render(Bild& zRObj) // zeichnet nach zRObj
+void FBalken::render(Bild& zRObj) // renders into zRObj
 {
     if (!hatStyle(Style::Sichtbar)) return;
     lockZeichnung();
@@ -256,23 +257,23 @@ void FBalken::render(Bild& zRObj) // zeichnet nach zRObj
 }
 
 // constant
-__int64 FBalken::getAktionAnzahl() const // gibt die Anzahl der Aktionen zurueck
+__int64 FBalken::getAktionAnzahl() const // returns the number of actions
 {
     return maxAk;
 }
 
-double FBalken::getProzent() const // gibt die momentane Prozentzahl zurueck
+double FBalken::getProzent() const // returns the current percentage
 {
     if (!maxAk) return 0;
     return (double)ak / ((double)maxAk / 100.0);
 }
 
-__int64 FBalken::getAktion() const // gibt die fertigen Aktionen zurueck
+__int64 FBalken::getAktion() const // returns the completed actions
 {
     return ak;
 }
 
-Rahmen* FBalken::getFRahmen() const // gibt den Fertig Rahmen zurueck
+Rahmen* FBalken::getFRahmen() const // returns the completion border
 {
     if (fRahmen) return dynamic_cast<Rahmen*>(fRahmen->getThis());
     return 0;
@@ -283,7 +284,7 @@ Rahmen* FBalken::zFRahmen() const
     return fRahmen;
 }
 
-AlphaFeld* FBalken::getFAlphaFeld() const // gibt das Fertig Alpha Feld zurueck
+AlphaFeld* FBalken::getFAlphaFeld() const // returns the completion AlphaFeld
 {
     if (fBuffer) return dynamic_cast<AlphaFeld*>(fBuffer->getThis());
     return 0;
@@ -294,12 +295,12 @@ AlphaFeld* FBalken::zFAlphaFeld() const
     return fBuffer;
 }
 
-int FBalken::getFBgFarbe() const // gibt die Fertig Hintergrund Farbe zurueck
+int FBalken::getFBgFarbe() const // returns the completion background color
 {
     return fBgF;
 }
 
-Bild* FBalken::getFBgBild() const // gibt das Fertig Hintergrund Bild zurueck
+Bild* FBalken::getFBgBild() const // returns the completion background image
 {
     if (fBgBild) return dynamic_cast<Bild*>(fBgBild->getThis());
     return 0;
@@ -310,7 +311,7 @@ Bild* FBalken::zFBgBild() const
     return fBgBild;
 }
 
-Schrift* FBalken::getSchrift() const // gibt die Schrift zurueck
+Schrift* FBalken::getSchrift() const // returns the font
 {
     if (textRd) return textRd->getSchrift();
     return 0;
@@ -321,7 +322,7 @@ Schrift* FBalken::zSchrift() const
     return textRd ? textRd->zSchrift() : 0;
 }
 
-int FBalken::getSFarbe() const // gibt die Schrift Farbe zurueck
+int FBalken::getSFarbe() const // returns the font color
 {
     return schriftFarbe;
 }

+ 6 - 7
Global.cpp

@@ -59,7 +59,7 @@ bool Framework::istThreadOk(Thread* t)
     return thRegister->isThread(t);
 }
 
-// Gibt das Thread Register des Frameworks zurueck
+// Returns the thread register of the framework
 Framework::ThreadRegister* Framework::getThreadRegister()
 {
     return thRegister;
@@ -74,7 +74,7 @@ Framework::Punkt Framework::getMausPos()
     return {point.x, point.y};
 }
 
-//! Setzt die Position der Maus auf dem Bildschirm
+//! Sets the mouse position on the screen
 void Framework::setMausPos(const Punkt& pos)
 {
     SetCursorPos(pos.x, pos.y);
@@ -96,27 +96,26 @@ bool Framework::getTastenStand(unsigned char taste)
 #endif
 }
 
-// Gibt das DLL Register zurueck, in dem alle zurzeit dynamisch geladenen DLL
-// Dateien hinterlegt sind
+// Returns the DLL register containing all currently dynamically loaded DLLs
 Framework::DLLRegister* Framework::getDLLRegister()
 {
     return Framework::dlls;
 }
 
-//! Versetzt DirectX in den Debug modus
+//! Sets DirectX to debug mode
 void Framework::setDebugDX(bool debug)
 {
     debugDX = debug;
 }
 
 #ifdef WIN32
-// gibt eine Referenz auf die Maus zurueck
+// returns a reference to the mouse
 Framework::Maus& Framework::getMaus()
 {
     return Framework::MausZeiger;
 }
 
-//! setzt den Zustand der Maus auf sichtbar oder unsichtbar
+//! sets the mouse state to visible or invisible
 void Framework::setShowCursor(bool visible)
 {
     CURSORINFO info = {0};

+ 61 - 61
Kam3D.cpp

@@ -11,7 +11,7 @@
 
 using namespace Framework;
 
-// Inhalt der Kam3D Klasse
+// Contents of the Kam3D class
 // Constructor
 Kam3D::Kam3D()
     : ReferenceCounter(),
@@ -47,7 +47,7 @@ Kam3D::~Kam3D()
 
 // private
 
-// Aktualisiert die view und projektion matrizen
+// Updates the view and projection matrices
 void Kam3D::updateMatrix()
 {
     view = view.rotationX(-rotX) * view.rotationY(-rotY) * view.rotationZ(-rotZ)
@@ -56,7 +56,7 @@ void Kam3D::updateMatrix()
         openingAngle, viewport.width / viewport.height, minZ, maxZ);
 }
 
-// Setzt die Position der Kamera in der 3D Welt
+// Sets the position of the camera in the 3D world
 void Kam3D::setPosition(Vec3<float> pos)
 {
     this->pos = pos;
@@ -64,8 +64,8 @@ void Kam3D::setPosition(Vec3<float> pos)
     updateMatrix();
 }
 
-// zoomt heran, indem sich die Kamera etwas auf das Blickziel zubewegt
-//  val: Die laenge der Strecke um die sich die Kamera bewegen soll
+// Zooms in by moving the camera closer to the view target
+//  val: The length of the distance the camera should move
 void Kam3D::scrollIn(float val)
 {
     Vec3<float> n(0, 0, 1);
@@ -77,8 +77,8 @@ void Kam3D::scrollIn(float val)
     updateMatrix();
 }
 
-// zppmt heraus, indem sich die Kamera etwas von dem Blockziel entfernt
-//  val: Die laenge der Strecke um die sich die Kamera bewegen soll
+// Zooms out by moving the camera away from the view target
+//  val: The length of the distance the camera should move
 void Kam3D::scrollOut(float val)
 {
     Vec3<float> n(0, 0, 1);
@@ -90,8 +90,8 @@ void Kam3D::scrollOut(float val)
     updateMatrix();
 }
 
-// Richtet die Kamera so aus, dass sie genau auf einen bestimmten Punkt zeigt
-//  ziel: Der Punkt, auf den die Kamera zeigen soll
+// Aligns the camera so that it points exactly at a specific point
+//  ziel: The point the camera should point at
 void Kam3D::setAusrichtung(Vec3<float> ziel)
 {
     Vec3<float> target = (ziel - pos).normalize();
@@ -112,8 +112,8 @@ void Kam3D::setAusrichtung(Vec3<float> ziel)
     updateMatrix();
 }
 
-//! Legt die Drehung der Kamera um die einzelnen Axen fest
-//! \param rotation Die Drehung um die einzelnen Axen
+//! Sets the rotation of the camera around each axis
+//! \param rotation The rotation around each axis
 void Kam3D::setRotation(Vec3<float> rotation)
 {
     rotX = rotation.x;
@@ -123,25 +123,25 @@ void Kam3D::setRotation(Vec3<float> rotation)
     updateMatrix();
 }
 
-// Setzt die Position des Bildes auf dem Bildschirm
-//  p: Ein Punkt mit x und y Koordinaten in Pixeln
+// Sets the position of the image on the screen
+//  p: A point with x and y coordinates in pixels
 void Kam3D::setBildschirmPosition(Punkt p)
 {
     viewport.x = (float)p.x;
     viewport.y = (float)p.y;
 }
 
-// Setzt die Position des Bildes auf dem Bildschirm
-//  x: Die x Koordinate in Pixeln
-//  y: Die y Koordinate in Pixeln
+// Sets the position of the image on the screen
+//  x: The x coordinate in pixels
+//  y: The y coordinate in pixels
 void Kam3D::setBildschirmPosition(int x, int y)
 {
     viewport.x = (float)x;
     viewport.y = (float)y;
 }
 
-// Setzt die Groesse des Bildes auf dem Bildschirm
-//  p: Ein Punkt, mit x als Breite und y als Hoehe in Pixlen
+// Sets the size of the image on the screen
+//  p: A point, with x as width and y as height in pixels
 void Kam3D::setBildschirmSize(Punkt p)
 {
     viewport.width = (float)p.x;
@@ -149,9 +149,9 @@ void Kam3D::setBildschirmSize(Punkt p)
     updateMatrix();
 }
 
-// Setzt die Groesse des Bildes auf dem Bildschirm
-//  br: Die Breite in Pixeln
-//  hoe: Die Hoehe in Pixeln
+// Sets the size of the image on the screen
+//  br: The width in pixels
+//  hoe: The height in pixels
 void Kam3D::setBildschirmSize(int br, int hoe)
 {
     viewport.width = (float)br;
@@ -159,26 +159,26 @@ void Kam3D::setBildschirmSize(int br, int hoe)
     updateMatrix();
 }
 
-// Setzt die Welt, die gezeichnet werden soll
-//  w: Die Welt
+// Sets the world to be drawn
+//  w: The world
 void Kam3D::setWelt(Welt3D* w)
 {
     if (welt) welt->release();
     welt = w;
 }
 
-// Setzt den Style der Kamera
-//  style: Der neue Style bestehend aus den Flags aus der zugehoerigen Style
-//  Klasse
+// Sets the style of the camera
+//  style: The new style consisting of the flags from the associated Style
+//  class
 void Kam3D::setStyle(__int64 style)
 {
     this->style = style;
 }
 
-// Setzt den Style der Kamera
-//  style: Alle Style Flags, die veraendert werden sollen
-//  add_remove: 1, falls der Style hinzugefuegt werden soll. 0, falls der Style
-//  entfernt weden soll
+// Sets the style of the camera
+//  style: All Style Flags to be changed
+//  add_remove: 1 if the style should be added. 0 if the style
+//  should be removed
 void Kam3D::setStyle(__int64 style, bool add_remove)
 {
     if (add_remove)
@@ -187,15 +187,15 @@ void Kam3D::setStyle(__int64 style, bool add_remove)
         this->style &= ~style;
 }
 
-// Fuegt Style Flags hinzu
-//  style: Der Style, der hinzugefuegt werden soll
+// Adds style flags
+//  style: The style to be added
 void Kam3D::addStyle(__int64 style)
 {
     this->style |= style;
 }
 
-// Entfernt Style Flags
-//  style: Der Style, der entfernt werden soll
+// Removes style flags
+//  style: The style to be removed
 void Kam3D::removeStyle(__int64 style)
 {
     this->style &= ~style;
@@ -207,10 +207,10 @@ void Kam3D::setMovementSpeed(float speed)
     this->speed = speed;
 }
 
-// Verarbeitet die vergangene Zeit
-//  tickval: Die zeit in sekunden, die seit dem letzten Aufruf der Funktion
-//  vergangen ist return: true, wenn sich das Bild neu gezeichnet werden muss,
-//  false sonnst.
+// Processes the elapsed time
+//  tickval: The time in seconds since the last call of the function
+//  has passed return: true, if the image needs to be redrawn,
+//  false otherwise.
 bool Kam3D::tick(double tv)
 {
     bool ret = rend;
@@ -286,8 +286,8 @@ bool Kam3D::tick(double tv)
     return ret;
 }
 
-// Verarbeitet ein Mausereignis
-//  me: Das Mausereignis, das verarbeitet werden soll
+// Processes a mouse event
+//  me: The mouse event to be processed
 void Kam3D::doMausEreignis(MausEreignis& me)
 {
     if (me.verarbeitet) return;
@@ -313,40 +313,40 @@ void Kam3D::doMausEreignis(MausEreignis& me)
     }
 }
 
-// Verarbeitet ein Tastaturereignis
-//  te: das Tastaturereignis, das verarbeitet werden soll
+// Processes a keyboard event
+//  te: The keyboard event to be processed
 void Kam3D::doTastaturEreignis(TastaturEreignis& te) {}
 
-// Gibt zurueck, ob bestimmte Styles gesetzt wurden
-//  style: Die Styles, die ueberprueft werden sollen
-//  return: 1, falls alle Styles in style gesetzt wurden
+// Returns whether certain styles are set
+//  style: The styles to be checked
+//  return: 1, if all styles in style are set
 bool Kam3D::hatStyle(__int64 style) const
 {
     return (this->style | style) == this->style;
 }
 
-// Gibt zurueck, ob bestimmte Styles nicht gesetzt wurden
-//  style: Die Styles, die geprueft werden sollen
-//  return: 1, falls alle Styles in style nicht gesetzt wurden
+// Returns whether certain styles are not set
+//  style: The styles to be checked
+//  return: 1, if all styles in style are not set
 bool Kam3D::hatStyleNicht(__int64 style) const
 {
     return (this->style | style) != this->style;
 }
 
-// Gibt einen Zeiger auf den Viewport zurueck
+// Returns a pointer to the viewport
 const ViewPort* Kam3D::zViewPort() const
 {
     return &viewport;
 }
 
-// Gibt die Position der Kamera in der Welt zurueck
+// Returns the position of the camera in the world
 const Vec3<float>& Kam3D::getWorldPosition() const
 {
     return pos;
 }
 
-// Gibt die Position in der Welt zurueck
-//  screen: die Position auf dem Bildschirm, die uebersetzt werden soll
+// Returns the position in the world
+//  screen: the screen position to be translated
 const Vec3<float> Kam3D::getWorldPosition(Punkt screen) const
 {
     Vec3<float> point = Vec3<float>(
@@ -361,8 +361,8 @@ const Vec3<float> Kam3D::getWorldPosition(Punkt screen) const
     return inv * point;
 }
 
-// Gibt die Richtung der Kamera in der Welt zurueck
-//  screen: die Position auf dem Bildschirm, die uebersetzt werden soll
+// Returns the direction of the camera in the world
+//  screen: the screen position to be translated
 const Vec3<float> Kam3D::getWorldDirection(Punkt screen) const
 {
     Vec3<float> point = Vec3<float>(
@@ -382,43 +382,43 @@ const Vec3<float> Kam3D::getWorldDirection(Punkt screen) const
     return pointT - point;
 }
 
-// Gibt die Projektionsmatrix der Kamera zurueck
+// Returns the projection matrix of the camera
 const Mat4<float>& Kam3D::getProjectionMatrix() const
 {
     return proj;
 }
 
-// Gibt die Ansichtsmatrix der Kamera zurueck
+// Returns the view matrix of the camera
 const Mat4<float>& Kam3D::getViewMatrix() const
 {
     return view;
 }
 
-//! Gibt die Rotation um die einzelnen axen zurueck
+//! Returns the rotation around each axis
 const Vec3<float> Kam3D::getRotation() const
 {
     return {rotX, rotY, rotZ};
 }
 
-//! Gibt die Position der Kamera auf dem Bildschirm zurueck
+//! Returns the position of the camera on the screen
 const Punkt Kam3D::getScreenPos() const
 {
     return Punkt((int)viewport.x, (int)viewport.y);
 }
 
-//! Gibt die Groesse der Kamera auf dem Bildschirm zurueck
+//! Returns the size of the camera on the screen
 const Punkt Kam3D::getScreenSize() const
 {
     return Punkt((int)viewport.width, (int)viewport.height);
 }
 
-// Gibt die Welt zurueck
+// Returns the world
 Welt3D* Kam3D::getWelt() const
 {
     return welt ? dynamic_cast<Welt3D*>(welt->getThis()) : 0;
 }
 
-// Gibt die Welt zurueck
+// Returns the world
 Welt3D* Kam3D::zWelt() const
 {
     return welt;

+ 50 - 51
Knopf.cpp

@@ -45,7 +45,7 @@ Knopf::~Knopf()
     if (klickBild) klickBild->release();
 }
 
-void Knopf::doMausEreignis(MausEreignis& me, bool userRet) // Maus Ereignis
+void Knopf::doMausEreignis(MausEreignis& me, bool userRet) // Mouse event
 {
     if (hatStyleNicht(Style::Erlaubt) || !userRet) return;
     if (me.id == ME_Betritt)
@@ -70,13 +70,13 @@ void Knopf::doMausEreignis(MausEreignis& me, bool userRet) // Maus Ereignis
 }
 
 // non-constant
-void Knopf::setKlickFarbe(int fc) // setzt die Klick Farbe
+void Knopf::setKlickFarbe(int fc) // sets the click color
 {
     klickFarbe = fc;
     rend = 1;
 }
 
-void Knopf::setKlickBild(Bild* bild) // setzt das Klick Bild
+void Knopf::setKlickBild(Bild* bild) // sets the click image
 {
     if (bild)
     {
@@ -91,7 +91,7 @@ void Knopf::setKlickBild(Bild* bild) // setzt das Klick Bild
     }
 }
 
-void Knopf::setKlickBildZ(Bild* bild) // setzt einen Zeiger zum Klick Bild
+void Knopf::setKlickBildZ(Bild* bild) // sets a pointer to the click image
 {
     if (klickBild) klickBild->release();
     klickBild = bild;
@@ -105,25 +105,25 @@ void Knopf::setKBZ(AlphaFeld* af)
     rend = 1;
 }
 
-void Knopf::setKBStrength(int st) // setzt die Staerke des Klick Buffers
+void Knopf::setKBStrength(int st) // sets the click buffer strength
 {
     if (!klickBuffer) klickBuffer = new AlphaFeld();
     klickBuffer->setStrength(st);
     rend = 1;
 }
 
-void Knopf::setKBFarbe(int fc) // setzt die Farbe des Klick Buffers
+void Knopf::setKBFarbe(int fc) // sets the click buffer color
 {
     if (!klickBuffer) klickBuffer = new AlphaFeld();
     klickBuffer->setFarbe(fc);
     rend = 1;
 }
 
-// Verarbeitet Maus Nachrichten
-//  te: Das Ereignis, was durch die Tastatur Eingabe ausgeloesst wurde
+// Processes mouse messages
+//  te: The event triggered by the keyboard input
 void Knopf::doTastaturEreignis(TastaturEreignis& te) {}
 
-void Knopf::render(Bild& zRObj) // zeichenet nach zRObj
+void Knopf::render(Bild& zRObj) // renders int zRObj
 {
     if (!hatStyle(Style::Sichtbar)) return;
     addStyle(TextFeld::Style::Center);
@@ -172,46 +172,48 @@ void Knopf::render(Bild& zRObj) // zeichenet nach zRObj
 }
 
 // constant
-int Knopf::getKlickFarbe() const // gibt getThis der Klick Farbe zurueck
+int Knopf::getKlickFarbe() const // returns the click color
 {
     return klickFarbe;
 }
 
-Bild* Knopf::getKlickBild() const // gibt getThis des Klick Bildes zurueck
+Bild* Knopf::getKlickBild() const // returns the click image
 {
     if (!klickBild) return 0;
     return dynamic_cast<Bild*>(klickBild->getThis());
 }
 
-Bild* Knopf::zKlickBild() const // gibt einen Zeiger zum Klick Bild zurueck
+Bild* Knopf::zKlickBild() const // returns a pointer to the click image
 {
     return klickBild;
 }
 
-AlphaFeld* Knopf::getKB() const // gibt getThis des Klick Buffers zurueck
+AlphaFeld* Knopf::getKB() const // returns the click buffer
 {
     if (!klickBuffer) return 0;
     return dynamic_cast<AlphaFeld*>(klickBuffer->getThis());
 }
 
-AlphaFeld* Knopf::zKB() const // gibt den Klick Buffer zurueck
+AlphaFeld*
+Knopf::zKB() const // returns the click buffer without reference counter
 {
     return klickBuffer;
 }
 
-int Knopf::getKBFarbe() const // gibt getThis der Farbe des Klick Buffers zurueck
+int Knopf::getKBFarbe() const // returns the click buffer color
 {
     if (!klickBuffer) return 0;
     return klickBuffer->getFarbe();
 }
 
-int Knopf::getKBStrength() const // gibt die Staerke des Klickbuffers zurueck
+int Knopf::getKBStrength() const // returns the click buffer strength
 {
     if (!klickBuffer) return 0;
     return klickBuffer->getStrength();
 }
 
-Zeichnung* Knopf::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
+Zeichnung*
+Knopf::dublizieren() const // creates a copy of the drawing and returns it
 {
     Knopf* obj = new Knopf();
     obj->setPosition(pos);
@@ -293,7 +295,7 @@ KontrollKnopf::~KontrollKnopf()
 }
 
 void KontrollKnopf::doMausEreignis(
-    MausEreignis& me, bool userRet) // Nachrichten verarbeitung
+    MausEreignis& me, bool userRet) // process mouse events
 {
     if (me.id == ME_Leaves || !userRet) style &= ~Style::MausKlick;
     if (hatStyleNicht(TextFeld::Style::Erlaubt) || !userRet) return;
@@ -309,7 +311,7 @@ void KontrollKnopf::doMausEreignis(
 }
 
 // non-constant
-void KontrollKnopf::setTextZ(Text* txt) // setzt den Text
+void KontrollKnopf::setTextZ(Text* txt) // sets the text
 {
     if (this->txt) this->txt->release();
     this->txt = txt;
@@ -331,7 +333,7 @@ void KontrollKnopf::setText(const char* txt)
     rend = 1;
 }
 
-void KontrollKnopf::setSTextZ(Text* txt) // setzt den Text bei Selectiert
+void KontrollKnopf::setSTextZ(Text* txt) // sets the text when selected
 {
     if (sTxt) sTxt->release();
     sTxt = txt;
@@ -359,7 +361,7 @@ void KontrollKnopf::setTextRendererZ(TextRenderer* textRd)
     this->textRd = textRd;
 }
 
-void KontrollKnopf::setSchriftZ(Schrift* schrift) // setzt die Schrift
+void KontrollKnopf::setSchriftZ(Schrift* schrift) // sets the font
 {
     if (!this->textRd)
         textRd = new TextRenderer(schrift);
@@ -368,31 +370,31 @@ void KontrollKnopf::setSchriftZ(Schrift* schrift) // setzt die Schrift
     rend = 1;
 }
 
-void KontrollKnopf::setSFarbe(int f) // setzt die Schrift Farbe
+void KontrollKnopf::setSFarbe(int f) // sets the font color
 {
     sF = f;
     rend = 1;
 }
 
-void KontrollKnopf::setSSize(int gr) // setzt die Schrift Groesse
+void KontrollKnopf::setSSize(int gr) // sets the font size
 {
     sGr = gr;
     rend = 1;
 }
 
-void KontrollKnopf::setSBgFarbe(int f) // setzt die Select Hintergrundfarbe
+void KontrollKnopf::setSBgFarbe(int f) // sets the select background color
 {
     sBgF = f;
     rend = 1;
 }
 
-void KontrollKnopf::setKBgFarbe(int f) // setzt die Klick Hintergrundfarbe
+void KontrollKnopf::setKBgFarbe(int f) // sets the click background color
 {
     kBgF = f;
     rend = 1;
 }
 
-void KontrollKnopf::setSBgBildZ(Bild* b) // setzt das Select Hintergrundbild
+void KontrollKnopf::setSBgBildZ(Bild* b) // sets the select background image
 {
     if (sBgB) sBgB->release();
     sBgB = b;
@@ -408,7 +410,7 @@ void KontrollKnopf::setSBgBild(Bild* b)
     rend = 1;
 }
 
-void KontrollKnopf::setKBgBildZ(Bild* b) // setzt das Klick Hintergrundbild
+void KontrollKnopf::setKBgBildZ(Bild* b) // sets the click background image
 {
     if (kBgB) kBgB->release();
     kBgB = b;
@@ -424,49 +426,49 @@ void KontrollKnopf::setKBgBild(Bild* b)
     rend = 1;
 }
 
-void KontrollKnopf::setSAlphaFeldZ(AlphaFeld* af) // setzt das Select Alpha Feld
+void KontrollKnopf::setSAlphaFeldZ(AlphaFeld* af) // sets the select AlphaFeld
 {
     if (sAf) sAf->release();
     sAf = af;
     rend = 1;
 }
 
-void KontrollKnopf::setSAFFarbe(int f) // setzt die Select Alphafeld Farbe
+void KontrollKnopf::setSAFFarbe(int f) // sets the select AlphaFeld color
 {
     if (!sAf) sAf = new AlphaFeld();
     sAf->setFarbe(f);
     rend = 1;
 }
 
-void KontrollKnopf::setSAFStrength(int st) // setzt die Select AlphaFeld Staerke
+void KontrollKnopf::setSAFStrength(int st) // sets the select AlphaFeld strength
 {
     if (!sAf) sAf = new AlphaFeld();
     sAf->setStrength(st);
     rend = 1;
 }
 
-void KontrollKnopf::setKAlphaFeldZ(AlphaFeld* af) // setzt das Klick Alpha Feld
+void KontrollKnopf::setKAlphaFeldZ(AlphaFeld* af) // sets the click AlphaFeld
 {
     if (kAf) kAf->release();
     kAf = af;
     rend = 1;
 }
 
-void KontrollKnopf::setKAFFarbe(int f) // setzt die Klick Alphafeld Farbe
+void KontrollKnopf::setKAFFarbe(int f) // sets the click AlphaFeld color
 {
     if (!kAf) kAf = new AlphaFeld();
     kAf->setFarbe(f);
     rend = 1;
 }
 
-void KontrollKnopf::setKAFStrength(int st) // setzt die Klick AlphaFeld Staerke
+void KontrollKnopf::setKAFStrength(int st) // sets the click AlphaFeld strength
 {
     if (!kAf) kAf = new AlphaFeld();
     kAf->setStrength(st);
     rend = 1;
 }
 
-void KontrollKnopf::loadData(LTDBDatei* dat) // laeht die Systembilder
+void KontrollKnopf::loadData(LTDBDatei* dat) // loading the system images
 {
     if (DateiExistiert(new Text("data/normal.ltdb"))
         && (!dat || !dat->istOffen()))
@@ -486,7 +488,8 @@ void KontrollKnopf::loadData(LTDBDatei* dat) // laeht die Systembilder
     rend = 1;
 }
 
-void KontrollKnopf::loadData(const char* ltdb) // laeht die Systembilder
+void KontrollKnopf::loadData(
+    const char* ltdb) // loading the system images with a specified LTDB file
 {
     if (DateiExistiert(new Text(ltdb)))
     {
@@ -500,7 +503,7 @@ void KontrollKnopf::loadData(const char* ltdb) // laeht die Systembilder
     }
 }
 
-void KontrollKnopf::render(Bild& zRObj) // zeichnet nach zRObj
+void KontrollKnopf::render(Bild& zRObj) // renders into zRObj
 {
     if (!hatStyle(Style::Sichtbar)) return;
     removeStyle(Style::VScroll | Style::HScroll);
@@ -682,7 +685,7 @@ void KontrollKnopf::render(Bild& zRObj) // zeichnet nach zRObj
 }
 
 // constant
-Text* KontrollKnopf::getText() const // gibt den Text zurueck
+Text* KontrollKnopf::getText() const // returns the text
 {
     return txt ? dynamic_cast<Text*>(txt->getThis()) : 0;
 }
@@ -692,7 +695,7 @@ Text* KontrollKnopf::zText() const
     return txt;
 }
 
-Text* KontrollKnopf::getSText() const // gibt den Select Text zurueck
+Text* KontrollKnopf::getSText() const // returns the select text
 {
     return sTxt ? dynamic_cast<Text*>(sTxt->getThis()) : 0;
 }
@@ -702,7 +705,7 @@ Text* KontrollKnopf::zSText() const
     return sTxt;
 }
 
-Schrift* KontrollKnopf::getSchrift() const // gibt die Schrift zurueck
+Schrift* KontrollKnopf::getSchrift() const // returns the font
 {
     return textRd ? textRd->getSchrift() : 0;
 }
@@ -712,29 +715,27 @@ Schrift* KontrollKnopf::zSchrift() const
     return textRd ? textRd->zSchrift() : 0;
 }
 
-int KontrollKnopf::getSFarbe() const // gibt die Schrift Farbe zurueck
+int KontrollKnopf::getSFarbe() const // returns the font color
 {
     return sF;
 }
 
-int KontrollKnopf::getSSize() const // gibt die Schrift Groesse zurueck
+int KontrollKnopf::getSSize() const // returns the font size
 {
     return sGr;
 }
 
-int KontrollKnopf::getSBgFarbe()
-    const // gibt die Select Hintergrundfarbe zurueck
+int KontrollKnopf::getSBgFarbe() const // returns the select background color
 {
     return sBgF;
 }
 
-int KontrollKnopf::getKBgFarbe() const // gibt die Klick Hintergrundfarbe zurueck
+int KontrollKnopf::getKBgFarbe() const // returns the click background color
 {
     return kBgF;
 }
 
-Bild* KontrollKnopf::getSBgBild()
-    const // gibt das Select Hintergrundbild zurueck
+Bild* KontrollKnopf::getSBgBild() const // returns the select background image
 {
     return sBgB ? dynamic_cast<Bild*>(sBgB->getThis()) : 0;
 }
@@ -744,7 +745,7 @@ Bild* KontrollKnopf::zSBgBild() const
     return sBgB;
 }
 
-Bild* KontrollKnopf::getKBgBild() const // gibt das Klick Hintergrundbild zurueck
+Bild* KontrollKnopf::getKBgBild() const // returns the click background image
 {
     return kBgB ? dynamic_cast<Bild*>(kBgB->getThis()) : 0;
 }
@@ -754,8 +755,7 @@ Bild* KontrollKnopf::zKBgBild() const
     return kBgB;
 }
 
-AlphaFeld*
-KontrollKnopf::getSAlphaFeld() const // gibt das Select AlphaFeld zurueck
+AlphaFeld* KontrollKnopf::getSAlphaFeld() const // returns the select AlphaFeld
 {
     return sAf ? dynamic_cast<AlphaFeld*>(sAf->getThis()) : 0;
 }
@@ -765,8 +765,7 @@ AlphaFeld* KontrollKnopf::zSAlphaFeld() const
     return sAf;
 }
 
-AlphaFeld*
-KontrollKnopf::getKAlphaFeld() const // gibt das Klick AlphaFeld zurueck
+AlphaFeld* KontrollKnopf::getKAlphaFeld() const // returns the click AlphaFeld
 {
     if (!kAf) return 0;
     return dynamic_cast<AlphaFeld*>(kAf->getThis());

+ 17 - 17
Liste.cpp

@@ -177,7 +177,7 @@ void AuswahlListe::update() // updates the selection list
     rend = 1;
 }
 
-void AuswahlListe::addEintrag(Text* txt) // fuegt einen Eintrag hinzu
+void AuswahlListe::addEintrag(Text* txt) // adds an entry
 {
     TextFeld* tf = new TextFeld();
     tf->setStyle(TextFeld::Style::Center | TextFeld::Style::Sichtbar
@@ -208,7 +208,7 @@ void AuswahlListe::addEintragZ(TextFeld* tf)
 }
 
 void AuswahlListe::addEintrag(
-    int pos, Text* txt) // fuegt einen Eintrag bei position pos ein
+    int pos, Text* txt) // inserts an entry at position pos
 {
     TextFeld* tf = new TextFeld();
     tf->setStyle(TextFeld::Style::Center | TextFeld::Style::Sichtbar
@@ -239,7 +239,7 @@ void AuswahlListe::addEintragZ(int pos, TextFeld* tf)
 }
 
 void AuswahlListe::setEintrag(
-    int pos, Text* txt) // aendert den pos - ten Eintrag
+    int pos, Text* txt) // changes the entry at pos
 {
     TextFeld* tf = 0;
     if (tfListe) tf = tfListe->z(pos);
@@ -278,7 +278,7 @@ void AuswahlListe::setEintragZ(int pos, TextFeld* tf)
 }
 
 void AuswahlListe::tauschEintragPos(
-    int vpos, int npos) // taucht den Eintrag vpos mit dem Eintrag npos
+    int vpos, int npos) // swaps entry vpos with entry npos
 {
     if (tfListe)
     {
@@ -305,21 +305,21 @@ void Framework::AuswahlListe::setEintragPos(int vpos, int npos) {
     }
 }
 
-void AuswahlListe::removeEintrag(int pos) // loescht den Eintrag pos
+void AuswahlListe::removeEintrag(int pos) // deletes entry at pos
 {
     tfListe->remove(pos);
     rend = 1;
 }
 
 void AuswahlListe::setSchriftZ(
-    Schrift* schrift) // legt die Schrift der Eintraege fest
+    Schrift* schrift) // sets the font for the entries
 {
     if (this->schrift) this->schrift->release();
     this->schrift = schrift;
     rend = 1;
 }
 
-void AuswahlListe::setVScrollZuEintrag(int eintrag) // scrollt zum Eintrag
+void AuswahlListe::setVScrollZuEintrag(int eintrag) // scrolls to entry
 {
     if (vertikalScrollBar)
     {
@@ -332,8 +332,8 @@ void AuswahlListe::setVScrollZuEintrag(int eintrag) // scrollt zum Eintrag
     }
 }
 
-void AuswahlListe::updateVScroll() // scrollt zur Curser Position oder nach
-                                   // Unten
+void AuswahlListe::updateVScroll() // scrolls to cursor position or
+                                   // down
 {
     if (vertikalScrollBar)
     {
@@ -351,7 +351,7 @@ void AuswahlListe::updateVScroll() // scrollt zur Curser Position oder nach
 }
 
 void AuswahlListe::setALRZ(Rahmen*
-        rahmen) // setzt einen Zeiger zum Auswahl Rahmen (nur ohne MulitStyled)
+        rahmen) // sets a pointer to the selection border (only without MultiStyled)
 {
     if (aRahmen) aRahmen->release();
     aRahmen = rahmen;
@@ -359,7 +359,7 @@ void AuswahlListe::setALRZ(Rahmen*
 }
 
 void AuswahlListe::setALRBreite(
-    int br) // setzt die Breite des Auswahl Rahmens (nur ohne MultiStyled)
+    int br) // sets the width of the selection border (only without MultiStyled)
 {
     if (!aRahmen) aRahmen = new LRahmen();
     aRahmen->setRamenBreite(br);
@@ -367,15 +367,15 @@ void AuswahlListe::setALRBreite(
 }
 
 void AuswahlListe::setALRFarbe(
-    int fc) // setzt die Farbe des Auswahl Rahmens (nur ohne MultiStyled)
+    int fc) // sets the color of the selection border (only without MultiStyled)
 {
     if (!aRahmen) aRahmen = new LRahmen();
     aRahmen->setFarbe(fc);
     rend = 1;
 }
 
-void AuswahlListe::setAAFZ(AlphaFeld* buffer) // setzt einen Zeiger zum Auswahl
-                                              // AlpaFeld (nur ohne MultiStyled)
+void AuswahlListe::setAAFZ(AlphaFeld* buffer) // sets a pointer to the selection
+                                              // AlphaFeld (only without MultiStyled)
 {
     if (aBuffer) aBuffer->release();
     aBuffer = buffer;
@@ -383,7 +383,7 @@ void AuswahlListe::setAAFZ(AlphaFeld* buffer) // setzt einen Zeiger zum Auswahl
 }
 
 void AuswahlListe::setAAFStrength(
-    int st) // setzt die Staerke des Auswahl Hintergrund Buffers (nur ohne
+    int st) // sets the strength of the selection background buffer (only without
             // MultiStyled)
 {
     if (!aBuffer) aBuffer = new AlphaFeld();
@@ -392,7 +392,7 @@ void AuswahlListe::setAAFStrength(
 }
 
 void AuswahlListe::setAAFFarbe(
-    int fc) // setzt die Farbe des Auswahl Hintergrund Buffers (nur ohne
+    int fc) // sets the color of the selection background buffer (only without
             // MultiStyled)
 {
     if (!aBuffer) aBuffer = new AlphaFeld();
@@ -401,7 +401,7 @@ void AuswahlListe::setAAFFarbe(
 }
 
 void AuswahlListe::setAHBild(
-    Bild* bild) // setzt das Auswahl Hintergrund Bild (nur ohne MultiStyled)
+    Bild* bild) // sets the selection background image (only without MultiStyled)
 {
     if (!ahBild) ahBild = new Bild();
     ahBild->neuBild(bild->getBreite(), bild->getHeight(), 0);

+ 38 - 39
M3Datei.cpp

@@ -6,7 +6,7 @@
 
 using namespace Framework;
 
-// Inhalt der M3Datei Klasse
+// Content of the M3Datei class from M3Datei.h
 // Constructor
 M3Datei::M3Datei()
     : ReferenceCounter()
@@ -16,7 +16,7 @@ M3Datei::M3Datei()
 }
 
 // Constructor
-//  pfad: Der Pfad zur Datei
+//  pfad: the path to the file
 M3Datei::M3Datei(const char* pfad)
     : M3Datei()
 {
@@ -24,7 +24,7 @@ M3Datei::M3Datei(const char* pfad)
 }
 
 // Constructor
-//  pfad: Der Pfad zur Datei
+//  pfad: the path to the file
 M3Datei::M3Datei(Text* pfad)
     : M3Datei(pfad->getText())
 {
@@ -89,9 +89,8 @@ Bone* Framework::M3Datei::readKnochen(Datei* zDat) const
     return 0;
 }
 
-// Setzt den Pfad zur Datei
-
-// pfad: Pfad zur Datei
+// sets the path to the file
+// pfad: the path
 void M3Datei::setPfad(const char* pfad)
 {
     this->pfad = pfad;
@@ -99,8 +98,7 @@ void M3Datei::setPfad(const char* pfad)
     if (modelPos) modelPos = (Array<__int64>*)modelPos->release();
 }
 
-// Liesst grundlegende Informationen aus der Datei, die fuer ihre Verwendung
-// benoetigt werden
+// reads header information from the file needed for its usage.
 void M3Datei::leseDaten()
 {
     if (modelName) modelName = (RCArray<Text>*)modelName->release();
@@ -128,11 +126,11 @@ void M3Datei::leseDaten()
     d.close();
 }
 
-// Speichert 3D Modell Daten in der Datei
-//  zMdr: Ein Zeiger auf die zu speichernden Daten ohne erhoehtem Reference
-//  Counter name: Der Name, unter dem die Daten in der Datei gespeichert werden
-//  sollen return: 1, falls das Modell gespeichert wurde. 0, falls ein fehler
-//  beim speichern auftrat
+// Saves 3D model data to the file
+//  zMdr: A pointer to the data to be saved without increased reference
+//  counter name: The name under which the data is stored in the file
+//  return: 1 if the model was saved. 0 if an error
+//  occurred during saving
 bool M3Datei::saveModel(Model3DData* zMdr, Text* name)
 {
     bool ret = saveModel(zMdr, name->getText());
@@ -140,11 +138,11 @@ bool M3Datei::saveModel(Model3DData* zMdr, Text* name)
     return ret;
 }
 
-// Speichert 3D Modell Daten in der Datei
-//  zMdr: Ein Zeiger auf die zu speichernden Daten ohne erhoehtem Reference
-//  Counter name: Der Name, unter dem die Daten in der Datei gespeichert werden
-//  sollen return: 1, falls das Modell gespeichert wurde. 0, falls ein fehler
-//  beim speichern auftrat
+// Saves 3D model data to the file
+//  zMdr: A pointer to the data to be saved without increased reference
+//  counter name: The name under which the data is stored in the file
+//  return: 1 if the model was saved. 0 if an error
+//  occurred during saving
 bool M3Datei::saveModel(Model3DData* zMdr, const char* name)
 {
     if (!modelName || !pfad.getLength()) return 0;
@@ -244,10 +242,10 @@ bool M3Datei::saveModel(Model3DData* zMdr, const char* name)
     return 1;
 }
 
-// Loescht ein 3D Modell aus der Datei
-//  name: Der Name des Modells
-//  return: 1, wenn das Modell geloescht wurde. 0, wenn das Modell nicht gefunden
-//  wurde, oder ein fehler beim speichern auftrat
+// Deletes a 3D model from the file
+//  name: The name of the model
+//  return: 1 if the model was deleted. 0 if the model was not found
+//  or an error occurred during saving
 bool M3Datei::removeModel(Text* name)
 {
     bool res = removeModel(name->getText());
@@ -255,10 +253,10 @@ bool M3Datei::removeModel(Text* name)
     return res;
 }
 
-// Loescht ein 3D Modell aus der Datei
-//  name: Der Name des Modells
-//  return: 1, wenn das Modell geloescht wurde. 0, wenn das Modell nicht gefunden
-//  wurde, oder ein fehler beim speichern auftrat
+// Deletes a 3D model from the file
+//  name: The name of the model
+//  return: 1 if the model was deleted. 0 if the model was not found
+//  or an error occurred during saving
 bool M3Datei::removeModel(const char* name)
 {
     if (!modelName || !pfad.getLength()) return 0;
@@ -337,9 +335,9 @@ bool M3Datei::removeModel(const char* name)
     return 1;
 }
 
-// Laehd ein 3D Modell aus der Datei
-//  name: Der name des zu ladenden Modells
-//  return: Die geladenen Daten
+// Loads a 3D model from the file
+//  name: The name of the model to load
+//  return: The loaded data
 Model3DData* M3Datei::ladeModel(
     Text* name, GraphicsApi* zApi, Text* uniqueName) const
 {
@@ -349,9 +347,9 @@ Model3DData* M3Datei::ladeModel(
     return d;
 }
 
-// Laehd ein 3D Modell aus der Datei
-//  name: Der name des zu ladenden Modells
-//  return: Die geladenen Daten
+// Loads a 3D model from the file
+//  name: The name of the model to load
+//  return: The loaded data
 Model3DData* M3Datei::ladeModel(
     const char* name, GraphicsApi* zApi, const char* uniqueName) const
 {
@@ -432,9 +430,9 @@ Model3DData* M3Datei::ladeModel(
     return 0;
 }
 
-// ueberprft, ob ein bestimmtes 3D Modell in der Datei existiert
-//  name: Der Name des zu suchenden 3D Modells
-//  return: 1, wenn das Modell gefunden wurde. 0 sonst
+// Checks whether a specific 3D model exists in the file
+//  name: The name of the 3D model to search for
+//  return: 1 if the model was found. 0 otherwise
 bool M3Datei::hatModel(const char* name) const
 {
     if (!modelName || !pfad.getLength()) return 0;
@@ -445,16 +443,17 @@ bool M3Datei::hatModel(const char* name) const
     return 0;
 }
 
-// uegibt die Anzahl der gespeicherten Modelle zurueck
+// Returns the number of stored models
 int M3Datei::getModelAnzahl() const
 {
     if (!modelName || !pfad.getLength()) return 0;
     return modelName->getEintragAnzahl();
 }
 
-// Gibt den Namen eines Bestimmten Modells zurueck
-//  i: Der Index des Modells
-//  return: Ein Zeiger aud den Namen des Modells ohne erhoehten Reference Counter
+// Returns the name of a specific model
+//  i: The index of the model
+//  return: A pointer to the name of the model without increased reference
+//  counter
 Text* M3Datei::zModelName(int i) const
 {
     if (!modelName || !pfad.getLength()) return 0;

+ 24 - 24
Model2D.cpp

@@ -361,7 +361,7 @@ bool Model2DData::erstelleModell(Array<Polygon2D>* polygons)
     return 1;
 }
 
-void Model2DData::removeModell() // setzt die Vertex daten zurueck
+void Model2DData::removeModell() // resets the vertex data
 {
     if (polygons)
     {
@@ -393,7 +393,7 @@ bool Model2DData::calcHitPoint(Vertex pos,
 {
     if (dir.x == 0 && dir.y == 0) return 0;
     bool ret = 0;
-    for (Polygon2D polygon : *polygons)
+    for (const Polygon2D& polygon : *polygons)
     {
         if (polygon.name->istGleich(polygonName))
         {
@@ -466,7 +466,7 @@ bool Model2DData::split(Vertex pos,
     Vertex originalDir = dir;
     bool ret = 0;
     int num = 0;
-    for (Polygon2D polygon : *polygons)
+    for (const Polygon2D& polygon : *polygons)
     {
         if (polygon.name->istGleich(polygonName))
         {
@@ -679,7 +679,7 @@ bool Model2DData::split(Vertex pos,
 float Model2DData::getMasse() const
 {
     float m = 0;
-    for (Polygon2D p : *polygons)
+    for (const Polygon2D& p : *polygons)
     {
         if (p.transparent) continue;
         int anz = p.vertex->getEintragAnzahl();
@@ -744,7 +744,7 @@ void Model2DObject::impuls(Vertex start, Vertex speed, float strength)
         Vertex mSpeed;
         float rSpeed;
         float dist = INFINITY;
-        for (Polygon2D p : *rData->polygons)
+        for (const Polygon2D& p : *rData->polygons)
         {
             if (!p.transparent
                 && rData->calcHitPoint(
@@ -760,8 +760,8 @@ void Model2DObject::impuls(Vertex start, Vertex speed, float strength)
                 }
             }
         }
-        // TODO schleife ueber alle polygone und translation von start und speed
-        // in Object koordinaten
+        // TODO loop over all polygons and translate start and speed into object
+        // coordinates
         if (dist < INFINITY)
         {
             this->speed += resSpeed * strength;
@@ -773,7 +773,7 @@ void Model2DObject::impuls(Vertex start, Vertex speed, float strength)
 void Model2DObject::setTextur(Textur2D* t, const char* polygonName)
 {
     int index = 0;
-    for (Polygon2D i : *rData->polygons)
+    for (const Polygon2D& i : *rData->polygons)
     {
         if (i.name->istGleich(polygonName))
             textur->set(dynamic_cast<Textur2D*>(t->getThis()), index);
@@ -852,7 +852,7 @@ bool Model2DObject::istPunktInnen(Vertex p, bool ignoreTransparent) const
     Mat3<float> mat
         = Mat3<float>::rotation(-rotation) * Mat3<float>::scaling(1 / size);
     p = mat * p;
-    for (Polygon2D polygon : *rData->polygons)
+    for (const Polygon2D& polygon : *rData->polygons)
     {
         if (polygon.transparent && !ignoreTransparent) continue;
         bool c = 0;
@@ -928,7 +928,7 @@ bool Model2DObject::istModelInnen(
         if (!getBoundingBox().collidesWith(zObj->getBoundingBox())) return 0;
     }
     Mat3<float> mat = getObjectMatrix();
-    for (Polygon2D polygon : *rData->polygons)
+    for (const Polygon2D& polygon : *rData->polygons)
     {
         if (polygon.transparent && !ignoreTransparent) continue;
         int anz = polygon.vertex->getEintragAnzahl();
@@ -964,7 +964,7 @@ bool Model2DObject::calcHitPoint(Vertex pos, Vertex dir, Vertex& hitpoint) const
     float dist = INFINITY;
     if (rData)
     {
-        for (Polygon2D p : *rData->polygons)
+        for (const Polygon2D& p : *rData->polygons)
         {
             if (!p.transparent
                 && rData->calcHitPoint(pos, dir, p.name->getText(), hp, ms, rs))
@@ -1017,18 +1017,18 @@ float Model2DObject::getMasse() const
     return abs(rData->getMasse() * size * size);
 }
 
-// Gibt die Textur des ersten Polygons zurueck
+// Returns the texture of the first polygon
 Textur2D* Model2DObject::getTextur() const
 {
     return textur->get(0);
 }
 
-// Gibt die Textur eines Polygons zurueck
-//  polygonName: Der Name des Polygons
+// Returns the texture of a polygon
+//  polygonName: The name of the polygon
 Textur2D* Model2DObject::getTextur(const char* polygonName) const
 {
     int index = 0;
-    for (Polygon2D p : *rData->polygons)
+    for (const Polygon2D& p : *rData->polygons)
     {
         if (p.name->istGleich(polygonName)) return textur->get(index);
         index++;
@@ -1036,18 +1036,18 @@ Textur2D* Model2DObject::getTextur(const char* polygonName) const
     return 0;
 }
 
-// Gibt die Textur des ersten Polygons ohne erhoehten Reference Counter zurueck
+// Returns the texture of the first polygon without increased reference counter
 Textur2D* Model2DObject::zTextur() const
 {
     return textur->z(0);
 }
 
-// Gibt die Textur eines Polygons ohne erhoehten Reference Counter zurueck
-//  polygonName: Der Name des Polygons
+// Returns the texture of a polygon without increased reference counter
+//  polygonName: The name of the polygon
 Textur2D* Model2DObject::zTextur(const char* polygonName) const
 {
     int index = 0;
-    for (Polygon2D p : *rData->polygons)
+    for (const Polygon2D& p : *rData->polygons)
     {
         if (p.name->istGleich(polygonName)) return textur->z(index);
         index++;
@@ -1137,7 +1137,7 @@ void Model2D::setTextur(Textur2D* t)
 void Model2D::setTextur(Textur2D* t, const char* polygonName)
 {
     int index = 0;
-    for (Polygon2D p : *rData->polygons)
+    for (const Polygon2D& p : *rData->polygons)
     {
         if (p.name->istGleich(polygonName))
             textur->set(dynamic_cast<Textur2D*>(t->getThis()), index);
@@ -1287,8 +1287,8 @@ float Model2D::getSize() const
     return size;
 }
 
-// Gibt zurueck, ob ein Punkt in dem Model enthalten ist
-//  p: Der Punkt
+// Returns whether a point is contained in the model
+//  p: The point
 bool Model2D::istPunktInnen(int x, int y) const
 {
     return istPunktInnen(Vertex((float)x, (float)y));
@@ -1301,7 +1301,7 @@ bool Model2D::istPunktInnen(Vertex p) const
     if (p < Mat3<float>::scaling(size) * rData->minP
         || p > Mat3<float>::scaling(size) * rData->maxP || !rData->polygons)
         return 0;
-    for (Polygon2D polygon : *rData->polygons)
+    for (const Polygon2D& polygon : *rData->polygons)
     {
         if (polygon.transparent) continue;
         Mat3<float> mat
@@ -1384,7 +1384,7 @@ bool Model2D::istModelInnen(const Model2D* zMdl, bool end) const
     Mat3<float> mat = Mat3<float>::translation(pos)
                     * Mat3<float>::rotation(drehung)
                     * Mat3<float>::scaling(size);
-    for (Polygon2D polygon : *rData->polygons)
+    for (const Polygon2D& polygon : *rData->polygons)
     {
         if (polygon.transparent) continue;
         int anz = polygon.vertex->getEintragAnzahl();

+ 104 - 112
Model3D.cpp

@@ -39,14 +39,14 @@ void Bone::setPosition(const Vec3<float>& pos)
 }
 
 //! Set the rotation of the bone relative to the parent bone
-//! \param rot thr rotation
+//! \param rot the rotation
 void Bone::setRotation(const Vec3<float>& rot)
 {
     this->rot = rot;
 }
 
 //! add a sibling bone to this bone that shares the same parent bone
-//! \param b Der Knochen, der hinzugefuegt werden soll
+//! \param b The bone to be added
 void Bone::addSiblingBone(Bone* b)
 {
     if (!sibling)
@@ -162,7 +162,7 @@ float Bone::getRadius() const
     return r;
 }
 
-// Inhalt der Skelett Klasse
+// Contents of the Skeleton class
 
 // Constructor
 Skeleton::Skeleton()
@@ -291,7 +291,7 @@ int Framework::Skeleton::getNextBoneId() const
     return nextId;
 }
 
-// Inhalt des Polygon3D Struct
+// Contents of the Polygon3D struct
 
 // Constructor
 Polygon3D::Polygon3D()
@@ -306,7 +306,7 @@ Polygon3D::~Polygon3D()
     delete[] indexList;
 }
 
-// Inhalt der Model3DData Klasse
+// Contents of the Model3DData class
 
 // Constructor
 Model3DData::Model3DData(
@@ -351,7 +351,7 @@ DLLEXPORT void Model3DData::updateGPUMemory()
     dxVertexBuffer->copieren();
 }
 
-// Loescht alle Model daten
+// Deletes all model data
 void Model3DData::clearModel()
 {
     delete[] vertexList;
@@ -368,7 +368,7 @@ void Model3DData::clearModel()
     indexCount = 0;
 }
 
-// Berechnet die normalen fuer die Eckpunkte des Modells
+// Calculates the normals for the vertices of the model
 void Model3DData::calculateNormals()
 {
     for (int i = 0; i < vertexCount; i++)
@@ -394,7 +394,7 @@ void Model3DData::calculateNormals()
     }
 }
 
-//! Erstellt einen buffer fuer alle polygon indizes
+//! Creates a buffer for all polygon indices
 void Model3DData::buildIndexBuffer()
 {
     delete[] indexBuffer;
@@ -415,17 +415,17 @@ void Model3DData::buildIndexBuffer()
     }
 }
 
-// Setzt den Zeiger auf ein standartmaessig verwendete Skelett
-//  s: Das Skelett, das verwendet werden soll
+// Sets the pointer to a default skeleton
+//  s: The skeleton to be used
 void Model3DData::setSkelettZ(Skeleton* s)
 {
     if (skelett) skelett->release();
     skelett = s;
 }
 
-// Setzt einen Zeiger auf eine Liste mit allen Vertecies des Models
-//  vertexList: Ein Array mit Vertecies
-//  anz: Die Anzahl der Vertecies im Array
+// Sets a pointer to a list with all vertices of the model
+//  vertexList: An array of vertices
+//  anz: The number of vertices in the array
 void Model3DData::setVertecies(Vertex3D* vertexList, int anz)
 {
     delete[] this->vertexList;
@@ -453,39 +453,38 @@ void Model3DData::setVertecies(Vertex3D* vertexList, int anz)
     }
 }
 
-// Fuegt ein Polygon zum Model hinzu
-//  polygon: Das Polygon, das hinzugefuegt erden soll
+// Adds a polygon to the model
+//  polygon: The polygon to be added
 void Model3DData::addPolygon(Polygon3D* polygon)
 {
     polygons->add(polygon);
     buildIndexBuffer();
 }
 
-// Git den Factor an, mit dem das umgebungslicht (textur farbe) multipliziert
-// wird
-//  f: der neue Faktor (von 0 bis 1, ambient + specular + diffuse = 1)
+// Sets the factor by which the ambient light (texture color) is multiplied
+//  f: the new factor (from 0 to 1, ambient + specular + diffuse = 1)
 void Model3DData::setAmbientFactor(float f)
 {
     ambientFactor = f;
 }
 
-// Git den Factor an, mit dem die Lichtfarbe von Lichtquellen multipliziert wird
-//  f: der neue Faktor (von 0 bis 1, ambient + specular + diffuse = 1)
+// Sets the factor by which the light color from light sources is multiplied
+//  f: the new factor (from 0 to 1, ambient + specular + diffuse = 1)
 void Model3DData::setDiffusFactor(float f)
 {
     diffusFactor = f;
 }
 
-// Git den Factor an, mit dem die Reflektion von Lichtquellen multipliziert wird
-//  f: der neue Faktor (von 0 bis 1, ambient + specular + diffuse = 1)
+// Sets the factor by which the reflection from light sources is multiplied
+//  f: the new factor (from 0 to 1, ambient + specular + diffuse = 1)
 void Model3DData::setSpecularFactor(float f)
 {
     specularFactor = f;
 }
 
-// Konvertiert ein 2d Model zu 3D
-//  model: Das 2d Model, das zu 3d konvertiert werden soll
-//  z: Die z koordinate aller punkte des Models
+// Converts a 2D model to 3D
+//  model: The 2D model to be converted to 3D
+//  z: The z coordinate of all points of the model
 void Model3DData::copyModel2D(Model2DData* model, float z)
 {
     if (model && model->vListen && model->polygons)
@@ -542,8 +541,8 @@ void Model3DData::copyModel2D(Model2DData* model, float z)
     }
 }
 
-// Entfernt ein Polygon
-//  index: Der Index des Polygons
+// Removes a polygon
+//  index: The index of the polygon
 void Model3DData::removePolygon(int index)
 {
     if (!polygons->hat(index)) return;
@@ -552,12 +551,12 @@ void Model3DData::removePolygon(int index)
     buildIndexBuffer();
 }
 
-// Berechnet die Matrizen der Knochen
-//  modelMatrix: Die Matrix, die das Skelett in den Raum der Welt transformiert
-//  matBuffer: Ein Array von Matrizen, der durch die Knochen Matrizen gefuellt
-//  wird scaleFactor: Die Skallierung des Modells kamMatrix: Die vereiniegung
-//  der view und projektions Matrizen return: gibt die Anzahl der verwendeten
-//  Matrizen zurueck
+// Calculates the bone matrices
+//  modelMatrix: The matrix that transforms the skeleton into world space
+//  matBuffer: An array of matrices to be filled with bone matrices
+//  scaleFactor: The scaling of the model kamMatrix: The combination of
+//  the view and projection matrices return: returns the number of used
+//  matrices
 int Model3DData::kalkulateMatrix(const Mat4<float>& modelMatrix,
     Mat4<float>* matBuffer,
     float scaleFactor,
@@ -568,114 +567,112 @@ int Model3DData::kalkulateMatrix(const Mat4<float>& modelMatrix,
         modelMatrix, matBuffer, scaleFactor, kamMatrix);
 }
 
-// Gibt die Anzahl an Polygonen zurueck
+// Returns the number of polygons
 int Model3DData::getPolygonAnzahl() const
 {
     return polygons->getEintragAnzahl();
 }
 
-// Gibt ein bestimmtes Polygon zurueck
-//  index: Der Index des Polygons
+// Returns a specific polygon
+//  index: The index of the polygon
 Polygon3D* Model3DData::getPolygon(int index) const
 {
     if (!polygons->hat(index)) return 0;
     return polygons->get(index);
 }
 
-// Gibt einen Iterator zurueck, mit dem sich die Polygons auflisten lassen
+// Returns an iterator to list the polygons
 ArrayIterator<Polygon3D*> Model3DData::getPolygons() const
 {
     return polygons->begin();
 }
 
-// Gibt den radius einer Kugel zurueck, die das gesammte Model umschliesst
+// Returns the radius of a sphere that encloses the entire model
 float Model3DData::getRadius() const
 {
     return radius;
 }
 
-// Gibt die Id der Daten zurueck, wenn sie in einer Model3DList registriert
-// wurden. (siehe Framework::zM3DRegister())
+// Returns the id of the data if registered in a Model3DList
+// (see Framework::zM3DRegister())
 int Model3DData::getId() const
 {
     return id;
 }
 
-// Git den Factor an, mit dem das umgebungslicht (textur farbe) multipliziert
-// wird
+// Returns the factor by which the ambient light (texture color) is multiplied
 float Model3DData::getAmbientFactor() const
 {
     return ambientFactor;
 }
 
-// Git den Factor an, mit dem die Lichtfarbe von Lichtquellen multipliziert wird
+// Returns the factor by which the light color from light sources is multiplied
 float Model3DData::getDiffusFactor() const
 {
     return diffusFactor;
 }
 
-// Git den Factor an, mit dem die Reflektion von Lichtquellen multipliziert wird
+// Returns the factor by which the reflection from light sources is multiplied
 float Model3DData::getSpecularFactor() const
 {
     return specularFactor;
 }
 
-// Gibt eine Kopie des Skeletts zurueck, welches fuer annimationen verwendet
-// werden kann
+// Returns a copy of the skeleton that can be used for animations
 Skeleton* Model3DData::copySkelett() const
 {
     return skelett ? skelett->copySceleton() : 0;
 }
 
-// Gibt die Anzahl an Vertices zurueck
+// Returns the number of vertices
 int Model3DData::getVertexAnzahl() const
 {
     return vertexCount;
 }
 
-// Gibt einen Buffer mit allen Vertecies des Models zurueck
+// Returns a buffer with all vertices of the model
 const Vertex3D* Model3DData::zVertexBuffer() const
 {
     return vertexList;
 }
 
-//! Gibt eine refferenz auf den beginn des indexBuffers zurueck
+//! Returns a reference to the beginning of the index buffer
 const int* Model3DData::getIndexBuffer() const
 {
     return indexBuffer;
 }
 
-//! Gibt eine die Anzahl der indizes im indexBuffer zurueck
+//! Returns the number of indices in the index buffer
 int Model3DData::getIndexCount() const
 {
     return indexCount;
 }
 
-//! Gibt den Index buffer zurueck;
+//! Returns the index buffer
 DXBuffer* Model3DData::zDXIndexBuffer() const
 {
     return dxIndexBuffer;
 }
 
-//! Gibt den Vertex buffer zurueck;
+//! Returns the vertex buffer
 DXBuffer* Model3DData::zDXVertexBuffer() const
 {
     return dxVertexBuffer;
 }
 
-//! gibt den minnimalen Punkt der Bounding box des Models zurueck
+//! Returns the minimum point of the bounding box of the model
 Vec3<float> Model3DData::getMinPos() const
 {
     return minPos;
 }
 
-//! gibt den maximalen Punkt der bounding box des Mopdels zurueck
+//! Returns the maximum point of the bounding box of the model
 Vec3<float> Model3DData::getMaxPos() const
 {
     return maxPos;
 }
 
-// Inhalt der Model3DTextur
+// Contents of the Model3DTextur class
 
 // Constructor
 Model3DTextur::Model3DTextur()
@@ -696,9 +693,9 @@ Model3DTextur::~Model3DTextur()
     delete[] textures;
 }
 
-// Legt fest, welche Textur fuer welches Polygon ist
-//  pI: Der Index des Polygons
-//  txt: Die Textur des Polygons
+// Sets which texture is for which polygon
+//  pI: The index of the polygon
+//  txt: The texture of the polygon
 void Model3DTextur::setPolygonTextur(int pI, Textur* txt)
 {
     if (pI >= textureCount)
@@ -716,16 +713,16 @@ void Model3DTextur::setPolygonTextur(int pI, Textur* txt)
     textures[pI] = txt;
 }
 
-// Gibt einen Zeiger auf die Textur eines Polygons zurueck ohne erhoehten
-// Reference Counter
-//  i: Der Index des Polygons
+// Returns a pointer to the texture of a polygon without increased
+// reference counter
+//  i: The index of the polygon
 Textur* Model3DTextur::zPolygonTextur(int i) const
 {
     if (i >= textureCount) return 0;
     return textures[i];
 }
 
-// Inhalt der Model3D Klasse
+// Contents of the Model3D class
 // Constructor
 Model3D::Model3D()
     : Zeichnung3D()
@@ -746,8 +743,8 @@ Model3D::~Model3D()
     if (skelett) skelett->release();
 }
 
-// Setzt die Daten des Models
-//  data: Die Daten
+// Sets the model data
+//  data: The data
 void Model3D::setModelDaten(Model3DData* data)
 {
     if (model) model->release();
@@ -762,41 +759,39 @@ void Model3D::setModelDaten(Model3DData* data)
     }
 }
 
-// Setzt die zum Zeichnen zu benutzenden Texturen
-//  txt: Ein Liste mit Texturen zu den verschiedenen Polygonen zugeordnet
+// Sets the textures to be used for drawing
+//  txt: A list of textures assigned to the different polygons
 void Model3D::setModelTextur(Model3DTextur* txt)
 {
     if (textur) textur->release();
     textur = txt;
 }
 
-// Git den Factor an, mit dem das umgebungslicht (textur farbe) multipliziert
-// wird
-//  f: der neue Faktor (von 0 bis 1, ambient + specular + diffuse = 1)
+// Sets the factor by which the ambient light (texture color) is multiplied
+//  f: the new factor (from 0 to 1, ambient + specular + diffuse = 1)
 void Framework::Model3D::setAmbientFactor(float f)
 {
     this->ambientFactor = f;
 }
 
-// Git den Factor an, mit dem die Lichtfarbe von Lichtquellen multipliziert wird
-//  f: der neue Faktor (von 0 bis 1, ambient + specular + diffuse = 1)
+// Sets the factor by which the light color from light sources is multiplied
+//  f: the new factor (from 0 to 1, ambient + specular + diffuse = 1)
 void Framework::Model3D::setDiffusFactor(float f)
 {
     diffusFactor = f;
 }
 
-// Git den Factor an, mit dem das umgebungslicht (textur farbe) multipliziert
-// wird
-//  f: der neue Faktor (von 0 bis 1, ambient + specular + diffuse = 1)
+// Sets the factor by which the ambient light (texture color) is multiplied
+//  f: the new factor (from 0 to 1, ambient + specular + diffuse = 1)
 void Framework::Model3D::setSpecularFactor(float f)
 {
     specularFactor = f;
 }
 
-// Errechnet die Matrizen aller Knochen des Skeletts des Models
-//  viewProj: Die miteinander multiplizierten Kameramatrizen
-//  matBuffer: Ein Array mit Matrizen, der gefuellt werden soll
-//  return: Die Anzahl der Matrizen, die das Model benoetigt
+// Calculates the matrices of all bones of the model's skeleton
+//  viewProj: The multiplied camera matrices
+//  matBuffer: An array of matrices to be filled
+//  return: The number of matrices the model requires
 int Model3D::errechneMatrizen(
     const Mat4<float>& viewProj, Mat4<float>* matBuffer)
 {
@@ -809,10 +804,9 @@ int Model3D::errechneMatrizen(
     return ret;
 }
 
-// Verarbeitet die vergangene Zeit
-//  tickval: Die zeit in sekunden, die seit dem letzten Aufruf der Funktion
-//  vergangen ist return: true, wenn sich das Objekt veraendert hat, false
-//  sonnst.
+// Processes elapsed time
+//  tickval: The time in seconds that has passed since the last call
+//  return: true if the object has changed, false otherwise.
 bool Model3D::tick(double tickval)
 {
     radius = model ? model->getRadius() : 0;
@@ -823,7 +817,7 @@ bool Model3D::tick(double tickval)
     return Zeichnung3D::tick(tickval);
 }
 
-//! zum aktualisieren der shader daten
+//! for updating shader data
 void Model3D::beforeRender(
     GraphicsApi* api, Shader* zVertexShader, Shader* zPixelShader)
 {}
@@ -832,37 +826,37 @@ void Model3D::afterRender(
     GraphicsApi* api, Shader* zVertexShader, Shader* zPixelShader)
 {}
 
-// Gibt die Textur zurueck
+// Returns the texture
 Model3DTextur* Model3D::getTextur()
 {
     return textur ? dynamic_cast<Model3DTextur*>(textur->getThis()) : 0;
 }
 
-// Gibt die Textur zurueck (ohne erhoehten Reference Counter)
+// Returns the texture (without increased reference counter)
 Model3DTextur* Model3D::zTextur()
 {
     return textur;
 }
 
-// Gibt die ModelDaten zurueck
+// Returns the model data
 Model3DData* Model3D::getModelData()
 {
     return model ? dynamic_cast<Model3DData*>(model->getThis()) : 0;
 }
 
-// Gibt die ModelDaten zurueck (ohne erhoehten Reference Counter)
+// Returns the model data (without increased reference counter)
 Model3DData* Model3D::zModelData()
 {
     return model;
 }
 
-// prueft, ob ein Strahl dieses Objekt trifft
-//  point: der startpunkt des Strahls in Weltkoordinaten
-//  dir: die Richtung des Strahls in Weltkoordinaten
-//  maxSqDist: Die maximale quadratische distanz die erlaubt ist
-//  pId: die Id des Polygons, zu dem der Schnittpunkt gehoert
-//  return: den quadratischen Abstand des Schnittpunktes zum Ursprung des
-//  Strahls oder -1, wenn kein schnittpunkt existiert
+// Checks if a ray hits this object
+//  point: the start point of the ray in world coordinates
+//  dir: the direction of the ray in world coordinates
+//  maxSqDist: The maximum squared distance allowed
+//  pId: the id of the polygon the intersection belongs to
+//  return: the squared distance of the intersection to the ray origin
+//  or -1 if no intersection exists
 float Model3D::traceRay(
     const Vec3<float>& p, const Vec3<float>& d, float maxSqDist, int& pId) const
 {
@@ -883,8 +877,7 @@ float Model3D::traceRay(
         || (dir * nearest).getLength() - radius * size > sqrt(maxSqDist)
         || (nearest < 0
             && (dir * nearest).getLengthSq()
-                   > radius * size * radius
-                         * size)) // es gibt kein schnittpunkt
+                   > radius * size * radius * size)) // no intersection exists
         return -1;
     bool existsHit = 0;
     if (skelett)
@@ -906,8 +899,8 @@ float Model3D::traceRay(
                         = model->zVertexBuffer()[p->indexList[j + 2]].pos;
                     Vec3<float> normal
                         = (b - a).crossProduct(c - a).normalize();
-                    if (normal * dir < 0) // Pruefe ob die Normale in Richtung
-                                          // des Strahl ursprungs zeigt
+                    if (normal * dir < 0) // Check if the normal points towards
+                                          // the ray origin
                     {
                         nearest
                             = (a * normal - point * normal) / (dir * normal);
@@ -929,11 +922,11 @@ float Model3D::traceRay(
     return existsHit ? maxSqDist : -1;
 }
 
-// berechnet die Farbe des Schnittpunktes deines Strahls
-//  point: der startpunkt des Strahls in Weltkoordinaten
-//  dir: die Richtung des Strahls in Weltkoordinaten
-//  zWelt: die Welt, aus der der Strahl kommt
-//  return: die Farbe des Schnittpunktes
+// Calculates the color of the intersection point of a ray
+//  point: the start point of the ray in world coordinates
+//  dir: the direction of the ray in world coordinates
+//  zWelt: the world the ray comes from
+//  return: the color of the intersection point
 int Model3D::traceRay(
     Vec3<float>& p, Vec3<float>& d, int pId, Welt3D* zWelt) const
 {
@@ -994,45 +987,44 @@ int Model3D::traceRay(
     return 0xFF000000;
 }
 
-// Gibt die Id der Daten zurueck, wenn sie in einer Model3DList registriert
-// wurden. (siehe Framework::zM3DRegister())
+// Returns the id of the data if registered in a Model3DList
+// (see Framework::zM3DRegister())
 int Model3D::getDatenId() const
 {
     return model ? model->getId() : -1;
 }
 
-// Git den Factor an, mit dem das umgebungslicht (textur farbe) multipliziert
-// wird
+// Returns the factor by which the ambient light (texture color) is multiplied
 float Model3D::getAmbientFactor() const
 {
     return ambientFactor;
 }
 
-// Git den Factor an, mit dem die Lichtfarbe von Lichtquellen multipliziert wird
+// Returns the factor by which the light color from light sources is multiplied
 float Model3D::getDiffusFactor() const
 {
     return diffusFactor;
 }
 
-// Git den Factor an, mit dem die Reflektion von Lichtquellen multipliziert wird
+// Returns the factor by which the reflection from light sources is multiplied
 float Model3D::getSpecularFactor() const
 {
     return specularFactor;
 }
 
-// Gibt die Anzahl an Vertices zurueck
+// Returns the number of vertices
 int Model3D::getVertexAnzahl() const
 {
     return model ? model->getVertexAnzahl() : 0;
 }
 
-// Gibt einen Buffer mit allen Vertecies des Models zurueck
+// Returns a buffer with all vertices of the model
 const Vertex3D* Model3D::zVertexBuffer() const
 {
     return model ? model->zVertexBuffer() : 0;
 }
 
-//! Gibt true zurueck wenn ein bestimmtes polygon gezeichnet werden muss
+//! Returns true if a specific polygon needs to be rendered
 bool Model3D::needRenderPolygon(int index)
 {
     return 1;

+ 14 - 14
Model3DList.cpp

@@ -5,10 +5,10 @@
 
 using namespace Framework;
 
-const char* Standart3DTypes::cube = "f_würfel";
+const char* Standart3DTypes::cube = "f_cube";
 const char* Standart3DTypes::texturModel = "f_texturModel";
 
-// Inhalt der Model3DList Klasse
+// Contents of the Model3DList class
 // Constructor
 Model3DList::Model3DList()
     : ReferenceCounter()
@@ -24,9 +24,9 @@ Model3DList::~Model3DList()
     names->release();
 }
 
-// Fuegt der Liste ein Model Hinzu
-//  mdl: Das Model
-//  name: Der name, unter dem das Model in der Liste gespeichert wird
+// Adds a model to the list
+//  mdl: The model
+//  name: The name under which the model is stored in the list
 bool Model3DList::addModel(Model3DData* mdl, const char* name)
 {
     for (auto i : *names)
@@ -42,8 +42,8 @@ bool Model3DList::addModel(Model3DData* mdl, const char* name)
     return 1;
 }
 
-// Entfernt ein Model aus der Liste
-//  name: Der Name des Models
+// Removes a model from the list
+//  name: The name of the model
 void Model3DList::removeModel(const char* name)
 {
     int index = 0;
@@ -59,9 +59,9 @@ void Model3DList::removeModel(const char* name)
     }
 }
 
-// UEberprueft, ob unter einem bestimmten Namen ein Model abgespeichert wurde
-//  name: Der Name
-//  return: true, wenn ein Model mit dem Namen existiert
+// Checks whether a model has been stored under a specific name
+//  name: The name
+//  return: true if a model with the name exists
 bool Model3DList::hatModel(const char* name) const
 {
     for (auto i : *names)
@@ -74,8 +74,8 @@ bool Model3DList::hatModel(const char* name) const
     return 0;
 }
 
-// Gibt ein bestimmtes Model zurueck
-//  name: Der Name des Models
+// Returns a specific model
+//  name: The name of the model
 Model3DData* Model3DList::getModel(const char* name) const
 {
     int index = 0;
@@ -90,8 +90,8 @@ Model3DData* Model3DList::getModel(const char* name) const
     return 0;
 }
 
-// Gibt ein bestimmtes Model ohne erhoehten Reference Counter zurueck
-//  name: Der Name des Models
+// Returns a specific model without increased reference counter
+//  name: The name of the model
 Model3DData* Model3DList::zModel(const char* name) const
 {
     int index = 0;

+ 8 - 10
Punkt.cpp

@@ -6,24 +6,22 @@
 
 using namespace Framework;
 
-// andere Funktionen
+// other functions
 #ifdef WIN32
-inline Punkt Framework::BildschirmGroesse(
-    int mId) // Gibt die Groesse des Bildschirms zurueck
+inline Punkt Framework::BildschirmGroesse(int mId) // Returns the screen size
 {
     Monitor m = getMonitor(mId);
     return Punkt(m.breite, m.height);
 }
 
-inline Punkt Framework::Bildschirmmitte(
-    int mId) // Giebt die Mitte des Bildschirms zurueck
+inline Punkt Framework::Bildschirmmitte(int mId) // Returns the screen center
 {
     Monitor m = getMonitor(mId);
     return Punkt(m.x + m.breite / 2, m.y + m.height / 2);
 }
 
 inline Punkt Framework::Bildschirmmitte(
-    WFenster* f, int mId) // Giebt die Mitte des Bildschirms zurueck
+    WFenster* f, int mId) // Returns the screen center
 {
     Punkt p = Bildschirmmitte(mId);
     Punkt p2 = f->getGroesse();
@@ -32,25 +30,25 @@ inline Punkt Framework::Bildschirmmitte(
 }
 #endif
 bool Framework::operator>(
-    const Punkt& a, const Punkt& b) // Gibt an, ob a > als b ist
+    const Punkt& a, const Punkt& b) // Indicates whether a > b
 {
     return a.x > b.x && a.y > b.y;
 }
 
 bool Framework::operator<(
-    const Punkt& a, const Punkt& b) // Gibt an, ob a < als b ist
+    const Punkt& a, const Punkt& b) // Indicates whether a < b
 {
     return a.x < b.x && a.y < b.y;
 }
 
 bool Framework::operator<=(
-    const Punkt& a, const Punkt& b) // Gibt an, ob a <= als b ist
+    const Punkt& a, const Punkt& b) // Indicates whether a <= b
 {
     return a.x <= b.x && a.y <= b.y;
 }
 
 bool Framework::operator>=(
-    const Punkt& a, const Punkt& b) // Gibt an, ob a >= als b ist
+    const Punkt& a, const Punkt& b) // Indicates whether a >= b
 {
     return a.x >= b.x && a.y >= b.y;
 }

+ 32 - 32
Rahmen.cpp

@@ -22,14 +22,14 @@ Rahmen::Rahmen()
 Rahmen::~Rahmen() {}
 
 // non-constant
-void Rahmen::setRamenBreite(int br) // setzt die Breite des Rahmens
+void Rahmen::setRamenBreite(int br) // sets the width of the border
 {
     this->br = br;
     rend = 1;
 }
 
-// wenn dieser Flag gesetzt wird, wird der Rahmen gestrichelt gezeichnet
-//  br: 1 -> gestrichelt, 0 -> durchgehend
+// when this flag is set, the border is drawn dashed
+//  br: 1 -> dashed, 0 -> solid
 void Rahmen::setBreaks(bool br, int brOff, int brLength, int lineLength)
 {
     breaks = br;
@@ -40,53 +40,53 @@ void Rahmen::setBreaks(bool br, int brOff, int brLength, int lineLength)
 }
 
 void Rahmen::setAlpha(
-    bool a) // Legt fest, ob der Alphawert der Farbe beruecksichtigt werden soll
+    bool a) // Sets whether the alpha value of the color should be considered
 {
     alpha = a;
     rend = 1;
 }
 
-void Rahmen::setFarbe(int f) // Legt die Farbe des Rahmens fest
+void Rahmen::setFarbe(int f) // Sets the color of the border
 {
     farbe = f;
     rend = 1;
 }
 
-int Rahmen::getFarbe() const // Gibt die Farbe des Ramens zurueck
+int Rahmen::getFarbe() const // Returns the color of the border
 {
     return farbe;
 }
 
 bool Rahmen::hatAlpha()
-    const // Gibt zurueck, ob der Alphawert der Farbe beachtet wird
+    const // Returns whether the alpha value of the color is considered
 {
     return alpha;
 }
 
-int Rahmen::getRBreite() const // Gibt die Breite des Rahmens zurueck
+int Rahmen::getRBreite() const // Returns the width of the border
 {
     return br;
 }
 
-// Gibt 1 zurueck, falls der Rahmen gestrichelt gezeichnet wird
+// Returns 1 if the border is drawn dashed
 bool Rahmen::hasBreaks() const
 {
     return breaks;
 }
 
-// startpunkt des ersten linienabschnittes
+// starting point of the first line segment
 int Rahmen::getBreakOffset() const
 {
     return breakOffset;
 }
 
-// laenge einer luecke
+// length of a gap
 int Rahmen::getBreakLength() const
 {
     return breakLength;
 }
 
-// laenge einer linie
+// length of a line
 int Rahmen::getLineLength() const
 {
     return lineLength;
@@ -101,7 +101,7 @@ LRahmen::LRahmen()
 // Destructor
 LRahmen::~LRahmen() {}
 
-void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
+void LRahmen::render(Bild& Obj) // Draws the border into the render object
 {
     Zeichnung::render(Obj);
     int x = 0;
@@ -139,7 +139,7 @@ void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
             for (int i = 0; i < br; ++i)
             {
                 for (int x = breakOffset; x < gr.x;
-                     x += lineLength + breakLength)
+                    x += lineLength + breakLength)
                     Obj.drawLinieHAlpha(x + i + 1,
                         y + i,
                         lineLength
@@ -148,14 +148,14 @@ void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int x = gr.x - breakOffset - lineLength; x >= 0;
-                     x -= lineLength + breakLength)
+                    x -= lineLength + breakLength)
                     Obj.drawLinieHAlpha(MAX(x + i + 1, i + 1),
                         h - i,
                         lineLength
                             - (x + i + 1 < i + 1 ? i + 1 - (x + i + 1) : 0),
                         farbe);
                 for (int y = breakOffset; y < gr.y;
-                     y += lineLength + breakLength)
+                    y += lineLength + breakLength)
                     Obj.drawLinieVAlpha(b - i,
                         y + i + 1,
                         lineLength
@@ -164,7 +164,7 @@ void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int y = gr.y - breakOffset - lineLength; y >= 0;
-                     y -= lineLength + breakLength)
+                    y -= lineLength + breakLength)
                     Obj.drawLinieVAlpha(x + i,
                         MAX(y + i, i),
                         lineLength - (y + i < i ? i - (y + i) : 0),
@@ -176,7 +176,7 @@ void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
             for (int i = 0; i < br; ++i)
             {
                 for (int x = breakOffset; x < gr.x;
-                     x += lineLength + breakLength)
+                    x += lineLength + breakLength)
                     Obj.drawLinieH(x + i + 1,
                         y + i,
                         lineLength
@@ -185,14 +185,14 @@ void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int x = gr.x - breakOffset - lineLength; x >= 0;
-                     x -= lineLength + breakLength)
+                    x -= lineLength + breakLength)
                     Obj.drawLinieH(MAX(x + i + 1, i + 1),
                         h - i,
                         lineLength
                             - (x + i + 1 < i + 1 ? i + 1 - (x + i + 1) : 0),
                         farbe);
                 for (int y = breakOffset; y < gr.y;
-                     y += lineLength + breakLength)
+                    y += lineLength + breakLength)
                     Obj.drawLinieV(b - i,
                         y + i + 1,
                         lineLength
@@ -201,7 +201,7 @@ void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int y = gr.y - breakOffset - lineLength; y >= 0;
-                     y -= lineLength + breakLength)
+                    y -= lineLength + breakLength)
                     Obj.drawLinieV(x + i,
                         MAX(y + i, i),
                         lineLength - (y + i < i ? i - (y + i) : 0),
@@ -212,7 +212,7 @@ void LRahmen::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
     Obj.releaseDrawOptions();
 }
 
-Zeichnung* LRahmen::dublizieren() const // Kopiert das Zeichnung
+Zeichnung* LRahmen::dublizieren() const // Copies the drawing
 {
     Rahmen* obj = new LRahmen();
     obj->setPosition(pos);
@@ -242,7 +242,7 @@ Rahmen3D::Rahmen3D()
 // Destructor
 Rahmen3D::~Rahmen3D() {}
 
-void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
+void Rahmen3D::render(Bild& Obj) // Draws the border into the render object
 {
     Zeichnung::render(Obj);
     int x = 0;
@@ -281,7 +281,7 @@ void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
             for (int i = 0; i < br; ++i)
             {
                 for (int x = breakOffset; x < gr.x;
-                     x += lineLength + breakLength)
+                    x += lineLength + breakLength)
                     Obj.drawLinieHAlpha(x + i + 1,
                         y + i,
                         lineLength
@@ -290,14 +290,14 @@ void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int x = gr.x - breakOffset - lineLength; x >= 0;
-                     x -= lineLength + breakLength)
+                    x -= lineLength + breakLength)
                     Obj.drawLinieHAlpha(MAX(x + i + 1, i + 1),
                         h - i,
                         lineLength
                             - (x + i + 1 < i + 1 ? i + 1 - (x + i + 1) : 0),
                         fcomp);
                 for (int y = breakOffset; y < gr.y;
-                     y += lineLength + breakLength)
+                    y += lineLength + breakLength)
                     Obj.drawLinieVAlpha(b - i,
                         y + i + 1,
                         lineLength
@@ -306,7 +306,7 @@ void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int y = gr.y - breakOffset - lineLength; y >= 0;
-                     y -= lineLength + breakLength)
+                    y -= lineLength + breakLength)
                     Obj.drawLinieVAlpha(x + i,
                         MAX(y + i, i),
                         lineLength - (y + i < i ? i - (y + i) : 0),
@@ -318,7 +318,7 @@ void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
             for (int i = 0; i < br; ++i)
             {
                 for (int x = breakOffset; x < gr.x;
-                     x += lineLength + breakLength)
+                    x += lineLength + breakLength)
                     Obj.drawLinieH(x + i + 1,
                         y + i,
                         lineLength
@@ -327,14 +327,14 @@ void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int x = gr.x - breakOffset - lineLength; x >= 0;
-                     x -= lineLength + breakLength)
+                    x -= lineLength + breakLength)
                     Obj.drawLinieH(MAX(x + i + 1, i + 1),
                         h - i,
                         lineLength
                             - (x + i + 1 < i + 1 ? i + 1 - (x + i + 1) : 0),
                         fcomp);
                 for (int y = breakOffset; y < gr.y;
-                     y += lineLength + breakLength)
+                    y += lineLength + breakLength)
                     Obj.drawLinieV(b - i,
                         y + i + 1,
                         lineLength
@@ -343,7 +343,7 @@ void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
                                     : 0),
                         farbe);
                 for (int y = gr.y - breakOffset - lineLength; y >= 0;
-                     y -= lineLength + breakLength)
+                    y -= lineLength + breakLength)
                     Obj.drawLinieV(x + i,
                         MAX(y + i, i),
                         lineLength - (y + i < i ? i - (y + i) : 0),
@@ -354,7 +354,7 @@ void Rahmen3D::render(Bild& Obj) // Zeichnet den Rahmen in das RenderZeichnung
     Obj.releaseDrawOptions();
 }
 
-Zeichnung* Rahmen3D::dublizieren() const // Kopiert das Zeichnung
+Zeichnung* Rahmen3D::dublizieren() const // Copies the drawing
 {
     Rahmen* obj = new Rahmen3D();
     obj->setPosition(pos);

+ 12 - 12
RenderThread.cpp

@@ -44,7 +44,7 @@ void RenderTh::unlock()
     cs.unlock();
 }
 
-void RenderTh::setBildschirm(Bildschirm* bildschirm) // setzt den Bildschirm
+void RenderTh::setBildschirm(Bildschirm* bildschirm) // sets the screen
 {
     lock();
     if (this->bildschirm) this->bildschirm->release();
@@ -52,7 +52,7 @@ void RenderTh::setBildschirm(Bildschirm* bildschirm) // setzt den Bildschirm
     unlock();
 }
 
-void RenderTh::thread() // Render Schleife
+void RenderTh::thread() // Render loop
 {
     int val = 0;
     double time = 0;
@@ -96,13 +96,13 @@ void RenderTh::thread() // Render Schleife
     zeit->messungEnde();
 }
 
-void RenderTh::beginn() // beginnt rendering
+void RenderTh::beginn() // starts rendering
 {
     stoppen = 0;
     start();
 }
 
-void RenderTh::beenden() // beendet den Thread
+void RenderTh::beenden() // terminates the thread
 {
     stoppen = 1;
     warteAufThread(2000);
@@ -115,42 +115,42 @@ void RenderTh::setQuiet(
     this->quiet = quiet;
 }
 
-void RenderTh::setMaxFps(int fps) // setzt die Anzahl der Bilder pro Sekunde
+void RenderTh::setMaxFps(int fps) // sets the number of frames per second
 {
     maxFps = fps;
 }
 
-void RenderTh::setPause(bool p) // Renderpause
+void RenderTh::setPause(bool p) // Render pause
 {
     pause = p;
 }
 
 void RenderTh::setRenderFunktion(std::function<void(void*, void*, Bild*)>
-        rF) // setzt die Rueckruf Funktion beim Rendern
+        rF) // sets the callback function for rendering
 {
     renderFunktion = rF;
 }
 
 void RenderTh::setTickFunktion(std::function<void(void*, void*, double)>
-        tF) // setzt die Rueckruf Funktion beim Tick
+        tF) // sets the callback function for tick
 {
     tickFunktion = tF;
 }
 
 void RenderTh::setRenderFunktionParameter(
-    void* p) // setzt den Parameter der Rueckruf Funktion beim Rendern
+    void* p) // sets the parameter of the callback function for rendering
 {
     renderParameter = p;
 }
 
 void RenderTh::setTickFunktionParameter(
-    void* p) // setzt den Parameter der Rueckruf Funktion beim Tick
+    void* p) // sets the parameter of the callback function for tick
 {
     tickParameter = p;
 }
 
 // constant
-Bildschirm* RenderTh::getBildschirm() const // gibt den Bildschirm zurueck
+Bildschirm* RenderTh::getBildschirm() const // returns the screen
 {
     return bildschirm ? dynamic_cast<Bildschirm*>(bildschirm->getThis()) : 0;
 }
@@ -161,7 +161,7 @@ Bildschirm* RenderTh::zBildschirm() const
 }
 
 double RenderTh::getRenderTickZeit()
-    const // gibt die Zeit zurueck, die zum Rendern und zum Tick benoetigt wird
+    const // returns the time needed for rendering and tick
 {
     return renderTickZeit;
 }

+ 1 - 1
Scroll.cpp

@@ -127,7 +127,7 @@ int ScrollBar::getScroll() const
     return data->scrollPos;
 }
 
-// Inhalt der VScrollBar Klasse
+// Contents of the VScrollBar class
 VScrollBar::VScrollBar()
     : ScrollBar()
 {}

+ 41 - 40
Shader.cpp

@@ -10,7 +10,7 @@
 
 using namespace Framework;
 
-// Inhalt der Shader Klasse
+// Contents of the Shader class
 
 // Constructor
 Shader::Shader()
@@ -26,9 +26,9 @@ Shader::~Shader()
     constBuffers->release();
 }
 
-// Loescht einen constanten Buffer
-//  index: der Index des Buffers, der geloescht werden soll. Buffer 0 kann nicht
-//  geloescht werden, solange Buffer 1 noch existiert usw.
+// Deletes a constant buffer
+//  index: the index of the buffer to be deleted. Buffer 0 cannot
+//  be deleted while buffer 1 still exists, etc.
 bool Shader::removeConstBuffer(int index)
 {
     if (index < 0) return 0;
@@ -37,11 +37,12 @@ bool Shader::removeConstBuffer(int index)
     return 1;
 }
 
-// Kopiert daten in einen constanten buffer
-//  zD3d11Context: Das Context Objekt, das zum kopieren verwendt werden soll
-//  data: Einen zeiger auf en byte Array der groesse des Buffers
-//  index: Der Index des Buffers
-//  laen: Die Laenge der Daten in Bytes (-1 fuer die maximale groesse des Buffers)
+// Copies data into a constant buffer
+//  zD3d11Context: The context object used for copying
+//  data: A pointer to a byte array the size of the buffer
+//  index: The index of the buffer
+//  laen: The length of the data in bytes (-1 for the maximum size of the
+//  buffer)
 bool Shader::fuellConstBuffer(char* data, int index, int len)
 {
     if (index < 0 || index > constBuffers->getLastIndex()) return 0;
@@ -53,8 +54,8 @@ bool Shader::fuellConstBuffer(char* data, int index, int len)
     return 1;
 }
 
-// Gibt die Laenge eines constanten Buffers zurueck
-//  index: Der Index des Buffers
+// Returns the length of a constant buffer
+//  index: The index of the buffer
 int Shader::getConstBufferLaenge(int index) const
 {
     if (index < 0 || index > constBuffers->getLastIndex()) return 0;
@@ -63,13 +64,13 @@ int Shader::getConstBufferLaenge(int index) const
     return zB->getElementAnzahl() * zB->getElementLength();
 }
 
-// Gibt den Shadertyp zurueck
+// Returns the shader type
 ShaderType Shader::getType() const
 {
     return type;
 }
 
-//! Gibt den index des ersten nicht initialisierten buffers zurueck
+//! Returns the index of the first uninitialized buffer
 int Shader::getFirstUninitializedBufferIndex() const
 {
     for (int index = 0; index < constBuffers->getEintragAnzahl(); index++)
@@ -88,19 +89,19 @@ DX11Shader::DX11Shader(ID3D11Device* device, ID3D11DeviceContext* context)
 
 DX11Shader::~DX11Shader() {}
 
-// erstellt ein constanten Buffer, der constante daten an den Shader uebergibt
-// es koennen maximal 14 Buffer erstellt werden
-//  zD3d11Device: Das Device, mit dem der Buffer erstellt werden soll
-//  groesse: Die groesse 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.
+// Creates a constant buffer that passes constant data to the shader
+// A maximum of 14 buffers can be created
+//  zD3d11Device: The device used to create the buffer
+//  groesse: The size of the buffer in bytes
+//  index: The position of the buffer in the buffer array. Existing buffer
+//  is replaced. Buffer 1 cannot be created if buffer 0 has not yet
+//  been created, etc.
 bool DX11Shader::erstelleConstBuffer(int groesse, int index)
 {
     if (index < 0 || index >= 14) return 0;
     bool ok = 1;
     while ((groesse / 16) * 16
-           != groesse) // es sind nur vielfache von 16 als groesse erlaubt
+           != groesse) // only multiples of 16 are allowed as size
         groesse++;
     while (!constBuffers->hat(index))
         constBuffers->add(0);
@@ -110,7 +111,7 @@ bool DX11Shader::erstelleConstBuffer(int groesse, int index)
     return 1;
 }
 
-// Inhalt der PixelShader Klasse
+// Contents of the PixelShader class
 
 // Constructor
 DX11PixelShader::DX11PixelShader(
@@ -126,18 +127,18 @@ DX11PixelShader::~DX11PixelShader()
     if (pixelShader) pixelShader->Release();
 }
 
-// Setzt den Compilierten Shader
-//  bytes: Die Bytes des compilierten codes
-//  length: die Laenge des bytearrays
-//  return: true, wenn bytes gueltig ist, false sonst
+// Sets the compiled shader
+//  bytes: The bytes of the compiled code
+//  length: the length of the byte array
+//  return: true if bytes is valid, false otherwise
 bool DX11PixelShader::setCompiledByteArray(unsigned char* bytes, int length)
 {
     HRESULT result = device->CreatePixelShader(bytes, length, 0, &pixelShader);
     return result == S_OK;
 }
 
-// Nach dem Aufruf dieser Funktion wird dieser Shader als Pixel Shader benutzt
-//  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
+// After calling this function, this shader is used as pixel shader
+//  zD3d11Context: The context object used with the shader
 void DX11PixelShader::benutzeShader()
 {
     int maxI = constBuffers->getLastIndex();
@@ -152,7 +153,7 @@ void DX11PixelShader::benutzeShader()
     if (pixelShader) context->PSSetShader(pixelShader, 0, 0);
 }
 
-// Inhalt der VertexShader Klasse
+// Contents of the VertexShader class
 
 // Constructor
 DX11VertexShader::DX11VertexShader(
@@ -172,10 +173,10 @@ DX11VertexShader::~DX11VertexShader()
     if (inputLayout) inputLayout->Release();
 }
 
-// Setzt den Compilierten Shader
-//  bytes: Die Bytes des compilierten codes
-//  length: die Laenge des bytearrays
-//  return: true, wenn bytes gueltig ist, false sonst
+// Sets the compiled shader
+//  bytes: The bytes of the compiled code
+//  length: the length of the byte array
+//  return: true if bytes is valid, false otherwise
 bool DX11VertexShader::setCompiledByteArray(unsigned char* bytes, int length)
 {
     shaderByteBuffer = (unsigned char*)bytes;
@@ -185,11 +186,11 @@ bool DX11VertexShader::setCompiledByteArray(unsigned char* bytes, int length)
     return result == S_OK;
 }
 
-// erstellt ein InputLayout fuer den Shader
-// Darf erst nach compile aufgerufen werden
-//  zD3d11Device: Das Device, mit dem das Layout erstellt werden soll
-//  descArray: Ein Array mit initialisierungsdaten
-//  anz: Die Anzahl der Elemente im Array
+// Creates an InputLayout for the shader
+// Must only be called after compile
+//  zD3d11Device: The device used to create the layout
+//  descArray: An array with initialization data
+//  anz: The number of elements in the array
 bool DX11VertexShader::erstelleInputLayout(
     D3D11_INPUT_ELEMENT_DESC* descArray, int anz)
 {
@@ -206,8 +207,8 @@ bool DX11VertexShader::erstelleInputLayout(
     return res == S_OK;
 }
 
-// Nach dem Aufruf dieser Funktion wird dieser Shader als Vertex Shader benutzt
-//  zD3d11Context: Das Context Objekt, mit dem der Shader verwendet werden soll
+// After calling this function, this shader is used as vertex shader
+//  zD3d11Context: The context object used with the shader
 void DX11VertexShader::benutzeShader()
 {
     int maxI = constBuffers->getLastIndex();

+ 5 - 5
Slider.cpp

@@ -1,4 +1,4 @@
-#include "Slider.h"
+#include "Slider.h"
 
 #include "Bild.h"
 #include "Globals.h"
@@ -24,8 +24,8 @@ float Slider::getValue() const
     return value;
 }
 
-// Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
-//  me: Das Ereignis
+// Processes a mouse event. Called automatically by the framework.
+//  me: the event
 void Slider::doMausEreignis(MausEreignis& me, bool userRet)
 {
     if (gr.x
@@ -40,8 +40,8 @@ void Slider::doMausEreignis(MausEreignis& me, bool userRet)
     ZeichnungHintergrund::doMausEreignis(me, userRet);
 }
 
-// Zeichnet die Zeihnung in ein bestimmtes Bild
-//  zRObj: Das Bild, in das gezeichnet werden soll
+// renders the drawing into a specific image
+//  zRObj: The image to be drawn into
 void Slider::render(Bild& zRObj)
 {
     if (hatStyle(Style::Sichtbar))

+ 3 - 3
Tabelle.cpp

@@ -668,7 +668,7 @@ void ObjTabelle::setMaxZeilenHeight(Text* name, int maxHi)
 }
 
 void ObjTabelle::setAuswahl(
-    int sNum, int zNum) // waehlt das entsprechnde Feld aus
+    int sNum, int zNum) // selects the corresponding field
 {
     if (sNum >= spaltenAnzahl || zNum >= zeilenAnzahl) return;
     lockZeichnung();
@@ -688,7 +688,7 @@ void ObjTabelle::setAuswahl(Text* spaltenName, Text* zeilenName)
     setAuswahl(getSpaltenNummer(spaltenName), getZeilenNummer(zeilenName));
 }
 
-void ObjTabelle::setRasterFarbe(int f) // settzt die Farbe des Rasters
+void ObjTabelle::setRasterFarbe(int f) // sets the grid color
 {
     rasterFarbe = f;
     rend = 1;
@@ -1380,7 +1380,7 @@ int ObjTabelle::getMaxZeilenHeight(Text* name) const
 }
 
 double ObjTabelle::getMausSpalte(
-    int mx) const // ermittelt die Spalte unter der Maus
+    int mx) const // determines the column under the mouse
 {
     if (mx >= gr.x) return -1;
     int hsBeg = (horizontalScrollBar && hatStyle(Style::HScroll))

+ 135 - 133
TextFeld.cpp

@@ -55,9 +55,9 @@ TextFeld::TextStyleManager::~TextStyleManager()
     if (text) text->release();
 }
 
-// Setzt den Style eines Textabschnittes
-//  begin: die startposition des Abschnittes
-//  end: die endposition des Abschnittes (nicht enthalten)
+// Sets the style of a text section
+//  begin: the start position of the section
+//  end: the end position of the section (not included)
 void TextFeld::TextStyleManager::setTextStyle(
     int begin, int end, TextStyle style)
 {
@@ -65,7 +65,7 @@ void TextFeld::TextStyleManager::setTextStyle(
     int sc = textStyle.getEintragAnzahl();
     int index = -1;
     TextStyle s = textStyle.get(0);
-    // suche bis zur richtigen stelle im stylearray
+    // search to the correct position in the style array
     for (int i = 0; i < sc; i++)
     {
         if (textStyle.get(i).beginIndex >= begin)
@@ -85,15 +85,15 @@ void TextFeld::TextStyleManager::setTextStyle(
     style.beginIndex = begin;
     s.beginIndex = end;
     if (index < 0)
-    { // hinten an styles anfuegen
+    { // append styles at the end
         textStyle.add(style);
         textStyle.add(s);
     }
     else
-    { // in die mitte des style arrays einfuegen
+    { // insert into the middle of the style array
         textStyle.add(style, index);
         for (int i = index + 1; i < sc + 1; i++)
-        { // styles entfernen die ueberschrieben wurden
+        { // remove styles that were overwritten
             if (textStyle.get(i).beginIndex <= end
                 && textStyle.get(i).beginIndex > begin)
             {
@@ -109,9 +109,9 @@ void TextFeld::TextStyleManager::setTextStyle(
     cleanupStyles();
 }
 
-// Entfernt einen Textabschnitt
-//  begin: der index des ersten betroffenen zeichens
-//  end: der index des ersten zeichens nach dem abschnitt
+// Removes a text section
+//  begin: the index of the first affected character
+//  end: the index of the first character after the section
 void TextFeld::TextStyleManager::removeText(int begin, int end)
 {
     int sc = textStyle.getEintragAnzahl();
@@ -134,9 +134,9 @@ void TextFeld::TextStyleManager::removeText(int begin, int end)
     cleanupStyles();
 }
 
-// Fuegt ein Text an einer bestimmten Position ein
-//  pos: die position des neuen Textausschnitts
-//  text: der neue Text
+// Inserts text at a specific position
+//  pos: the position of the new text section
+//  text: the new text
 void TextFeld::TextStyleManager::insertText(int pos, const char* text)
 {
     int len = textLength(text);
@@ -154,7 +154,7 @@ void TextFeld::TextStyleManager::insertText(int pos, const char* text)
     cleanupStyles();
 }
 
-// Entfernt nicht benoetiegte gleiche styles
+// Removes unnecessary duplicate styles
 void TextFeld::TextStyleManager::cleanupStyles()
 {
     int sc = textStyle.getEintragAnzahl();
@@ -181,13 +181,13 @@ void TextFeld::TextStyleManager::cleanupStyles()
     }
 }
 
-// gibt eine referenz auf das style objekt zurueck
+// returns a reference to the style object
 TextStyle& TextFeld::TextStyleManager::currentStyle()
 {
     return current;
 }
 
-// gibt den aktuellen text renderer zurueck
+// returns the current text renderer
 TextRenderer* TextFeld::TextStyleManager::zCurrentRenderer()
 {
     if (renderer->getEintragAnzahl() == 0) return 0;
@@ -197,7 +197,7 @@ TextRenderer* TextFeld::TextStyleManager::zCurrentRenderer()
     return tr;
 }
 
-// aendert den inhalt des style objektes auf den style des naechsten zeichens
+// changes the content of the style object to the style of the next character
 bool TextFeld::TextStyleManager::nextStyle()
 {
     index++;
@@ -207,9 +207,10 @@ bool TextFeld::TextStyleManager::nextStyle()
     return text && index < text->getLength();
 }
 
-// aendert den inhalt des style objektes auf den style des angegebenen zeichens
-//  index: der Index des Zeichens zu dem gesprungen werden soll
-//  gibt 0 zurueck falls es das zeichen nicht gibt
+// changes the content of the style object to the style of the specified
+// character
+//  index: the index of the character to jump to
+//  returns 0 if the character does not exist
 bool TextFeld::TextStyleManager::stepTo(int index)
 {
     resetIteration();
@@ -218,7 +219,7 @@ bool TextFeld::TextStyleManager::stepTo(int index)
     return text && this->index == index;
 }
 
-// aendert den inhalt des style objektes auf den style des ersten zeichens
+// changes the content of the style object to the style of the first character
 void TextFeld::TextStyleManager::resetIteration()
 {
     index = 0;
@@ -226,8 +227,8 @@ void TextFeld::TextStyleManager::resetIteration()
     current = textStyle.get(0);
 }
 
-// Gibt den Style eines bestimmten zeichens zurueck
-//  index: Der index des Zeichensf
+// Returns the style of a specific character\n//  index: The index of the
+// character
 TextStyle TextFeld::TextStyleManager::getTextStyle(int index) const
 {
     TextStyle last = textStyle.get(0);
@@ -243,8 +244,8 @@ TextStyle TextFeld::TextStyleManager::getTextStyle(int index) const
     return last;
 }
 
-// Inhalt der TextFeld Klasse aus TextFeld.h
-// Konstruktor
+// Contents of the TextFeld class from TextFeld.h
+// Constructor
 TextFeld::TextFeld()
     : ZeichnungHintergrund(),
       tm(new TextStyleManager()),
@@ -261,14 +262,14 @@ TextFeld::TextFeld()
     this->setTastaturEreignis(_ret1TE);
 }
 
-// Destruktor
+// Destructor
 TextFeld::~TextFeld()
 {
     tm->release();
     if (autoLineBreakSpacing) autoLineBreakSpacing->release();
 }
 
-void TextFeld::doMausEreignis(MausEreignis& me, bool userRet) // Maus Ereignis
+void TextFeld::doMausEreignis(MausEreignis& me, bool userRet) // Mouse event
 {
     if (!userRet) return;
     if (hatStyleNicht(Style::Editierbar))
@@ -502,16 +503,16 @@ int TextFeld::getTextWidth() const
     return maxBr;
 }
 
-// charEvent: eine funktion die aufgerufen wird, wenn sich die maus auf einem
-// bestimmten zeichen befindet und der interactParam im style != 0 ist
-//  aufruf: charEvent( charIndex, interactParam, mausEreignis );
+// charEvent: a function that is called when the mouse is on a
+// specific character and the interactParam in the style != 0
+//  call: charEvent( charIndex, interactParam, mausEreignis );
 void TextFeld::setCharEvent(
     std::function<void(int, int, MausEreignis me)> charEvent)
 {
     this->charEvent = charEvent;
 }
 
-void TextFeld::setText(Text* txt) // setzt den angezeigten Text
+void TextFeld::setText(Text* txt) // sets the displayed text
 {
     lockZeichnung();
     if (!tm->text) tm->text = new Text();
@@ -523,7 +524,7 @@ void TextFeld::setText(Text* txt) // setzt den angezeigten Text
     txt->release();
 }
 
-void TextFeld::setTextZ(Text* txt) // setzt einen Zeiger zum angezeigten Text
+void TextFeld::setTextZ(Text* txt) // sets a pointer to the displayed text
 {
     lockZeichnung();
     if (tm->text) tm->text->release();
@@ -534,7 +535,7 @@ void TextFeld::setTextZ(Text* txt) // setzt einen Zeiger zum angezeigten Text
     unlockZeichnung();
 }
 
-void TextFeld::setText(const char* txt) // setzt den angezeigten Text
+void TextFeld::setText(const char* txt) // sets the displayed text
 {
     lockZeichnung();
     if (!tm->text) tm->text = new Text();
@@ -545,25 +546,25 @@ void TextFeld::setText(const char* txt) // setzt den angezeigten Text
     unlockZeichnung();
 }
 
-// setzt den Text mit styles
-//  txt: der Text
-//  format: \x1: aktiviert unterschtrich
-//          \x2FF: setzt die schriftgroesse fuer den folgenden text.
-//              FF ist ein zweistelliger Hex Wert
-//          \x3AARRGGBB: setzt die schriftfarbe.
-//              AARRGGBB ist ein 8 stelliger hex wert mit jeweils zwei zeichen
-//              fuer alpha, rot, gruen n blau
-//          \x4AARRGGBB: setzt die farbe des ausgewaehlten textes.
-//              AARRGGBB ist ein 8 stelliger hex wert mit jeweils zwei zeichen
-//              fuer alpha, rot, gruen n blau
-//          \x5AARRGGBB: setzt die hintergrundfarbe des ausgewaehlten textes.
-//              AARRGGBB ist ein 8 stelliger hex wert mit jeweils zwei zeichen
-//              fuer alpha, rot, gruen n blau
-//          \x6FF: setzt text renderer index.
-//              FF ist ein zweistelliger Hex Wert
-//          \x7: deaktiviert unterschtrich
+// sets the text with styles
+//  txt: the text
+//  format: \x1: enables underline
+//          \x2FF: sets the font size for the following text.
+//              FF is a two-digit hex value
+//          \x3AARRGGBB: sets the font color.
+//              AARRGGBB is an 8-digit hex value with two characters each
+//              for alpha, red, green and blue
+//          \x4AARRGGBB: sets the color of the selected text.
+//              AARRGGBB is an 8-digit hex value with two characters each
+//              for alpha, red, green and blue
+//          \x5AARRGGBB: sets the background color of the selected text.
+//              AARRGGBB is an 8-digit hex value with two characters each
+//              for alpha, red, green and blue
+//          \x6FF: sets text renderer index.
+//              FF is a two-digit hex value
+//          \x7: deactivates underline
 //          \x8FFFFFFFF: set interact param.
-//              FFFFFFFF ist ein 8 stelliger hex wert
+//              FFFFFFFF is an 8-digit hex value
 void TextFeld::setFormattedText(const char* txt)
 {
     lockZeichnung();
@@ -665,8 +666,8 @@ void TextFeld::setFormattedText(const char* txt)
     unlockZeichnung();
 }
 
-// fuegt zeilenumbrueche so ein, dass der text nicht die breite des textfeldes
-// ueberschreitet
+// inserts line breaks so that the text does not exceed the width of the text
+// field
 void TextFeld::addLineBreaks(const char* spacing)
 {
     if (!tm->text) return;
@@ -798,15 +799,15 @@ void TextFeld::setAutoLineBreakSpacing(const char* spacing)
     autoLineBreakSpacing->setText(spacing);
 }
 
-// Setzt den Style eines Textabschnittes
-//  begin: die startposition des Abschnittes
-//  end: die endposition des Abschnittes (nicht enthalten)
+// Sets the style of a text section
+//  begin: the start position of the section
+//  end: the end position of the section (not included)
 void TextFeld::setTextStyle(int begin, int end, TextStyle style)
 {
     tm->setTextStyle(begin, end, style);
 }
 
-void TextFeld::addZeile(const char* zeile) // fuegt Zeile An
+void TextFeld::addZeile(const char* zeile) // appends a line
 {
     if (tm->text)
     {
@@ -839,9 +840,9 @@ void TextFeld::addZeile(const char* zeile) // fuegt Zeile An
     }
 }
 
-// Fuegt eine Zeile an den Text an
-//  zeile: Die neue Zeile
-//  color: Die Farbe der Zeile
+// Appends a line to the text
+//  zeile: The new line
+//  color: The color of the line
 void TextFeld::addZeile(const char* zeile, int color)
 {
     if (tm->text)
@@ -878,7 +879,7 @@ void TextFeld::addZeile(const char* zeile, int color)
     }
 }
 
-// Deselectiert alle textabschnitte
+// Deselects all text sections
 void TextFeld::deselectAuswahl()
 {
     for (int i = 0; i < tm->textStyle.getEintragAnzahl(); i++)
@@ -893,7 +894,7 @@ void TextFeld::deselectAuswahl()
     tm->cleanupStyles();
 }
 
-void TextFeld::setAuswahl(int pos1, int pos2) // setzt den Ausgewaehlten Text
+void TextFeld::setAuswahl(int pos1, int pos2) // sets the selected text
 {
     deselectAuswahl();
     TextStyle s = tm->getTextStyle(pos1);
@@ -925,9 +926,9 @@ void TextFeld::addAuswahl(Punkt& auswahl)
     rend = 1;
 }
 
-// Setzt den ausgewaehlten textabschnitt fest
-//  begin: Die Cursorposition im Text
-//  end: Die Position im Text, bis zu der der Text eingefaerbt werden soll
+// Sets the selected text section
+//  begin: The cursor position in the text
+//  end: The position in the text up to which the text should be colored
 void TextFeld::invertAuswahl(int begin, int end)
 {
     for (int i = begin; i < end; i++)
@@ -939,8 +940,8 @@ void TextFeld::invertAuswahl(int begin, int end)
     }
 }
 
-// ersetzt alle ausgewaehlten Textabschnitte mit einem text
-//  text: der neue Text
+// replaces all selected text sections with a text
+//  text: the new text
 void TextFeld::replaceAuswahl(const char* text)
 {
     tm->cleanupStyles();
@@ -976,23 +977,23 @@ void TextFeld::setTextRendererZ(TextRenderer* textRd)
     rend = 1;
 }
 
-// Fuegt einen TextRenderer hinzu
-//  textRd: Der Textrenderer
+// Adds a TextRenderer
+//  textRd: The text renderer
 void TextFeld::addTextRendererZ(TextRenderer* textRd)
 {
     if (!tm->renderer) tm->renderer = new RCArray<TextRenderer>();
     tm->renderer->add(textRd);
 }
 
-// Setzt die verwendeten TextRenderer
-//  textRd: Die Textrenderer
+// Sets the used TextRenderers
+//  textRd: The text renderers
 void TextFeld::setTextRendererZ(RCArray<TextRenderer>* textRd)
 {
     if (tm->renderer) tm->renderer->release();
     tm->renderer = textRd;
 }
 
-void TextFeld::setSchriftZ(Schrift* schrift) // setzt einen Zeiger zur Schrift
+void TextFeld::setSchriftZ(Schrift* schrift) // sets a pointer to the font
 {
     if (!tm->renderer) tm->renderer = new RCArray<TextRenderer>();
     if (!tm->renderer->getEintragAnzahl())
@@ -1002,9 +1003,9 @@ void TextFeld::setSchriftZ(Schrift* schrift) // setzt einen Zeiger zur Schrift
     rend = 1;
 }
 
-// Setzt einen Zeiger zur Schrift
-//  rendererIndex: Der Index des Renderers dessen Schrift gesetzt werden soll
-//  schrift: Die Schrift, die zum Textzeichnen verwendet werden soll.
+// Sets a pointer to the font
+//  rendererIndex: The index of the renderer whose font should be set
+//  schrift: The font to be used for text drawing.
 void TextFeld::setSchriftZ(int rendererIndex, Schrift* schrift)
 {
     if (!tm->renderer) tm->renderer = new RCArray<TextRenderer>();
@@ -1014,7 +1015,7 @@ void TextFeld::setSchriftZ(int rendererIndex, Schrift* schrift)
         tm->renderer->z(rendererIndex)->setSchriftZ(schrift);
 }
 
-void TextFeld::setSchriftSize(unsigned char gr) // setzt die Schriftgroesse
+void TextFeld::setSchriftSize(unsigned char gr) // sets the font size
 {
     TextStyle s = tm->textStyle.get(0);
     s.fontSize = gr;
@@ -1022,10 +1023,10 @@ void TextFeld::setSchriftSize(unsigned char gr) // setzt die Schriftgroesse
     rend = 1;
 }
 
-// Setzt die Schriftgroesse (Standart: 12)
-//  begin: Der Index des ersten betroffenen Zeichens
-//  end: Der Index des ersten nicht betroffenen Zeichens
-//  gr: Die Schriftgroesse, die zum Textzeichnen verwendet werden soll
+// Sets the font size (default: 12)
+//  begin: The index of the first affected character
+//  end: The index of the first unaffected character
+//  gr: The font size to be used for text drawing
 void TextFeld::setSchriftSize(int begin, int end, unsigned char gr)
 {
     TextStyle s = tm->getTextStyle(begin);
@@ -1034,7 +1035,7 @@ void TextFeld::setSchriftSize(int begin, int end, unsigned char gr)
     rend = 1;
 }
 
-void TextFeld::setSchriftFarbe(int fc) // setzt die Schrift Farbe
+void TextFeld::setSchriftFarbe(int fc) // sets the font color
 {
     TextStyle s = tm->textStyle.get(0);
     s.fontColor = fc;
@@ -1042,10 +1043,10 @@ void TextFeld::setSchriftFarbe(int fc) // setzt die Schrift Farbe
     rend = 1;
 }
 
-// Setzt die Schrift Farbe
-//  begin: Der Index des ersten betroffenen Zeichens
-//  end: Der Index des ersten nicht betroffenen Zeichens
-//  fc: Die Farbe, die zum Textzeichnen verwendet werden soll
+// Sets the font color
+//  begin: The index of the first affected character
+//  end: The index of the first unaffected character
+//  fc: The color to be used for text drawing
 void TextFeld::setSchriftFarbe(int begin, int end, int fc)
 {
     TextStyle s = tm->getTextStyle(begin);
@@ -1054,13 +1055,13 @@ void TextFeld::setSchriftFarbe(int begin, int end, int fc)
     rend = 1;
 }
 
-void TextFeld::setSchowChar(unsigned char c) // bei Passwortfeld *
+void TextFeld::setSchowChar(unsigned char c) // for password field *
 {
     showChar = c;
     rend = 1;
 }
 
-void TextFeld::setVScrollZuZeile(int zeile) // scrollt zur Zeile
+void TextFeld::setVScrollZuZeile(int zeile) // scrolls to line
 {
     if (vertikalScrollBar && tm->renderer && tm->renderer->getEintragAnzahl()
         && tm->text && hatStyle(Style::Mehrzeilig))
@@ -1104,7 +1105,7 @@ void TextFeld::setVScrollZuZeile(int zeile) // scrollt zur Zeile
     }
 }
 
-void TextFeld::updateVScroll(int pos) // scrollt nach unten
+void TextFeld::updateVScroll(int pos) // scrolls down
 {
     if (pos == -1) pos = cpos;
     if (vertikalScrollBar)
@@ -1176,7 +1177,7 @@ void TextFeld::updateVScroll(int pos) // scrollt nach unten
     }
 }
 
-void TextFeld::updateHScroll(int pos) // scrollt zur Curser Position
+void TextFeld::updateHScroll(int pos) // scrolls to cursor position
 {
     if (pos == -1) pos = cpos;
     lockZeichnung();
@@ -1222,8 +1223,8 @@ void TextFeld::updateHScroll(int pos) // scrollt zur Curser Position
     unlockZeichnung();
 }
 
-// Gibt die breite in pixeln zurueck, die benoetigt wird um den aktuellen text mit
-// den aktuellen styles voll anzuzeigen
+// Returns the width in pixels needed to fully display the current text with
+// the current styles
 int TextFeld::getNeededWidth()
 {
     int maxBr = 0;
@@ -1235,8 +1236,8 @@ int TextFeld::getNeededWidth()
     return maxBr + (r ? rahmen->getRBreite() * 2 : 0) + (vs ? 15 : 0);
 }
 
-// Gibt die hoehe in pixeln zurueck, die benoetigt wird um den aktuellen text mit
-// den aktuellen styles voll anzuzeigen
+// Returns the height in pixels needed to fully display the current text with
+// the current styles
 int TextFeld::getNeededHeight()
 {
     int th = 0;
@@ -1482,7 +1483,7 @@ void TextFeld::doTastaturEreignis(TastaturEreignis& te)
     release();
 }
 
-void TextFeld::render(Bild& zRObj) // zeichenet nach zRObj
+void TextFeld::render(Bild& zRObj) // draws to zRObj
 {
     if (hatStyleNicht(Style::Sichtbar)) return;
     ZeichnungHintergrund::render(zRObj);
@@ -1567,33 +1568,34 @@ void TextFeld::render(Bild& zRObj) // zeichenet nach zRObj
     unlockZeichnung();
 }
 
-// Konstant
-Text* TextFeld::getText() const // gibt vom Text zurueck
+// Constant
+Text* TextFeld::getText() const // returns the text
 {
     if (!tm->text) return 0;
     return dynamic_cast<Text*>(tm->text->getThis());
 }
 
-Text* TextFeld::zText() const // gibt den Text zurueck
+Text* TextFeld::zText() const // returns the text without reference counter
 {
     return tm->text;
 }
 
-Schrift* TextFeld::getSchrift() const // gint getThis der Schrift Zurueck
+Schrift* TextFeld::getSchrift() const // returns the font
 {
     tm->resetIteration();
     return tm->zCurrentRenderer() ? tm->zCurrentRenderer()->getSchrift() : 0;
 }
 
-Schrift* TextFeld::zSchrift() const // gibt die Schrift zurueck
+Schrift*
+TextFeld::zSchrift() const // returns the font without reference counter
 {
     tm->resetIteration();
     return tm->zCurrentRenderer() ? tm->zCurrentRenderer()->zSchrift() : 0;
 }
 
-// Gibt die Schrift zurueck.
-//  rendererIndex: Der Index des Renderers dessen Schrift zurueckgegeben werden
-//  soll return: 0, falls die Schrift nicht gesetzt wurde
+// Returns the font.
+//  rendererIndex: The index of the renderer whose font should be returned
+//  return: 0, if the font was not set
 Schrift* TextFeld::getSchrift(int rendererIndex) const
 {
     if (tm->renderer && tm->renderer->z(rendererIndex))
@@ -1601,9 +1603,9 @@ Schrift* TextFeld::getSchrift(int rendererIndex) const
     return 0;
 }
 
-// Gibt die Schrift ohne erhoehten Reference Counter zuruek
-//  rendererIndex: Der Index des Renderers dessen Schrift zurueckgegeben werden
-//  soll return: 0, falls die Schrift nicht gesetzt wurde
+// Returns the font without increased reference counter
+//  rendererIndex: The index of the renderer whose font should be returned
+//  return: 0, if the font was not set
 Schrift* TextFeld::zSchrift(int rendererIndex) const
 {
     if (tm->renderer && tm->renderer->z(rendererIndex))
@@ -1623,52 +1625,52 @@ TextRenderer* TextFeld::zTextRenderer() const
     return tm->zCurrentRenderer();
 }
 
-// Gibt den TextRenderer zurueck.
-//  index: Der Index des Renderers der zurueckgegeben werden soll
-//  return: 0, falls der TextRenderer nicht gesetzt wurde
+// Returns the TextRenderer.
+//  index: The index of the renderer to be returned
+//  return: 0, if the TextRenderer was not set
 TextRenderer* TextFeld::getTextRenderer(int index) const
 {
     if (tm->renderer && tm->renderer->z(index)) return tm->renderer->get(index);
     return 0;
 }
 
-// Gibt dien TextRenderer ohne erhoehten Reference Counter zuruek
-//  index: Der Index des Renderers der zurueckgegeben werden soll
-//  return: 0, falls der TextRenderer nicht gesetzt wurde
+// Returns the TextRenderer without increased reference counter
+//  index: The index of the renderer to be returned
+//  return: 0, if the TextRenderer was not set
 TextRenderer* TextFeld::zTextRenderer(int index) const
 {
     if (tm->renderer && tm->renderer->z(index)) return tm->renderer->z(index);
     return 0;
 }
 
-unsigned char TextFeld::getSchriftSize() const // gibt die Schriftgroesse zurueck
+unsigned char TextFeld::getSchriftSize() const // returns the font size
 {
     tm->resetIteration();
     return tm->current.fontSize;
 }
 
-// Gibt die Schriftgroesse zurueck
-//  index: Der Index des Zeichens
+// Returns the font size
+//  index: The index of the character
 unsigned char TextFeld::getSchriftSize(int index) const
 {
     tm->resetIteration();
     return tm->current.fontSize;
 }
 
-int TextFeld::getSchriftFarbe() const // gibt getThis der Schriftfarbe zurueck
+int TextFeld::getSchriftFarbe() const // returns the font color
 {
     tm->resetIteration();
     return tm->current.fontColor;
 }
 
-// Gibt die Schriftfarbe im A8R8G8B8 Format zurueck
-//  index: Der Index des Zeichens
+// Returns the font color in A8R8G8B8 format
+//  index: The index of the character
 int TextFeld::getSchriftFarbe(int index) const
 {
     return tm->getTextStyle(index).fontColor;
 }
 
-unsigned char TextFeld::getShowChar() const // gibt den Anzeige Char zurueck
+unsigned char TextFeld::getShowChar() const // returns the display character
 {
     return showChar;
 }
@@ -1678,17 +1680,17 @@ int TextFeld::getCursorPos() const
     return cpos;
 }
 
-// Gibt 1 zurueck wenn das Zeichen ausgewaehlt ist
-//  index: Der Index des Zeichens
+// Returns 1 if the character is selected
+//  index: The index of the character
 bool TextFeld::isCharSelected(int index) const
 {
     return tm->getTextStyle(index).selected;
 }
 
-// Gibt den Index des Zeichens zurueck, das sich unter der Maus befindet
-//  mx: die x position der maus relativ zur position des textfeldes
-//  my: die y position der maus relativ zut position des textfeldes
-//  return: -1, falls sich an der Position kein zeichen befindet
+// Returns the index of the character located under the mouse
+//  mx: the x position of the mouse relative to the text field position
+//  my: the y position of the mouse relative to the text field position
+//  return: -1, if no character is at the position
 int TextFeld::getTextIndexAt(int mx, int my) const
 {
     if (!tm || !tm->text || !tm->zCurrentRenderer()) return -1;
@@ -1745,10 +1747,10 @@ int TextFeld::getTextIndexAt(int mx, int my) const
     return -1;
 }
 
-// Gibt den Index des Zeichens zurueck, vor dem der curser gesetzt wird, wenn mit
-// der maus geklickt wird
-//  mx: die x position der maus relativ zur position des textfeldes
-//  my: die y position der maus relativ zut position des textfeldes
+// Returns the index of the character before which the cursor is placed when
+// the mouse is clicked
+//  mx: the x position of the mouse relative to the text field position
+//  my: the y position of the mouse relative to the text field position
 int TextFeld::getCurserPosAt(int mx, int my) const
 {
     if (!tm || !tm->text || !tm->zCurrentRenderer())
@@ -1810,21 +1812,21 @@ int TextFeld::getCurserPosAt(int mx, int my) const
     return tm->text->getLength();
 }
 
-// Gibt den Style eines bestimmten zeichens zurueck
-//  index: Der index des Zeichensf
+// Returns the style of a specific character
+//  index: The index of the character
 TextStyle TextFeld::getTextStyle(int index) const
 {
     return tm->getTextStyle(index);
 }
 
-// gibt die Zeichenkette zurueck, die bei Verwendung des Styles
-// AutoLineBreak nach jedem Zeilenumbruch eingefuegt wird
+// returns the string that is inserted after each line break when using
+// the AutoLineBreak style
 Text TextFeld::getAutoLineBreakSpacing() const
 {
     return autoLineBreakSpacing ? *autoLineBreakSpacing : Text("");
 }
 
-Zeichnung* TextFeld::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
+Zeichnung* TextFeld::dublizieren() const // Creates a copy of the drawing
 {
     TextFeld* obj = new TextFeld();
     obj->setPosition(pos);

+ 17 - 17
Textur.cpp

@@ -10,7 +10,7 @@
 
 using namespace Framework;
 
-// Inhalt der Textur Klasse
+// Contents of the Textur class
 // Constructor
 Textur::Textur()
     : ReferenceCounter()
@@ -27,8 +27,8 @@ Textur::~Textur()
     if (bild) bild->release();
 }
 
-// Setzt einen Zeiger auf das Bild, welches die Textur enthaelt
-//  b: Der Zeiger auf das Bild
+// Sets a pointer to the image that contains the texture
+//  b: The pointer to the image
 void Textur::setBildZ(Bild* b)
 {
     if (bild != b) changed = 1;
@@ -36,8 +36,8 @@ void Textur::setBildZ(Bild* b)
     bild = b;
 }
 
-// Setzt das Bild welches die Textur enthaelt, indem es kopiert wird
-//  b: Das Bild, was kopiert werden soll
+// Sets the image that contains the texture by copying it
+//  b: The image to be copied
 void Textur::setBild(Bild* b)
 {
     if (!b) return;
@@ -52,33 +52,33 @@ void Textur::setBild(Bild* b)
     b->release();
 }
 
-// Gibt einen Zeiger auf das Bild zurueck
+// Returns a pointer to the image
 Bild* Textur::getBild() const
 {
     return bild ? dynamic_cast<Bild*>(bild->getThis()) : 0;
 }
 
-// Gibt einen Zeiger auf das Bild ohne erhoehten Reference Counter zurueck
+// Returns a pointer to the image without increased reference counter
 Bild* Textur::zBild() const
 {
     return bild;
 }
 
-// Gibt die Id der Textur zurueck, wenn sie in einer TexturList registriert
-// wurde. (siehe Framework::zTexturRegister())
+// Returns the id of the texture if it was registered in a TexturList.
+// (see Framework::zTexturRegister())
 int Textur::getId() const
 {
     return id;
 }
 
-// Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in den
-// Graphikspeicher kopiert
+// Updates the texture. The pixels of the current image are copied into
+// the graphics memory
 bool DX9Textur::updateTextur()
 {
     return 1;
 }
 
-// Gibt true zuruek, wenn updateTextur aufgerufen werden muss
+// Returns true if updateTextur needs to be called
 bool DX9Textur::brauchtUpdate() const
 {
     return 0;
@@ -102,8 +102,8 @@ DX11Textur::~DX11Textur()
 #endif
 }
 
-// Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in den
-// Graphikspeicher kopiert
+// Updates the texture. The pixels of the current image are copied into
+// the graphics memory
 bool DX11Textur::updateTextur()
 {
     if (!bild) return 0;
@@ -176,19 +176,19 @@ bool DX11Textur::updateTextur()
     return 1;
 }
 
-// Gibt true zuruek, wenn updateTextur aufgerufen werden muss
+// Returns true if updateTextur needs to be called
 bool DX11Textur::brauchtUpdate() const
 {
     return !view;
 }
 
-// Gibt die verwendtete Shader Resource View zurueck
+// Returns the used shader resource view
 DX11Textur::operator ID3D11ShaderResourceView*() const
 {
     return view;
 }
 
-//! Gibt die verwendete Textur zurueck
+//! Returns the used texture
 DX11Textur::operator ID3D11Texture2D*() const
 {
     return txt;

+ 12 - 12
Textur2D.cpp

@@ -29,30 +29,30 @@ Textur2D::~Textur2D()
     animData->release();
 }
 
-// Legt fest, ob die animation sich automatisch wiederhohlen soll
-//  ca: 1, falls sich die animation automatisch wiederhohlen soll
+// specifies whether the animation should repeat automatically
+//  ca: 1 if the animation should repeat automatically
 void Textur2D::setCircularAnimation(bool ca)
 {
     circularAnimation = ca;
 }
 
-// setzt einen Zeiger auf die Textur (fals nicht animiert)
-//  textur: Der Zeiger auf das Bild
+// sets a pointer to the texture (if not animated)
+//  textur: The pointer to the image
 void Textur2D::setTexturZ(Bild* textur)
 {
     if (txt) txt->release();
     txt = textur;
 }
 
-// fuegt eine Animation hinzu
-//  textur: Der Zeiger auf die Animationsdaten
+// adds an animation
+//  textur: The pointer to the animation data
 void Textur2D::addAnimationZ(Animation2DData* textur)
 {
     animData->add(new Animation{textur, 0, 0});
 }
 
-// setzt die aktuelle Annimation
-//  index: Der Index der Animation
+// sets the current animation
+//  index: The index of the animation
 void Textur2D::setAnimation(int index)
 {
     if (animationIndex == index) return;
@@ -69,7 +69,7 @@ void Textur2D::setAnimation(int index)
         animationIndex = 0;
 }
 
-// aktiviert die nachfolgende animation
+// activates the next animation
 void Textur2D::nextAnimation()
 {
     if (animationIndex != -1)
@@ -85,8 +85,8 @@ void Textur2D::nextAnimation()
         animationIndex = 0;
 }
 
-// setzt die vergangene Zeit seit dem letzten Aufruf
-//  t: die vergangene Zeit in sekunden
+// sets the elapsed time since the last call
+//  t: the elapsed time in seconds
 bool Textur2D::tick(double t)
 {
     if (animationIndex != -1)
@@ -111,7 +111,7 @@ bool Textur2D::tick(double t)
     return 0;
 }
 
-// gibt die aktuelle Textur zurueck
+// returns the current texture
 Bild* Textur2D::zTextur() const
 {
     if (animationIndex != -1)

+ 21 - 22
TexturList.cpp

@@ -8,7 +8,7 @@ using namespace Framework;
 int TexturList::id = 0;
 Critical TexturList::cs;
 
-// Inhalt der TexturList Klasse
+// Contents of the TexturList class
 // Constructor
 TexturList::TexturList()
     : ReferenceCounter()
@@ -24,7 +24,7 @@ TexturList::~TexturList()
     names->release();
 }
 
-// Loescht alle Texturen
+// Deletes all textures
 __declspec(dllexport) void TexturList::leeren()
 {
     cs.lock();
@@ -33,9 +33,9 @@ __declspec(dllexport) void TexturList::leeren()
     cs.unlock();
 }
 
-// Fuegt der Liste eine Textur hinzu
-//  t: Die Textur
-//  name: Der name, unter dem die Textur in der Liste gespeichert wird
+// Adds a texture to the list
+//  t: The texture
+//  name: The name under which the texture is stored in the list
 bool TexturList::addTextur(Textur* t, const char* name)
 {
     cs.lock();
@@ -55,8 +55,8 @@ bool TexturList::addTextur(Textur* t, const char* name)
     return 1;
 }
 
-// Entfernt eine Textur aus der Liste
-//  name: Der Name der Textur
+// Removes a texture from the list
+//  name: The name of the texture
 void TexturList::removeTextur(const char* name)
 {
     cs.lock();
@@ -75,9 +75,9 @@ void TexturList::removeTextur(const char* name)
     cs.unlock();
 }
 
-// UEberprueft, ob unter einem bestimmten Namen eine Textur abgespeichert wurde
-//  name: Der Name
-//  return: true, wenn eine Textur mit dem Namen existiert
+// Checks whether a texture has been stored under a specific name
+//  name: The name
+//  return: true if a texture with the name exists
 bool TexturList::hatTextur(const char* name) const
 {
     cs.lock();
@@ -93,8 +93,8 @@ bool TexturList::hatTextur(const char* name) const
     return 0;
 }
 
-// Gibt eine bestimmte Textur zurueck
-//  name: Der Name der Textur
+// Returns a specific texture
+//  name: The name of the texture
 Textur* TexturList::getTextur(const char* name) const
 {
     cs.lock();
@@ -112,8 +112,8 @@ Textur* TexturList::getTextur(const char* name) const
     return 0;
 }
 
-// Gibt eine bestimmte Textur zurueck
-//  id: Die Id der Textur
+// Returns a specific texture
+//  id: The id of the texture
 Textur* TexturList::getTextur(int id) const
 {
     cs.lock();
@@ -129,8 +129,8 @@ Textur* TexturList::getTextur(int id) const
     return 0;
 }
 
-// Gibt eine bestimmte Textur ohne erhoehten Reference Counter zurueck
-//  name: Der Name der Textur
+// Returns a specific texture without increased reference counter
+//  name: The name of the texture
 Textur* TexturList::zTextur(const char* name) const
 {
     cs.lock();
@@ -148,8 +148,8 @@ Textur* TexturList::zTextur(const char* name) const
     return 0;
 }
 
-// Gibt eine bestimmte Textur ohne erhoehten Reference Counter zurueck
-//  id: Die Id der Textur
+// Returns a specific texture without increased reference counter
+//  id: The id of the texture
 Textur* TexturList::zTextur(int id) const
 {
     cs.lock();
@@ -165,14 +165,13 @@ Textur* TexturList::zTextur(int id) const
     return 0;
 }
 
-// statische Funktionen
+// static functions
 
-// Initialisiert statische private member. Wird vom Framework automatisch
-// aufgerufen.
+// Initializes static private members. Called automatically by the framework.
 void TexturList::init()
 {
     id = 0;
 }
 
-// Loescht statische private member. Wird vom Framework automatisch aufgerufen.
+// Deletes static private members. Called automatically by the framework.
 void TexturList::destroy() {}

+ 8 - 8
TexturModel.cpp

@@ -9,7 +9,7 @@
 
 using namespace Framework;
 
-// Inhalt der TexturModel Klasse
+// Contents of the TexturModel class
 
 // Constructor
 TexturModel::TexturModel(GraphicsApi* zApi)
@@ -52,8 +52,8 @@ Framework::TexturModel::TexturModel(GraphicsApi* zApi, const char* uniqueName)
     textur = new Model3DTextur();
 }
 
-// Setzt die Textur die angezeigt werden soll
-//  t: Die Textur
+// Sets the texture to be displayed
+//  t: The texture
 void TexturModel::setTextur(Textur* t)
 {
     if (!t) return;
@@ -61,8 +61,8 @@ void TexturModel::setTextur(Textur* t)
     rend = 1;
 }
 
-// Setzt die Groesse, in der Die Textur angezeigt wird
-//  gr: Ein Vektor, der fuer x und y die breite und hoehe beinhaltet
+// Sets the size in which the texture is displayed
+//  gr: A vector containing width and height for x and y
 void TexturModel::setSize(Vec2<float> gr)
 {
     gr /= 2;
@@ -80,9 +80,9 @@ void TexturModel::setSize(Vec2<float> gr)
     model->setVertecies(vertecies, 4);
 }
 
-// Setzt die Groesse, in der die Textur angezeigt wird
-//  b: Die Breite, in der die Textur angezeigt wird
-//  h: Die Hoehe, in der die Textur angezeigt wird
+// Sets the size in which the texture is displayed
+//  b: The width in which the texture is displayed
+//  h: The height in which the texture is displayed
 void TexturModel::setSize(float b, float h)
 {
     b /= 2;

+ 16 - 17
Thread.cpp

@@ -33,7 +33,7 @@ Thread::~Thread()
 }
 
 // non-constant
-void Thread::start() // startet den Thread
+void Thread::start() // starts the thread
 {
     if (!run)
     {
@@ -47,19 +47,19 @@ void Thread::start() // startet den Thread
     run = 1;
 }
 #ifdef WIN32
-void Thread::pause() // pausiert den Thread
+void Thread::pause() // pauses the thread
 {
     if (run) SuspendThread(threadHandle);
     run = 0;
 }
 
-void Thread::fortsetzen() // pausiert den Thread
+void Thread::fortsetzen() // resumes the thread
 {
     if (!run) ResumeThread(threadHandle);
     run = 1;
 }
 #endif
-void Thread::ende() // beendet den Thread
+void Thread::ende() // terminates the thread
 {
     if (run)
     {
@@ -97,12 +97,12 @@ void Thread::threadEnd()
 }
 
 // constant
-bool Thread::isRunning() const // prueft, ob der Thrad aktiv ist
+bool Thread::isRunning() const // checks if the thread is active
 {
     return run;
 }
 
-int Thread::warteAufThread(int zeit) // wartet zeit lang auf den Thread
+int Thread::warteAufThread(int zeit) // waits for the thread for the given time
 {
 #ifdef WIN32
     if (!run) return WAIT_OBJECT_0;
@@ -125,9 +125,9 @@ int Thread::warteAufThread(int zeit) // wartet zeit lang auf den Thread
 #endif
 }
 
-// Legt einen Frameworkpointer auf ein Threadhandle fest, der auf 0 gesetzt
-// wird, falls die Ressourcen des Threads bereits follstaenfig aufgeraeumt wurden
-//  ths: Ein Zeiger auf ein Threadhandle, das veraendert werden soll
+// Sets a framework pointer to a thread handle that is set to 0
+// when the thread's resources have already been fully cleaned up
+//  ths: A pointer to a thread handle that should be modified
 void Thread::setSystemHandlePointer(pthread_t* ths)
 {
     threadHandleSys = ths;
@@ -161,7 +161,7 @@ void Thread::removeCriticalLock()
     lockCount--;
 }
 
-// funktionen
+// functions
 #ifdef WIN32
 unsigned long __stdcall Framework::threadStart(void* param)
 {
@@ -248,16 +248,15 @@ void ThreadRegister::addClosedThread(pthread_t handle)
     LeaveCriticalSection(&cs);
 }
 
-// Sucht nach einem bestimmten Thread und gibt das zugehoerige Objekt zurueck
-// handle: Ein handle zu dem gesuchten Thread
+// Searches for a specific thread and returns the associated object
+// handle: A handle to the thread being searched for
 Thread* ThreadRegister::zThread(pthread_t handle)
 {
     if (handle == 0) return 0;
     EnterCriticalSection(&cs);
     for (auto i : threads)
     {
-        if (i->getThreadHandle()
-            && i->getThreadHandle() == handle)
+        if (i->getThreadHandle() && i->getThreadHandle() == handle)
         {
             LeaveCriticalSection(&cs);
             return i;
@@ -267,19 +266,19 @@ Thread* ThreadRegister::zThread(pthread_t handle)
     return 0;
 }
 
-// sperrt das register
+// locks the register
 void ThreadRegister::lock()
 {
     EnterCriticalSection(&cs);
 }
 
-// entsperrt das register
+// unlocks the register
 void ThreadRegister::unlock()
 {
     LeaveCriticalSection(&cs);
 }
 
-// Loescht die bereits beendetetn Threads und gibt ihre Reccourcen wieder frei
+// Deletes already finished threads and releases their resources
 void ThreadRegister::cleanUpClosedThreads()
 {
     EnterCriticalSection(&cs);

+ 16 - 16
ToolTip.cpp

@@ -107,8 +107,8 @@ void ToolTip::doMausEreignis(MausEreignis& me, bool userRet)
     if (alpha) rend = 1;
 }
 
-// Fuegt eine Zeichnung zum Tooltip hinzu
-//  m: die neue Zeichnung
+// Adds a drawing to the tooltip
+//  m: the new drawing
 void ToolTip::addMember(Zeichnung* m)
 {
     members->add(m);
@@ -128,23 +128,23 @@ void ToolTip::removeMember(Zeichnung* zM)
     }
 }
 
-// Entfernt eine Zeichnung vom Tooltip
-//  i: der Index der Zeichnung
+// Removes a drawing from the tooltip
+//  i: the index of the drawing
 void ToolTip::removeMember(int i)
 {
     members->remove(i);
 }
 
-// setzt eine Funktion, die aufgerufen wird, sobald der Tooltip angezeigt wird
-//  onShow: Die Funktion
+// sets a function that is called when the tooltip is shown
+//  onShow: The function
 void ToolTip::setShowEvent(std::function<void(ToolTip*)> onShow)
 {
     this->onShow = onShow;
 }
 
-// setzt eine Funktion, die aufgerufen wird, sobald der Tooltip nicht mehr
-// angezeigt wird
-//  onShow: Die Funktion
+// sets a function that is called when the tooltip is no longer
+// shown
+//  onShow: The function
 void ToolTip::setHideEvent(std::function<void(ToolTip*)> onHide)
 {
     this->onHide = onHide;
@@ -288,27 +288,27 @@ Bildschirm* ToolTip::zBildschirm() const
     return bildschirm;
 }
 
-// Gibt ein bestimmten member zurueck (ohne erhoehten Reference Counter)
-//  i: der Index des Members
+// Returns a specific member (without increased reference counter)
+//  i: the index of the member
 Zeichnung* ToolTip::zMember(int i) const
 {
     return members->z(i);
 }
 
-// Gibt ein bestimmten member zurueck
-//  i: der Index des Members
+// Returns a specific member
+//  i: the index of the member
 Zeichnung* ToolTip::getMember(int i) const
 {
     return members->get(i);
 }
 
-// Gibt die Anzahl an Zeichnungen zurueck, die zum Tooltip gehoeren
+// Returns the number of drawings that belong to the tooltip
 int ToolTip::getMemberAnzahl() const
 {
     return members->getEintragAnzahl();
 }
 
-// Erzeugt eine komplette kopie eines tooltip
+// Creates a complete copy of a tooltip
 Zeichnung* ToolTip::dublizieren() const
 {
     ToolTip* ret = new ToolTip(bildschirm);
@@ -327,7 +327,7 @@ Zeichnung* ToolTip::dublizieren() const
     return ret;
 }
 
-//! Prueft ob der Tooltip im moment angezeigt wird
+//! Checks whether the tooltip is currently being shown
 DLLEXPORT bool ToolTip::isVisible() const
 {
     return sichtbar;

+ 7 - 7
UIDialog.cpp

@@ -43,7 +43,7 @@ UIDialog::~UIDialog() {}
 void UIDialog::adjustSize()
 {
     Punkt max = Punkt(0, 0);
-    for (Zeichnung *z : getMembers())
+    for (Zeichnung* z : getMembers())
     {
         if (z->hatStyle(Zeichnung::Style::Sichtbar))
         {
@@ -59,23 +59,23 @@ void UIDialog::adjustSize()
                                                    : 0)));
 }
 
-// Fuegt dem Fenster eine Zeichnung hinzu
-//  obj: Die Zeichnung
+// Adds a drawing to the window
+//  obj: the drawing
 void UIDialog::addMember(Zeichnung* obj)
 {
     Fenster::addMember(obj);
     adjustSize();
 }
 
-// Entfernt eine Zeichnung aus dem Fenster
-//  zObj: Die Zeichnung (ohne erhoehten reference Counter)
+// Removes a drawing from the window
+//  zObj: the drawing (without increased reference counter)
 void UIDialog::removeMember(Zeichnung* zObj)
 {
     Fenster::removeMember(zObj);
     adjustSize();
 }
 
-// Entfernt alle Zeichnungen aus dem Fenster
+// Removes all drawings from the window
 void UIDialog::removeAll()
 {
     Fenster::removeAll();
@@ -96,7 +96,7 @@ UIMessageDialog::UIMessageDialog(
     tr.textFormatieren(msg->zText(), 590);
     int br = tr.getTextBreite(message);
     int hoe = tr.getTextHeight(message);
-    msg->setSize(br, hoe );
+    msg->setSize(br, hoe);
     Knopf* ok = init.createKnopf(init.initParam);
     ok->setText("Ok");
     ok->setMausEreignis([this](void* p, void* o, MausEreignis me) {

+ 42 - 43
UIMLView.cpp

@@ -20,7 +20,7 @@ UIMLElement::UIMLElement()
 
 UIMLElement::~UIMLElement() {}
 
-//! wendet die layout parameter zu einer Zeichnung an
+//! applies the layout parameters to a Zeichnung
 void UIMLElement::layout(XML::Element& element,
     Zeichnung& z,
     int pWidth,
@@ -1071,7 +1071,7 @@ void UIMLFrame::layout(XML::Element& element,
     }
 }
 
-// Erstellt eine UIML View
+// Creates a UIML View
 UIMLView::UIMLView()
     : ZeichnungHintergrund()
 {
@@ -1090,8 +1090,8 @@ UIMLView::UIMLView()
     addKnownElement(new UIMLFrame());
 }
 
-// Erstellt eine UIML View zu einem UIML Text
-//  uiml: Ein xml element gemaet des ksg uiml standarts
+// Creates a UIML View from a UIML text
+//  uiml: An xml element according to the KSG UIML standard
 UIMLView::UIMLView(XML::Element* uiml, UIInit& init)
     : UIMLView()
 {
@@ -1099,8 +1099,8 @@ UIMLView::UIMLView(XML::Element* uiml, UIInit& init)
     setUIML(uiml);
 }
 
-// Erstellt eine UIML View zu einem UIML Text
-//  uiml: Ein xml text gemaet des ksg uiml standarts
+// Creates a UIML View from a UIML text
+//  uiml: An xml text according to the KSG UIML standard
 UIMLView::UIMLView(Text uiml, UIInit& init)
     : UIMLView()
 {
@@ -1114,8 +1114,8 @@ UIMLView::~UIMLView()
     members->release();
 }
 
-// Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch aufgerufen.
-//  me: Das Ereignis
+// Processes a mouse event. Called automatically by the framework.
+//  me: The event
 void UIMLView::doMausEreignis(MausEreignis& me, bool userRet)
 {
     if (dom)
@@ -1174,20 +1174,19 @@ void Framework::UIMLView::setOnMemberKeyboardEvent(std::function<bool(
     onMemberKeyboardEvent = onEventAction;
 }
 
-//! entfernt alle bekannten elemente, die im uiml verwendet werden koennen
+//! removes all known elements that can be used in UIML
 void UIMLView::removeAllKnownElements()
 {
     knownElements.leeren();
 }
 
-//! fuegt ein neues bekanntes element hinzu, dass danach im uiml verwendet werden
-//! kann.
+//! adds a new known element that can then be used in UIML.
 void UIMLView::addKnownElement(UIMLElement* element)
 {
     knownElements.add(element);
 }
 
-//! prueft, ob ein xml Element ein bekanntes uiml Element ist;
+//! checks whether an xml element is a known UIML element;
 bool UIMLView::isKnownElement(XML::Element* zElement)
 {
     for (UIMLElement* element : knownElements)
@@ -1197,8 +1196,8 @@ bool UIMLView::isKnownElement(XML::Element* zElement)
     return 0;
 }
 
-// setzt den inhalt der view
-//  uiml: Ein xml element gemaet des ksg uiml standarts
+// sets the content of the view
+//  uiml: An xml element according to the KSG UIML standard
 void UIMLView::setUIML(XML::Element* uiml)
 {
     if (dom)
@@ -1230,22 +1229,22 @@ void UIMLView::setUIML(XML::Element* uiml)
     }
 }
 
-// setzt den inhalt der view
-//  uiml: Ein xml text gemaet des ksg uiml standarts
+// sets the content of the view
+//  uiml: An xml text according to the KSG UIML standard
 void UIMLView::setUIML(Text uiml)
 {
     setUIML(new XML::Element(uiml));
 }
 
-// Gibt eine zeichnung zurueck, welche in uiml eine bestimmte id hat
-//  id: die id der Zeichnung
+// Returns a drawing that has a specific id in UIML
+//  id: the id of the drawing
 Zeichnung* UIMLView::zZeichnungById(const char* id)
 {
     return members->z(id, textLength(id));
 }
 
-// Gibt eine zeichnung zurueck, welche in uiml eine bestimmte id hat
-//  id: die id der Zeichnung
+// Returns a drawing that has a specific id in UIML
+//  id: the id of the drawing
 Zeichnung* UIMLView::getZeichnungById(const char* id)
 {
     return members->get(id, textLength(id));
@@ -1265,7 +1264,7 @@ void Framework::UIMLView::update()
     }
 }
 
-// aktualisiert groesse und position aller Zeichnungen gemaess den spezifikationen
+// updates size and position of all drawings according to the specifications
 // in UIML
 void UIMLView::layout()
 {
@@ -1287,9 +1286,9 @@ void UIMLView::layout()
     }
 }
 
-// fuegt ein element hinzu
-//  uiml: Ein xml text gemaet des KSG UIML standarts, welcher das neue Objekt
-//  darstellt
+// adds an element
+//  uiml: An xml text according to the KSG UIML standard representing the
+//  new object
 Text UIMLView::addMember(Text uiml)
 {
     XML::Element* e = new XML::Element(uiml);
@@ -1302,10 +1301,10 @@ Text UIMLView::addMember(Text uiml)
     return e->getAttributeValue("id");
 }
 
-// fuegt ein element zu einem Elternelement hinzu (funktioniert momentan nur mit
-// frame Objekten)
-//  uiml: Ein xml text gemaet des KSG UIML standarts, welcher das neue Objekt
-//  darstellt
+// adds an element to a parent element (currently only works with
+// frame objects)
+//  uiml: An xml text according to the KSG UIML standard representing the
+//  new object
 Text UIMLView::addMember(Text uiml, Text parentId)
 {
     XML::Element* e = new XML::Element(uiml);
@@ -1334,8 +1333,8 @@ Text UIMLView::addMember(Text uiml, Text parentId)
     return "";
 }
 
-// entfernt ein element
-//  id: id des Elements
+// removes an element
+//  id: id of the element
 void UIMLView::removeMember(Text id)
 {
     XML::Editor e = dom->selectChildsByAttribute("id", id);
@@ -1343,8 +1342,8 @@ void UIMLView::removeMember(Text id)
     members->remove(id, id.getLength());
 }
 
-// Verarbeitet ein Tastatur Ereignis. Wird vom Framework automatisch aufgerufen
-//  te: Das Ereignis
+// Processes a keyboard event. Called automatically by the framework
+//  te: The event
 void UIMLView::doTastaturEreignis(TastaturEreignis& te)
 {
     bool verarbeitet = te.verarbeitet;
@@ -1361,10 +1360,10 @@ void UIMLView::doTastaturEreignis(TastaturEreignis& te)
     }
 }
 
-// Updated den Zeichenhintergrund
-//  tickVal: Die vergangene Zeit in Sekunden, die seit dem Letzten Aufruf dieser
-//  Funktion verstrichen ist return: 1, wenn das Bild neu gezeichnet werden
-//  muss. 0 sonnst
+// Updates the drawing background
+//  tickVal: The elapsed time in seconds since the last call of this
+//  function return: 1 if the image needs to be redrawn.
+//  0 otherwise
 bool UIMLView::tick(double tickVal)
 {
     if (dom)
@@ -1379,7 +1378,7 @@ bool UIMLView::tick(double tickVal)
     return ZeichnungHintergrund::tick(tickVal);
 }
 
-// Zeichnet den Hintergrund eines Zeichnunges nach rObj
+// Draws the background of a drawing to rObj
 void UIMLView::render(Bild& rObj)
 {
     if (hatStyle(Zeichnung::Style::Sichtbar))
@@ -1408,17 +1407,17 @@ void UIMLView::render(Bild& rObj)
     }
 }
 
-// Gibt den Dom Tree ohne erhoehten reference counter zurueck
-// AEnderungen am Dom Tree sollten vermieden werden (nur aenderungen von
-// attributen einzelner elemente sind erlaubt)
+// Returns the DOM tree without increased reference counter
+// Changes to the DOM tree should be avoided (only changes to
+// attributes of individual elements are allowed)
 XML::Element* UIMLView::zDom() const
 {
     return dom;
 }
 
-// Gibt den Dom Tree zurueck
-// AEnderungen am Dom Tree sollten vermieden werden (nur aenderungen von
-// attributen einzelner elemente sind erlaubt)
+// Returns the DOM tree
+// Changes to the DOM tree should be avoided (only changes to
+// attributes of individual elements are allowed)
 XML::Element* UIMLView::getDom() const
 {
     return dom ? dynamic_cast<XML::Element*>(dom->getThis()) : 0;

+ 17 - 17
Welt2D.cpp

@@ -15,8 +15,8 @@ Object2D::Object2D()
 
 Object2D::~Object2D() {}
 
-// UEbergibt einen Void Funktionspointer auf eine Aktion die einmalig vom
-// Hauptthread ausgefuehrt werden soll. (Passiert nach dem Tick)
+// Passes a void function pointer to an action that is executed once by the
+// main thread. (Happens after the tick)
 void Object2D::postAction(std::function<void()> action)
 {
     actions.push(action);
@@ -91,13 +91,13 @@ void Object2D::setCollision(bool handle)
 bool Object2D::handleCollision(Object2D* obj)
 {
     Vertex hp;
-    if (istModelInnen(obj, &hp)) // hp wird auf den aufprallpunkt gesetzt
+    if (istModelInnen(obj, &hp)) // hp is set to the collision point
     {
-        // Geschwindigkeit von diesem objekt mit rotation
+        // Velocity of this object with rotation
         Vertex v1
             = getSpeed()
             + getWorldDir(getObjectPos(hp).rotation(rSpeed) - getObjectPos(hp));
-        // Geschwindigkeit des anderen Objektes mit rotation
+        // Velocity of the other object with rotation
         Vertex v2
             = obj->getSpeed()
             + getWorldDir(obj->getObjectPos(hp).rotation(obj->getDrehungSpeed())
@@ -106,20 +106,20 @@ bool Object2D::handleCollision(Object2D* obj)
                 > (hp + v1 * 0.03f - obj->getPosition()).getLengthSq()
             || (hp - getPosition()).getLengthSq()
                    > (hp + v2 * 0.03f - getPosition()).getLengthSq())
-        { // nur wenn sie sich aufeinander zu bewegen
-            float m1 = getMasse() * v1.getLength();      // flaeche von Objekt 1
-            float m2 = obj->getMasse() * v2.getLength(); // flaeche von Objekt 2
+        { // only if they are moving towards each other
+            float m1 = getMasse() * v1.getLength();      // area of object 1
+            float m2 = obj->getMasse() * v2.getLength(); // area of object 2
             if (m1 == 0 || m2 == 0)
-                return 0; // falls ein objekt keine masse hat ignoriere die
-                          // kollision
-            float nm1 = m1 / (m1 + m2); // koeffizient fuer objekt 2
-            float nm2 = m2 / (m1 + m2); // koeffizient fuer Objekt 1
-            // rSpeed *= nm1; // Drehgeschwindigkeit anpassen (objekt 1)
-            // speed *= nm1; // Bewegungsgeschwindigkeit anpassen (objekt 1)
+                return 0; // if an object has no mass, ignore the
+                          // collision
+            float nm1 = m1 / (m1 + m2); // coefficient for object 2
+            float nm2 = m2 / (m1 + m2); // coefficient for object 1
+            // rSpeed *= nm1; // adjust rotation speed (object 1)
+            // speed *= nm1; // adjust movement speed (object 1)
             // obj->setDrehungSpeed( obj->getDrehungSpeed() * nm2 ); //
-            // Drehgeschwindigkeit anpassen (objekt 2) obj->setSpeed(
-            // obj->getSpeed() * nm2 ); // Bewegungsgeschwindigkeit anpassen
-            // (objekt 2)
+            // adjust rotation speed (object 2) obj->setSpeed(
+            // obj->getSpeed() * nm2 ); // adjust movement speed
+            // (object 2)
             float speedSumLength
                 = getSpeed().getLength() + obj->getSpeed().getLength();
             rSpeed = 0;

+ 31 - 31
Welt3D.cpp

@@ -30,20 +30,20 @@ Welt3D::~Welt3D()
     delete[] diffuseLights;
 }
 
-// Blockiert den zugriff auf das Objekt und wartet gegebenfalls auf den Zugriff
+// Blocks access to the object and waits for access if necessary
 void Welt3D::lock()
 {
     cs.lock();
 }
 
-// Gibt das Objekt fuer andere Threads frei
+// Releases the object for other threads
 void Welt3D::unlock()
 {
     cs.unlock();
 }
 
-// Fuegt der Welt ein Objekt hinzu
-//  obj: Das Objekt, was hinzugefuegt werden soll
+// Adds an object to the world
+//  obj: The object to be added
 void Welt3D::addZeichnung(Model3D* obj)
 {
     cs.lock();
@@ -59,8 +59,8 @@ void Welt3D::addZeichnung(Model3D* obj)
     cs.unlock();
 }
 
-// Entfernt ein Objekt aus der Welt
-//  obj: Das Objekt, das entwernt werden soll
+// Removes an object from the world
+//  obj: The object to be removed
 void Welt3D::removeZeichnung(Model3D* obj)
 {
     cs.lock();
@@ -78,8 +78,8 @@ void Welt3D::removeZeichnung(Model3D* obj)
     cs.unlock();
 }
 
-//! Fuegt der Welt eine Collection von Objekten hinzu
-//! \param collection Die Collection, die hinzugefuegt werden soll
+//! Adds a collection of objects to the world
+//! \param collection The collection to be added
 void Welt3D::addCollection(Model3DCollection* collection)
 {
     cs.lock();
@@ -89,7 +89,7 @@ void Welt3D::addCollection(Model3DCollection* collection)
 }
 
 //! removes a collection of models from the world
-//! \param zCollection Die Collection die entfernt werden soll
+//! \param zCollection The collection to be removed
 void Welt3D::removeCollection(Model3DCollection* zCollection)
 {
     cs.lock();
@@ -107,8 +107,8 @@ void Welt3D::removeCollection(Model3DCollection* zCollection)
     cs.unlock();
 }
 
-// Verarbeitet ein Mausereignis
-//  me: Das Mausereignis, das verarbeitet werden soll
+// Processes a mouse event
+//  me: The mouse event to be processed
 void Welt3D::doMausEreignis(MausEreignis3D& me)
 {
     // cs.lock()
@@ -162,10 +162,10 @@ void Welt3D::doMausEreignis(MausEreignis3D& me)
     // cs.unlock();
 }
 
-// Verarbeitet die vergangene Zeit
-//  tickval: Die zeit in sekunden, die seit dem letzten Aufruf der Funktion
-//  vergangen ist return: true, wenn sich das Objekt veraendert hat, false
-//  sonnst.
+// Processes the elapsed time
+//  tickval: The time in seconds since the last call of the function
+//  return: true if the object has changed, false
+//  otherwise.
 bool Welt3D::tick(double tickval)
 {
     cs.lock();
@@ -177,11 +177,11 @@ bool Welt3D::tick(double tickval)
     return tmp;
 }
 
-// brerechnet die Farbe eines Sichtstrahls, der von einem bestimmten punkt aus
-// in eine bestimmte richtung schaut
-//  point: Der ursprung des Strahls,
-//  dir: Die Richtung des Strahls
-//  return: Die Farbe des Strahls
+// Calculates the color of a view ray from a specific point
+// in a specific direction
+//  point: The origin of the ray,
+//  dir: The direction of the ray
+//  return: The color of the ray
 int Welt3D::traceRay(Vec3<float>& point, Vec3<float>& dir)
 {
     float min = INFINITY;
@@ -199,7 +199,7 @@ int Welt3D::traceRay(Vec3<float>& point, Vec3<float>& dir)
     return 0xFF000000;
 }
 
-//! fuehrt eine funktion auf jedem Model aus
+//! executes a function on every model
 void Framework::Welt3D::forAll(std::function<void(Model3D*)> f)
 {
     for (auto m : *members)
@@ -208,7 +208,7 @@ void Framework::Welt3D::forAll(std::function<void(Model3D*)> f)
         c->forAll(f);
 }
 
-//! fuehrt eine tick funktion auf jedem Model aus
+//! executes a tick function on every model
 bool Welt3D::tick(std::function<void(Model3D*)> f, double time)
 {
     for (auto m : *members)
@@ -219,7 +219,7 @@ bool Welt3D::tick(std::function<void(Model3D*)> f, double time)
     return res;
 }
 
-//! fuehrt eine render funktion auf jedem Model aus
+//! executes a render function on every model
 void Welt3D::render(std::function<void(Model3D*)> f)
 {
     for (auto m : *members)
@@ -248,8 +248,8 @@ void Framework::Welt3D::copyLight(DXBuffer* zDiffuse, DXBuffer* zPoints) const
     zPoints->copieren();
 }
 
-//! fuegt eine neue diffuse lichtquelle hinzu
-//! \param light Die neue Lichtquelle
+//! adds a new diffuse light source
+//! \param light The new light source
 void Framework::Welt3D::addDiffuseLight(DiffuseLight light)
 {
     DiffuseLight* tmp = new DiffuseLight[diffuseLightCount + 1];
@@ -260,8 +260,8 @@ void Framework::Welt3D::addDiffuseLight(DiffuseLight light)
     diffuseLightCount++;
 }
 
-//! fuegt eine neue Punkt lichtquelle hinzu
-//! \param light Die neue Lichtquelle
+//! adds a new point light source
+//! \param light The new light source
 void Framework::Welt3D::addPointLight(PointLight light)
 {
     PointLight* tmp = new PointLight[pointLightCount + 1];
@@ -272,15 +272,15 @@ void Framework::Welt3D::addPointLight(PointLight light)
     pointLightCount++;
 }
 
-//! Gibt die Referenz auf eine Diffuse Lichtquelle zurueck
-//! \param index Der Index der Lichtquelle
+//! Returns the reference to a diffuse light source
+//! \param index The index of the light source
 DiffuseLight& Framework::Welt3D::getDiffuseLight(int index) const
 {
     return diffuseLights[index];
 }
 
-//! Gibt die Referenz auf eine Punkt Lichtquelle zurueck
-//! \param index Der Index der Lichtquelle
+//! Returns the reference to a point light source
+//! \param index The index of the light source
 PointLight& Framework::Welt3D::getPointLight(int index) const
 {
     return pointLights[index];

+ 26 - 27
XML.cpp

@@ -697,8 +697,8 @@ void Editor::selectAllElements(RCArray<Element>* zResult)
     }
 }
 
-//! Gibt einen selector zurueck der alle elemente beinhaltet die in diesem
-//! selector vorkommen und rekursiv alle Kinder der elemente Enthaelt
+//! returns a selector that contains all elements in the selector and all
+//! children of these elements recursively
 Editor Editor::selectAllElements()
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -706,7 +706,7 @@ Editor Editor::selectAllElements()
     return Editor(list);
 }
 
-// gibt einen selector zurueck der alle childs beinhaltet
+// returns a selector that contains all children
 Editor Editor::selectChildren() const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -720,7 +720,7 @@ Editor Editor::selectChildren() const
     return Editor(list);
 }
 
-// gibt einen selector zurueck der alle parents beinhaltet
+// returns a selector that contains all parents
 Editor Editor::selectParents() const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -732,8 +732,8 @@ Editor Editor::selectParents() const
     return Editor(list);
 }
 
-// gibt eine Liste mit elementen zurueck, die einen bestimmten Namen haben
-//  name: der name der Childs
+// returns a list of elements that have a specific name
+//  name: the name of the children
 Editor Editor::whereNameEquals(Text name) const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -745,8 +745,8 @@ Editor Editor::whereNameEquals(Text name) const
     return Editor(list);
 }
 
-// gibt eine Liste mit elementen zurueck, die ein bestimmtes child haben
-//  name: der name des childs
+// returns a list of elements that have a specific child
+//  name: the name of the child
 Editor Editor::whereChildWithNameExists(Text name) const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -758,8 +758,8 @@ Editor Editor::whereChildWithNameExists(Text name) const
     return Editor(list);
 }
 
-// gibt eine Liste mit elementen zurueck, die ein bestimmtes child haben
-//  attribute: der name des attributes
+// returns a list of elements that have a specific child
+//  attribute: the name of the attribute
 Editor Editor::whereChildWithAttributeExists(Text attribute) const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -771,9 +771,9 @@ Editor Editor::whereChildWithAttributeExists(Text attribute) const
     return Editor(list);
 }
 
-// gibt eine Liste mit elementen zurueck, die ein bestimmtes child haben
-//  attribute: der name des attributes
-//  value: der Wert des Attributes
+// returns a list of elements that have a specific child
+//  attribute: the name of the attribute
+//  value: the value of the attribute
 Editor Editor::whereChildWithAttributeExists(Text attribute, Text value) const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -786,8 +786,8 @@ Editor Editor::whereChildWithAttributeExists(Text attribute, Text value) const
     return Editor(list);
 }
 
-// gibt eine Liste mit elementen zurueck, die ein bestimmtes Attribut haben
-//  attribute: der name des Attributes
+// returns a list of elements that have a specific attribute
+//  attribute: the name of the attribute
 Editor Editor::whereAttributeExists(Text attribute) const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -799,10 +799,10 @@ Editor Editor::whereAttributeExists(Text attribute) const
     return Editor(list);
 }
 
-// gibt eine Liste mit elementen zurueck, die ein bestimmtes Attribut mit einem
-// bestimmten wert haben
-//  attribute: der name des Attributes
-//  value: der Wert des Attributes
+// returns a list of elements that have a specific attribute with a
+// specific value
+//  attribute: the name of the attribute
+//  value: the value of the attribute
 Editor Editor::whereAttributeEquals(Text attribute, Text value) const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -815,9 +815,8 @@ Editor Editor::whereAttributeEquals(Text attribute, Text value) const
     return Editor(list);
 }
 
-// Gibt einen Editor zurueck welcher nurnoch die Elemente enthaelt die nicht in e
-// sind
-//  e: Ein Editor mit elementen die nicht enthalten sein sollen
+// Returns an editor that only contains the elements that are not in e
+//  e: An editor with elements that should not be included
 Editor Editor::without(Editor e) const
 {
     RCArray<Element>* list = new RCArray<Element>();
@@ -831,22 +830,22 @@ Editor Editor::without(Editor e) const
     return Editor(list);
 }
 
-// Ruft eine funktion fuer jedes Element auf
-//  f: die funktion (nimmt als argument ein Element objekt ohne erhoehten
-//  reference Counter)
+// calls a function for each element
+//  f: the function (takes an Element object without increased reference
+//  counter)
 void Editor::forEach(std::function<void(Element*)> f) const
 {
     for (auto i : *elements)
         f(i);
 }
 
-//! gibt 1 zurueck, wenn mindestens ein Element gefunden wurde
+//! returns 1 if the editor contains at least one element, 0 otherwise
 bool Editor::exists() const
 {
     return elements->getEintragAnzahl() > 0;
 }
 
-//! gibt die anzahl der ausgewaehlten elemente zurueck
+//! returns the number of elements in the editor
 int Editor::getSize() const
 {
     return elements->getEintragAnzahl();

+ 73 - 76
Zeichnung.cpp

@@ -87,17 +87,17 @@ void Zeichnung::setToolTipText(
     toolTipRequested = 0;
 }
 
-// setzt eine Funktion, die beim erstmaligen gebrauch des tooltips einen tooltip
-// erstellt, falls es noch keinen gibt
-//  initToolTip: die Funktion
+// sets a function that creates a tooltip on first use
+// if one does not exist yet
+//  initToolTip: the function
 void Zeichnung::setNeedToolTipEvent(
     std::function<bool(Zeichnung*, Punkt localPos)> onNeedToolTip)
 {
     this->onNeedToolTip = onNeedToolTip;
 }
 
-// legt den tooltip fest
-// tt: der tooltip
+// sets the tooltip
+// tt: the tooltip
 void Zeichnung::setToolTipZ(ToolTip* tt)
 {
     if (toolTip) toolTip->release();
@@ -117,18 +117,18 @@ void Zeichnung::unlockZeichnung()
 }
 
 void Zeichnung::setMausEreignisParameter(
-    void* p) // setzt den Parameter vom Maus Ereignis
+    void* p) // sets the mouse event parameter
 {
     makParam = p;
 }
 
 void Zeichnung::setTastaturEreignisParameter(
-    void* p) // setzt den Parameter vom Tastatur Ereignis
+    void* p) // sets the keyboard event parameter
 {
     takParam = p;
 }
 
-void Zeichnung::setMausEreignis(MausAktion ak) // setzt das Maus Ereignis
+void Zeichnung::setMausEreignis(MausAktion ak) // sets the mouse event
 {
     mak = ak;
 }
@@ -149,7 +149,7 @@ void Framework::Zeichnung::addMausEreignis(MausAktion ak)
 }
 
 void Zeichnung::setTastaturEreignis(
-    TastaturAktion ak) // setzt das TastaturEreignis
+    TastaturAktion ak) // sets the keyboard event
 {
     tak = ak;
 }
@@ -170,29 +170,29 @@ void Framework::Zeichnung::addTastaturEreignis(TastaturAktion ak)
 }
 
 void Zeichnung::setNMausEreignisParameter(
-    void* p) // setzt den Parameter vom Maus Ereignis
+    void* p) // sets the mouse event parameter
 {
     nmakParam = p;
 }
 
 void Zeichnung::setNTastaturEreignisParameter(
-    void* p) // setzt den Parameter vom Tastatur Ereignis
+    void* p) // sets the keyboard event parameter
 {
     ntakParam = p;
 }
 
-void Zeichnung::setNMausEreignis(MausAktion ak) // setzt das Maus Ereignis
+void Zeichnung::setNMausEreignis(MausAktion ak) // sets the mouse event
 {
     nMak = ak;
 }
 
 void Zeichnung::setNTastaturEreignis(
-    TastaturAktion ak) // setzt das TastaturEreignis
+    TastaturAktion ak) // sets the keyboard event
 {
     nTak = ak;
 }
 
-void Zeichnung::doPublicMausEreignis(MausEreignis& me) // ruft Mak auf
+void Zeichnung::doPublicMausEreignis(MausEreignis& me) // calls Mak
 {
     bool lock = hatStyle(Style::MELockZeichnung);
     if (lock) lockZeichnung();
@@ -267,14 +267,14 @@ void Zeichnung::doPublicMausEreignis(MausEreignis& me) // ruft Mak auf
     if (lock) unlockZeichnung();
 }
 
-void Zeichnung::doTastaturEreignis(TastaturEreignis& te) // ruft Tak auf
+void Zeichnung::doTastaturEreignis(TastaturEreignis& te) // calls Tak
 {
     if (te.verarbeitet) return;
     if (tak) te.verarbeitet |= tak(takParam, this, te);
     if (nTak && te.verarbeitet) te.verarbeitet = nTak(ntakParam, this, te);
 }
 
-void Zeichnung::setPosition(const Punkt& pos) // setzt die position
+void Zeichnung::setPosition(const Punkt& pos) // sets the position
 {
     lockZeichnung();
     if (this->pos != pos) rend = 1;
@@ -304,7 +304,7 @@ void Zeichnung::setY(int yPos)
     unlockZeichnung();
 }
 
-void Zeichnung::setSize(const Punkt& gr) // setzt die Groesse
+void Zeichnung::setSize(const Punkt& gr) // sets the size
 {
     lockZeichnung();
     if (this->gr != gr) rend = 1;
@@ -312,12 +312,12 @@ void Zeichnung::setSize(const Punkt& gr) // setzt die Groesse
     unlockZeichnung();
 }
 
-void Zeichnung::setPosition(int x, int y) // setzt die position
+void Zeichnung::setPosition(int x, int y) // sets the position
 {
     setPosition(Punkt(x, y));
 }
 
-void Zeichnung::setSize(int x, int y) // setzt die Groesse
+void Zeichnung::setSize(int x, int y) // sets the size
 {
     setSize(Punkt(x, y));
 }
@@ -345,7 +345,7 @@ bool Zeichnung::tick(double tickval)
     return r;
 }
 
-void Zeichnung::setStyle(__int64 style) // setzt den Style des Text Feldes
+void Zeichnung::setStyle(__int64 style) // sets the style of the text field
 {
     if (this->style != style)
     {
@@ -396,76 +396,76 @@ void Zeichnung::render(Bild& zRObj)
 }
 
 // constant
-bool Zeichnung::hatMausEreignis() const // prueft, ob Mak gesetzt ist
+bool Zeichnung::hatMausEreignis() const // checks if Mak is set
 {
     return mak != 0;
 }
 
-bool Zeichnung::hatTastaturEreignis() const // prueft, ob Tak gesetzt ist
+bool Zeichnung::hatTastaturEreignis() const // checks if Tak is set
 {
     return tak != 0;
 }
 
-const Punkt& Zeichnung::getPosition() const // gibt die Position zurueck
+const Punkt& Zeichnung::getPosition() const // returns the position
 {
     return pos;
 }
 
-const Punkt& Zeichnung::getSize() const // gibt die Groesse zurueck
+const Punkt& Zeichnung::getSize() const // returns the size
 {
     return gr;
 }
 
-int Zeichnung::getBreite() const // gibt die Breite zurueck
+int Zeichnung::getBreite() const // returns the width
 {
     return gr.x;
 }
 
-int Zeichnung::getHeight() const // gibt die Hoehe zurueck
+int Zeichnung::getHeight() const // returns the height
 {
     return gr.y;
 }
 
-// Gibt die Breite des Innenraumes in der Zeichnung in Pixeln zurueck
+// Returns the width of the interior area of the drawing in pixels
 int Zeichnung::getInnenBreite() const
 {
     return gr.x;
 }
 
-// Gibt die Hoehe des Innenraumes in der Zeichnung in Pixeln zurueck
+// Returns the height of the interior area of the drawing in pixels
 int Zeichnung::getInnenHeight() const
 {
     return gr.y;
 }
 
-int Zeichnung::getX() const // gibt X zurueck
+int Zeichnung::getX() const // returns X
 {
     return pos.x;
 }
 
-int Zeichnung::getY() const // gibt Y zurueck
+int Zeichnung::getY() const // returns Y
 {
     return pos.y;
 }
 
-// Prueft, ob ein Punkt in diesem Objekt liegt
-//  p: der Punkt
-//  return: 1, wenn der punkt innen ist, 0 sonst
+// Checks if a point is inside this object
+//  p: the point
+//  return: 1 if the point is inside, 0 otherwise
 bool Zeichnung::istPunktInnen(Punkt p) const
 {
     return istPunktInnen(p.x, p.y);
 }
 
-// Prueft, ob ein Punkt in diesem Objekt liegt
-//  x: die x koordinate des punktes
-//  y: die y koordinate des punktes
-//  return: 1, wenn der punkt innen ist, 0 sonst
+// Checks if a point is inside this object
+//  x: the x coordinate of the point
+//  y: the y coordinate of the point
+//  return: 1 if the point is inside, 0 otherwise
 bool Zeichnung::istPunktInnen(int x, int y) const
 {
     return x >= pos.x && x <= pos.x + gr.x && y >= pos.y && y <= pos.y + gr.y;
 }
 
-ToolTip* Zeichnung::getToolTip() const // gibt den ToolTip Text
+ToolTip* Zeichnung::getToolTip() const // returns the ToolTip text
 {
     return dynamic_cast<ToolTip*>(toolTip->getThis());
 }
@@ -475,13 +475,13 @@ ToolTip* Zeichnung::zToolTip() const
     return toolTip;
 }
 
-bool Zeichnung::hatStyle(__int64 style) const // prueft, ob style vorhanden
+bool Zeichnung::hatStyle(__int64 style) const // checks if style is present
 {
     return (this->style | style) == this->style;
 }
 
 bool Zeichnung::hatStyleNicht(
-    __int64 style) const // prueft, ob style nicht vorhanden
+    __int64 style) const // checks if style is not present
 {
     return (this->style | style) != this->style;
 }
@@ -491,7 +491,7 @@ __int64 Framework::Zeichnung::getStyles() const
     return style;
 }
 
-Zeichnung* Zeichnung::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
+Zeichnung* Zeichnung::dublizieren() const // Creates a copy of the drawing
 {
     Zeichnung* obj = new Zeichnung();
     obj->setPosition(pos);
@@ -555,7 +555,7 @@ void ZeichnungHintergrund::doMausEreignis(MausEreignis& me, bool userRet)
 }
 
 void ZeichnungHintergrund::setHintergrundBild(
-    Bild* bild) // setzt das Hintergrund Bild
+    Bild* bild) // sets the background image
 {
     if (!hintergrundBild) hintergrundBild = new Bild();
     hintergrundBild->neuBild(bild->getBreite(), bild->getHeight(), 0);
@@ -568,7 +568,7 @@ void ZeichnungHintergrund::setHintergrundBild(
 }
 
 void ZeichnungHintergrund::setHintergrundBildZ(
-    Bild* bild) // setzt einen Zeiger zum Hintergrund Bild
+    Bild* bild) // sets a pointer to the background image
 {
     if (hintergrundBild != bild)
     {
@@ -579,7 +579,7 @@ void ZeichnungHintergrund::setHintergrundBildZ(
 }
 
 void ZeichnungHintergrund::setHintergrundFarbe(
-    int fc) // setzt die Hintergrundfarbe
+    int fc) // sets the background color
 {
     if (hintergrundFarbe != fc)
     {
@@ -589,7 +589,7 @@ void ZeichnungHintergrund::setHintergrundFarbe(
 }
 
 void ZeichnungHintergrund::setAlphaFeldZ(
-    AlphaFeld* buff) // setzt einen Zeiger zum Hintergrund Buffer
+    AlphaFeld* buff) // sets a pointer to the background buffer
 {
     if (hintergrundFeld != buff)
     {
@@ -600,7 +600,7 @@ void ZeichnungHintergrund::setAlphaFeldZ(
 }
 
 void ZeichnungHintergrund::setAlphaFeldStrength(
-    int st) // setzt die Staerke des Hintergrund Buffers
+    int st) // sets the strength of the background buffer
 {
     if (!hintergrundFeld)
     {
@@ -615,7 +615,7 @@ void ZeichnungHintergrund::setAlphaFeldStrength(
 }
 
 void ZeichnungHintergrund::setAlphaFeldFarbe(
-    int fc) // setzt die Farbe des Hintergrund Buffers
+    int fc) // sets the color of the background buffer
 {
     if (!hintergrundFeld)
     {
@@ -630,7 +630,7 @@ void ZeichnungHintergrund::setAlphaFeldFarbe(
 }
 
 void ZeichnungHintergrund::setRahmenZ(
-    Rahmen* ram) // setzt einen Zeiger zum Rahmen
+    Rahmen* ram) // sets a pointer to the border
 {
     if (rahmen != ram)
     {
@@ -640,8 +640,7 @@ void ZeichnungHintergrund::setRahmenZ(
     }
 }
 
-void ZeichnungHintergrund::setRahmenBreite(
-    int br) // setzt die Breite des Rahmens
+void ZeichnungHintergrund::setRahmenBreite(int br) // sets the border width
 {
     if (!rahmen)
     {
@@ -655,7 +654,7 @@ void ZeichnungHintergrund::setRahmenBreite(
     }
 }
 
-void ZeichnungHintergrund::setRahmenFarbe(int fc) // setzt die Farbe des Rahmens
+void ZeichnungHintergrund::setRahmenFarbe(int fc) // sets the border color
 {
     if (!rahmen)
     {
@@ -670,7 +669,7 @@ void ZeichnungHintergrund::setRahmenFarbe(int fc) // setzt die Farbe des Rahmens
 }
 
 void ZeichnungHintergrund::setVertikalKlickScroll(
-    int ks) // setzt die vertikale Scroll geschwindigkeit
+    int ks) // sets the vertical scroll speed
 {
     if (!vertikalScrollBar)
     {
@@ -685,7 +684,7 @@ void ZeichnungHintergrund::setVertikalKlickScroll(
 }
 
 void ZeichnungHintergrund::setVertikalScrollPos(
-    int pos) // setzt die vertikale Scroll Position
+    int pos) // sets the vertical scroll position
 {
     if (!vertikalScrollBar)
     {
@@ -700,7 +699,7 @@ void ZeichnungHintergrund::setVertikalScrollPos(
 }
 
 void ZeichnungHintergrund::setVertikalScrollFarbe(
-    int f, int bgF) // setzt die scroll Farbe
+    int f, int bgF) // sets the scroll color
 {
     if (!vertikalScrollBar)
     {
@@ -718,7 +717,7 @@ void ZeichnungHintergrund::setVertikalScrollFarbe(
 }
 
 void ZeichnungHintergrund::setHorizontalKlickScroll(
-    int ks) // setzt die horizontale Scroll geschwindigkeit
+    int ks) // sets the horizontal scroll speed
 {
     if (!horizontalScrollBar)
     {
@@ -733,7 +732,7 @@ void ZeichnungHintergrund::setHorizontalKlickScroll(
 }
 
 void ZeichnungHintergrund::setHorizontalScrollPos(
-    int pos) // setzt die horizontale Scroll Position
+    int pos) // sets the horizontal scroll position
 {
     if (!horizontalScrollBar)
     {
@@ -748,7 +747,7 @@ void ZeichnungHintergrund::setHorizontalScrollPos(
 }
 
 void ZeichnungHintergrund::setHorizontalScrollFarbe(
-    int f, int bgF) // setzt die scroll Farbe
+    int f, int bgF) // sets the scroll color
 {
     if (!horizontalScrollBar)
     {
@@ -897,84 +896,82 @@ void ZeichnungHintergrund::render(Bild& rObj)
     unlockZeichnung();
 }
 
-// Gibt die Breite des Innenraumes in der Zeichnung in Pixeln zurueck
+// Returns the width of the interior area of the drawing in pixels
 int ZeichnungHintergrund::getInnenBreite() const
 {
     return getBreite() - 2 * getRahmenBreite();
 }
 
-// Gibt die Hoehe des Innenraumes in der Zeichnung in Pixeln zurueck
+// Returns the height of the interior area of the drawing in pixels
 int ZeichnungHintergrund::getInnenHeight() const
 {
     return getHeight() - 2 * getRahmenBreite();
 }
 
 Bild* ZeichnungHintergrund::getHintergrundBild()
-    const // gibt getThis vom Hintergrund Bild zurueck
+    const // returns the background image
 {
     if (!hintergrundBild) return 0;
     return dynamic_cast<Bild*>(hintergrundBild->getThis());
 }
 
 Bild* ZeichnungHintergrund::zHintergrundBild()
-    const // gibt das Hintergrund Bild zurueck
+    const // returns the background image without increased reference counter
 {
     return hintergrundBild;
 }
 
 int ZeichnungHintergrund::getHintergrundFarbe()
-    const // giebt getThis der Hintergrundfarbe zurueck
+    const // returns the background color
 {
     return hintergrundFarbe;
 }
 
-AlphaFeld* ZeichnungHintergrund::getAlphaFeld()
-    const // gibt getThir vom Hintergrund Buffer zurueck
+AlphaFeld*
+ZeichnungHintergrund::getAlphaFeld() const // returns the background buffer
 {
     if (!hintergrundFeld) return 0;
     return dynamic_cast<AlphaFeld*>(hintergrundFeld->getThis());
 }
 
-AlphaFeld*
-ZeichnungHintergrund::zAlphaFeld() const // gibt den Hintergrund Buffer zurueck
+AlphaFeld* ZeichnungHintergrund::zAlphaFeld()
+    const // returns the background buffer without increased reference counter
 {
     return hintergrundFeld;
 }
 
 int ZeichnungHintergrund::getAlphaFeldStrength()
-    const // gibt die Staerke des Hintergrund Buffers zurueck
+    const // returns the strength of the background buffer
 {
     if (!hintergrundFeld) return 0;
     return hintergrundFeld->getStrength();
 }
 
 int ZeichnungHintergrund::getAlphaFeldFarbe()
-    const // gibt getThis von der Farbe des Hintergrund Buffers zurueck
+    const // returns the color of the background buffer
 {
     return hintergrundFeld->getFarbe();
 }
 
-Rahmen*
-ZeichnungHintergrund::getRahmen() const // gibt getThis des Rahmens zurueck
+Rahmen* ZeichnungHintergrund::getRahmen() const // returns the border
 {
     if (!rahmen) return 0;
     return dynamic_cast<Rahmen*>(rahmen->getThis());
 }
 
-Rahmen* ZeichnungHintergrund::zRahmen() const // gibt den Rahmen zurueck
+Rahmen* ZeichnungHintergrund::zRahmen()
+    const // returns the border without increased reference counter
 {
     return rahmen;
 }
 
-int ZeichnungHintergrund::getRahmenBreite()
-    const // gibt die Breite des Rahmens zurueck
+int ZeichnungHintergrund::getRahmenBreite() const // returns the border width
 {
     if (!rahmen || hatStyleNicht(Style::Rahmen)) return 0;
     return rahmen->getRBreite();
 }
 
-int ZeichnungHintergrund::getRahmenFarbe()
-    const // gibt getThis der Farbe des Rahmens zurueck
+int ZeichnungHintergrund::getRahmenFarbe() const // returns the border color
 {
     return rahmen->getFarbe();
 }
@@ -1020,7 +1017,7 @@ int ZeichnungHintergrund::getHorizontalScrollHintergrund() const
 }
 
 Zeichnung*
-ZeichnungHintergrund::dublizieren() const // Erzeugt eine Kopie des Zeichnungs
+ZeichnungHintergrund::dublizieren() const // Creates a copy of the drawing
 {
     ZeichnungHintergrund* obj = new ZeichnungHintergrund();
     obj->setPosition(pos);

+ 54 - 54
Zeichnung3D.cpp

@@ -2,7 +2,7 @@
 
 using namespace Framework;
 
-// Inhalt der Zeichnung3D Klasse
+// Contents of the Zeichnung3D class
 
 // Constructor
 Zeichnung3D::Zeichnung3D()
@@ -19,18 +19,18 @@ Zeichnung3D::Zeichnung3D()
 
 Zeichnung3D::~Zeichnung3D() {}
 
-// Setzt die Position der Zeichnung in der Welt
-//  p: Die Position
+// Sets the position of the drawing in the world
+//  p: The position
 void Zeichnung3D::setPosition(const Vec3<float>& p)
 {
     pos = p;
     rend = 1;
 }
 
-// Setzt die Position der Zeichnung in der Welt
-//  x: Die x Position
-//  y: Die y Position
-//  z: Die z Position
+// Sets the position of the drawing in the world
+//  x: The x position
+//  y: The y position
+//  z: The z position
 void Zeichnung3D::setPosition(float x, float y, float z)
 {
     pos.x = x;
@@ -39,42 +39,42 @@ void Zeichnung3D::setPosition(float x, float y, float z)
     rend = 1;
 }
 
-// Setzt die Position der Zeichnung in der Welt
-//  x: Die x Position
+// Sets the position of the drawing in the world
+//  x: The x position
 void Zeichnung3D::setX(float x)
 {
     pos.x = x;
     rend = 1;
 }
 
-// Setzt die Position der Zeichnung in der Welt
-//  y: Die y Position
+// Sets the position of the drawing in the world
+//  y: The y position
 void Zeichnung3D::setY(float y)
 {
     pos.y = y;
     rend = 1;
 }
 
-// Setzt die Position der Zeichnung in der Welt
-//  z: Die z Position
+// Sets the position of the drawing in the world
+//  z: The z position
 void Zeichnung3D::setZ(float z)
 {
     pos.z = z;
     rend = 1;
 }
 
-// Setzt die Drehung der Zeichnung in der Welt
-//  d: Die drehung um die x, y und z achse
+// Sets the rotation of the drawing in the world
+//  d: The rotation around the x, y and z axis
 void Zeichnung3D::setDrehung(const Vec3<float>& d)
 {
     angle = d;
     rend = 1;
 }
 
-// Setzt die Drehung der Zeichnung in der Welt
-//  xWinkel: Die drehung um die x achse
-//  yWinkel: Die drehung um die y achse
-//  zWinkel: Die drehung um die z achse
+// Sets the rotation of the drawing in the world
+//  xWinkel: The rotation around the x axis
+//  yWinkel: The rotation around the y axis
+//  zWinkel: The rotation around the z axis
 void Zeichnung3D::setDrehung(float xWinkel, float yWinkel, float zWinkel)
 {
     angle.x = xWinkel;
@@ -83,49 +83,49 @@ void Zeichnung3D::setDrehung(float xWinkel, float yWinkel, float zWinkel)
     rend = 1;
 }
 
-// Setzt die Drehung der Zeichnung in der Welt
-//  winkel: Die drehung um die x achse
+// Sets the rotation of the drawing in the world
+//  winkel: The rotation around the x axis
 void Zeichnung3D::setDrehungX(float winkel)
 {
     angle.x = winkel;
     rend = 1;
 }
 
-// Setzt die Drehung der Zeichnung in der Welt
-//  winkel: Die drehung um die y achse
+// Sets the rotation of the drawing in the world
+//  winkel: The rotation around the y axis
 void Zeichnung3D::setDrehungY(float winkel)
 {
     angle.y = winkel;
     rend = 1;
 }
 
-// Setzt die Drehung der Zeichnung in der Welt
-//  winkel: Die drehung um die z achse
+// Sets the rotation of the drawing in the world
+//  winkel: The rotation around the z axis
 void Zeichnung3D::setDrehungZ(float winkel)
 {
     angle.z = winkel;
     rend = 1;
 }
 
-// Legt fest, ob das Objekt teilweise oder ganz transparente stellen enthaelt
-//  a: true, wenn teilweise oder ganz transparente stellen vorhanden sind
+// Sets whether the object contains partially or fully transparent areas
+//  a: true if partially or fully transparent areas are present
 void Zeichnung3D::setAlpha(bool a)
 {
     alpha = a;
     rend = 1;
 }
 
-//! Setzt die skallierung
+//! Sets the scaling
 void Zeichnung3D::setSize(float size)
 {
     this->size = size;
     rend = 1;
 }
 
-// Errechnet die Matrizen aller Knochen des Skeletts der Zeichnung
-//  viewProj: Die miteinander multiplizierten Kameramatrizen
-//  matBuffer: Ein Array mit Matrizen, der gefuellt werden soll
-//  return: Die Anzahl der Matrizen, die die Zeichnung benoetigt
+// Calculates the matrices of all bones of the drawing's skeleton
+//  viewProj: The multiplied camera matrices
+//  matBuffer: An array of matrices to be filled
+//  return: The number of matrices the drawing requires
 int Zeichnung3D::errechneMatrizen(
     const Mat4<float>& viewProj, Mat4<float>* matBuffer)
 {
@@ -133,18 +133,18 @@ int Zeichnung3D::errechneMatrizen(
     return 1;
 }
 
-// Verarbeitet ein Mausereignis
-//  me: Das Mausereignis, das verarbeitet werden soll
+// Processes a mouse event
+//  me: The mouse event to be processed
 void Zeichnung3D::doMausEreignis(MausEreignis3D& me) {}
 
-// Verarbeitet ein Tastaturereignis
-//  te: das Tastaturereignis, das verarbeitet werden soll
+// Processes a keyboard event
+//  te: The keyboard event to be processed
 void Zeichnung3D::doTastaturEreignis(TastaturEreignis& te) {}
 
-// Verarbeitet die vergangene Zeit
-//  tickval: Die zeit in sekunden, die seit dem letzten Aufruf der Funktion
-//  vergangen ist return: true, wenn sich das Objekt veraendert hat, false
-//  sonnst.
+// Processes the elapsed time
+//  tickval: The time in seconds since the last call of the function
+//  return: true if the object has changed, false
+//  otherwise.
 bool Zeichnung3D::tick(double tickval)
 {
     if (rend)
@@ -158,75 +158,75 @@ bool Zeichnung3D::tick(double tickval)
     return 0;
 }
 
-// Gibt zurueck, ob das Objekt teilweise oder ganz transparente stellen enthaelt
+// Returns whether the object contains partially or fully transparent areas
 bool Zeichnung3D::hatAlpha() const
 {
     return alpha;
 }
 
-// Gibt den radius einer Kugel zurueck, die das gesammte Model umschliesst
+// Returns the radius of a sphere that encloses the entire model
 float Zeichnung3D::getRadius() const
 {
     return radius;
 }
 
-// Gibt einen Punkt zurueck, der die Position der Zeichnung in der Welt darstellt
+// Returns a point representing the position of the drawing in the world
 const Vec3<float>& Zeichnung3D::getPos() const
 {
     return pos;
 }
 
-// Gibt die X Position der Zeichnung in der Welt zurueck
+// Returns the X position of the drawing in the world
 float Zeichnung3D::getX() const
 {
     return pos.x;
 }
 
-// Gibt die Y Position der Zeichnung in der Welt zurueck
+// Returns the Y position of the drawing in the world
 float Zeichnung3D::getY() const
 {
     return pos.y;
 }
 
-// Gibt die Z Position der Zeichnung in der Welt zurueck
+// Returns the Z position of the drawing in the world
 float Zeichnung3D::getZ() const
 {
     return pos.z;
 }
 
-// Gibt einen Vektor zurueck, der die drehung der Zeichnung in der Welt
-// darstellt. x ist die Drehung um die X Achse im Bogenmass usw
+// Returns a vector representing the rotation of the drawing in the world.
+// x is the rotation around the X axis in radians, etc.
 const Vec3<float>& Zeichnung3D::getDrehung() const
 {
     return angle;
 }
 
-// Gibt die Drehung um die X Achse im Bogenmass zurueck
+// Returns the rotation around the X axis in radians
 float Zeichnung3D::getXDrehung() const
 {
     return angle.x;
 }
 
-// Gibt die Drehung um die Y Achse im Bogenmass zurueck
+// Returns the rotation around the Y axis in radians
 float Zeichnung3D::getYDrehung() const
 {
     return angle.y;
 }
 
-// Gibt die Drehung um die Z Achse im Bogenmass zurueck
+// Returns the rotation around the Z axis in radians
 float Zeichnung3D::getZDrehung() const
 {
     return angle.z;
 }
 
-// Gibt die Matrix zurueck, die die Zeichnung in den Welt Raum uebersetzt
+// Returns the matrix that translates the drawing into world space
 const Mat4<float>& Zeichnung3D::getMatrix() const
 {
     return welt;
 }
 
-//! Berechnet wuer einen Punkt in lokalen Zeichnungs Koordinaten den Punkt in
-//! Weltkoordinaten durch anwendung von Drehung, Skallierung und Verschiebung
+//! Calculates for a point in local drawing coordinates the point in
+//! world coordinates by applying rotation, scaling and translation
 Vec3<float> Zeichnung3D::applyWorldTransformation(
     const Vec3<float>& modelPos) const
 {