ソースを参照

translate remaining german comments in all .h files

Kolja Strohm 1 週間 前
コミット
bbdebb7119
60 ファイル変更4114 行追加4416 行削除
  1. 380 395
      AuswahlBox.h
  2. 8 8
      Cube.h
  3. 4 4
      DLLRegister.h
  4. 8 8
      DX12Buffer.h
  5. 30 32
      DX12Shader.h
  6. 4 4
      DX12Textur.h
  7. 28 28
      DXBuffer.h
  8. 37 41
      DateiDialog.h
  9. 236 246
      DateiSystem.h
  10. 367 384
      Diagramm.h
  11. 2 2
      Dialog.h
  12. 17 17
      DreieckListe.h
  13. 45 45
      Ebene3D.h
  14. 301 328
      Fenster.h
  15. 73 92
      Fortschritt.h
  16. 10 10
      FrameworkMath.h
  17. 23 23
      Globals.h
  18. 10 12
      GraphicsApi.h
  19. 93 103
      InitDatei.h
  20. 9 10
      JsonEditor.h
  21. 77 81
      KSGTDatei.h
  22. 63 66
      Kam3D.h
  23. 47 54
      Key.h
  24. 85 93
      Knopf.h
  25. 222 247
      Liste.h
  26. 25 25
      M2DVorschau.h
  27. 45 47
      M2Datei.h
  28. 23 25
      Mat3.h
  29. 41 43
      Mat4.h
  30. 13 13
      Maus.h
  31. 27 27
      MausEreignis.h
  32. 121 131
      Model2D.h
  33. 127 135
      Model3D.h
  34. 19 21
      Model3DList.h
  35. 12 12
      Prozess.h
  36. 19 20
      Punkt.h
  37. 10 11
      Random.h
  38. 1 1
      Rect2.h
  39. 33 33
      RenderThread.h
  40. 179 196
      Schrift.h
  41. 65 72
      Shader.h
  42. 5 5
      Slider.h
  43. 479 534
      Tabelle.h
  44. 26 27
      TastaturEreignis.h
  45. 204 220
      TextFeld.h
  46. 25 26
      Textur.h
  47. 13 13
      Textur2D.h
  48. 24 26
      TexturList.h
  49. 9 10
      TexturModel.h
  50. 38 41
      ToolTip.h
  51. 5 5
      UIDialog.h
  52. 3 4
      UIInitialization.h
  53. 50 51
      Vec2.h
  54. 49 49
      Vec3.h
  55. 42 42
      VecN.h
  56. 85 88
      Welt2D.h
  57. 36 40
      Welt3D.h
  58. 60 67
      Zeichnung3D.h
  59. 17 18
      Zeit.h
  60. 5 5
      main.h

+ 380 - 395
AuswahlBox.h

@@ -15,72 +15,70 @@ namespace Framework
     class Schrift;    //! Schrift.h
     class TextRenderer;
 
-    //! Eine Zeichnung des 2D GUI Frameworks. Repraesentiert eine Box, aus der
-    //! der Nutzer durch ausklappen verschiedene Werte auswaehlen kann
+    //! A 2D GUI Framework drawing. Represents a box from which
+    //! the user can select different values by expanding it
     class AuswahlBox : public ZeichnungHintergrund
     {
     public:
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen
-            //! Rahmen
+            //! If this flag is set, each value in the list has a border
             static const __int64 FeldRahmen = 0x000001000;
-            //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen
-            //! Hintergrund
+            //! If this flag is set, each value in the list has a background
             static const __int64 FeldHintergrund = 0x000002000;
-            //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste ein
-            //! Bild als Hintergrund
+            //! If this flag is set, each value in the list has an image
+            //! as background
             static const __int64 FeldHBild = 0x000004000;
-            //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen
-            //! Transparenten Hintergrund
+            //! If this flag is set, each value in the list has a
+            //! transparent background
             static const __int64 FeldHAlpha = 0x000008000;
-            //! Wenn dieser Flag gesetzt ist, hat jeder Wert aus der Liste einen
-            //! Farbuebergang
+            //! If this flag is set, each value in the list has a
+            //! color gradient
             static const __int64 FeldBuffer = 0x000010000;
-            //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade
-            //! ausgewaehlt  Hintergrund
+            //! If this flag is set, the currently selected value
+            //! gets a background
             static const __int64 AuswahlHintergrund = 0x000020000;
-            //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade
-            //! ausgewaehlt ist ein Hintergrundbild
+            //! If this flag is set, the currently selected value
+            //! gets a background image
             static const __int64 AuswahlHBild = 0x000040000;
-            //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade
-            //! ausgewaehlt ist einen transparenten Hintergrund
+            //! If this flag is set, the currently selected value
+            //! gets a transparent background
             static const __int64 AuswahlHAlpha = 0x000080000;
-            //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade
-            //! ausgewaehlt ist einen Farbuebergang
+            //! If this flag is set, the currently selected value
+            //! gets a color gradient
             static const __int64 AuswahlBuffer = 0x000100000;
-            //! Wenn dieser Flag gesetzt ist, bekommt der Wert, der gerade
-            //! ausgewaehlt ist einen Rahmen
+            //! If this flag is set, the currently selected value
+            //! gets a border
             static const __int64 AuswahlRahmen = 0x000200000;
-            //! Wenn dieser Flag gesetzt ist, hat jeder Wert seine eigenen
-            //! Hintergruende unt Rahmen und nicht alle die selben
+            //! If this flag is set, each value has its own backgrounds
+            //! and borders instead of sharing the same ones
             static const __int64 MultiStyled = 0x000400000;
-            //! Legt eine maximale Hoehe der ausgeklappten Liste fest. Es
-            //! erscheint automatisch eine Scrollbar wenn mehr Elemente da sind
-            //! als sichtbar sein koennen
+            //! Sets a maximum height for the expanded list. A scrollbar
+            //! appears automatically when there are more elements than
+            //! can be visible
             static const __int64 MaxHeight = 0x004000000;
-            //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drau
-            //! zeigt, einen Hintergrund
+            //! If this flag is set, the element the mouse is pointing
+            //! at has a background
             static const __int64 MausHintergrund = 0x008000000;
-            //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf
-            //! zeigt, ein Hintergrundbild
+            //! If this flag is set, the element the mouse is pointing
+            //! at has a background image
             static const __int64 MausHBild = 0x010000000;
-            //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf
-            //! zeigt, einen transparenten Hintergrund
+            //! If this flag is set, the element the mouse is pointing
+            //! at has a transparent background
             static const __int64 MausHAlpha = 0x020000000;
-            //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf
-            //! zeigt, einen Farbuebergang
+            //! If this flag is set, the element the mouse is pointing
+            //! at has a color gradient
             static const __int64 MausBuffer = 0x040000000;
-            //! Wenn dieser Flag gesetzt ist, hat ein Element, wo die Maus drauf
-            //! zeigt, einen Rahmen
+            //! If this flag is set, the element the mouse is pointing
+            //! at has a border
             static const __int64 MausRahmen = 0x080000000;
             //! const int NachObenAusklappen	= 0x100000000;
             //! const int AutoAusklappRichtung	= 0x200000000;
 
-            //! Normaler Style: Sichtbar, Erlaubt, Rahmen, FeldRahmen,
-            //! AuswahlBuffer, AuswahlRahmen, MaxHoehe, VScroll, MausRahmen,
-            //! MausBuffer
+            //! Normal style: Visible, Enabled, Border, FieldBorder,
+            //! SelectionBuffer, SelectionBorder, MaxHeight, VScroll,
+            //! MouseBorder, MouseBuffer
             static const __int64 Normal
                 = Sichtbar | Erlaubt | Rahmen | FeldRahmen | AuswahlBuffer
                 | AuswahlRahmen | MaxHeight | VScroll | MausRahmen | MausBuffer
@@ -119,509 +117,496 @@ namespace Framework
         bool scrollAnzeigen;
         void* eAkP;
         std::function<void(void*, AuswahlBox*, int, int)> eAk;
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT AuswahlBox();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~AuswahlBox();
-        //! Setzt den Parameter der Rueckruffunktion, die aufgerufen wird, wenn
-        //! der Benutzer ein neues element auswaehlt \param p Der Parameter
+        //! Sets the parameter of the callback function that is called when
+        //! the user selects a new element \param p The parameter
         DLLEXPORT void setEventParam(void* p);
-        //! Setzt die Rueckruffunktion, die Aufgerufen wird, wenn der Benutzer
-        //! ein neues Element auswaehlt \param eAk Die Rueckruffunktion Aufruf:
-        //! eAk( parameter, this, 0, auswahlIndex )
+        //! Sets the callback function that is called when the user
+        //! selects a new element \param eAk The callback function call:
+        //! eAk( parameter, this, 0, selectionIndex )
         DLLEXPORT void setEventAktion(
             std::function<void(void*, AuswahlBox*, int, int)> event);
-        //! Setzt den verwendeten TextRenderer
-        //! \param textRd Der Textrenderer
+        //! Sets the used TextRenderer
+        //! \param textRd The text renderer
         DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
-        //! Setzt die verwendete Schrift
-        //! \param schrift Die Schrift
+        //! Sets the used font
+        //! \param schrift The font
         DLLEXPORT void setSchriftZ(Schrift* schrift);
-        //! Fuegt der Liste einen auswaehlbaren Eintrag hinzu. Der erste Eintrag
-        //! ist zu Beginn automatisch ausgewaehlt \param txt Der Text des
-        //! Eintrags
+        //! Adds a selectable entry to the list. The first entry is
+        //! automatically selected at the beginning \param txt The text of
+        //! the entry
         DLLEXPORT void addEintrag(const char* txt);
-        //! Fuegt der Liste einen auswaehlbaren Eintrag hinzu. Der erste Eintrag
-        //! ist zu Beginn automatisch ausgewaehlt \param txt Der Text des
-        //! Eintrags
+        //! Adds a selectable entry to the list. The first entry is
+        //! automatically selected at the beginning \param txt The text of
+        //! the entry
         DLLEXPORT void addEintrag(Text* txt);
-        //! Fuegt der Liste einen auswaehlbaren Eintrag hinzu. Der erste Eintrag
-        //! ist zu Beginn automatisch ausgewaehlt \param txt Ein Zeiger auf den
-        //! Eintrag
+        //! Adds a selectable entry to the list. The first entry is
+        //! automatically selected at the beginning \param txt A pointer to
+        //! the entry
         DLLEXPORT void addEintragZ(TextFeld* txt);
-        //! AEndert den Text eines Eintrags
-        //! \param i Der Index des Eintrags
-        //! \param txt Der neue Text
+        //! Changes the text of an entry
+        //! \param i The index of the entry
+        //! \param txt The new text
         DLLEXPORT void setEintrag(int i, const char* txt);
-        //! AEndert den Text eines Eintrags
-        //! \param i Der Index des Eintrags
-        //! \param txt Der neue Text
+        //! Changes the text of an entry
+        //! \param i The index of the entry
+        //! \param txt The new text
         DLLEXPORT void setEintrag(int i, Text* txt);
-        //! AEndert einen Eintrag
-        //! \param i Der Index des Eintrags
-        //! \param txt Ein Zeiger auf den neuen Eintrag
+        //! Changes an entry
+        //! \param i The index of the entry
+        //! \param txt A pointer to the new entry
         DLLEXPORT void setEintragZ(int i, TextFeld* txt);
-        //! Loescht einen Eintrag
-        //! \param i Der Index des Eintrags
+        //! Deletes an entry
+        //! \param i The index of the entry
         DLLEXPORT void removeEintrag(int i);
-        //! Setzt einen Zeiger auf den Knopf, der zum aus und einklappen der
-        //! Liste verwendet wird \param ausK Der Knopf
+        //! Sets a pointer to the button used for expanding and collapsing
+        //! the list \param ausK The button
         DLLEXPORT void setAusklappKnopfZ(Knopf* ausK);
-        //! Setzt einen Zeiger auf einen Rahmen, der fuer einen bestimmten
-        //! Eintrag benutzt wird \param i Der Index des Eintrags \param rahmen
-        //! Der Rahemn
+        //! Sets a pointer to a border used for a specific entry
+        //! \param i The index of the entry \param rahmen The border
         DLLEXPORT void setEintragRahmenZ(int i, Rahmen* rahmen);
-        //! Setzt die Farbe eines Rahmens, der fuer einen bestimmten Eintrag
-        //! benutzt wird \param i Der Index des Eintrags \param f Die farbe im
-        //! A8R8G8B8 Format
+        //! Sets the color of a border used for a specific entry
+        //! \param i The index of the entry \param f The color in
+        //! A8R8G8B8 format
         DLLEXPORT void setEintragRahmenFarbe(int i, int f);
-        //! Setzt die Breite eines Rahmens, der fuer einen bestimmten Eintrag
-        //! benutzt wird \param i Der Index des Eintrags \param rbr Die Breite
-        //! des Rahmens in Pixeln
+        //! Sets the width of a border used for a specific entry
+        //! \param i The index of the entry \param rbr The width
+        //! of the border in pixels
         DLLEXPORT void setEintragRahmenBreite(int i, int rbr);
-        //! Setzt eine Hintergrund Farbe, die fuer einen bestimmten Eintrag
-        //! benutzt wird \param i Der Index des Eintrags \param f Die farbe im
-        //! A8R8G8B8 Format
+        //! Sets a background color used for a specific entry
+        //! \param i The index of the entry \param f The color in
+        //! A8R8G8B8 format
         DLLEXPORT void setEintragHintergrundFarbe(int i, int f);
-        //! Setzt einen zeiger auf ein Hintergrund Bild, das fuer einen
-        //! bestimmten Eintrag benutzt wird \param i Der Index des Eintrags
-        //! \param bgB Das Hintergrund Bild
+        //! Sets a pointer to a background image used for a specific
+        //! entry \param i The index of the entry
+        //! \param bgB The background image
         DLLEXPORT void setEintragHintergrundBildZ(int i, Bild* bgB);
-        //! Setzt ein Hintergrund Bild durch Kopieren, das fuer einen bestimmten
-        //! Eintrag benutzt wird \param i Der Index des Eintrags \param bgB Das
-        //! Hintergrund Bild
+        //! Sets a background image by copying, used for a specific
+        //! entry \param i The index of the entry \param bgB The
+        //! background image
         DLLEXPORT void setEintragHintergrundBild(int i, Bild* bgB);
-        //! Setzt einen zeiger auf einen Farbuebergangn, der fuer einen bestimmten
-        //! Eintrag benutzt wird \param i Der Index des Eintrags \param af Der
-        //! Farbuebergang
+        //! Sets a pointer to a color gradient used for a specific
+        //! entry \param i The index of the entry \param af The
+        //! color gradient
         DLLEXPORT void setEintragAlphaFeldZ(int i, AlphaFeld* af);
-        //! Setzt dei Farbe eines Farbuebergangns, der fuer einen bestimmten
-        //! Eintrag benutzt wird \param i Der Index des Eintrags \param afF Die
-        //! Farbe im A8R8G8B8 Format
+        //! Sets the color of a color gradient used for a specific
+        //! entry \param i The index of the entry \param afF The
+        //! color in A8R8G8B8 format
         DLLEXPORT void setEintragAlphaFeldFarbe(int i, int afF);
-        //! Setzt dei Staerke eines Farbuebergangns, der fuer einen bestimmten
-        //! Eintrag benutzt wird \param i Der Index des Eintrags \param afSt Die
-        //! Staerke
+        //! Sets the strength of a color gradient used for a specific
+        //! entry \param i The index of the entry \param afSt The
+        //! strength
         DLLEXPORT void setEintragAlphaFeldStrength(int i, int afSt);
-        //! Setzt eienen Zeiger auf einen Rahmen, der bei dem ausgewaehlten
-        //! Eintrag verwendet wird \param rahmen Der Rahmen
+        //! Sets a pointer to a border used for the selected entry
+        //! \param rahmen The border
         DLLEXPORT void setAuswRahmenZ(Rahmen* rahmen);
-        //! Setzt die Farbe eines Rahmens, der bei dem ausgewaehlten Eintrag
-        //! verwendet wird \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a border used for the selected entry
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setAuswRahmenFarbe(int f);
-        //! Setzt die Breite eines Rahmens, der bei dem ausgewaehlten Eintrag
-        //! verwendet wird \param rbr Die Breite in Pixeln
+        //! Sets the width of a border used for the selected entry
+        //! \param rbr The width in pixels
         DLLEXPORT void setAuswRahmenBreite(int rbr);
-        //! Setzt die Hintergrund Farbe, die bei dem ausgewaehlten Eintrag
-        //! verwendet wird \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color used for the selected entry
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setAuswHintergrundFarbe(int f);
-        //! Setzt den Zeiger auf ein Hintergrund Bild, das bei dem ausgewaehlten
-        //! Eintrag verwendet wird \param bgB Das Bild
+        //! Sets a pointer to a background image used for the selected
+        //! entry \param bgB The image
         DLLEXPORT void setAuswHintergrundBildZ(Bild* bgB);
-        //! Setzt ein Hintergrund Bild durch kopieren, das bei dem ausgewaehlten
-        //! Eintrag verwendet wird \param bgB Das Bild
+        //! Sets a background image by copying, used for the selected
+        //! entry \param bgB The image
         DLLEXPORT void setAuswHintergrundBild(Bild* bgB);
-        //! Setzt den Zeiger auf einen Farbuebergang, der bei dem ausgewaehlten
-        //! Eintrag verwendet wird \param af Der Farbuebergang
+        //! Sets a pointer to a color gradient used for the selected
+        //! entry \param af The color gradient
         DLLEXPORT void setAuswAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe eines Farbuebergangs, der bei dem ausgewaehlten
-        //! Eintrag verwendet wird \param afF Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a color gradient used for the selected
+        //! entry \param afF The color in A8R8G8B8 format
         DLLEXPORT void setAuswAlphaFeldFarbe(int afF);
-        //! Setzt die Staerke eines Farbuebergangs, der bei dem ausgewaehlten
-        //! Eintrag verwendet wird \param afSt Die Staerke
+        //! Sets the strength of a color gradient used for the selected
+        //! entry \param afSt The strength
         DLLEXPORT void setAuswAlphaFeldStrength(int afSt);
-        //! Setzt eienen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled
-        //! bei der Auswahl eines bestimmten Eintrags verwendet wird \param i
-        //! Der Index des Eintrags \param rahmen Der Rahmen
+        //! Sets a pointer to a border used with the MultiStyled flag
+        //! when selecting a specific entry \param i
+        //! The index of the entry \param rahmen The border
         DLLEXPORT void setMsAuswRahmenZ(int i, Rahmen* rahmen);
-        //! Setzt die Farbe einens Rahmens, der bei dem Flag MultiStyled bei der
-        //! Auswahl eines bestimmten Eintrags verwendet wird \param i Der Index
-        //! des Eintrags \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a border used with the MultiStyled flag when
+        //! selecting a specific entry \param i The index
+        //! of the entry \param f The color in A8R8G8B8 format
         DLLEXPORT void setMsAuswRahmenFarbe(int i, int f);
-        //! Setzt die Breite einens Rahmens, der bei dem Flag MultiStyled bei
-        //! der Auswahl eines bestimmten Eintrags verwendet wird \param i Der
-        //! Index des Eintrags \param rbr Die Breite in Pixeln
+        //! Sets the width of a border used with the MultiStyled flag when
+        //! selecting a specific entry \param i The
+        //! index of the entry \param rbr The width in pixels
         DLLEXPORT void setMsAuswRahmenBreite(int i, int rbr);
-        //! Setzt die Hintergrundfarbe, die bei dem Flag MultiStyled bei der
-        //! Auswahl eines bestimmten Eintrags verwendet wird \param i Der Index
-        //! des Eintrags \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color used with the MultiStyled flag when
+        //! selecting a specific entry \param i The index
+        //! of the entry \param f The color in A8R8G8B8 format
         DLLEXPORT void setMsAuswHintergrundFarbe(int i, int f);
-        //! Setzt eienen Zeiger auf eine Hintergrund Bild, das bei dem Flag
-        //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
-        //! \param i Der Index des Eintrags
-        //! \param bgB Das Bild
+        //! Sets a pointer to a background image used with the MultiStyled
+        //! flag when selecting a specific entry
+        //! \param i The index of the entry
+        //! \param bgB The image
         DLLEXPORT void setMsAuswHintergrundBildZ(int i, Bild* bgB);
-        //! Setzt eien Hintergrund Bild durch kopieren, das bei dem Flag
-        //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
-        //! \param i Der Index des Eintrags
-        //! \param bgB Das Bild
+        //! Sets a background image by copying, used with the MultiStyled
+        //! flag when selecting a specific entry
+        //! \param i The index of the entry
+        //! \param bgB The image
         DLLEXPORT void setMsAuswHintergrundBild(int i, Bild* bgB);
-        //! Setzt eienen Zeiger auf einen Farbverlauf, der bei dem Flag
-        //! MultiStyled bei der Auswahl eines bestimmten Eintrags verwendet wird
-        //! \param i Der Index des Eintrags
-        //! \param af Der Farbverlauf
+        //! Sets a pointer to a color gradient used with the MultiStyled
+        //! flag when selecting a specific entry
+        //! \param i The index of the entry
+        //! \param af The color gradient
         DLLEXPORT void setMsAuswAlphaFeldZ(int i, AlphaFeld* af);
-        //! Setzt die Farbe eines Farbverlaufs, der bei dem Flag MultiStyled bei
-        //! der Auswahl eines bestimmten Eintrags verwendet wird \param i Der
-        //! Index des Eintrags \param afF Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a color gradient used with the MultiStyled flag
+        //! when selecting a specific entry \param i The
+        //! index of the entry \param afF The color in A8R8G8B8 format
         DLLEXPORT void setMsAuswAlphaFeldFarbe(int i, int afF);
-        //! Setzt die Staerke eines Farbverlaufs, der bei dem Flag MultiStyled
-        //! bei der Auswahl eines bestimmten Eintrags verwendet wird \param i
-        //! Der Index des Eintrags \param afSt Die Staerke
+        //! Sets the strength of a color gradient used with the MultiStyled
+        //! flag when selecting a specific entry \param i
+        //! The index of the entry \param afSt The strength
         DLLEXPORT void setMsAuswAlphaFeldStrength(int i, int afSt);
-        //! Setzt einen Zeiger auf einen Rahmen, der bei dem Eintrag verwendet
-        //! wird, auf den die Maus zeigt \param rahmen Der Rahmen
+        //! Sets a pointer to a border used for the entry the mouse is
+        //! pointing at \param rahmen The border
         DLLEXPORT void setMausRahmenZ(Rahmen* rahmen);
-        //! Setzt die Farbe eines Rahmens, der bei dem Eintrag verwendet wird,
-        //! auf den die Maus zeigt \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a border used for the entry the mouse is
+        //! pointing at \param f The color in A8R8G8B8 format
         DLLEXPORT void setMausRahmenFarbe(int f);
-        //! Setzt die Breite eines Rahmens, der bei dem Eintrag verwendet wird,
-        //! auf den die Maus zeigt \param rbr Die Breite des Rahmens in Pixeln
+        //! Sets the width of a border used for the entry the mouse is
+        //! pointing at \param rbr The width of the border in pixels
         DLLEXPORT void setMausRahmenBreite(int rbr);
-        //! Setzt die Hintergrund Farbe, die bei dem Eintrag verwendet wird, auf
-        //! den die Maus zeigt \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color used for the entry the mouse is
+        //! pointing at \param f The color in A8R8G8B8 format
         DLLEXPORT void setMausHintergrundFarbe(int f);
-        //! Setzt einen Zeiger auf ein Hintergrund Bild, das bei dem Eintrag
-        //! verwendet wird, auf den die Maus zeigt \param bgB Das Bild
+        //! Sets a pointer to a background image used for the entry the mouse
+        //! is pointing at \param bgB The image
         DLLEXPORT void setMausHintergrundBildZ(Bild* bgB);
-        //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Eintrag
-        //! verwendet wird, auf den die Maus zeigt \param bgB Das Bild
+        //! Sets a background image by copying, used for the entry the mouse
+        //! is pointing at \param bgB The image
         DLLEXPORT void setMausHintergrundBild(Bild* bgB);
-        //! Setzt einen Farbverlauf, der bei dem Eintrag verwendet wird, auf den
-        //! die Maus zeigt \param af Der Farbverlauf
+        //! Sets a color gradient used for the entry the mouse is pointing
+        //! at \param af The color gradient
         DLLEXPORT void setMausAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe eines Farbverlaufs, der bei dem Eintrag verwendet
-        //! wird, auf den die Maus zeigt \param afF Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a color gradient used for the entry the mouse
+        //! is pointing at \param afF The color in A8R8G8B8 format
         DLLEXPORT void setMausAlphaFeldFarbe(int afF);
-        //! Setzt die Staerke eines Farbverlaufs, der bei dem Eintrag verwendet
-        //! wird, auf den die Maus zeigt \param afSt Die Staerke
+        //! Sets the strength of a color gradient used for the entry the mouse
+        //! is pointing at \param afSt The strength
         DLLEXPORT void setMausAlphaFeldStrength(int afSt);
-        //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag MultiStyled
-        //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
-        //! \param i Der Index des Eintrags
-        //! \param rahmen Der Rahmen
+        //! Sets a pointer to a border used with the MultiStyled flag for a
+        //! specific entry the mouse is pointing at
+        //! \param i The index of the entry
+        //! \param rahmen The border
         DLLEXPORT void setMsMausRahmenZ(int i, Rahmen* rahmen);
-        //! Setzt die Farbe eines Rahmes, der bei dem Flag MultiStyled bei einem
-        //! bestimmten Eintrag verwendet wird, auf den die Maus zeigt \param i
-        //! Der Index des Eintrags \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a border used with the MultiStyled flag for a
+        //! specific entry the mouse is pointing at \param i
+        //! The index of the entry \param f The color in A8R8G8B8 format
         DLLEXPORT void setMsMausRahmenFarbe(int i, int f);
-        //! Setzt die Breite eines Rahmes, der bei dem Flag MultiStyled bei
-        //! einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
-        //! \param i Der Index des Eintrags
-        //! \param rbr Die Breite in Pixeln
+        //! Sets the width of a border used with the MultiStyled flag for a
+        //! specific entry the mouse is pointing at
+        //! \param i The index of the entry
+        //! \param rbr The width in pixels
         DLLEXPORT void setMsMausRahmenBreite(int i, int rbr);
-        //! Setzt die Hintergrund Farbe, die bei dem Flag MultiStyled bei einem
-        //! bestimmten Eintrag verwendet wird, auf den die Maus zeigt \param i
-        //! Der Index des Eintrags \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color used with the MultiStyled flag for a
+        //! specific entry the mouse is pointing at \param i
+        //! The index of the entry \param f The color in A8R8G8B8 format
         DLLEXPORT void setMsMausHintergrundFarbe(int i, int f);
-        //! Setzt einen Zeiger auf Hintergrund Bild, das bei dem Flag
-        //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die
-        //! Maus zeigt \param i Der Index des Eintrags \param bgB Das Bild
+        //! Sets a pointer to a background image used with the MultiStyled
+        //! flag for a specific entry the mouse is pointing at
+        //! \param i The index of the entry \param bgB The image
         DLLEXPORT void setMsMausHintergrundBildZ(int i, Bild* bgB);
-        //! Setzt ein Hintergrund Bild durch kopieren, das bei dem Flag
-        //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die
-        //! Maus zeigt \param i Der Index des Eintrags \param bgB Das Bild
+        //! Sets a background image by copying, used with the MultiStyled
+        //! flag for a specific entry the mouse is pointing at
+        //! \param i The index of the entry \param bgB The image
         DLLEXPORT void setMsMausHintergrundBild(int i, Bild* bgB);
-        //! Setzt einen Zeiger auf einen Farbuebergang, der bei dem Flag
-        //! MultiStyled bei einem bestimmten Eintrag verwendet wird, auf den die
-        //! Maus zeigt \param i Der Index des Eintrags \param af Der Farbverlauf
+        //! Sets a pointer to a color gradient used with the MultiStyled
+        //! flag for a specific entry the mouse is pointing at
+        //! \param i The index of the entry \param af The color gradient
         DLLEXPORT void setMsMausAlphaFeldZ(int i, AlphaFeld* af);
-        //! Setzt die Farbe einens Farbuebergangs, der bei dem Flag MultiStyled
-        //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
-        //! \param i Der Index des Eintrags
-        //! \param afF Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a color gradient used with the MultiStyled
+        //! flag for a specific entry the mouse is pointing at
+        //! \param i The index of the entry
+        //! \param afF The color in A8R8G8B8 format
         DLLEXPORT void setMsMausAlphaFeldFarbe(int i, int afF);
-        //! Setzt die Staerke einens Farbuebergangs, der bei dem Flag MultiStyled
-        //! bei einem bestimmten Eintrag verwendet wird, auf den die Maus zeigt
-        //! \param i Der Index des Eintrags
-        //! \param afSt Die Staerke
+        //! Sets the strength of a color gradient used with the MultiStyled
+        //! flag for a specific entry the mouse is pointing at
+        //! \param i The index of the entry
+        //! \param afSt The strength
         DLLEXPORT void setMsMausAlphaFeldStrength(int i, int afSt);
-        //! Waehlt ein Element aus
-        //! \param i Der Index des Elements
+        //! Selects an element
+        //! \param i The index of the element
         DLLEXPORT void setAuswahl(int i);
-        //! Klappt die Liste zum Auswaehlen aus
+        //! Expands the list for selection
         DLLEXPORT void ausklappen();
-        //! Klappt die Liste zum Auswaehlen ein
+        //! Collapses the list
         DLLEXPORT void einklappen();
-        //! Scrollt in der Liste zu einem bestimmten Eintrag
-        //! \param i Der Index des Eintrags
+        //! Scrolls in the list to a specific entry
+        //! \param i The index of the entry
         DLLEXPORT void scrollZuEintrag(int i);
-        //! Setzt die maximale Ausklapp Hoehe der Liste
-        //! \param maxHeight Die maximale Hoehe in Pixeln
+        //! Sets the maximum expansion height of the list
+        //! \param maxHeight The maximum height in pixels
         DLLEXPORT void setMaxAuskappHeight(int maxHeight);
-        //! Setzt die Hoehe der Eintraege
-        //! \param height Die Hoehe in Pixeln
+        //! Sets the height of the entries
+        //! \param height The height in pixels
         DLLEXPORT void setEintragHeight(int height);
-        //! Fuegt Styles zu einem bestimmten Eintrag hinzu, falls der Flag
-        //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param
-        //! abStyle Der Style, der hinzugefuegt werden soll
+        //! Adds styles to a specific entry if the MultiStyled flag
+        //! is set \param i The index of the entry \param
+        //! abStyle The style to add
         DLLEXPORT void addMsStyle(int i, __int64 abStyle);
-        //! Setzt Styles eines bestimmten Eintrags, falls der Flag MultiStyled
-        //! gesetzt wurde \param i Der Index des Eintrags \param abStyle Der
-        //! Style \param add 1, falls die Styles hinzugefuegt werden sollen und
-        //! 0, falls sie entfernt werden sollen
+        //! Sets styles of a specific entry if the MultiStyled flag
+        //! is set \param i The index of the entry \param abStyle The
+        //! style \param add 1 if the styles should be added,
+        //! 0 if they should be removed
         DLLEXPORT void setMsStyle(int i, __int64 abStyle, bool add);
-        //! Ersetzt die Styles eines bestimmten Eintrags, falls der Flag
-        //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param
-        //! abStyle Der neue Style
+        //! Replaces the styles of a specific entry if the MultiStyled
+        //! flag is set \param i The index of the entry \param
+        //! abStyle The new style
         DLLEXPORT void setMsStyle(int i, __int64 abStyle);
-        //! Entfernt Styles von einem bestimmten Eintrag, falls der Flag
-        //! MultiStyled gesetzt wurde \param i Der Index des Eintrags \param
-        //! abStyle Der Style, der entfernt werden soll
+        //! Removes styles from a specific entry if the MultiStyled
+        //! flag is set \param i The index of the entry \param
+        //! abStyle The style to remove
         DLLEXPORT void removeMsStyle(int i, __int64 abStyle);
-        //! Aktualisiert das Objekt. Wird vom Framework aufgerufen
-        //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
-        //! dieser Funktion vergangen ist \return 1, wenn sich etwas veraendert
-        //! hat und das Bild neu gezeichnet werden muss. 0 sonst
+        //! Updates the object. Called by the framework
+        //! \param tickVal The time in seconds since the last call
+        //! of this function \return 1 if something changed
+        //! and the image needs to be redrawn. 0 otherwise
         DLLEXPORT bool tick(double tickVal) override;
-        //! Verarbeitet Tastatur Nachrichten
-        //! \param me Das Ereignis, was durch die Tastatureingabe ausgeloesst
-        //! wurde
+        //! Processes keyboard messages
+        //! \param te The event triggered by the keyboard input
         DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt den Index eines Eintrags zurueck
-        //! \param txt Der Text des Eintrags
+        //! Returns the index of an entry
+        //! \param txt The text of the entry
         DLLEXPORT int getEintragPos(const char* txt) const;
-        //! Gibt den Index eines Eintrags zurueck
-        //! \param txt Der Text des Eintrags
+        //! Returns the index of an entry
+        //! \param txt The text of the entry
         DLLEXPORT int getEintragPos(Text* txt) const;
-        //! Gibt den Text eines Eintrags zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the text of an entry
+        //! \param i The index of the entry
         DLLEXPORT Text* getEintragText(int i) const;
-        //! Gibt den Text eines Eintrags ohne erhoehten Reference Counter zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the text of an entry without increased reference counter
+        //! \param i The index of the entry
         DLLEXPORT Text* zEintragText(int i) const;
-        //! Gibt einen Eintrag zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns an entry
+        //! \param i The index of the entry
         DLLEXPORT TextFeld* getEintrag(int i) const;
-        //! Gibt einen Eintrag ohne erhoehten Reference Counter zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns an entry without increased reference counter
+        //! \param i The index of the entry
         DLLEXPORT TextFeld* zEintrag(int i) const;
-        //! Gibt den Index des Ausgewaehlten Eintrags zurueck
+        //! Returns the index of the selected entry
         DLLEXPORT int getAuswahl() const;
-        //! Gibt die Anzahl der Eintraege zurueck
+        //! Returns the number of entries
         DLLEXPORT int getEintragAnzahl() const;
-        //! Gibt zurueck, ob die Liste gerade Ausgeklappt ist
+        //! Returns whether the list is currently expanded
         DLLEXPORT bool istAusgeklappt() const;
-        //! Gibt die maximale Hoehe der ausgeklappten Liste zurueck
+        //! Returns the maximum height of the expanded list
         DLLEXPORT int getMaxHeight() const;
-        //! Gibt die Hoehe eines Eintrags zurueck
+        //! Returns the height of an entry
         DLLEXPORT int getEintragHeight() const;
-        //! Gibt den Knopf zurueck, der zum aus- und einklappen dr Liste
-        //! verwendet wird
+        //! Returns the button used for expanding and collapsing the list
         DLLEXPORT Knopf* getAusklappKnopf() const;
-        //! Gibt den Knopf ohne erhoehten Reference Counter zurueck, der zum aus-
-        //! und einklappen dr Liste verwendet wird
+        //! Returns the button without increased reference counter used for
+        //! expanding and collapsing the list
         DLLEXPORT Knopf* zAusklappKnopf() const;
-        //! Gibt den Rahmen eines Eintrags zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the border of an entry
+        //! \param i The index of the entry
         DLLEXPORT Rahmen* getEintragRahmen(int i) const;
-        //! Gibt den Rahmen eines Eintrags ohne erhoehten Reference Counter
-        //! zurueck \param i Der Index des Eintrags
+        //! Returns the border of an entry without increased reference counter
+        //! \param i The index of the entry
         DLLEXPORT Rahmen* zEintragRahmen(int i) const;
-        //! Gibt die Farbe eines Rahmens eines Eintrags im A8R8G8B8 Format
-        //! zurueck \param i Der Index des Eintrags
+        //! Returns the color of a border of an entry in A8R8G8B8 format
+        //! \param i The index of the entry
         DLLEXPORT int getEintragRahmenFarbe(int i) const;
-        //! Gibt die Breite eines Rahmens eines Eintrags zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the width of a border of an entry
+        //! \param i The index of the entry
         DLLEXPORT int getEintragRahmenBreite(int i) const;
-        //! Gibt den Farbuebergang eines Eintrags zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the color gradient of an entry
+        //! \param i The index of the entry
         DLLEXPORT AlphaFeld* getEintragAlphaFeld(int i) const;
-        //! Gibt den Farbuebergang eines Eintrags ohne erhoehten Reference Counter
-        //! zurueck \param i Der Index des Eintrags
+        //! Returns the color gradient of an entry without increased reference
+        //! counter \param i The index of the entry
         DLLEXPORT AlphaFeld* zEintragAlphaFeld(int i) const;
-        //! Gibt die Farbe eines Farbuebergangs eines Eintrags im A8R8G8B8 Format
-        //! zurueck \param i Der Index des Eintrags
+        //! Returns the color of a color gradient of an entry in A8R8G8B8 format
+        //! \param i The index of the entry
         DLLEXPORT int getEintragAlphaFeldFarbe(int i) const;
-        //! Gibt die Staerke eines Farbuebergangs eines Eintrags zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the strength of a color gradient of an entry
+        //! \param i The index of the entry
         DLLEXPORT int getEintragAlphaFeldStrength(int i) const;
-        //! Gibt die Hintergrund Farbe eines Eintrags im A8R8G8B8 Format zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the background color of an entry in A8R8G8B8 format
+        //! \param i The index of the entry
         DLLEXPORT int getEintragHintergrundFarbe(int i) const;
-        //! Gibt das Hintergrund Bild eines Eintrags zurueck
-        //! \param i Der Index des Eintrags
+        //! Returns the background image of an entry
+        //! \param i The index of the entry
         DLLEXPORT Bild* getEintragHintergrundBild(int i) const;
-        //! Gibt das Hintergrund Bild eines Eintrags ohne erhoehten Reference
-        //! Counter zurueck \param i Der Index des Eintrags
+        //! Returns the background image of an entry without increased reference
+        //! counter \param i The index of the entry
         DLLEXPORT Bild* zEintragHintergrundBild(int i) const;
-        //! Gibt den Rahmen zurueck, der bei der Auswahl eines Eintrags verwendet
-        //! wird
+        //! Returns the border used when selecting an entry
         DLLEXPORT Rahmen* getAuswRahmen() const;
-        //! Gibt den Rahmen ohne erhoehten Reference Counter zurueck, der bei der
-        //! Auswahl eines Eintrags verwendet wird
+        //! Returns the border without increased reference counter used when
+        //! selecting an entry
         DLLEXPORT Rahmen* zAuswRahmen() const;
-        //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurueck, der bei der
-        //! Auswahl eines Eintrags verwendet wird
+        //! Returns the color of the border in A8R8G8B8 format used when
+        //! selecting an entry
         DLLEXPORT int getAuswRahmenFarbe() const;
-        //! Gibt die Breite des Rahmens zurueck, der bei der Auswahl eines
-        //! Eintrags verwendet wird
+        //! Returns the width of the border used when selecting an entry
         DLLEXPORT int getAuswRahmenBreite() const;
-        //! Gibt den Farbuebergang zurueck, der bei der Auswahl eines Eintrags
-        //! verwendet wird
+        //! Returns the color gradient used when selecting an entry
         DLLEXPORT AlphaFeld* getAuswAlphaFeld() const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference Counter zurueck, der
-        //! bei der Auswahl eines Eintrags verwendet wird
+        //! Returns the color gradient without increased reference counter used
+        //! when selecting an entry
         DLLEXPORT AlphaFeld* zAuswAlphaFeld() const;
-        //! Gibt die Farbe des Farbuebergangs zurueck, der bei der Auswahl eines
-        //! Eintrags verwendet wird
+        //! Returns the color of the color gradient used when selecting
+        //! an entry
         DLLEXPORT int getAuswAlphaFeldFarbe() const;
-        //! Gibt die Staerke des Farbuebergangs zurueck, der bei der Auswahl eines
-        //! Eintrags verwendet wird
+        //! Returns the strength of the color gradient used when selecting
+        //! an entry
         DLLEXPORT int getAuswAlphaFeldStrength() const;
-        //! Gibt die Hintergrundfarbe im A8R8G8B8 Format zurueck, die bei der
-        //! Auswahl eines Eintrags verwendet wird
+        //! Returns the background color in A8R8G8B8 format used when
+        //! selecting an entry
         DLLEXPORT int getAuswHintergrundFarbe() const;
-        //! Gibt das Hintergrundbild zurueck, das bei der Auswahl eines Eintrags
-        //! verwendet wird
+        //! Returns the background image used when selecting an entry
         DLLEXPORT Bild* getAuswHintergrundBild() const;
-        //! Gibt das Hintergrundbild ohne erhoehten Reference Counter zurueck, das
-        //! bei der Auswahl eines Eintrags verwendet wird
+        //! Returns the background image without increased reference counter used
+        //! when selecting an entry
         DLLEXPORT Bild* zAuswHintergrundBild() const;
-        //! Gibt den Rahmen zurueck, der bei dem Flag MultiStyled bei der auswahl
-        //! eines bestimmten Eintrags verwendet wird \param i Der Index des
-        //! Eintrags
+        //! Returns the border used with the MultiStyled flag when selecting
+        //! a specific entry \param i The index of the entry
         DLLEXPORT Rahmen* getMsAuswRahmen(int i) const;
-        //! Gibt den Rahmen ohne erhoehten Reference Counter zurueck, der bei dem
-        //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet
-        //! wird \param i Der Index des Eintrags
+        //! Returns the border without increased reference counter used with the
+        //! MultiStyled flag when selecting a specific entry
+        //! \param i The index of the entry
         DLLEXPORT Rahmen* zMsAuswRahmen(int i) const;
-        //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurueck, der bei dem
-        //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet
-        //! wird \param i Der Index des Eintrags
+        //! Returns the color of the border in A8R8G8B8 format used with the
+        //! MultiStyled flag when selecting a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsAuswRahmenFarbe(int i) const;
-        //! Gibt die Breite des Rahmens zurueck, der bei dem Flag MultiStyled bei
-        //! der auswahl eines bestimmten Eintrags verwendet wird \param i Der
-        //! Index des Eintrags
+        //! Returns the width of the border used with the MultiStyled flag when
+        //! selecting a specific entry \param i The index of the entry
         DLLEXPORT int getMsAuswRahmenBreite(int i) const;
-        //! Gibt den Farbuebergang zurueck, der bei dem Flag MultiStyled bei der
-        //! auswahl eines bestimmten Eintrags verwendet wird \param i Der Index
-        //! des Eintrags
+        //! Returns the color gradient used with the MultiStyled flag when
+        //! selecting a specific entry \param i The index of the entry
         DLLEXPORT AlphaFeld* getMsAuswAlphaFeld(int i) const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference Counter zurueck, der
-        //! bei dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags
-        //! verwendet wird \param i Der Index des Eintrags
+        //! Returns the color gradient without increased reference counter used
+        //! with the MultiStyled flag when selecting a specific entry
+        //! \param i The index of the entry
         DLLEXPORT AlphaFeld* zMsAuswAlphaFeld(int i) const;
-        //! Gibt die Farbe des Farbuebergangs im A8R8G8B8 Format zurueck, der bei
-        //! dem Flag MultiStyled bei der auswahl eines bestimmten Eintrags
-        //! verwendet wird \param i Der Index des Eintrags
+        //! Returns the color of the color gradient in A8R8G8B8 format used with
+        //! the MultiStyled flag when selecting a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsAuswAlphaFeldFarbe(int i) const;
-        //! Gibt die Staerke des Farbuebergangs zurueck, der bei dem Flag
-        //! MultiStyled bei der auswahl eines bestimmten Eintrags verwendet wird
-        //! \param i Der Index des Eintrags
+        //! Returns the strength of the color gradient used with the MultiStyled
+        //! flag when selecting a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsAuswAlphaFeldStrength(int i) const;
-        //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurueck, die bei dem
-        //! Flag MultiStyled bei der auswahl eines bestimmten Eintrags verwendet
-        //! wird \param i Der Index des Eintrags
+        //! Returns the background color in A8R8G8B8 format used with the
+        //! MultiStyled flag when selecting a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsAuswHintergrundFarbe(int i) const;
-        //! Gibt das Hintergrund Bild zurueck, das bei dem Flag MultiStyled bei
-        //! der auswahl eines bestimmten Eintrags verwendet wird \param i Der
-        //! Index des Eintrags
+        //! Returns the background image used with the MultiStyled flag when
+        //! selecting a specific entry \param i The index of the entry
         DLLEXPORT Bild* getMsAuswHintergrundBild(int i) const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference Counter zurueck,
-        //! das bei dem Flag MultiStyled bei der auswahl eines bestimmten
-        //! Eintrags verwendet wird \param i Der Index des Eintrags
+        //! Returns the background image without increased reference counter used
+        //! with the MultiStyled flag when selecting a specific entry
+        //! \param i The index of the entry
         DLLEXPORT Bild* zMsAuswHintergrundBild(int i) const;
-        //! Gibt den Rahmen zurueck, der verwendet wird, wenn die Maus auf einen
-        //! Eintrag zeigt
+        //! Returns the border used when the mouse is pointing at an entry
         DLLEXPORT Rahmen* getMausRahmen() const;
-        //! Gibt den Rahmen ohne erhoehten Reference Counter zurueck, der
-        //! verwendet wird, wenn die Maus auf einen Eintrag zeigt
+        //! Returns the border without increased reference counter used when
+        //! the mouse is pointing at an entry
         DLLEXPORT Rahmen* zMausRahmen() const;
-        //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurueck, der verwendet
-        //! wird, wenn die Maus auf einen Eintrag zeigt
+        //! Returns the color of the border in A8R8G8B8 format used when
+        //! the mouse is pointing at an entry
         DLLEXPORT int getMausRahmenFarbe() const;
-        //! Gibt die Breite des Rahmens zurueck, der verwendet wird, wenn die
-        //! Maus auf einen Eintrag zeigt
+        //! Returns the width of the border used when the mouse is pointing
+        //! at an entry
         DLLEXPORT int getMausRahmenBreite() const;
-        //! Gibt den Farbuebergang zurueck, der verwendet wird, wenn die Maus auf
-        //! einen Eintrag zeigt
+        //! Returns the color gradient used when the mouse is pointing
+        //! at an entry
         DLLEXPORT AlphaFeld* getMausAlphaFeld() const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference Counter zurueck, der
-        //! verwendet wird, wenn die Maus auf einen Eintrag zeigt
+        //! Returns the color gradient without increased reference counter used
+        //! when the mouse is pointing at an entry
         DLLEXPORT AlphaFeld* zMausAlphaFeld() const;
-        //! Gibt die Farbe des Farbuebergangs im A8R8G8B8 Format zurueck, der
-        //! verwendet wird, wenn die Maus auf einen Eintrag zeigt
+        //! Returns the color of the color gradient in A8R8G8B8 format used
+        //! when the mouse is pointing at an entry
         DLLEXPORT int getMausAlphaFeldFarbe() const;
-        //! Gibt die Breite des Farbuebergangs zurueck, der verwendet wird, wenn
-        //! die Maus auf einen Eintrag zeigt
+        //! Returns the strength of the color gradient used when the mouse
+        //! is pointing at an entry
         DLLEXPORT int getMausAlphaFeldStrength() const;
-        //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurueck, die verwendet
-        //! wird, wenn die Maus auf einen Eintrag zeigt
+        //! Returns the background color in A8R8G8B8 format used when the
+        //! mouse is pointing at an entry
         DLLEXPORT int getMausHintergrundFarbe() const;
-        //! Gibt das Hintergrund Bild zurueck, das verwendet wird, wenn die Maus
-        //! auf einen Eintrag zeigt
+        //! Returns the background image used when the mouse is pointing
+        //! at an entry
         DLLEXPORT Bild* getMausHintergrundBild() const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference Counter zurueck,
-        //! das verwendet wird, wenn die Maus auf einen Eintrag zeigt
+        //! Returns the background image without increased reference counter used
+        //! when the mouse is pointing at an entry
         DLLEXPORT Bild* zMausHintergrundBild() const;
-        //! Gibt den Rahmen zurueck, der bei dem Flag Multistyle verwendet wird,
-        //! wenn die Maus auf einen bestimmten Eintrag zeigt \param i Der Index
-        //! des Eintrags
+        //! Returns the border used with the Multistyle flag when the mouse
+        //! is pointing at a specific entry \param i The index of the entry
         DLLEXPORT Rahmen* getMsMausRahmen(int i) const;
-        //! Gibt den Rahmen ohne erhoehten Reference Counter zurueck, der bei dem
-        //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten
-        //! Eintrag zeigt \param i Der Index des Eintrags
+        //! Returns the border without increased reference counter used with the
+        //! Multistyle flag when the mouse is pointing at a specific entry
+        //! \param i The index of the entry
         DLLEXPORT Rahmen* zMsMausRahmen(int i) const;
-        //! Gibt die Farbe des Rahmens im A8R8G8B8 Format zurueck, der bei dem
-        //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten
-        //! Eintrag zeigt \param i Der Index des Eintrags
+        //! Returns the color of the border in A8R8G8B8 format used with the
+        //! Multistyle flag when the mouse is pointing at a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsMausRahmenFarbe(int i) const;
-        //! Gibt die Breite des Rahmens zurueck, der bei dem Flag Multistyle
-        //! verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
-        //! \param i Der Index des Eintrags
+        //! Returns the width of the border used with the Multistyle flag
+        //! when the mouse is pointing at a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsMausRahmenBreite(int i) const;
-        //! Gibt den Farbuebergang zurueck, der bei dem Flag Multistyle verwendet
-        //! wird, wenn die Maus auf einen bestimmten Eintrag zeigt \param i Der
-        //! Index des Eintrags
+        //! Returns the color gradient used with the Multistyle flag when
+        //! the mouse is pointing at a specific entry \param i The index
+        //! of the entry
         DLLEXPORT AlphaFeld* getMsMausAlphaFeld(int i) const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference Counter zurueck, der
-        //! bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen
-        //! bestimmten Eintrag zeigt \param i Der Index des Eintrags
+        //! Returns the color gradient without increased reference counter used
+        //! with the Multistyle flag when the mouse is pointing at a specific
+        //! entry \param i The index of the entry
         DLLEXPORT AlphaFeld* zMsMausAlphaFeld(int i) const;
-        //! Gibt die Farbe des Farbuebergangs im A8R8G8B8 Format zurueck, der bei
-        //! dem Flag Multistyle verwendet wird, wenn die Maus auf einen
-        //! bestimmten Eintrag zeigt \param i Der Index des Eintrags
+        //! Returns the color of the color gradient in A8R8G8B8 format used with
+        //! the Multistyle flag when the mouse is pointing at a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsMausAlphaFeldFarbe(int i) const;
-        //! Gibt die Staerke des Farbuebergangs zurueck, der bei dem Flag
-        //! Multistyle verwendet wird, wenn die Maus auf einen bestimmten
-        //! Eintrag zeigt \param i Der Index des Eintrags
+        //! Returns the strength of the color gradient used with the Multistyle
+        //! flag when the mouse is pointing at a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsMausAlphaFeldStrength(int i) const;
-        //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurueck, die bei dem
-        //! Flag Multistyle verwendet wird, wenn die Maus auf einen bestimmten
-        //! Eintrag zeigt \param i Der Index des Eintrags
+        //! Returns the background color in A8R8G8B8 format used with the
+        //! Multistyle flag when the mouse is pointing at a specific entry
+        //! \param i The index of the entry
         DLLEXPORT int getMsMausHintergrundFarbe(int i) const;
-        //! Gibt das Hintergrund Bild zurueck, das bei dem Flag Multistyle
-        //! verwendet wird, wenn die Maus auf einen bestimmten Eintrag zeigt
-        //! \param i Der Index des Eintrags
+        //! Returns the background image used with the Multistyle flag when
+        //! the mouse is pointing at a specific entry
+        //! \param i The index of the entry
         DLLEXPORT Bild* getMsMausHintergrundBild(int i) const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference Counter zurueck,
-        //! das bei dem Flag Multistyle verwendet wird, wenn die Maus auf einen
-        //! bestimmten Eintrag zeigt \param i Der Index des Eintrags
+        //! Returns the background image without increased reference counter used
+        //! with the Multistyle flag when the mouse is pointing at a specific
+        //! entry \param i The index of the entry
         DLLEXPORT Bild* zMsMausHintergrundBild(int i) const;
-        //! Prueft, ob ein Punkt in diesem Objekt liegt
-        //! \param x die x koordinate des punktes
-        //! \param y die y koordinate des punktes
-        //! \return 1, wenn der punkt innen ist, 0 sonst
+        //! Checks whether a point is inside this object
+        //! \param x The x coordinate of the point
+        //! \param y The y coordinate of the point
+        //! \return 1 if the point is inside, 0 otherwise
         DLLEXPORT bool istPunktInnen(int x, int y) const override;
-        //! Prueft, ob bei dem Flag MultiStyled fuer einen Bestimmten Eintrag ein
-        //! bestimmter Style gesetzt wurde \param i Der Index des Eintrags
-        //! \param abStyle Der Style
+        //! Checks whether a specific style is set for a specific entry with the
+        //! MultiStyled flag \param i The index of the entry
+        //! \param abStyle The style
         DLLEXPORT inline bool hatMsStyle(int i, __int64 abStyle) const;
-        //! Prueft, ob bei dem Flag MultiStyled fuer einen Bestimmten Eintrag ein
-        //! bestimmter Style nicht gesetzt wurde \param i Der Index des Eintrags
-        //! \param abStyle Der Style
+        //! Checks whether a specific style is not set for a specific entry with
+        //! the MultiStyled flag \param i The index of the entry
+        //! \param abStyle The style
         DLLEXPORT inline bool hatMsStyleNicht(int i, __int64 abStyle) const;
         DLLEXPORT Zeichnung*
-        dublizieren() const override; //! Erzeugt eine Kopie des Zeichnungs
+        dublizieren() const override; //! Creates a copy of the drawing
     };
 } // namespace Framework
 

+ 8 - 8
Cube.h

@@ -17,19 +17,19 @@ namespace Framework
         UNTEN
     };
 
-    //! Ein Model eines Wuerfels
+    //! A model of a cube
     class Cube : public Model3D
     {
     public:
-        //! Konstruktor
-        //! \param size Die Groesse des Wuerfels
+        //! Constructor
+        //! \param size The size of the cube
         DLLEXPORT Cube(float size, GraphicsApi* zApi);
-        //! Setzt die Textur des Wuerfels, so dass sie an allen Seiten gleich ist
-        //! \param textur Die Textur
+        //! Sets the texture of the cube so that it is the same on all sides
+        //! \param textur The texture
         DLLEXPORT void setTextur(Textur* textur);
-        //! Setzt die Textur von einer bestimmten Seite des Wuerfels
-        //! \param textur Die Textur
-        //! \param s Die Seite, die gesetzt werden soll
+        //! Sets the texture of a specific side of the cube
+        //! \param textur The texture
+        //! \param s The side to set
         DLLEXPORT void setTextur(Textur* textur, CubeSeite s);
     };
 } // namespace Framework

+ 4 - 4
DLLRegister.h

@@ -1,4 +1,4 @@
-#pragma once
+#pragma once
 
 #include "Array.h"
 #include "Critical.h"
@@ -20,11 +20,11 @@ namespace Framework
         Critical cs;
 
     public:
-        //! Konstruktor
+        //! Constructor
         __declspec(dllexport) DLLRegister();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~DLLRegister();
-        //! nicht constant
+        //! non-constant
         DLLEXPORT HINSTANCE ladeDLL(const char* name, const char* pfad);
         DLLEXPORT void releaseDLL(const char* name);
     };

+ 8 - 8
DX12Buffer.h

@@ -8,7 +8,7 @@ struct ID3D12GraphicsCommandList;
 
 namespace Framework
 {
-    //! Ein Buffer mit Daten im Grafikspeicher
+    //! A buffer with data in graphics memory
     class DX12Buffer : public DXBuffer
     {
     protected:
@@ -19,17 +19,17 @@ namespace Framework
         ID3D12GraphicsCommandList* list;
 
     public:
-        //! Konstruktor
-        //! eSize: Die Laenge eines Elementes in Bytes
+        //! Constructor
+        //! eSize: The length of an element in bytes
         DLLEXPORT DX12Buffer(int eSize,
             ID3D12Device* device,
             ID3D12GraphicsCommandList* list,
             int bindFlags);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~DX12Buffer();
-        //! Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+        //! Copies the data into the buffer if it has changed
         DLLEXPORT void copieren(int byteCount = -1) override;
-        //! Gibt den Buffer zurueck
+        //! Returns the buffer
         DLLEXPORT ID3D12Resource* zBuffer() const;
     };
 
@@ -46,7 +46,7 @@ namespace Framework
             DX12CopyCommandQueue* copy,
             DX12DirectCommandQueue* direct);
         ~DX12IndexBuffer();
-        //! Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+        //! Copies the data into the buffer if it has changed
         DLLEXPORT void copieren(int byteCount = -1) override;
     };
 
@@ -63,7 +63,7 @@ namespace Framework
             DX12CopyCommandQueue* copy,
             DX12DirectCommandQueue* direct);
         ~DX12VertexBuffer();
-        //! Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+        //! Copies the data into the buffer if it has changed
         DLLEXPORT void copieren(int byteCount = -1) override;
     };
 } // namespace Framework

+ 30 - 32
DX12Shader.h

@@ -25,34 +25,32 @@ namespace Framework
             DX12CopyCommandQueue* copy,
             DX12DirectCommandQueue* direct);
         virtual ~DX12Shader();
-        //! 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
-        //! \param size Die groesse des buffers in byte
-        //! \param 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 with which the buffer should be created
+        //! \param size The size of the buffer in bytes
+        //! \param index The position of the buffer in the buffer array. An
+        //! existing buffer will be replaced. Buffer 1 cannot be created
+        //! if buffer 0 has not been created yet, etc.
         virtual bool erstelleConstBuffer(int size, int index) override;
-        //! Setzt den Compilierten Shader
-        //!  zD3d11Device: Das Device, mit welchem der Shader erstellt werden
-        //!  soll
-        //! \param bytes Die Bytes des compilierten codes
-        //! \param length die Laenge des bytearrays
-        //! \return true, wenn bytes gueltig ist, false sonst
+        //! Sets the compiled shader
+        //!  zD3d11Device: The device with which the shader should be created
+        //! \param bytes The bytes of the compiled code
+        //! \param length The length of the byte array
+        //! \return true if bytes is valid, false otherwise
         bool setCompiledByteArray(unsigned char* bytes, int length) override;
-        //! 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 a pixel shader
+        //!  zD3d11Context: The context object with which the shader should
+        //!  be used
         void benutzeShader() override;
-        //! gibt die compilierten bytes zurueck
+        //! Returns the compiled bytes
         unsigned char* getCompiledShader() const;
-        //! gitbt die anzahl der compilierten bytes zurueck
+        //! Returns the number of compiled bytes
         int getCompiledLength() const;
-        //! Erstellt den RootParameter zu einem constanten buffer
-        //! \param index Der Index des Buffers
-        //! \param view enthaelt nach dem Aufruf die position und groesse des
-        //! buffers im speicher
+        //! Creates the RootParameter for a constant buffer
+        //! \param index The index of the buffer
+        //! \param view Contains the position and size of the buffer
+        //! in memory after the call
         virtual void getViewDesc(
             int index, D3D12_CONSTANT_BUFFER_VIEW_DESC& view);
     };
@@ -72,21 +70,21 @@ namespace Framework
         int inputLayoutSize;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DX12VertexShader(ID3D12Device* device,
             DX12CopyCommandQueue* copy,
             DX12DirectCommandQueue* direct);
-        //! Destruktor
+        //! Destructor
         ~DX12VertexShader();
-        //! erstellt ein InputLayout fuer den Shader
-        //! Darf erst nach compile aufgerufen werden
-        //!  zD3d11Device: Das Device, mit dem das Layout erstellt werden soll
-        //! \param descArray Ein Array mit initialisierungsdaten
-        //! \param anz Die Anzahl der Elemente im Array
+        //! Creates an input layout for the shader.
+        //! May only be called after compile.
+        //!  zD3d11Device: The device with which the layout should be created
+        //! \param descArray An array with initialization data
+        //! \param anz The number of elements in the array
         bool erstelleInputLayout(D3D12_INPUT_ELEMENT_DESC* descArray, int anz);
-        //! Gint die Anzahl an eingabeparametern des Shaders zurueck
+        //! Returns the number of input parameters of the shader
         int getInputLayoutSize() const;
-        //! Gibt eine Liste mit formaten fuer jeden Eingabewert zurueck
+        //! Returns a list of formats for each input value
         D3D12_INPUT_ELEMENT_DESC* zInputLayout() const;
     };
 } // namespace Framework

+ 4 - 4
DX12Textur.h

@@ -24,12 +24,12 @@ namespace Framework
             DX12CopyCommandQueue* copy,
             DX12DirectCommandQueue* direct);
         DLLEXPORT ~DX12Textur();
-        //! Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in
-        //! den Graphikspeicher kopiert
+        //! Updates the texture. The pixels of the current image are copied
+        //! to graphics memory
         DLLEXPORT bool updateTextur() override;
-        //! Gibt true zuruek, wenn updateTextur aufgerufen werden muss
+        //! Returns true if updateTextur needs to be called
         DLLEXPORT bool brauchtUpdate() const override;
-        //! Gibt die DX12 Resource zurueck
+        //! Returns the DX12 resource
         DLLEXPORT ID3D12Resource* getResource();
     };
 } // namespace Framework

+ 28 - 28
DXBuffer.h

@@ -16,7 +16,7 @@ namespace Framework
     class DX12CopyCommandQueue;
     class DX12DirectCommandQueue;
 
-    //! Eine Schnittstelle zwischen dem Arbeitsspeicher und dem Grafikspeicher
+    //! An interface between main memory and graphics memory
     class DXBuffer : public virtual ReferenceCounter
     {
     protected:
@@ -26,32 +26,32 @@ namespace Framework
         int elLen;
 
     public:
-        //! Konstruktor
-        //! \param bind Der verwendungszweck des Buffers. Beispiel:
-        //! D3D11_BIND_INDEX_BUFFER, D3D11_BIND_VERTEX_BUFFER. \param eLen Laenge
-        //! eines einzelnen Elements in Bytes
+        //! Constructor
+        //! \param bind The usage of the buffer. Example:
+        //! D3D11_BIND_INDEX_BUFFER, D3D11_BIND_VERTEX_BUFFER. \param eLen Length
+        //! of a single element in bytes
         DLLEXPORT DXBuffer(int eLen);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~DXBuffer();
-        //! Setzt den geaendert flaeg, so das beim naechsten auruf von 'kopieren'
-        //! die daten neu kopiert werden
+        //! Sets the changed flag so that the data is copied again on the
+        //! next call of 'copieren'
         DLLEXPORT void setChanged();
-        //! AEndert die laenge des Buffers beim naechsten aufruf von 'kopieren'
-        //! \param len Die Laenge in Bytes
+        //! Changes the length of the buffer on the next call of 'copieren'
+        //! \param len The length in bytes
         DLLEXPORT void setLength(int len);
-        //! Legt fest, was beim naechsten aufruf von 'kopieren' kopiert wird
-        //! \param data Ein zeiger auf die Daten
+        //! Sets what will be copied on the next call of 'copieren'
+        //! \param data A pointer to the data
         DLLEXPORT void setData(void* data);
-        //! Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+        //! Copies the data into the buffer if it has changed
         DLLEXPORT virtual void copieren(int byteCount = -1) = 0;
-        //! Gibt die Laenge eines Elementes in bytes zurueck
+        //! Returns the length of an element in bytes
         DLLEXPORT int getElementLength() const;
-        //! Gibt die Anzahl der Elemente im Buffer zurueck
+        //! Returns the number of elements in the buffer
         DLLEXPORT int getElementAnzahl() const;
     };
 
 #ifdef WIN32
-    //! Ein Buffer mit Daten im Grafikspeicher
+    //! A buffer with data in graphics memory
     class DX11Buffer : public DXBuffer
     {
     protected:
@@ -61,37 +61,37 @@ namespace Framework
         ID3D11DeviceContext* context;
 
     public:
-        //! Konstruktor
-        //! eSize: Die Laenge eines Elementes in Bytes
+        //! Constructor
+        //! eSize: The length of an element in bytes
         DLLEXPORT DX11Buffer(int eSize,
             ID3D11Device* device,
             ID3D11DeviceContext* context,
             int bindFlags);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~DX11Buffer();
-        //! Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+        //! Copies the data into the buffer if it has changed
         DLLEXPORT void copieren(int byteCount = -1) override;
-        //! Gibt den Buffer zurueck
+        //! Returns the buffer
         DLLEXPORT ID3D11Buffer* zBuffer() const;
     };
 
-    //! Ein Buffer von Indizes aus dem Buffer mit Eckpunkten, wovon immer drei
-    //! ein Dreieck ergeben, das gezeichnet wird
+    //! A buffer of indices from the vertex buffer, where every three
+    //! form a triangle that is drawn
     class DX11StructuredBuffer : public DX11Buffer
     {
     private:
         ID3D11ShaderResourceView* view;
 
     public:
-        //! Konstruktor
-        //! eSize: Die Laenge eines Elementes in Bytes
+        //! Constructor
+        //! eSize: The length of an element in bytes
         DLLEXPORT DX11StructuredBuffer(
             int eSize, ID3D11Device* device, ID3D11DeviceContext* context);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~DX11StructuredBuffer();
-        //! Kopiert die Daten in den Buffer, fals sie sich veraendert haben
+        //! Copies the data into the buffer if it has changed
         DLLEXPORT void copieren(int byteCount = -1) override;
-        //! Gibt die verwendtete Shader Resource View zurueck
+        //! Returns the used shader resource view
         DLLEXPORT operator ID3D11ShaderResourceView*() const;
     };
 #endif

+ 37 - 41
DateiDialog.h

@@ -10,7 +10,7 @@ namespace Framework
 
     void InitDialog();
 
-    //! Erstellt einen Datei oeffnen/speichern Dialog
+    //! Creates a file open/save dialog
     class DateiDialog : public virtual ReferenceCounter
     {
     private:
@@ -19,33 +19,31 @@ namespace Framework
         int fileIndex;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT DateiDialog();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~DateiDialog();
-        //! Loescht die Liste mit zugelassenen Dateitypen
+        //! Clears the list of allowed file types
         DLLEXPORT void removeDateiTypen();
-        //! Fuegt einen zugelassenen Dateityp hinzu
-        //! \param name Der Name des Dateitypes. Ist fuer den Nutzer in der
-        //! Select Box sichtbar \param typ Der Dateityp, der ausgewaehlt werden
-        //! darf
+        //! Adds an allowed file type
+        //! \param name The name of the file type. Visible to the user in the
+        //! select box \param typ The file type that may be selected
         DLLEXPORT void addDateiTyp(const char* name, const char* typ);
-        //! Fuegt einen zugelassenen Dateityp hinzu
-        //! \param name Der Name des Dateitypes. Ist fuer den Nutzer in der
-        //! Select Box sichtbar \param typ Der Dateityp, der ausgewaehlt werden
-        //! darf
+        //! Adds an allowed file type
+        //! \param name The name of the file type. Visible to the user in the
+        //! select box \param typ The file type that may be selected
         DLLEXPORT void addDateiTyp(Text* name, Text* typ);
-        //! Setzt den zu Beginn ausgewaehlten Dateityp
-        //! \param i Der Index des Dateityps. Der, der als erstes hinzugefuegt
-        //! wurde, hat den Index 0.
+        //! Sets the initially selected file type
+        //! \param i The index of the file type. The one added first
+        //! has index 0.
         DLLEXPORT void setDateiTypAuswahl(int i);
-        //! Zeigt den Dateidialog an
-        //! \param open true, wenn der Dialog zum oeffnen dienen soll. false zum
-        //! Speichern \return Den Pfad zur ausgewaehlten Datei
+        //! Shows the file dialog
+        //! \param open true if the dialog should be used for opening. false for
+        //! saving \return The path to the selected file
         DLLEXPORT Text* anzeigen(bool open) const;
     };
 
-    //! Verwaltet einen Datei oeffnen/speichern Dialog ohne zu warten
+    //! Manages a file open/save dialog without blocking
     class DateiDialogTh : public Thread
     {
     private:
@@ -54,37 +52,35 @@ namespace Framework
         bool open;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT DateiDialogTh();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~DateiDialogTh();
-        //! Legt fest, ob der Dialog zum oeffnen oder speichern ist
-        //! \param b 1, wenn er zum oefnen ist. 0, wenn er zum speichern ist
+        //! Sets whether the dialog is for opening or saving
+        //! \param b 1 if for opening. 0 if for saving
         DLLEXPORT void setOpen(bool b);
-        //! Loescht die liste mit erlaubten Dateitypen
+        //! Clears the list of allowed file types
         DLLEXPORT void removeDateiTypen();
-        //! Fuegt einen zugelassenen Dateityp hinzu
-        //! \param name Der Name des Dateitypes. Ist fuer den Nutzer in der
-        //! Select Box sichtbar \param typ Der Dateityp, der ausgewaehlt werden
-        //! darf
+        //! Adds an allowed file type
+        //! \param name The name of the file type. Visible to the user in the
+        //! select box \param typ The file type that may be selected
         DLLEXPORT void addDateiTyp(const char* name, const char* typ);
-        //! Fuegt einen zugelassenen Dateityp hinzu
-        //! \param name Der Name des Dateitypes. Ist fuer den Nutzer in der
-        //! Select Box sichtbar \param typ Der Dateityp, der ausgewaehlt werden
-        //! darf
+        //! Adds an allowed file type
+        //! \param name The name of the file type. Visible to the user in the
+        //! select box \param typ The file type that may be selected
         DLLEXPORT void addDateiTyp(Text* name, Text* typ);
-        //! Setzt den zu Beginn ausgewaehlten Dateityp
-        //! \param i Der Index des Dateityps. Der, der als erstes hinzugefuegt
-        //! wurde, hat den Index 0.
+        //! Sets the initially selected file type
+        //! \param i The index of the file type. The one added first
+        //! has index 0.
         DLLEXPORT void setDateiTypAuswahl(int i);
-        //! Diese Funktion wird von der Klasse selbst aufgerufen.
-        //! Benutze die start Funktion um den Dialog anzuzeigen
+        //! This function is called by the class itself.
+        //! Use the start function to show the dialog
         DLLEXPORT void thread() override;
-        //! Gibt den Pfad zur Datei zurueck.
-        //! Funktioniert erst, nachdem der Thread beendet wurde
+        //! Returns the path to the file.
+        //! Only works after the thread has finished
         DLLEXPORT Text* getPfad() const;
-        //! Gibt den Pfad zur Datei ohne erhoehten Reference Counter zurueck.
-        //! Funktioniert erst, nachdem der Thread beendet wurde
+        //! Returns the path to the file without increased reference counter.
+        //! Only works after the thread has finished
         DLLEXPORT Text* zPfad() const;
     };
 }; // namespace Framework

+ 236 - 246
DateiSystem.h

@@ -169,57 +169,56 @@ namespace Framework
         DLLEXPORT RCArray<Text>* zBildListe() const;
     };
 
-    //! Die im LTDB Dateikopf gespeicherten Informationen fuer ein einzelnes Bild
+    //! Information stored in the LTDB file header for a single image
     class LTDBKopf : public virtual ReferenceCounter
     {
     private:
-        __int64 a; //! Det LTDB Dateikopf ist maximal 104 Bits lang
-        __int32 b; //! - bis zu 75 Bits fuer den Titel
-        __int8 c;  //! - 12 Bits fuer breite
+        __int64 a; //! The LTDB file header is at most 104 bits long
+        __int32 b; //! - up to 75 bits for the title
+        __int8 c;  //! - 12 bits for width
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LTDBKopf();
-        //! Laehdt die Informationen ueber ein Bild
-        //! \param f Der geoeffnette und an die richtiege Stelle zeigende
-        //! ifstream der LTDB Datei
+        //! Loads information about an image
+        //! \param f The opened ifstream of the LTDB file pointing to the
+        //! correct position
         DLLEXPORT void laden(std::ifstream* f);
-        //! Setzt die Informationen die gespeichert werden sollen
-        //! \param titel Der Titel des Bildes
-        //! \param size Die Groesse des Bildes
-        //! \return Die Anzahl der Buchstaben aus dem Titel, die im LTDB
-        //! Dateiformat nicht gespeichert werden koennen. Erlaubt ist nur a-z und
-        //! A-Z und ae ue oe ss und AE UE OE und . Alle grossbuchstaben im Titel werden
-        //! in Kleinbuchstaben umgewandelt
+        //! Sets the information to be stored
+        //! \param titel The title of the image
+        //! \param size The size of the image
+        //! \return The number of characters from the title that cannot be
+        //! stored in the LTDB file format. Only a-z, A-Z, ae ue oe ss,
+        //! AE UE OE and . are allowed. All uppercase letters in the title
+        //! are converted to lowercase
         DLLEXPORT int Init(Text* titel, const Punkt& size);
-        //! Laehd informationen aus geladenen Bits. Wird von der laden(
-        //! std::ifstream ) Funktion verwendet. \param BeginBit Der Index des
-        //! ersten Bits, welches ausgewertet werden soll \param EndBit Der Index
-        //! des letzten Bits, welches nichtmehr ausgewertet werden soll \param
-        //! bits Die Bits, von denen alle von BeginBit bis EndBit ausgewertet
-        //! werden sollen Insgesamt muessen 104 Bits gesetzt werden. Hierauf
+        //! Loads information from loaded bits. Used by the laden(
+        //! std::ifstream) function. \param BeginBit The index of the first
+        //! bit to evaluate \param EndBit The index of the last bit that
+        //! should not be evaluated anymore \param bits The bits from which
+        //! all between BeginBit and EndBit should be evaluated.
+        //! A total of 104 bits must be set. BeginBit and EndBit refer to this
         //! bezihen sich BeginBit und EndBit
         DLLEXPORT void setBits(int BeginBit, int EndBit, __int16 bits);
-        //! Speichert die Informationen in eine Datei
-        //! \param f Der geoeffnete und an die richtiege Stelle zeigende ofstream
-        //! der LTDB Datei
+        //! Saves the information to a file
+        //! \param f The opened ofstream of the LTDB file pointing to the
+        //! correct position
         DLLEXPORT void speichern(std::ofstream* f) const;
-        //! Gibt die Laenge des Titels zurueck
+        //! Returns the length of the title
         DLLEXPORT int getTitelLength() const;
-        //! Gibt den Titel des Bildes zurueck
+        //! Returns the title of the image
         DLLEXPORT Text* getTitel() const;
-        //! Gibt die Groesse des Bildes zurueck
+        //! Returns the size of the image
         DLLEXPORT Punkt getSize() const;
-        //! Gibt die naechsten zu speichernden Bits zurueck
-        //! \param begin Der Index des ersten Bits, in das gespeichert werden
-        //! soll \param end Der Index des letzten Bits, in das gespeichert
-        //! werden soll \return 16 Bits, in denen die Informationen zwischen
-        //! begin und end stehen Insgesamt muessen 104 Bits gelesen werden.
-        //! Hierauf bezihen sich BeginBit und EndBit
+        //! Returns the next bits to be saved
+        //! \param begin The index of the first bit to save into
+        //! \param end The index of the last bit to save into
+        //! \return 16 bits containing the information between begin and end.
+        //! A total of 104 bits must be read. BeginBit and EndBit refer to this
         DLLEXPORT __int16 getBits(int begin, int end) const;
     };
 
-    //! Verwaltet die Pixeldaten eines einzelnen Bildes einer LTDB Datei
+    //! Manages the pixel data of a single image in an LTDB file
     class LTDBBody : public virtual ReferenceCounter
     {
     private:
@@ -228,40 +227,40 @@ namespace Framework
         int dateiSize;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LTDBBody();
-        //! Konstruktor
-        //! \param k Der LTDB Kopf des Bildes, der Informationen ueber die Groesse
-        //! des Bildes enthaelt
+        //! Constructor
+        //! \param k The LTDB header of the image containing information about
+        //! the size of the image
         DLLEXPORT LTDBBody(LTDBKopf* k);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~LTDBBody();
-        //! Setzt die Informationen ueber die Groesse des Bildes. Wird zum Laden
-        //! benoetigt. \param k Der LTDB Kopf des Bildes
+        //! Sets information about the size of the image. Required for loading.
+        //! \param k The LTDB header of the image
         DLLEXPORT void init(LTDBKopf k);
-        //! Setzt die Informationen ueber die Groesse des Bildes. Wird zum Laden
-        //! benoetigt. \param k Der LTDB Kopf des Bildes
+        //! Sets information about the size of the image. Required for loading.
+        //! \param k The LTDB header of the image
         DLLEXPORT void init(LTDBKopf* k);
-        //! Laedt die Pixeldaten aus der Datei
-        //! \param zF Ein Fortschrittsbalken, der 0 sein kann
-        //! \param inF Der geoeffnete und an die richtiege Stelle zeigende
-        //! ifstream der LTDB Datei
+        //! Loads the pixel data from the file
+        //! \param zF A progress bar that can be 0
+        //! \param inF The opened ifstream of the LTDB file pointing to the
+        //! correct position
         DLLEXPORT void laden(FBalken* zF, std::ifstream* inF);
-        //! Setzt das Bild, welches gespeichert werden soll
-        //! \param b Das zu speichernde Bild
+        //! Sets the image to be saved
+        //! \param b The image to save
         DLLEXPORT void setBild(Bild* b);
-        //! Speichert die Pixeldaten des Bildes in einer LTDB Datei
-        //! \param zF Ein Fortschrittsbalken, der 0 sein kann
-        //! \param outF Der geoeffnete und an die richtiege Stelle zeigende
-        //! ofstream der LTDB Datei
+        //! Saves the pixel data of the image in an LTDB file
+        //! \param zF A progress bar that can be 0
+        //! \param outF The opened ofstream of the LTDB file pointing to the
+        //! correct position
         DLLEXPORT void speichern(FBalken* zF, std::ofstream* outF) const;
-        //! Gibt das geladene Bild zurueck
+        //! Returns the loaded image
         DLLEXPORT Bild* getBild() const;
-        //! Gibt die Groesse des Bildes zurueck
+        //! Returns the size of the image
         DLLEXPORT const Punkt& getSize() const;
     };
 
-    //! Verwaltet eine LTDB Datei
+    //! Manages an LTDB file
     class LTDBDatei : public virtual ReferenceCounter
     {
     private:
@@ -269,106 +268,103 @@ namespace Framework
         LTDBDateiKopf* datKpf;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LTDBDatei();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~LTDBDatei();
-        //! Setzt den Pfad zu Datei
-        //! \param pfad Der Pfad
+        //! Sets the path to the file
+        //! \param pfad The path
         DLLEXPORT void setDatei(Text* pfad);
-        //! Erstellt eine neue LTDB Datei
+        //! Creates a new LTDB file
         DLLEXPORT void erstellen();
-        //! Liesst grundlegende Informationen aus der Datei.
-        //! Wird benoetigt, bevor mit der Datei gearbeitet wird
-        //! \param zF Ein Fortschrittsbalken, der 0 sein kann
+        //! Reads basic information from the file.
+        //! Must be called before working with the file
+        //! \param zF A progress bar that can be 0
         DLLEXPORT void leseDaten(FBalken* zF);
-        //! Loescht die LTDB Datei
+        //! Deletes the LTDB file
         DLLEXPORT void remove();
-        //! Loescht ein Bild aus der LTDB Datei
-        //! \param zF Ein Fortschrittsbalken der 0 sein kann
-        //! \param name Der Name des zu loeschenden Bildes
+        //! Deletes an image from the LTDB file
+        //! \param zF A progress bar that can be 0
+        //! \param name The name of the image to delete
         DLLEXPORT void remove(FBalken* zF, Text* name);
-        //! Laedt ein Bild aus der LTDB Datei
-        //! \param zF Ein Fortschrittsbalken, der 0 sein kann
-        //! \param name Der Name des Bildes, welches geladen werden soll
-        //! \return Das geladene Bild. 0, falls das Bild nicht gefunden wurde
+        //! Loads an image from the LTDB file
+        //! \param zF A progress bar that can be 0
+        //! \param name The name of the image to load
+        //! \return The loaded image. 0 if the image was not found
         DLLEXPORT Bild* laden(FBalken* zF, Text* name);
-        //! Speichert ein neues Bild in der LTDB Datei
-        //! \param zF Ein Fortscrittsbalken, der 0 sein kann
-        //! \param bild Das Bild, welches geloescht werden soll
-        //! \param name Der Name, unter dem das Bild gespeichert werden soll
-        //! \return Anzahl der Warnungen, die beim Konvertieren des Namens in
-        //! einen gueltigen Namen aufgetreten sind. -1, falls bereis ein Bild mit
-        //! dem selben Namen existiert
+        //! Saves a new image in the LTDB file
+        //! \param zF A progress bar that can be 0
+        //! \param bild The image to save
+        //! \param name The name under which the image should be saved
+        //! \return Number of warnings that occurred while converting the name
+        //! to a valid name. -1 if an image with the same name already exists
         DLLEXPORT int speichern(FBalken* zF, Bild* bild, Text* name);
-        //! Gibt eine Liste mit gespeicherten Bildern zurueck
-        //! Die Liste sollte nicht veraendert werden
+        //! Returns a list of stored images.
+        //! The list should not be modified
         DLLEXPORT RCArray<Text>* zBildListe();
-        //! Gibt den Pfad zur LTDB Datei zurueck
+        //! Returns the path to the LTDB file
         DLLEXPORT Text* getPfad() const;
-        //! Gibt die Anzahl der Bilder in der LTDB Datei zurueck
+        //! Returns the number of images in the LTDB file
         DLLEXPORT int getBildAnzahl() const;
-        //! Prueft, ob die LTDB Datei existiert
+        //! Checks whether the LTDB file exists
         DLLEXPORT bool istOffen() const;
     };
 
 #ifdef WIN32
-    //! LTDS Dateivormat --- Dient zum speichern von Schriftarten
+    //! LTDS file format --- Used for storing fonts
 
-    //! Verwaltet einen einzelnen Pixel von einem Buchstaben
+    //! Manages a single pixel of a character
     class LTDSPixel : public virtual ReferenceCounter
     {
     private:
         char index;
         char iA;
         char miA;
-        char maxIndex; //! Laenge des Pixels
+        char maxIndex; //! Length of the pixel
         bool aender;
         bool aenderA;
-        unsigned char komp : 3; //! Komprimierung der Farbwerte
+        unsigned char komp : 3; //! Compression of the color values
         unsigned char alpha;
         LTDSPixel* davor;
         bool addBitZuFarbe(
-            unsigned char bit); //! Fuegt den Farbwerten ein Bit hinzu
+            unsigned char bit); //! Adds a bit to the color values
         bool getNextFarbeBit(
-            char& byte, int i); //! Speichert das naechste Farbbit in byte
+            char& byte, int i); //! Stores the next color bit in byte
 
     public:
-        //! Konstruktor
-        //! \param davor Der Pixel, der vor diesem geladen wurde. 0, fals diess
-        //! der erste Pixel ist
+        //! Constructor
+        //! \param davor The pixel that was loaded before this one. 0 if this
+        //! is the first pixel
         DLLEXPORT LTDSPixel(LTDSPixel* davor);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~LTDSPixel();
-        //! Fuegt dem Pixel einiege geladene Bits hinzu. Zum Laden gedacht.
-        //! \param byte Das letzte aus der Datei geladene Byte.
-        //! \param begin Der Index des ersten Bits im Byte, wo der Pixel beginnt
-        //! \return Der Index des Letzten Bits in Byte, wo der Pixel aufhoehrt.
-        //! -1, falls der Pixel im naechsten Byte weitergeht
+        //! Adds some loaded bits to the pixel. For loading.
+        //! \param byte The last byte loaded from the file.
+        //! \param begin The index of the first bit in the byte where the pixel begins
+        //! \return The index of the last bit in the byte where the pixel ends.
+        //! -1 if the pixel continues in the next byte
         DLLEXPORT char addByte(char byte, char begin);
-        //! Setzt den Alpha Wert des Pixels. Zum speichern gedacht.
-        //! \param alpha Der Alpha Wert des Pixels.
+        //! Sets the alpha value of the pixel. For saving.
+        //! \param alpha The alpha value of the pixel.
         DLLEXPORT void setAlpha(unsigned char alpha);
-        //! Komprimiert den Pixel. Muss vor dem Speichern aufgerufen werden.
+        //! Compresses the pixel. Must be called before saving.
         DLLEXPORT void Komp();
-        //! Gibt ein Teil der Bits zurueck, die den Pixel representieren
-        //! \param byte Eine Referens auf das Byte, dass als naechstes
-        //! gespeichert werden soll \param begin Der Index des ersten Bits im zu
-        //! speichernden Byte, wo der Pixel gespeichert werden soll \return Der
-        //! Index des Bits im zu speichernden Byte, wo der Pixel aufhoehrt. -1,
-        //! falls der Pixel im naechsten Byte fortgesetzt werden muss
+        //! Returns a part of the bits that represent the pixel
+        //! \param byte A reference to the byte to be saved next
+        //! \param begin The index of the first bit in the byte where the pixel
+        //! should be stored \return The index of the bit in the byte where the
+        //! pixel ends. -1 if the pixel must continue in the next byte
         DLLEXPORT char getNextByte(char& byte, int bbegin);
-        //! Gibt die Komprimierung des Pixels zurueck
+        //! Returns the compression of the pixel
         DLLEXPORT unsigned char getKomp() const;
-        //! Gibt zurueck, ob sich der Alpha Wert im Vergleich zu dem Pixel davor
-        //! geaendert hat
+        //! Returns whether the alpha value changed compared to the previous pixel
         DLLEXPORT bool getAEnderA() const;
-        //! Gibt den Alpha Wert des Pixels zurueck
+        //! Returns the alpha value of the pixel
         DLLEXPORT unsigned char getA() const;
     };
 
-    //! Verwaltet den Kopf einer LTDS Datei. Er enthaelt Informationen ueber die
-    //! in der Datei gespeicherten Schriftgroessen
+    //! Manages the header of an LTDS file. Contains information about the
+    //! font sizes stored in the file
     class LTDSDateiKopf : public virtual ReferenceCounter
     {
     private:
@@ -377,36 +373,36 @@ namespace Framework
         int* pos;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LTDSDateiKopf();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~LTDSDateiKopf();
-        //! Laedt den Kopf aus der LTDS Datei
-        //! \param inF Der geoeffnete und an die richtige Stelle zeigende
-        //! ifstream der LTDS Datei
+        //! Loads the header from the LTDS file
+        //! \param inF The opened ifstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void laden(std::ifstream* inF);
-        //! Fuegt eine Schriftgroesse hinzu
-        //! \param sg Die Schriftgroesse, die hinzugefuegt werden soll
+        //! Adds a font size
+        //! \param sg The font size to add
         DLLEXPORT void addSG(char sg);
-        //! Loescht eine Schriftgroesse
-        //! \param sg Die Schriftgroesse, die geloescht werden soll
+        //! Deletes a font size
+        //! \param sg The font size to delete
         DLLEXPORT void removeSG(char sg);
-        //! Speichert den LTDS Kopf in der Datei
-        //! \param outF Der geoeffnete und an die richtiege Stelle zeigende
-        //! ofstream der LTDS Datei
+        //! Saves the LTDS header to the file
+        //! \param outF The opened ofstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void speichern(std::ofstream* outF) const;
-        //! Gibt einen Array von gespeicherten Schriftgroessen zurueck
-        //! Der Array sollte nicht veraedert werden
+        //! Returns an array of stored font sizes.
+        //! The array should not be modified
         DLLEXPORT unsigned char* getSchriftGroesseList() const;
-        //! Gibt einen Array mit positionen der ersten Bytes fuer jede
-        //! Schriftgroesse aus der Datei zurueck
+        //! Returns an array with positions of the first bytes for each
+        //! font size in the file
         DLLEXPORT int* getPositionList() const;
-        //! Gibt die Anzahl der gespeicherten Schriftgroessen zurueck
+        //! Returns the number of stored font sizes
         DLLEXPORT int getSchriftGroesseAnzahl() const;
     };
 
-    //! Der Kopf einer Schriftgroesse. Enthaelt Informationen ueber die
-    //! gespeicherten Zeichen
+    //! The header of a font size. Contains information about the
+    //! stored characters
     class LTDSSchriftKopf : public virtual ReferenceCounter
     {
     private:
@@ -416,47 +412,44 @@ namespace Framework
         unsigned char zeichenAnzahl;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LTDSSchriftKopf();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~LTDSSchriftKopf();
-        //! Laedt den Kopf einer Schriftgroesse aus der Datei
-        //! \param inF Der geoeffnete und an de richtiege Stelle zeigende
-        //! ifstream der LTDS Datei
+        //! Loads the header of a font size from the file
+        //! \param inF The opened ifstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void laden(std::ifstream* inF);
-        //! Setzt die Schriftgroesse. Zum speichern gedacht
-        //! \param gr Die Schriftgroesse
+        //! Sets the font size. For saving
+        //! \param gr The font size
         DLLEXPORT void setSchriftgroesse(unsigned char gr);
-        //! Setzt das Alphabet, welches in der Schriftgroesse gespeichert werden
-        //! soll \param alphabet Das Alphabet, welches alle zu speichernden
-        //! Zeichen in der Schriftgroesse enthaelt
+        //! Sets the alphabet to be stored in the font size
+        //! \param alphabet The alphabet containing all characters to store
+        //! in the font size
         DLLEXPORT void setZeichenAlphabet(Alphabet* alphabet);
-        //! Fuegt der Schriftgroesse ein Zeichen hinzu, welches gespeichert werden
-        //! soll \param zeichen Der ASCII code des Zeichens, welches hinzugefuegt
-        //! werden soll
+        //! Adds a character to the font size to be stored
+        //! \param zeichen The ASCII code of the character to add
         DLLEXPORT void addZeichen(unsigned char zeichen);
-        //! Loescht ein Zeichen aus der Schriftgroesse
-        //! \param zeich Der ASCII code des Zeichens, welches geloescht werden
-        //! soll
+        //! Deletes a character from the font size
+        //! \param zeich The ASCII code of the character to delete
         DLLEXPORT void removeZeichen(unsigned char zeich);
-        //! Speichert den Kopf der Schriftgroesse in der LTDS Datei
-        //! \param outF Der geoeffnete und an die richtiege Stelle zeigende
-        //! ofstream der LTDS Datei
+        //! Saves the font size header to the LTDS file
+        //! \param outF The opened ofstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void speichern(std::ofstream* outF) const;
-        //! Gibt die Schriftgroesse zurueck, zu der dieser Kopf gehoehrt
+        //! Returns the font size this header belongs to
         DLLEXPORT unsigned char getSchriftGroesse() const;
-        //! Gibt die Anzahl der in der Schriftgroesse gespeicherten Zeichen zurueck
+        //! Returns the number of characters stored in the font size
         DLLEXPORT unsigned char getZeichenAnzahl() const;
-        //! Gibt einen Array mit den Positionen der ersten Bytes von den
-        //! gespeicherten Zeichen aus der LTDS Datei zurueck
+        //! Returns an array with the positions of the first bytes of the
+        //! stored characters in the LTDS file
         DLLEXPORT int* getPositionen() const;
-        //! Gibt einen Array mit den ASCII codes der Gespeicherten Zeichen
-        //! zurueck
+        //! Returns an array with the ASCII codes of the stored characters
         DLLEXPORT unsigned char* getZeichen() const;
     };
 
-    //! Der Kopf eines einzelnen Zeichens aus der LTDS Datei. Enthaelt
-    //! informationen ueber die Pixelgroesse des Zeichens
+    //! The header of a single character from the LTDS file. Contains
+    //! information about the pixel size of the character
     class LTDSBuchstabenKopf : public virtual ReferenceCounter
     {
     private:
@@ -464,36 +457,36 @@ namespace Framework
         Punkt size;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LTDSBuchstabenKopf();
-        //! Laedt die Daten aus der LTDS Datei
-        //! \param inF Der geoeffnete und an die richtiege Stelle zeigende
-        //! ifstream der LTDS Datei
+        //! Loads the data from the LTDS file
+        //! \param inF The opened ifstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void laden(std::ifstream* inF);
-        //! Setzt die Daten, die gespeichert werden sollen.
-        //! \param zeichen Der ASCII code des Zeichens
-        //! \param groesse Die Groesse des Zeichens in Pixeln
+        //! Sets the data to be saved.
+        //! \param zeichen The ASCII code of the character
+        //! \param groesse The size of the character in pixels
         DLLEXPORT void init(unsigned char zeichen, const Punkt& groesse);
-        //! Setzt die Daten, die gespeichert werden sollen.
-        //! \param zeichen Der ASCII code des Zeichens
-        //! \param br Die Breite des Zeichens in Pixeln
-        //! \param hoe Die Hoehe des Zeichens in Pixeln
+        //! Sets the data to be saved.
+        //! \param zeichen The ASCII code of the character
+        //! \param br The width of the character in pixels
+        //! \param hoe The height of the character in pixels
         DLLEXPORT void init(unsigned char zeichen, int br, int hoe );
-        //! Speichert die Daten in der LTDS Datei
-        //! \param outF Der geoeffnete und auf die richtiege Stelle zeigende
-        //! ofstream der LTDS Datei
+        //! Saves the data to the LTDS file
+        //! \param outF The opened ofstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void speichern(std::ofstream* outF) const;
-        //! Gibt den ASCII code des Zeichens zurueck
+        //! Returns the ASCII code of the character
         DLLEXPORT unsigned char getZeichen() const;
-        //! Gibt die Breite des Zeichens in Pixeln zurueck
+        //! Returns the width of the character in pixels
         DLLEXPORT int getBreite() const;
-        //! Gibt die Hoehe des Zeichens in Pixeln zurueck
+        //! Returns the height of the character in pixels
         DLLEXPORT int getHoehe() const;
-        //! Gib t die Groesse des Zeichens in Pixeln zurueck
+        //! Returns the size of the character in pixels
         DLLEXPORT const Punkt& getGroesse() const;
     };
 
-    //! Verwaltet die Pixeldaten eines Zeichens
+    //! Manages the pixel data of a character
     class LTDSBuchstabenKoerper : public virtual ReferenceCounter
     {
     private:
@@ -502,29 +495,29 @@ namespace Framework
         Buchstabe* buchstabe;
 
     public:
-        //! Konstruktor
-        //! \param kopf Der Kopf des Zeichens
+        //! Constructor
+        //! \param kopf The header of the character
         DLLEXPORT LTDSBuchstabenKoerper(LTDSBuchstabenKopf * kopf);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~LTDSBuchstabenKoerper();
-        //! Setzt den Buchstaben, der gespeichert werden soll
-        //! \param zeichen Der zu speichernde Buchstabe
+        //! Sets the character to be saved
+        //! \param zeichen The character to save
         DLLEXPORT void setBuchstabe(Buchstabe * zeichen);
-        //! Laedt die Pixel aus der LTDS Datei
-        //! \param inF Der geoeffnete und auf die richtiege Stelle zeigende
-        //! ifstream der LTDS Datei
+        //! Loads the pixels from the LTDS file
+        //! \param inF The opened ifstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void laden(std::ifstream * inF);
-        //! Speichert die Pixel in die LTDS Datei
-        //! \param outF der geoeffnete und an die richtiege Stelle zeigende
-        //! ofstream der LTDS Datei
+        //! Saves the pixels to the LTDS file
+        //! \param outF The opened ofstream of the LTDS file pointing to the
+        //! correct position
         DLLEXPORT void speichern(std::ofstream * outF) const;
-        //! Gibt den geladenen Buchstaben zurueck
+        //! Returns the loaded character
         DLLEXPORT Buchstabe* getBuchstabe() const;
-        //! Gibt den ASCII code des Buchstabens zurueck
+        //! Returns the ASCII code of the character
         DLLEXPORT unsigned char getZeichen() const;
     };
 
-    //! Verwaltet eine LTDS Datei
+    //! Manages an LTDS file
     class LTDSDatei : public virtual ReferenceCounter
     {
     private:
@@ -532,84 +525,81 @@ namespace Framework
         LTDSDateiKopf* dateiKopf;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LTDSDatei();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~LTDSDatei();
-        //! Setzt den Pfad zur Datei
-        //! \param txt Der Pfad
+        //! Sets the path to the file
+        //! \param txt The path
         DLLEXPORT void setPfad(Text* txt);
-        //! Laedt wichtiege Informationen aus der Datei. Muss vor dem Verwenden
-        //! der Datei aufgerufen werden
+        //! Loads important information from the file. Must be called before
+        //! using the file
         DLLEXPORT void leseDaten();
-        //! Fuegt der Datei eine Schriftgroesse hinzu, fals diese noch nicht
-        //! existiert \param alphabet Das Alphabet, welches die Zeichen in der
-        //! gewuenschten Schriftgroe0e enthaelt
+        //! Adds a font size to the file if it does not already exist
+        //! \param alphabet The alphabet containing the characters in the
+        //! desired font size
         DLLEXPORT void addSchriftgroesse(Alphabet* alphabet);
-        //! Fuegt einer Schriftgroesse einen Buchstaben hinzu
-        //! \param gr Die Schriftgroesse des Buchstabens
-        //! \param zeich Der Buchstabe, der gespeichert werden soll
-        //! \param zeichen Der ASCII code des Buchstabens
+        //! Adds a character to a font size
+        //! \param gr The font size of the character
+        //! \param zeich The character to save
+        //! \param zeichen The ASCII code of the character
         DLLEXPORT void addBuchstabe(
             int gr, Buchstabe* zeich, unsigned char zeichen);
-        //! Loescht eine bestimmte Schriftgroesse aus der Datei
-        //! \param gr Die Schriftgroesse, die entfernt werden soll
+        //! Deletes a specific font size from the file
+        //! \param gr The font size to remove
         DLLEXPORT void loescheSchrifrGroesse(int gr);
-        //! Loescht einen Buchstaben aus einer Schriftgroesse
-        //! \param gr Die Schriftgroesse, aus der der Buchstabe entfernt werden
-        //! soll \param zeichen Der ASCII code des Zeichens, welches geloescht
-        //! werden soll
+        //! Deletes a character from a font size
+        //! \param gr The font size from which the character should be removed
+        //! \param zeichen The ASCII code of the character to delete
         DLLEXPORT void loescheBuchstabe(int gr, unsigned char zeichen);
-        //! Loescht die LTDS Datei
+        //! Deletes the LTDS file
         DLLEXPORT void loescheDatei();
-        //! Erstellt die LTDS Datei
+        //! Creates the LTDS file
         DLLEXPORT void erstelleDatei();
-        //! Speichert eine gesammte Schrift in der Datei
-        //! \param schrift Die schrift, die gespeichert werden soll
+        //! Saves an entire font to the file
+        //! \param schrift The font to save
         DLLEXPORT void speicherSchrift(Schrift* schrift);
-        //! Laedt die gesammte Schrift aus der Datei
-        //! \return Die geladene Schrift. 0, falls ein Fehler beim Laden
-        //! aufgetreten ist
+        //! Loads the entire font from the file
+        //! \return The loaded font. 0 if an error occurred while loading
         DLLEXPORT Schrift* ladeSchrift();
-        //! Laedt eine einzelne Schriftgroesse aus der Datei
-        //! \param schriftgroesse Die zu ladende Schriftgroesse
-        //! \return Ein Alphabet mit den Zeichen in der Schriftgroesse. 0, falls
-        //! die Schriftgroesse nicht gefunden wurde
+        //! Loads a single font size from the file
+        //! \param schriftgroesse The font size to load
+        //! \return An alphabet with the characters in the font size. 0 if
+        //! the font size was not found
         DLLEXPORT Alphabet* ladeAlphabet(int schriftgroesse);
-        //! Laedt ein bestimmtes Zeichen einer bestimmten Schriftgroesse
-        //! \param schriftgroesse Die Schriftgroesse, zu dem das Zeichen gehoert
-        //! \param zeichen Der ASCII code des zu ladenden Zeichens
-        //! \return Der geladene Buchstabe. 0, falls das Zeichen nicht gefunden
-        //! wurde.
+        //! Loads a specific character of a specific font size
+        //! \param schriftgroesse The font size the character belongs to
+        //! \param zeichen The ASCII code of the character to load
+        //! \return The loaded character. 0 if the character was not found.
         DLLEXPORT Buchstabe* ladeBuchstabe(
             int schriftgroesse, unsigned char zeichen);
-        //! Gibt den Pfad zur LTDS Datei zurueck
+        //! Returns the path to the LTDS file
         DLLEXPORT Text* getPfad() const;
-        //! Gibt die Anzahl der gespeicherten Schriftgroessen zurueck
+        //! Returns the number of stored font sizes
         DLLEXPORT int getAnzahlSchriftgroessen() const;
-        //! Gibt einen Array mit den gespeicherten Schriftgroessen zurueck
-        //! Der Array sollte nicht veraendert werden
+        //! Returns an array with the stored font sizes.
+        //! The array should not be modified
         DLLEXPORT unsigned char* getSchriftGroessen() const;
-        //! Gibt die Anzahl an gespeicherten Zeichen in einer Schriftgroesse
-        //! zurueck \param sg Die Schriftgroesse, von der die Anzahl der ZEichen
-        //! ermittelt werden soll \return Die Anzahl der Zeichen.
+        //! Returns the number of stored characters in a font size
+        //! \param sg The font size for which the number of characters
+        //! should be determined \return The number of characters.
         DLLEXPORT unsigned char getAnzahlBuchstaben(int sg);
-        //! Gibt einen Array mit Buchstaben einer bestimmten Schriftgroesse zurueck
-        //! \param sg Die Schriftgroesse
-        //! \return Der Array mit den ASCII codes der Zeichen. 0, falls die
-        //! Schriftgroesse nicht gefunden wurde.
+        //! Returns an array with characters of a specific font size
+        //! \param sg The font size
+        //! \return The array with the ASCII codes of the characters. 0 if the
+        //! font size was not found.
         DLLEXPORT unsigned char* getBuchstaben(int sg);
     };
 #endif
-    //! Bit Funktionen
+    //! Bit functions
 
-    //! gibt 1-bits in gewinschter anzahl zurueck.
-    //! \param a Die Anzahl der Bits, die 1 sein sollen
-    //! \return 32 Bits, wobei die einser Bits von rechts beginnen
+    //! Returns 1-bits in the desired count.
+    //! \param a The number of bits that should be 1
+    //! \return 32 bits, where the one-bits start from the right
     DLLEXPORT int Bits(int a);
-    //! Gibt zurueck, wie viele Bits benoetigt werden um eine Zahl darzustellen
-    //! \param c Die Zahl, die dargestellt werden soll
-    //! \return Die Anzahl der benoetigten Bits
+    //! Returns how many bits are needed to represent a number
+    //! \param c The number to represent
+    //! \return The number of required bits
     DLLEXPORT int getBits(char c);
 } // namespace Framework
 #endif

+ 367 - 384
Diagramm.h

@@ -13,26 +13,24 @@ namespace Framework
     class Schrift;    //! Schrift.h
     class HScrollBar; //! Scroll.h
     class VScrollBar; //! Scroll.h
-    class SLDiag;     //! aus dieser Datei
-    class LDiag;      //! aus dieser Datei
+    class SLDiag;     //! from this file
+    class LDiag;      //! from this file
     class TextRenderer;
 
-    //! Eine Zeichnung de 2D GUI Frameworks, die ein live Diagramm von werten
-    //! zeichnet
+    //! A 2D GUI Framework drawing that draws a live diagram of values
     class SLDiag : public ZeichnungHintergrund
     {
     public:
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Es wird ein Gitter im Diagramm zur Orientierung
-            //! gezeichnet
+            //! A grid is drawn in the diagram for orientation
             static const __int64 Gitter = 0x01000;
-            //! Es werden die Namen der Graphen angezeigt
+            //! The names of the graphs are displayed
             static const __int64 LinienName = 0x02000;
 
-            //! Vereinigung der Flags Sichtbar, Hintergrund,
-            //! Rahmen, Gitter, LinienName
+            //! Combination of flags Visible, Background,
+            //! Border, Grid, LineName
             static const __int64 normal
                 = Sichtbar | Hintergrund | Rahmen | Gitter | LinienName;
         };
@@ -49,231 +47,229 @@ namespace Framework
         int lines;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT SLDiag();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~SLDiag();
-        //! Setzt den verwendeten TextRenderer
-        //! \param textRd Der Textrenderer
+        //! Sets the used TextRenderer
+        //! \param textRd The text renderer
         DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
-        //! Setzt einen Zeiger zur verwendeten Schrift
-        //! \param schrift Die Schrift
+        //! Sets a pointer to the used font
+        //! \param schrift The font
         DLLEXPORT void setSchriftZ(Schrift* schrift);
-        //! Setzt die Abstaende zwischen den Linien des Gitters
-        //! \param gr Fuer x den Abstand zwischen jeder vertikalen Linie in
-        //! Pixeln und fuer y den Abstand zwischen jeder Horizontalen Linie in
-        //! den dargestellen y Werten
+        //! Sets the spacing between the grid lines
+        //! \param gr For x the spacing between each vertical line in
+        //! pixels and for y the spacing between each horizontal line in
+        //! the displayed y values
         DLLEXPORT void setGSize(Punkt& gr);
-        //! Setzt die Farbe der Raster Linien
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the grid lines
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setGFarbe(int f);
-        //! Fuegt dem Diagramm einen neuen Graphen hinzu
-        //! \param name Der Name des Graphen. Er wird bei dem Flag LinienName im
-        //! Diagramm angezeigt
+        //! Adds a new graph to the diagram
+        //! \param name The name of the graph. It is displayed in the diagram
+        //! when the LineName flag is set
         DLLEXPORT void addLinie(const char* name);
-        //! Fuegt dem Diagramm einen neuen Graphen hinzu
-        //! \param name Der Name des Graphen. Er wird bei dem Flag LinienName im
-        //! Diagramm angezeigt
+        //! Adds a new graph to the diagram
+        //! \param name The name of the graph. It is displayed in the diagram
+        //! when the LineName flag is set
         DLLEXPORT void addLinie(Text* txt);
-        //! Setzt die Farbe eines Graphen
-        //! \param lNum Der Index des Graphen
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a graph
+        //! \param lNum The index of the graph
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setLFarbe(int lNum, int f);
-        //! Fuegt einem Graphen einen Punkt hinzu. Hierdurch verschieben sich
-        //! alle Punkte des Graphen so weit nach Links, dass der neue Punkt
-        //! rechts auftaucht. Geht ein Punkt links aus dem Diagramm raus, wird
-        //! er geloescht. Auf diese Weise erscheint das Diagramm wie eine
-        //! Abbildung einer Live Messung \param x Der Abstand zum Letzten Punkt
-        //! in Pixeln \param y Den Wert der abgebildeten Funktion in dem Punkt
+        //! Adds a point to a graph. This shifts all points of the graph
+        //! to the left so that the new point appears on the right. If a point
+        //! goes off the left edge of the diagram, it is deleted. This way the
+        //! diagram appears like a live measurement \param x The distance to the
+        //! last point in pixels \param y The value of the displayed function at the point
         DLLEXPORT void addPunkt(int lNum, int x, int h);
-        //! Entfernt einen Graphen
-        //! \param lNum Der Index des Graphen
+        //! Removes a graph
+        //! \param lNum The index of the graph
         DLLEXPORT void removeLinie(int lNum);
-        //! Zeichnet das Diagramm
-        //! \param zRObj Das Bild, in das gezeichnet werden soll
+        //! Draws the diagram
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt die verwendete Schrift zurueck
+        //! Returns the used font
         DLLEXPORT Schrift* getSchrift() const;
-        //! Gibt die verwendete Schrift ohne erhoehten Reference Counter zurueck
+        //! Returns the used font without increased reference counter
         DLLEXPORT Schrift* zSchrift() const;
-        //! Gibt die Groesse eines Quadrats des Gitters zurueck, wobei die Braite
-        //! in Pixeln und die Hoehe in Werten der y Achse ist
+        //! Returns the size of a grid square, where the width is in pixels
+        //! and the height is in y axis values
         DLLEXPORT const Punkt& getGSize() const;
-        //! Gibt die Farbe des Gitters in A8R8G8B8 Format zurueck
+        //! Returns the color of the grid in A8R8G8B8 format
         DLLEXPORT int getGFarbe() const;
-        //! Gibt den Index eines Graphen zurueck
-        //! \param name Der Name des Graphen
+        //! Returns the index of a graph
+        //! \param name The name of the graph
         DLLEXPORT int getLinienNummer(const char* name) const;
-        //! Gibt den Index eines Graphen zurueck
-        //! \param name Der Name des Graphen
+        //! Returns the index of a graph
+        //! \param name The name of the graph
         DLLEXPORT int getLinienNummer(Text* name) const;
-        //! Gibt den Namen eines Graphen zurueck
-        //! \param lNum Der Index des Graphen
+        //! Returns the name of a graph
+        //! \param lNum The index of the graph
         DLLEXPORT Text* getLinienName(int lNum) const;
-        //! Gibt den Namen eines Graphen ohne erhoehten Reference Counter zurueck
-        //! \param lNum Der Index des Graphen
+        //! Returns the name of a graph without increased reference counter
+        //! \param lNum The index of the graph
         DLLEXPORT Text* zLinienNamen(int lNum) const;
-        //! Gibt den Hoechsten y Wert von allen Graphen zurueck
+        //! Returns the highest y value of all graphs
         DLLEXPORT int getHighestValue() const;
-        //! Gibt den Hoechsten y Wert von einem Bestimmten Graphen zurueck
-        //! \param lNum Der Index des Graphen
+        //! Returns the highest y value of a specific graph
+        //! \param lNum The index of the graph
         DLLEXPORT int getHighestValue(int lNum) const;
-        //! Gibt den Durchschnittswert aller im Diagramm gespeicherten Punkten
-        //! eines Graphen zurueck \param lNum Der Index des Graphen
+        //! Returns the average value of all points stored in the diagram
+        //! for a graph \param lNum The index of the graph
         DLLEXPORT int getMedian(int lNum) const;
-        //! Gibt die Anzahl an Graphen zurueck
+        //! Returns the number of graphs
         DLLEXPORT int getLAnzahl() const;
-        //! Gibt den y Wert des letzten Punktes eines Graphen zurueck
-        //! \param lNum Der Index des Graphen
+        //! Returns the y value of the last point of a graph
+        //! \param lNum The index of the graph
         DLLEXPORT int getLastValue(int lNum) const;
     };
 
-    //! Punkt eines Wertes eines Diagramms
+    //! Point of a value in a diagram
     struct DiagPunkt
     {
-        //! Position des Punktes auf dem Horizontalen Intervall des Diagramms
+        //! Position of the point on the horizontal interval of the diagram
         double hIntervall;
-        //! Position des punktes auf dem Vertikalen Intervall des Diagramms
+        //! Position of the point on the vertical interval of the diagram
         double vIntervall;
     };
 
-    //! Wert der in einem Diagramm visualisiert wird
+    //! Value that is visualized in a diagram
     struct DiagWert : public virtual ReferenceCounter
     {
-        //! Style eines Diagramm Wertes
+        //! Style of a diagram value
         class Style
         {
         public:
             static const int Sichtbar
-                = 0x01; //! Legt fest, ob der Wert angezeigt werden soll
+                = 0x01; //! Determines whether the value should be displayed
             static const int Alpha
-                = 0x02; //! Legt fest, ob beim zeichnen des Wertes Alphablending
-                        //! verwendet werden soll
+                = 0x02; //! Determines whether alpha blending should be used
+                        //! when drawing the value
             static const int Hintergrund
-                = 0x04; //! Legt fest, ob der Wert einen Hintergrund hat
+                = 0x04; //! Determines whether the value has a background
             static const int HAlpha
-                = 0x08; //! Legt fest, ob beim zeichnen des Hintergrundes
-                        //! Alphablending verwendet werden soll
-            static const int Name = 0x10; //! Legt fest, ob der Name des Wertes
-                                          //! gezeichnet werden soll
+                = 0x08; //! Determines whether alpha blending should be used
+                        //! when drawing the background
+            static const int Name = 0x10; //! Determines whether the name of
+                                          //! the value should be drawn
         };
 
-        //! Style des Wertes
+        //! Style of the value
         int style;
-        //! Farbe des Wertes
+        //! Color of the value
         int farbe;
-        //! Hintergrundfarbe des Wertes
+        //! Background color of the value
         int hintergrund;
-        //! Name des Wertes
+        //! Name of the value
         Text* name;
-        //! Punkte des Wertes
+        //! Points of the value
         Array<DiagPunkt*>* punkte;
 
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT DiagWert();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~DiagWert();
     };
 
-    //! Daten fuer ein Diagramm
+    //! Data for a diagram
     struct DiagDaten : public virtual ReferenceCounter
     {
         class Style
         {
         public:
             static const int Sichtbar
-                = 0x0001; //! Legt Fest, ob die Daten sichtbar sein sollen
+                = 0x0001; //! Determines whether the data should be visible
             static const int Raster
-                = 0x0002; //! Legt fest, ob ein Raster zur Orientierung
-                          //! angezeigt werden soll
+                = 0x0002; //! Determines whether a grid for orientation
+                          //! should be displayed
             static const int RasterAlpha
-                = 0x0004; //! Legt fest, ob zum Zeichnen des Rasters
-                          //! Alphablending verwendet werden soll
+                = 0x0004; //! Determines whether alpha blending should be used
+                          //! for drawing the grid
             static const int AutoIntervallHeight
-                = 0x0008; //! Legt fest, dass alle Werte automatisch so auf der
-                          //! y Achse Skalliert werden, dass immer die komplette
-                          //! Hoehe des Diagramms genutzt wird
+                = 0x0008; //! Determines that all values are automatically scaled
+                          //! on the y axis so that the full height of the
+                          //! diagram is always used
             static const int AutoIntervallBreite
-                = 0x0010; //! Legt fest, dass alle Wert automatisch so auf der x
-                          //! Achse Skalliert werden, dass immer die komplette
-                          //! Breite des Diagramms genutzt wird
+                = 0x0010; //! Determines that all values are automatically scaled
+                          //! on the x axis so that the full width of the
+                          //! diagram is always used
             static const int HIntervall
-                = 0x0020; //! Legt fest, ob die X Achse gezeichnet werden soll
+                = 0x0020; //! Determines whether the X axis should be drawn
             static const int VIntervall
-                = 0x0040; //! Legt fest, ob die Y Achse gezeichnet werden soll
+                = 0x0040; //! Determines whether the Y axis should be drawn
             static const int HIntervallTexte
-                = 0x0200; //! Legt fest, ob spezielle Texte fuer die Werte der X
-                          //! Achse gezeichnet werden sollen
+                = 0x0200; //! Determines whether custom texts for the X axis
+                          //! values should be drawn
             static const int VIntervallTexte
-                = 0x0400; //! Left fest, ob spezielle Texte fuer die Werte der Y
-                          //! Achse gezeichnet werden sollen
+                = 0x0400; //! Determines whether custom texts for the Y axis
+                          //! values should be drawn
             static const int AutoRasterBreite
-                = 0x0800; //! Legt fest, ob der Abstand zwischen den Vertikalen
-                          //! Linien des Rasters automatisch gewaehlt werden soll
+                = 0x0800; //! Determines whether the spacing between vertical
+                          //! grid lines should be chosen automatically
             static const int AutoRasterHeight
-                = 0x1000; //! Legt fest, ob der Abstand zwischen den
-                          //! Horizontalen Rasterlinien automatisch gewaehlt
-                          //! werden soll
+                = 0x1000; //! Determines whether the spacing between horizontal
+                          //! grid lines should be chosen automatically
 
             static const int intervalle
                 = HIntervall
-                | VIntervall; //! Vereiniegt die Flags HIntervall, VIntervall
+                | VIntervall; //! Combines flags HIntervall, VIntervall
             static const int intervallTexte
                 = HIntervallTexte
-                | VIntervallTexte; //! Vereint die Flags HIntervallTexte,
+                | VIntervallTexte; //! Combines flags HIntervallTexte,
                                    //! VIntervallTexte
             static const int autoRaster
                 = AutoRasterHeight | AutoRasterBreite
-                | Raster; //! Vereint die Flags AutoRasterHoehe,
+                | Raster; //! Combines flags AutoRasterHeight,
                           //! AutoRasterBreite, Raster
             static const int autoIntervall
                 = AutoIntervallHeight
-                | AutoIntervallBreite; //! Vereint die Flags AutoIntervallHoehe,
+                | AutoIntervallBreite; //! Combines flags AutoIntervallHeight,
                                        //! AutoIntervallBreite
         };
 
-        //! Style eines Diagramms
+        //! Style of the diagram
         int style;
-        //! Breite einer Rasterlinie
+        //! Width of a grid line
         int rasterDicke;
-        //! Breite eines Rasterkaestchens
+        //! Width of a grid cell
         double rasterBreite;
-        //! Hoehe eines Rasterkaestchens
+        //! Height of a grid cell
         double rasterHeight;
-        //! Farbe des Rasters
+        //! Color of the grid
         int rasterFarbe;
-        //! Schriftfarbe des Horizontalen Intervalls
+        //! Font color of the horizontal interval
         int hIntervallFarbe;
-        //! Schriftfarbe des Vertikalen Intervalls
+        //! Font color of the vertical interval
         int vIntervallFarbe;
-        //! Name des Horizontalen Intervalls
+        //! Name of the horizontal interval
         Text* hIntervallName;
-        //! Name des Vertikalen Intervalls
+        //! Name of the vertical interval
         Text* vIntervallName;
-        //! Anzeigen des Horizontalen Intervalls
+        //! Labels of the horizontal interval
         RCArray<Text>* hIntervallTexte;
-        //! Anzeigen des Vertikalen Intervalls
+        //! Labels of the vertical interval
         RCArray<Text>* vIntervallTexte;
-        //! einzelne Horizontale Intervalle
+        //! Individual horizontal intervals
         Array<double>* hIntervallWerte;
-        //! einzelne Vertikale Intervalle
+        //! Individual vertical intervals
         Array<double>* vIntervallWerte;
-        //! Breite des Wertes 1 in Pixeln bei dem horizontalen Intervall ( wird
-        //! durch das setzen von AutoIntervallBreite ueberschrieben )
+        //! Width of value 1 in pixels for the horizontal interval (overridden
+        //! by setting AutoIntervallBreite)
         double hIntervallBreite;
-        //! Hoehe des Wertes 1 in Pixeln bei dem vertikalen Intervall ( wird
-        //! durch das setzen von AutoIntervallHoehe ueberschrieben )
+        //! Height of value 1 in pixels for the vertical interval (overridden
+        //! by setting AutoIntervallHeight)
         double vIntervallHeight;
-        //! Werte, die in dem Diagramm visualisiert werden
+        //! Values visualized in the diagram
         RCArray<DiagWert>* werte;
 
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT DiagDaten();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~DiagDaten();
     };
 
-    //! Basisklasse der verschiedenen Diagramm Arten
+    //! Base class for the different diagram types
     class BaseDiag
     {
     protected:
@@ -282,265 +278,256 @@ namespace Framework
         Critical* lock;
 
     public:
-        //! Konstruktor
-        //! \param lock Ein Zeiger zur Critical, mit der die Diagramm Klasse,
-        //! die von dieser Klasse erbt Multithread sicher gemacht wird
+        //! Constructor
+        //! \param lock A pointer to the Critical used to make the diagram class
+        //! that inherits from this class thread-safe
         DLLEXPORT BaseDiag(Critical* lock);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~BaseDiag();
-        //! Setzt einen Zeiger auf die Daten des Diagramms
-        //! \param dd Die Daten
+        //! Sets a pointer to the diagram data
+        //! \param dd The data
         DLLEXPORT void setDiagDatenZ(DiagDaten* dd);
-        //! Kopiert die Daten eines Diagramms
-        //! \param dd Die Daten
+        //! Copies diagram data
+        //! \param dd The data
         DLLEXPORT void setDiagDaten(DiagDaten* dd);
-        //! Rasterdicke setzen
-        //! \param d Die Breite einer Rasterlinie in Pixeln
+        //! Sets the grid line thickness
+        //! \param d The width of a grid line in pixels
         DLLEXPORT void setRasterDicke(int d);
-        //! Rasterbreite setzen
-        //! \param br Der Abstand zwischen zwei Vertikalen Rasterlinien in
-        //! Pixeln
+        //! Sets the grid width
+        //! \param br The spacing between two vertical grid lines in pixels
         DLLEXPORT void setRasterBreite(int br);
-        //! Rasterhoehe setzen
-        //! \param hi Der Abstand zwischen zwei Horizontalen Rasterlinien in
-        //! Pixeln
+        //! Sets the grid height
+        //! \param hi The spacing between two horizontal grid lines in pixels
         DLLEXPORT void setRasterHeight(int hi);
-        //! Rasterfarbe setzen
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the grid color
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setRasterFarbe(int f);
-        //! Setzt die Intervall Breite
-        //! \param br Der Abstand zwischen den Werten 0 und 1 auf der X Achse in
-        //! Pixeln
+        //! Sets the interval width
+        //! \param br The distance between values 0 and 1 on the X axis in pixels
         DLLEXPORT void setHIntervallBreite(double br);
-        //! Setzt die Intervall Hoehe
-        //! \param hi Der Abstand zwischen den Werten 0 und 1 auf der Y Achse in
-        //! Pixeln
+        //! Sets the interval height
+        //! \param hi The distance between values 0 and 1 on the Y axis in pixels
         DLLEXPORT void setVIntervallHeight(double hi);
-        //! Setzt die Farbe der X Achse
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the X axis
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setHIntervallFarbe(int f);
-        //! Setzt die Farbe der Y Achse
-        //! \param f Die Farbe im A8R8G8B8 Formats
+        //! Sets the color of the Y axis
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setVIntervallFarbe(int f);
-        //! Setzt den Namen der X Achse
-        //! \param name Der Name
+        //! Sets the name of the X axis
+        //! \param name The name
         DLLEXPORT void setHIntervallName(const char* name);
-        //! Setzt den Namen der X Achse
-        //! \param name Der Name
+        //! Sets the name of the X axis
+        //! \param name The name
         DLLEXPORT void setHIntervallName(Text* name);
-        //! Setzt den Namen der Y Achse
-        //! \param name Der Name
+        //! Sets the name of the Y axis
+        //! \param name The name
         DLLEXPORT void setVIntervallName(const char* name);
-        //! Setzt den Namen der Y Achse
-        //! \param name Der Name
+        //! Sets the name of the Y axis
+        //! \param name The name
         DLLEXPORT void setVIntervallName(Text* name);
-        //! Beschriftet einen Betimmten Wert der X Achse, falls der Flag
-        //! HIntervallTexte in den DiagDaten gesetzt wurde \param hIntervall Der
-        //! Wert, der beschriftet werden soll \param text Die Beschriftung
+        //! Labels a specific value on the X axis, if the HIntervallTexte flag
+        //! was set in DiagDaten \param hIntervall The value to label
+        //! \param text The label
         DLLEXPORT void addHIntervallText(double hIntervall, const char* text);
-        //! Beschriftet einen Betimmten Wert der X Achse, falls der Flag
-        //! HIntervallTexte in den DiagDaten gesetzt wurde \param hIntervall Der
-        //! Wert, der beschriftet werden soll \param text Die Beschriftung
+        //! Labels a specific value on the X axis, if the HIntervallTexte flag
+        //! was set in DiagDaten \param hIntervall The value to label
+        //! \param text The label
         DLLEXPORT void addHIntervallText(double hIntervall, Text* text);
-        //! setzt den Zeiger auf eine Beschriftung in einen Betimmten Wert der X
-        //! Achse, falls der Flag HIntervallTexte in den DiagDaten gesetzt wurde
-        //! \param hIntervall Der Wert, der beschriftet werden soll
-        //! \param text Die Beschriftung
+        //! Sets a pointer to a label for a specific value on the X axis,
+        //! if the HIntervallTexte flag was set in DiagDaten
+        //! \param hIntervall The value to label
+        //! \param text The label
         DLLEXPORT void setHIntervallTextZ(double hIntervall, Text* text);
-        //! AEndert eine Beschriftung in einen Betimmten Wert der X Achse, falls
-        //! der Flag HIntervallTexte in den DiagDaten gesetzt wurde \param
-        //! hIntervall Der Wert, der beschriftet werden soll \param text Die
-        //! Beschriftung
+        //! Changes a label for a specific value on the X axis, if the
+        //! HIntervallTexte flag was set in DiagDaten \param hIntervall The
+        //! value to label \param text The label
         DLLEXPORT void setHIntervallText(double hIntervall, Text* text);
-        //! AEndert eine Beschriftung in einen Betimmten Wert der X Achse, falls
-        //! der Flag HIntervallTexte in den DiagDaten gesetzt wurde \param
-        //! hIntervall Der Wert, der beschriftet werden soll \param text Die
-        //! Beschriftung
+        //! Changes a label for a specific value on the X axis, if the
+        //! HIntervallTexte flag was set in DiagDaten \param hIntervall The
+        //! value to label \param text The label
         DLLEXPORT void setHIntervallText(double hIntervall, const char* text);
-        //! Entfernt eine Beschriftung in einen Betimmten Wert der X Achse,
-        //! falls der Flag HIntervallTexte in den DiagDaten gesetzt wurde \param
-        //! hIntervall Der Wert, der nicht mehr beschriftet sein soll
+        //! Removes a label for a specific value on the X axis,
+        //! if the HIntervallTexte flag was set in DiagDaten \param
+        //! hIntervall The value that should no longer be labeled
         DLLEXPORT void removeHIntervallText(double hIntervall);
-        //! Beschriftet einen Betimmten Wert der Y Achse, falls der Flag
-        //! VIntervallTexte in den DiagDaten gesetzt wurde \param vIntervall Der
-        //! Wert, der beschriftet werden soll \param text Die Beschriftung
+        //! Labels a specific value on the Y axis, if the VIntervallTexte flag
+        //! was set in DiagDaten \param vIntervall The value to label
+        //! \param text The label
         DLLEXPORT void addVIntervallText(double vIntervall, const char* text);
-        //! Beschriftet einen Betimmten Wert der Y Achse, falls der Flag
-        //! VIntervallTexte in den DiagDaten gesetzt wurde \param vIntervall Der
-        //! Wert, der beschriftet werden soll \param text Die Beschriftung
+        //! Labels a specific value on the Y axis, if the VIntervallTexte flag
+        //! was set in DiagDaten \param vIntervall The value to label
+        //! \param text The label
         DLLEXPORT void addVIntervallText(double vIntervall, Text* text);
-        //! setzt den Zeiger auf eine Beschriftung in einen Betimmten Wert der Y
-        //! Achse, falls der Flag VIntervallTexte in den DiagDaten gesetzt wurde
-        //! \param vIntervall Der Wert, der beschriftet werden soll
-        //! \param text Die Beschriftung
+        //! Sets a pointer to a label for a specific value on the Y axis,
+        //! if the VIntervallTexte flag was set in DiagDaten
+        //! \param vIntervall The value to label
+        //! \param text The label
         DLLEXPORT void setVIntervallTextZ(double vIntervall, Text* text);
-        //! AEndert eine Beschriftung in einen Betimmten Wert der Y Achse, falls
-        //! der Flag VIntervallTexte in den DiagDaten gesetzt wurde \param
-        //! vIntervall Der Wert, der beschriftet werden soll \param text Die
-        //! Beschriftung
+        //! Changes a label for a specific value on the Y axis, if the
+        //! VIntervallTexte flag was set in DiagDaten \param vIntervall The
+        //! value to label \param text The label
         DLLEXPORT void setVIntervallText(double vIntervall, Text* text);
-        //! AEndert eine Beschriftung in einen Betimmten Wert der Y Achse, falls
-        //! der Flag VIntervallTexte in den DiagDaten gesetzt wurde \param
-        //! vIntervall Der Wert, der beschriftet werden soll \param text Die
-        //! Beschriftung
+        //! Changes a label for a specific value on the Y axis, if the
+        //! VIntervallTexte flag was set in DiagDaten \param vIntervall The
+        //! value to label \param text The label
         DLLEXPORT void setVIntervallText(double vIntervall, const char* text);
-        //! Entfernt eine Beschriftung in einen Betimmten Wert der Y Achse,
-        //! falls der Flag VIntervallTexte in den DiagDaten gesetzt wurde \param
-        //! vIntervall Der Wert, der nicht mehr beschriftet sein soll
+        //! Removes a label for a specific value on the Y axis,
+        //! if the VIntervallTexte flag was set in DiagDaten \param
+        //! vIntervall The value that should no longer be labeled
         DLLEXPORT void removeVIntervallText(double vIntervall);
-        //! Fuegt einen im Diagramm dargestellten Wert (Graph) hinzu
-        //! \param w Der neue Wert
+        //! Adds a value (graph) displayed in the diagram
+        //! \param w The new value
         DLLEXPORT void addWertZ(DiagWert* w);
-        //! Fuegt einen im Diagramm dargestellten Wert (Graph) hinzu, indem ein
-        //! anderer Kopiert wird \param w Der Wert, der Kopiert werden soll
+        //! Adds a value (graph) displayed in the diagram by copying
+        //! another \param w The value to copy
         DLLEXPORT void addWert(DiagWert* w);
-        //! Fuegt einen im Diagramm dargestellten Wert (Graph) hinzu
-        //! \param name Der Name des Wertes
+        //! Adds a value (graph) displayed in the diagram
+        //! \param name The name of the value
         DLLEXPORT void addWert(const char* name);
-        //! Fuegt einen im Diagramm dargestellten Wert (Graph) hinzu
-        //! \param name Der Name des Wertes
+        //! Adds a value (graph) displayed in the diagram
+        //! \param name The name of the value
         DLLEXPORT void addWert(Text* txt);
-        //! setzt die Farbe eines Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param fc Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a value
+        //! \param wNum The index of the value
+        //! \param fc The color in A8R8G8B8 format
         DLLEXPORT void setWertFarbe(int wNum, int fc);
-        //! fuegt einem Wert einen Punkt hinzu
-        //! \param wNum Der Index des Wertes
-        //! \param p Der neue Punkt
+        //! Adds a point to a value
+        //! \param wNum The index of the value
+        //! \param p The new point
         DLLEXPORT void addPunktZ(int wNum, DiagPunkt* p);
-        //! fuegt einem Wert einen Punkt hinzu, indem ein Punkt kopiert wird
-        //! \param wNum Der Index des Wertes
-        //! \param p Der Punkt, der kopiert werden soll
+        //! Adds a point to a value by copying a point
+        //! \param wNum The index of the value
+        //! \param p The point to copy
         DLLEXPORT void addPunkt(int wNum, DiagPunkt* p);
-        //! Fuegt einem Wert einen Punkt hinzu
-        //! \param wNum Der Index des Wertes
-        //! \param hI Der Wert des Punktes auf der X Achse
-        //! \param vI Der Wert des Punktes auf der Y Achse
+        //! Adds a point to a value
+        //! \param wNum The index of the value
+        //! \param hI The value of the point on the X axis
+        //! \param vI The value of the point on the Y axis
         DLLEXPORT void addPunkt(int wNum, double hI, double vI);
-        //! Setzt einen Zeiger auf einen vorhandenen Punkt eines Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param hI Der Wert des Punktes auf der X Achse, der ersetzt werden
-        //! soll \param p Der neue Punkt
+        //! Sets a pointer to an existing point of a value
+        //! \param wNum The index of the value
+        //! \param hI The X axis value of the point to replace
+        //! \param p The new point
         DLLEXPORT void setPunktZ(int wNum, double hI, DiagPunkt* p);
-        //! Setzt einen vorhandenen Punkt eines Wertes, indem ein Punkt kopiert
-        //! wird \param wNum Der Index des Wertes \param hI Der Wert des Punktes
-        //! auf der X Achse, der ersetzt werden soll \param p Der neue Punkt
+        //! Sets an existing point of a value by copying a point
+        //! \param wNum The index of the value \param hI The X axis value of
+        //! the point to replace \param p The new point
         DLLEXPORT void setPunkt(int wNum, double hI, DiagPunkt* p);
-        //! Setzt einen vorhandenen Punkt eines Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param hI Der Wert des Punktes auf der X Achse, der ersetzt werden
-        //! soll \param h Der Wert auf der X Achse des neuen Punktes \param v
-        //! Der Wert auf der Y Achse des neuen Punktes
+        //! Sets an existing point of a value
+        //! \param wNum The index of the value
+        //! \param hI The X axis value of the point to replace
+        //! \param h The X axis value of the new point \param v
+        //! The Y axis value of the new point
         DLLEXPORT void setPunkt(int wNum, double hI, double h, double v);
-        //! Setzt einen Zeiger auf einen vorhandenen Punkt eines Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param pNum Der Index des Punktes im Wert
-        //! \param p Der neue Punkt
+        //! Sets a pointer to an existing point of a value
+        //! \param wNum The index of the value
+        //! \param pNum The index of the point in the value
+        //! \param p The new point
         DLLEXPORT void setPunktZ(int wNum, int pNum, DiagPunkt* p);
-        //! Setzt einen vorhandenen Punkt eines Wertes, indem ein Punkt kopiert
-        //! wird \param wNum Der Index des Wertes \param pNum Der Index des
-        //! Punktes im Wert \param p Der neue Punkt
+        //! Sets an existing point of a value by copying a point
+        //! \param wNum The index of the value \param pNum The index of the
+        //! point in the value \param p The new point
         DLLEXPORT void setPunkt(int wNum, int pNum, DiagPunkt* p);
-        //! Setzt einen vorhandenen Punkt eines Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param pNum Der Index des Punktes im Wert
-        //! \param h Der Wert auf der X Achse des neuen Punktes
-        //! \param v Der Wert auf der Y Achse des neuen Punktes
+        //! Sets an existing point of a value
+        //! \param wNum The index of the value
+        //! \param pNum The index of the point in the value
+        //! \param h The X axis value of the new point
+        //! \param v The Y axis value of the new point
         DLLEXPORT void setPunkt(int wNum, int pNum, double h, double v);
-        //! Loescht einen vorhandenen Punkt
-        //! \param wNum Der Index des Wertes
-        //! \param hI Der Wert auf der X Achse des Punktes, der geloescht werden
-        //! soll
+        //! Deletes an existing point
+        //! \param wNum The index of the value
+        //! \param hI The X axis value of the point to delete
         DLLEXPORT void removePunkt(int wNum, double hI);
-        //! Loescht einen vorhandenen Punkt
-        //! \param wNum Der Index des Wertes
-        //! \param pNum Der Index des Punktes im Wert
+        //! Deletes an existing point
+        //! \param wNum The index of the value
+        //! \param pNum The index of the point in the value
         DLLEXPORT void removePunkt(int wNum, int pNum);
-        //! entfernt einen Wert
-        //! \param wNum Der Index des Wertes
+        //! Removes a value
+        //! \param wNum The index of the value
         DLLEXPORT void removeWert(int wNum);
-        //! entfernt einen Wert
-        //! \param name Der Name des Wertes
+        //! Removes a value
+        //! \param name The name of the value
         DLLEXPORT void removeWert(const char* name);
-        //! entfernt einen Wert
-        //! \param name Der Name des Wertes
+        //! Removes a value
+        //! \param name The name of the value
         DLLEXPORT void removeWert(Text* name);
-        //! Fuegt den DiagDaten bestimmte Styles hinzu
-        //! \param style Die neuen Styles
+        //! Adds styles to the DiagDaten
+        //! \param style The new styles
         DLLEXPORT void addDatenStyle(int style);
-        //! Setzt die Styles der DiagDaten
-        //! \param style Die neuen Styles
+        //! Sets the styles of the DiagDaten
+        //! \param style The new styles
         DLLEXPORT void setDatenStyle(int style);
-        //! Setzt die Styles der DiagDaten
-        //! \param style Die Styles
-        //! \param addRemove 1, falls die Styles hinzugefuegt werden sollem. 0,
-        //! falls die Styles entfernt werden sollen
+        //! Sets the styles of the DiagDaten
+        //! \param style The styles
+        //! \param addRemove 1 if the styles should be added. 0 if the styles
+        //! should be removed
         DLLEXPORT void setDatenStyle(int style, bool addRemove);
-        //! Entfernt Styles der DiagDaten
-        //! \param style Die Styles, die entfernt werden sollen
+        //! Removes styles from the DiagDaten
+        //! \param style The styles to remove
         DLLEXPORT void removeDatenStyle(int style);
-        //! Fuegt einem bestimmten Wert bestimmte Styles hinzu
-        //! \param wNum Der Index des Wertes
-        //! \param style Die neuen Styles
+        //! Adds styles to a specific value
+        //! \param wNum The index of the value
+        //! \param style The new styles
         DLLEXPORT void addWertStyle(int wNum, int style);
-        //! Setzt die Styles eines Bestimmten Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param style Die neuen Styles
+        //! Sets the styles of a specific value
+        //! \param wNum The index of the value
+        //! \param style The new styles
         DLLEXPORT void setWertStyle(int wNum, int style);
-        //! Setzt die Styles eines Bestimmten Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param style Die Styles
-        //! \param addRemove 1, falls die Styles hinzugefuegt werden sollem. 0,
-        //! falls die Styles entfernt werden sollen
+        //! Sets the styles of a specific value
+        //! \param wNum The index of the value
+        //! \param style The styles
+        //! \param addRemove 1 if the styles should be added. 0 if the styles
+        //! should be removed
         DLLEXPORT void setWertStyle(int wNum, int style, bool addRemove);
-        //! Entfernt Styles eines Bestimmten Wertes
-        //! \param wNum Der Index des Wertes
-        //! \param style Die Styles, die entfernt werden sollen
+        //! Removes styles from a specific value
+        //! \param wNum The index of the value
+        //! \param style The styles to remove
         DLLEXPORT void removeWertStyle(int wNum, int style);
-        //! Gibt die Daten des Diagramms zurueck
+        //! Returns the diagram data
         DLLEXPORT DiagDaten* getDiagDaten() const;
-        //! Gibt die Daten des Diagramms ohne erhoehten Reference Counter zurueck
+        //! Returns the diagram data without increased reference counter
         DLLEXPORT DiagDaten* zDiagDaten() const;
-        //! Gibt die Daten eines Wertes zurueck
-        //! \param wNum Der Index des Wertes
+        //! Returns the data of a value
+        //! \param wNum The index of the value
         DLLEXPORT DiagWert* getDiagWert(int wNum) const;
-        //! Gibt die Daten eines Wertes ohne erhoehten Reference Counter zurueck
-        //! \param wNum Der Index des Wertes
+        //! Returns the data of a value without increased reference counter
+        //! \param wNum The index of the value
         DLLEXPORT DiagWert* zDiagWert(int wNum) const;
-        //! Gibt die Daten eines Wertes zurueck
-        //! \param name Der Name des Wertes
+        //! Returns the data of a value
+        //! \param name The name of the value
         DLLEXPORT DiagWert* getDiagWert(const char* name) const;
-        //! Gibt die Daten eines Wertes ohne erhoehten Reference Counter zurueck
-        //! \param name Der Name des Wertes
+        //! Returns the data of a value without increased reference counter
+        //! \param name The name of the value
         DLLEXPORT DiagWert* zDiagWert(const char* name) const;
-        //! Gibt den Index eines Wertes zurueck
-        //! \param name Der Name des Wertes
+        //! Returns the index of a value
+        //! \param name The name of the value
         DLLEXPORT int getDiagWertPos(const char* name) const;
-        //! Gibt den Index eines Punktes von einem Wert zurueck
-        //! \param wNum Der Index des Wertes
-        //! \param hI Der Wert auf der X Achse des Punktes
+        //! Returns the index of a point from a value
+        //! \param wNum The index of the value
+        //! \param hI The X axis value of the point
         DLLEXPORT int getDiagPunktPos(int wNum, double hI) const;
-        //! Gibt den Index eines Punktes von einem Wert zurueck
-        //! \param wName Der Name des Wertes
-        //! \param hI Der Wert auf der X Achse des Punktes
+        //! Returns the index of a point from a value
+        //! \param wName The name of the value
+        //! \param hI The X axis value of the point
         DLLEXPORT int getDiagPunktPos(char* wName, double hI) const;
-        //! Prueft, ob bestimmte Styles in den DiagDaten gesetzt wurden
-        //! \param style Die Styles
+        //! Checks whether specific styles are set in the DiagDaten
+        //! \param style The styles
         DLLEXPORT inline bool hatDatenStyle(int style) const;
-        //! Prueft, ob bestimmte Styles in den DiagDaten nicht gesetzt wurden
-        //! \param style Die Styles
+        //! Checks whether specific styles are not set in the DiagDaten
+        //! \param style The styles
         DLLEXPORT inline bool hatDatenStyleNicht(int style) const;
-        //! Prueft, ob bestimmte Styles fuer einen bestimmten Wert gesetzt wurden
-        //! \param wNum Der Index des Wertes
-        //! \param style Die Styles
+        //! Checks whether specific styles are set for a specific value
+        //! \param wNum The index of the value
+        //! \param style The styles
         DLLEXPORT inline bool hatWertStyle(int wNum, int style) const;
-        //! Prueft, ob bestimmte Styles fuer einen bestimmten Wert nicht gesetzt
-        //! wurden \param wNum Der Index des Wertes \param style Die Styles
+        //! Checks whether specific styles are not set for a specific value
+        //! \param wNum The index of the value \param style The styles
         DLLEXPORT inline bool hatWertStyleNicht(int wNum, int style) const;
     };
 
-    //! Eine Zeichnung des 2D GUI Frameworks, die die Diagrammdaten als
-    //! Liniengraphen darstellt
+    //! A 2D GUI Framework drawing that displays diagram data as
+    //! line graphs
     class LDiag : public ZeichnungHintergrund,
                   public BaseDiag
     {
@@ -548,24 +535,21 @@ namespace Framework
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Legt fest, ob um die daten ein Rahmen
-            //! gezeichnet wird
+            //! Determines whether a border is drawn around the data
             static const __int64 DatenRahmen = 0x0001000;
-            //! legt fest, ob die Daten einen Hintergrund haben
+            //! Determines whether the data has a background
             static const __int64 DatenHintergrund = 0x02000;
-            //! legt fest, ob beim zeichnen des Hintergrunds der
-            //! Daten alpha blending benutzt wird
+            //! Determines whether alpha blending is used when drawing
+            //! the data background
             static const __int64 DatenHAlpha = 0x04000;
-            //! Legt fest, ob fuer den Hintergrund der Daten ein
-            //! Bild verwendet werden soll
+            //! Determines whether an image is used for the data background
             static const __int64 DatenHBild = 0x008000;
-            //! Legt fest, ob die Daten einen Farbuebergang haben
+            //! Determines whether the data has a color gradient
             static const __int64 DatenBuffered = 0x010000;
 
-            //! Vereint die Flags VScroll und HScroll
+            //! Combines flags VScroll and HScroll
             static const __int64 scroll = VScroll | HScroll;
-            //! Vereint die Flags Hintergrund, scroll,
-            //! DatenRahmen
+            //! Combines flags Background, scroll, DataBorder
             static const __int64 normal = Hintergrund | scroll | DatenRahmen;
         };
 
@@ -578,93 +562,92 @@ namespace Framework
         Bild* vIntervallRB;
         Bild* hIntervallRB;
         int schriftGr;
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT LDiag();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~LDiag();
-        //! Setzt den verwendeten TextRenderer
-        //! \param textRd Der Textrenderer
+        //! Sets the used TextRenderer
+        //! \param textRd The text renderer
         DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
-        //! Setzt die Schrift
-        //! \param schrift Die Schrift
+        //! Sets the font
+        //! \param schrift The font
         DLLEXPORT void setSchriftZ(Schrift* schrift);
-        //! Setzt die groesse der Schrift
-        //! \param gr Die Hoehe einer Zeile in Pixeln
+        //! Sets the font size
+        //! \param gr The height of a line in pixels
         DLLEXPORT void setSchriftSize(int gr);
-        //! Setzt den inneren Rahmen um das eigentliche Diagramm (Rahmen um die
-        //! Daten) \param ram Der Rahmen
+        //! Sets the inner border around the actual diagram (border around the
+        //! data) \param ram The border
         DLLEXPORT void setDatenRahmenZ(Rahmen* ram);
-        //! Setzt den inneren Rahmen um das eigentliche Diagramm (Rahmen um die
-        //! Daten), indem ein Rahmen kopiert wird \param ram Der Rahmen, der
-        //! kopiert werden soll
+        //! Sets the inner border around the actual diagram (border around the
+        //! data) by copying a border \param ram The border to copy
         DLLEXPORT void setDatenRahmen(Rahmen* ram);
-        //! Setzt die Breite des inneren Rahmen um das eigentliche Diagramm
-        //! (Rahmen um die Daten) \param br Die Breite in Pixeln
+        //! Sets the width of the inner border around the actual diagram
+        //! (border around the data) \param br The width in pixels
         DLLEXPORT void setDatenRahmenBreite(int br);
-        //! Setzt die Farbe des inneren Rahmen um das eigentliche Diagramm
-        //! (Rahmen um die Daten) \param fc Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the inner border around the actual diagram
+        //! (border around the data) \param fc The color in A8R8G8B8 format
         DLLEXPORT void setDatenRahmenFarbe(int fc);
-        //! Setzt den Hintergrund des eigentlichen Diagramms
+        //! Sets the background of the actual diagram
         DLLEXPORT void setDatenHintergrundFarbe(int fc);
         DLLEXPORT void setDatenHintergrundBildZ(Bild* b);
         DLLEXPORT void setDatenHintergrundBild(Bild* b);
-        //! Setzt den Farbuebergang des eigentlichen Diagramms (Farbuebergang der
-        //! Daten) \param af Der Farbuebergang
+        //! Sets the color gradient of the actual diagram (color gradient of
+        //! the data) \param af The color gradient
         DLLEXPORT void setDatenAlphaFeldZ(AlphaFeld* af);
-        //! Setzt den Farbuebergang des eigentlichen Diagramms (Farbuebergang der
-        //! Daten), indem ein Farbuebergang kopiert wird \param af Der
-        //! Farbuebergang, der Kopiert werden soll
+        //! Sets the color gradient of the actual diagram (color gradient of
+        //! the data) by copying a color gradient \param af The color
+        //! gradient to copy
         DLLEXPORT void setDatenAlphaFeld(AlphaFeld* af);
-        //! Setzt die Farbe des Farbuebergangs des eigentlichen Diagramms
-        //! (Farbuebergang der Daten) \param fc Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient of the actual diagram
+        //! (color gradient of the data) \param fc The color in A8R8G8B8 format
         DLLEXPORT void setDatenAlphaFeldFarbe(int fc);
-        //! Setzt die FaStaerkerbe des Farbuebergangs des eigentlichen Diagramms
-        //! (Farbuebergang der Daten) \param st Die Staerke
+        //! Sets the strength of the color gradient of the actual diagram
+        //! (color gradient of the data) \param st The strength
         DLLEXPORT void setDatenAlphaFeldStrength(int st);
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt die Schrift zurueck
+        //! Returns the font
         DLLEXPORT Schrift* getSchrift() const;
-        //! Gibt die Schrift ohne erhoehten Reference Counter zurueck
+        //! Returns the font without increased reference counter
         DLLEXPORT Schrift* zSchrift() const;
-        //! Gibt den inneren Rahmen um das eigentliche Diagramm zurueck (Rahmen
-        //! um die Daten)
+        //! Returns the inner border around the actual diagram (border around
+        //! the data)
         DLLEXPORT Rahmen* getDatenRahmen() const;
-        //! Gibt den inneren Rahmen um das eigentliche Diagramm ohne erhoehten
-        //! Reference Counter zurueck (Rahmen um die Daten)
+        //! Returns the inner border around the actual diagram without increased
+        //! reference counter (border around the data)
         DLLEXPORT Rahmen* zDatenRahmen() const;
-        //! Gibt die Farbe des inneren Rahmens um das eigentliche Diagramm im
-        //! A8R8G8B8 Format zurueck (Rahmen um die Daten)
+        //! Returns the color of the inner border around the actual diagram in
+        //! A8R8G8B8 format (border around the data)
         DLLEXPORT int getDatenRahmenFarbe() const;
-        //! Gibt die Breite des inneren Rahmens um das eigentliche Diagramm in
-        //! Pixeln zurueck (Rahmen um die Daten)
+        //! Returns the width of the inner border around the actual diagram in
+        //! pixels (border around the data)
         DLLEXPORT int getDatenRahmenBreite() const;
-        //! Gibt die Farbe des Hintergrunds des eigentlichen Diagramms im
-        //! A8R8G8B8 Format zurueck (Hintergrund der Daten)
+        //! Returns the background color of the actual diagram in
+        //! A8R8G8B8 format (background of the data)
         DLLEXPORT int getDatenHintergrundFarbe() const;
-        //! Gibt das Hintergrund Bild des eigentlichen Diagramms zurueck
-        //! (Hintergrund Bild der Daten)
+        //! Returns the background image of the actual diagram
+        //! (background image of the data)
         DLLEXPORT Bild* getDatenHintergrundBild() const;
-        //! Gibt das Hintergrund Bild des eigentlichen Diagramms ohne erhoehten
-        //! Reference Counter zurueck (Hintergrund Bild der Daten)
+        //! Returns the background image of the actual diagram without increased
+        //! reference counter (background image of the data)
         DLLEXPORT Bild* zDatenHintergrundBild() const;
-        //! Gibt den Farbuebergang des eigentlichen Diagramms zurueck
-        //! (Farbuebergang der Daten)
+        //! Returns the color gradient of the actual diagram
+        //! (color gradient of the data)
         DLLEXPORT AlphaFeld* getDatenAlphaFeld() const;
-        //! Gibt den Farbuebergang des eigentlichen Diagramms ohne erhoehten
-        //! Reference Counter zurueck (Farbuebergang der Daten)
+        //! Returns the color gradient of the actual diagram without increased
+        //! reference counter (color gradient of the data)
         DLLEXPORT AlphaFeld* zDatenAlphaFeld() const;
-        //! Gibt die Farbe des Farbuebergangs des eigentlichen Diagramms im
-        //! A8R8G8B8 Format zurueck (Farbuebergang der Daten)
+        //! Returns the color of the color gradient of the actual diagram in
+        //! A8R8G8B8 format (color gradient of the data)
         DLLEXPORT int getDatenAlphaFeldFarbe() const;
-        //! Gibt die Staerke des Farbuebergangs des eigentlichen Diagramms zurueck
-        //! (Farbuebergang der Daten)
+        //! Returns the strength of the color gradient of the actual diagram
+        //! (color gradient of the data)
         DLLEXPORT int getDatenAlphaFeldStrength() const;
     };
 } // namespace Framework

+ 2 - 2
Dialog.h

@@ -17,9 +17,9 @@ namespace Framework
     public:
         DLLEXPORT MultiplChoiceDialog();
         DLLEXPORT ~MultiplChoiceDialog();
-        //! Fuegt eine Auswahlmoeglichkeit hinzu
+        //! Adds a selection option
         DLLEXPORT void addChoice(const char* text, void* id);
-        //! Zeigt den dialog an und wartet auf benutzereingabe
+        //! Shows the dialog and waits for user input
         DLLEXPORT void* anzeigen(Schrift* zSchrift);
     };
 } // namespace Framework

+ 17 - 17
DreieckListe.h

@@ -7,22 +7,22 @@
 namespace Framework
 {
     template<typename T>
-    //! Eine Ecke eines Dreiecks
+    //! A corner of a triangle
     struct DreieckPunkt
     {
         T* punkt;
         Vec2<float>* textur;
 
-        //! Konstruktor
-        //! \param punkt Die Koordinate der Ecke
-        //! \param textur Die Koordinate in der Textur
+        //! Constructor
+        //! \param punkt The coordinate of the corner
+        //! \param textur The coordinate in the texture
         DreieckPunkt(T* punkt, Vec2<float>* textur)
         {
             this->punkt = punkt;
             this->textur = textur;
         }
 
-        //! Destruktor
+        //! Destructor
         ~DreieckPunkt()
         {
             delete punkt;
@@ -31,22 +31,22 @@ namespace Framework
     };
 
     template<typename T>
-    //! Eine Liste von Dreiecken, wobei immer die Beiden letzten Punkte des
-    //! vorheriegen Dreiecks mit dem naechsten Punkt ein neues Dreieck bilden
+    //! A list of triangles where the last two points of the previous triangle
+    //! together with the next point form a new triangle
     class DreieckListe : public virtual ReferenceCounter
     {
     private:
         Array<DreieckPunkt<T>*>* punkte;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DreieckListe()
             : ReferenceCounter()
         {
             punkte = new Array<DreieckPunkt<T>*>();
         }
 
-        //! Destruktor
+        //! Destructor
         ~DreieckListe()
         {
             int anz = punkte->getEintragAnzahl();
@@ -55,15 +55,15 @@ namespace Framework
             punkte->release();
         }
 
-        //! Fuegt der Liste einen Punkt hinzu
-        //! \param p Die Koordinaten des Punktes
-        //! \param textur Die Koordinaten in der Textur
+        //! Adds a point to the list
+        //! \param p The coordinates of the point
+        //! \param textur The coordinates in the texture
         void addPunkt(T* p, Vec2<float>* textur)
         {
             punkte->add(new DreieckPunkt<T>(p, textur));
         }
 
-        //! Loescht den letzten Punkt
+        //! Deletes the last point
         void removeLetztenPunkt()
         {
             int i = punkte->getEintragAnzahl() - 1;
@@ -72,7 +72,7 @@ namespace Framework
             punkte->remove(i);
         }
 
-        //! Loescht alle Ecken
+        //! Deletes all corners
         void lehren()
         {
             int anz = punkte->getEintragAnzahl();
@@ -81,13 +81,13 @@ namespace Framework
             punkte->leeren();
         }
 
-        //! gibt die Anzahl der Dreiecke zurueck
+        //! Returns the number of triangles
         int getDreieckAnzahl() const
         {
             return punkte->getEintragAnzahl() - 2;
         }
 
-        //! Gibt zurueck, ob eine Textur verwendet wird
+        //! Returns whether a texture is used
         bool hatTextur() const
         {
             int anz = punkte->getEintragAnzahl();
@@ -99,7 +99,7 @@ namespace Framework
             return ret;
         }
 
-        //! Gibt die Liste mit Punkten zurueck
+        //! Returns the list of points
         Array<DreieckPunkt<T>*>* zListe() const
         {
             return punkte;

+ 45 - 45
Ebene3D.h

@@ -5,17 +5,17 @@
 namespace Framework
 {
     template<typename T>
-    //! Speichert eine 3D Ebene in Koordinaten Form (x*?+y*?+z*?-w=0)
+    //! Stores a 3D plane in coordinate form (x*?+y*?+z*?-w=0)
     class Ebene3D
     {
     public:
-        T x; //! Die X Komponente des Normalen Vektors der Ebene
-        T y; //! Die Y Komponente des Normalen Vektors der Ebene
-        T z; //! Die Z Komponente des Normalen Vektors der Ebene
-        T w; //! Der Wert, den das Skalarprodukt eines Vektors mit dem Normalen
-             //! Vektor haben muss um in der Ebene zu liegen
+        T x; //! The X component of the normal vector of the plane
+        T y; //! The Y component of the normal vector of the plane
+        T z; //! The Z component of the normal vector of the plane
+        T w; //! The value the dot product of a vector with the normal
+             //! vector must have to lie on the plane
 
-        //! Konstruktor
+        //! Constructor
         inline Ebene3D()
             : x((T)0),
               y((T)0),
@@ -23,12 +23,12 @@ namespace Framework
               w((T)0)
         {}
 
-        //! Knstruktor
-        //! \param x Die X Komponente des Normalen Vektors der Ebene
-        //! \param y Die Y Komponente des Normalen Vektors der Ebene
-        //! \param z Die Z Komponente des Normalen Vektors der Ebene
-        //! \param w Der Wert, den das Skalarprodukt eines Vektors mit dem
-        //! Normalen Vektor haben muss um in der Ebene zu liegen
+        //! Constructor
+        //! \param x The X component of the normal vector of the plane
+        //! \param y The Y component of the normal vector of the plane
+        //! \param z The Z component of the normal vector of the plane
+        //! \param w The value the dot product of a vector with the
+        //! normal vector must have to lie on the plane
         inline Ebene3D(T x, T y, T z, T w)
             : x(x),
               y(y),
@@ -36,13 +36,13 @@ namespace Framework
               w(w)
         {}
 
-        //! Knstruktor
-        //! \param vect Die Ebene, deren Werte kopiert werden sollen
+        //! Constructor
+        //! \param vect The plane whose values should be copied
         inline Ebene3D(const Ebene3D& vect)
             : Ebene3D(vect.x, vect.y, vect.z, vect.w)
         {}
 
-        //! Bringt den Normalen Vektor der Ebene auf die Laenge 1
+        //! Normalizes the normal vector of the plane to length 1
         inline Ebene3D& normalize()
         {
             const T length = len();
@@ -53,8 +53,8 @@ namespace Framework
             return *this;
         }
 
-        //! Tauscht die Werte zweier Ebenen
-        //! \param vect die zweite Ebene
+        //! Swaps the values of two planes
+        //! \param vect The other plane
         inline Ebene3D& Swap(Ebene3D& vect)
         {
             const Ebene3D tmp = vect;
@@ -63,8 +63,8 @@ namespace Framework
             return *this;
         }
 
-        //! Kopiert die Werte einer anderen Ebene
-        //! \param r Die andere Ebene
+        //! Copies the values of another plane
+        //! \param r The other plane
         inline Ebene3D operator=(const Ebene3D& r)
         {
             x = r.x;
@@ -74,8 +74,8 @@ namespace Framework
             return *this;
         }
 
-        //! Addiert eine andere Ebene dazu
-        //! \param r Die andere Ebene
+        //! Adds another plane
+        //! \param r The other plane
         inline Ebene3D operator+=(const Ebene3D& r)
         {
             x += r.x;
@@ -85,8 +85,8 @@ namespace Framework
             return *this;
         }
 
-        //! Subtrahiert eine andere Ebene
-        //! \param r Die andere Ebene
+        //! Subtracts another plane
+        //! \param r The other plane
         inline Ebene3D operator-=(const Ebene3D& r)
         {
             x -= r.x;
@@ -96,8 +96,8 @@ namespace Framework
             return *this;
         }
 
-        //! Multipliziert die Ebene mit einem Faktor
-        //! \param r Der Faktor
+        //! Multiplies the plane by a factor
+        //! \param r The factor
         inline Ebene3D operator*=(const T& r)
         {
             x *= r;
@@ -107,8 +107,8 @@ namespace Framework
             return *this;
         }
 
-        //! Teilt die Ebene durch einen Faktor
-        //! \param r Der Faktor
+        //! Divides the plane by a factor
+        //! \param r The factor
         inline Ebene3D operator/=(const T& r)
         {
             x /= r;
@@ -119,68 +119,68 @@ namespace Framework
         }
 
         template<typename T2>
-        //! Konvertiert die Ebene in einen anderen Typ
+        //! Converts the plane to another type
         inline operator Ebene3D<T2>() const
         {
             return {(T2)x, (T2)y, (T2)z, (T2)w};
         }
 
-        //! Errehnet das Quadrat der Laenge des Normalen Vektors der Ebene
+        //! Calculates the square of the length of the normal vector of the plane
         inline T lenSq() const
         {
             return x * x + y * y + z * z;
         }
 
-        //! Errechnet die Laenge des Normalen Vektors
+        //! Calculates the length of the normal vector
         inline T len() const
         {
             return sqrt(lenSq());
         }
 
-        //! Berechnet die Entfernung der Ebene zu einem Vektor
-        //! \param r Der Vektor
+        //! Calculates the distance from the plane to a vector
+        //! \param r The vector
         inline T operator*(const Vec3<T>& r) const
         {
             return x * r.x + y * r.y + z * r.z + w;
         }
 
-        //! Addiert zwei Ebenen
-        //! \param r Die andere Ebene
+        //! Adds two planes
+        //! \param r The other plane
         inline Ebene3D operator+(const Ebene3D& r) const
         {
             return Vec4(*this) += r;
         }
 
-        //! Subtrahiert zwei Ebenen
-        //! \param r Die andere Ebene
+        //! Subtracts two planes
+        //! \param r The other plane
         inline Ebene3D operator-(const Ebene3D& r) const
         {
             return Ebene3D(*this) -= r;
         }
 
-        //! Multiliziert die Ebene mit einem Faktor
-        //! r: Der Faktor
+        //! Multiplies the plane by a factor
+        //! r: The factor
         inline Ebene3D operator*(const T& r) const
         {
             return Ebene3D(*this) *= r;
         }
 
-        //! Dividiert die Ebene durch einen Faktor
-        //! \param r Der Faktor
+        //! Divides the plane by a factor
+        //! \param r The factor
         inline Ebene3D operator/(const T& r) const
         {
             return Ebene3D(*this) /= r;
         }
 
-        //! UEberprueft zwei Ebenen auf Gleichheit
-        //! \param r Die andere Ebene
+        //! Checks two planes for equality
+        //! \param r The other plane
         inline bool operator==(const Ebene3D& r) const
         {
             return x == r.x && y == r.y && z == r.z && w == r.w;
         }
 
-        //! UEberprueft zwei Ebenen auf Ungleichheit
-        //! \param r Die andere Ebene
+        //! Checks two planes for inequality
+        //! \param r The other plane
         inline bool operator!=(const Ebene3D& r) const
         {
             return !(*this == r);

+ 301 - 328
Fenster.h

@@ -166,48 +166,46 @@ namespace Framework
         //! Specifies whether the window can be moved by dragging with the mouse
         //! \param verschiebbar 1 if the window may be moved
         DLLEXPORT void setVerschiebbar(bool verschiebbar);
-        //! Setzt einen Transparenten Rahmen um das Fenster
-        //! \param zBild Ein Bild, was den Rahmen enthaelt
-        //! \param hins Die HINSTANCE des Programms (Wird vom Framework an die
-        //! Start funktion in der Startparam Struktur uebergeben)
+        //! Sets a transparent frame around the window
+        //! \param zBild An image containing the frame
+        //! \param hins The HINSTANCE of the program (passed by the Framework to
+        //! the start function in the Startparam structure)
         DLLEXPORT void ladeRahmenFenster(Bild* zBild,
             HINSTANCE
-                hinst); //! setzt einen Transpatenten Rahmen um das Fenster
-        //! Gibt das Handle des verwalteten Fensters zurueck
+                hinst); //! sets a transparent frame around the window
+        //! Returns the handle of the managed window
         DLLEXPORT HWND getFensterHandle() const;
-        //! Gibt die Position des Fensters in Pixeln zurueck
+        //! Returns the position of the window in pixels
         DLLEXPORT Punkt getPosition() const;
-        //! Gibt die Groesse des Fensters in Pixeln zurueck
+        //! Returns the size of the window in pixels
         DLLEXPORT Punkt getGroesse() const;
-        //! Gibt die Groesse des Fensterkoerpers in Pixeln zurueck
+        //! Returns the size of the window body in pixels
         DLLEXPORT Punkt getKoerperGroesse() const;
-        //! Gibt die Breite des Fensterkoerpers in Pixeln zurueck
+        //! Returns the width of the window body in pixels
         DLLEXPORT int getKoerperBreite() const;
-        //! Gibt die Hoehe des Fensterkoerpers in Pixeln zurueck
+        //! Returns the height of the window body in pixels
         DLLEXPORT int getKoerperHoehe() const;
-        //! Gibt zurueck, ob eine Rueckruffunktion fuer ein MausEreignis gesetzt
-        //! wurde
+        //! Returns whether a callback function for a mouse event was set
         DLLEXPORT bool hatMausAktion() const;
-        //! Gibt zurueck, ob eine Rueckruffunktion fuer das Ereignis vor dem
-        //! Schliessen des Fensters gesetzt wurde
+        //! Returns whether a callback function for the event before
+        //! closing the window was set
         DLLEXPORT bool hatVSchliessAktion() const;
-        //! Gibt zurueck, ob eine Rueckruffunktion fuer das Ereignis nach dem
-        //! Schliessen des Fensters gesetzt wurde
+        //! Returns whether a callback function for the event after
+        //! closing the window was set
         DLLEXPORT bool hatNSchliessAktion() const;
-        //! Gibt zurueck, ob eine Rueckruffunktion fuer ein TastaturEreignis
-        //! gesetzt wurde
+        //! Returns whether a callback function for a keyboard event
+        //! was set
         DLLEXPORT bool hatTastaturAktion() const;
-        //! Gibt den Bidschirm zurueck, an dessen Zeichnungen die Ereignisse
-        //! Weitergegeben werden
+        //! Returns the screen to whose drawings the events are forwarded
         DLLEXPORT Bildschirm* getBildschirm() const;
-        //! Gibt den Bildschirm ohne erhoehten Reference Counter zurueck, an
-        //! dessen Zeichnungen die Ereignisse Weitergegeben werden
+        //! Returns the screen without increased reference counter to whose
+        //! drawings the events are forwarded
         DLLEXPORT Bildschirm* zBildschirm() const;
-        //! Gibt zurueck, ob das Fenster verschiebbar ist
+        //! Returns whether the window is movable
         DLLEXPORT bool istVerschiebbar() const;
     };
 
-    //! Verwaltet alle Windows API Fenster im Framework
+    //! Manages all Windows API windows in the framework
     class WFensterArray
     {
     private:
@@ -215,172 +213,162 @@ namespace Framework
         WFenster* This;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT WFensterArray();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~WFensterArray();
-        //! Fuegt ein neues Fenster hinzu
-        //! \param fenster Das Fenster
+        //! Adds a new window
+        //! \param fenster The window
         DLLEXPORT bool addFenster(WFenster* fenster);
-        //! Entfernt ein Fenster
-        //! \param fenster Das Fenster
+        //! Removes a window
+        //! \param fenster The window
         DLLEXPORT bool removeFenster(WFenster* fenster);
-        //! gibt das naechste Element zurueck
+        //! Returns the next element
         DLLEXPORT WFensterArray* getNext();
-        //! Setzt das naechste Element auf 0
+        //! Sets the next element to 0
         DLLEXPORT void setNext0();
-        //! Loescht das Element
+        //! Deletes the element
         DLLEXPORT void del();
-        //! Sendet das Ereignis, was vor dem Schliessen aufgerufen wird an ein
-        //! bestimmtes Fenster \param hWnd Das Handle zum Fenster
+        //! Sends the pre-close event to a specific window
+        //! \param hWnd The handle to the window
         DLLEXPORT bool sendVSchliessMessage(HWND hWnd);
-        //! Sendet das Ereignis, was nach dem Schliessen aufgerufen wird an ein
-        //! bestimmtes Fenster \param hWnd Das Handle zum Fenster
+        //! Sends the post-close event to a specific window
+        //! \param hWnd The handle to the window
         DLLEXPORT bool sendNSchliessMessage(HWND hwnd);
-        //! Sendet ein Maus Ereignis an ein bestimmtes Fenster
-        //! \param hWnd Das Handle zum Fenster
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Sends a mouse event to a specific window
+        //! \param hWnd The handle to the window
+        //! \param me The event triggered by the mouse input
         DLLEXPORT bool sendMausMessage(HWND hWnd, MausEreignis& me);
-        //! Sendet ein Tastatur Ereignis an ein bestimmtes Fenster
-        //! \param hWnd Das Handle zum Fenster
-        //! \param me Das Ereignis, was durch die Tastatureingabe ausgeloesst
-        //! wurde
+        //! Sends a keyboard event to a specific window
+        //! \param hWnd The handle to the window
+        //! \param me The event triggered by the keyboard input
         DLLEXPORT bool sendTastaturMessage(HWND hwnd, TastaturEreignis& te);
-        //! Sendet das Ereignis, was durch das oeffnen des Fensters ausgeloesst
-        //! wurde an ein bestimmtes Fenster \param hWnd Das Handle zum Fenster
+        //! Sends the event triggered by opening the window to a specific
+        //! window \param hWnd The handle to the window
         DLLEXPORT bool sendRestoreMessage(HWND hwnd);
-        //! Gibt das Fenster dieses Eintrags zurueck
+        //! Returns the window of this entry
         DLLEXPORT WFenster* getThis();
     };
 
-    //! Erzeugt ein Windows API Popup Fenster, mit einer Meldung
-    //! \param hWnd Ein Handle zu dem Fenster, was blockiert werden soll, bis
-    //! das Popup Fenster geschlossen wurde. Kann 0 sein \param titel Der Titel
-    //! des Popup Fensters \param meldung Die Meldung, die im Fenster angezeigt
-    //! werden soll \param style Bestimmt das Icon, was im Fenster angezeigt
-    //! wird. Beispiel: MB_ICONERROR, MB_ICONINFORMATION
+    //! Creates a Windows API popup window with a message
+    //! \param hWnd A handle to the window that should be blocked until
+    //! the popup window is closed. Can be 0 \param titel The title
+    //! of the popup window \param meldung The message to display in the
+    //! window \param style Determines the icon displayed in the window.
+    //! Example: MB_ICONERROR, MB_ICONINFORMATION
     DLLEXPORT void WMessageBox(
         HWND hWnd, Text* titel, Text* meldung, UINT style);
 #endif
-    //! Fenster Klasse im Programm
+    //! Window class in the program
     class Fenster : public Zeichnung
     {
     public:
         class Style : public Zeichnung::Style
         {
         public:
-            //! Legt fest, ob der Koerper des Fensters einen Hintergrund hat
+            //! Determines whether the window body has a background
             static const __int64 BodyHintergrund = 0x000000008;
-            //! Legt fest, ob beim zeichnen des Koerperhintergrundes alpha
-            //! blending verwendet werden soll
+            //! Determines whether alpha blending is used when drawing
+            //! the body background
             static const __int64 BodyHAlpha = 0x000000010;
-            //! Legt fest, ob ein Bild als Hintergrund des Koerpers verwendet
-            //! werden soll
+            //! Determines whether an image is used as the body background
             static const __int64 BodyHBild = 0x000000020;
-            //! Legt fest, ob der Koerper einen Farbuebergang besitzt
+            //! Determines whether the body has a color gradient
             static const __int64 BodyBuffered = 0x000000040;
-            //! Legt fest, ob das Fenster eine Titelleiste hat
+            //! Determines whether the window has a title bar
             static const __int64 Titel = 0x000000080;
-            //! Legt fest, ob die titelleiste des Fensters einen Hintergrund hat
+            //! Determines whether the title bar has a background
             static const __int64 TitelHintergrund = 0x000000100;
-            //! Legt fest, ob zum zeichnen des Titel Hintergrundes alpha
-            //! blending soll
+            //! Determines whether alpha blending is used when drawing
+            //! the title background
             static const __int64 TitelHAlpha = 0x000000200;
-            //! Legt fest, ob fuer den Titelhintergrund ein Bild verwendet werden
-            //! soll
+            //! Determines whether an image is used for the title background
             static const __int64 TitelHBild = 0x000000400;
-            //! Legt fest, ob die Titel Leiste einen Farbuebergang besitzt
+            //! Determines whether the title bar has a color gradient
             static const __int64 TitelBuffered = 0x000000800;
-            //! Legt fest, ob in der Titelleiste ein Knopf zum Schliessen des
-            //! Fensters angezeigt werden soll
+            //! Determines whether a close button is displayed in the title bar
             static const __int64 Closable = 0x000001000;
-            //! Legt fest, ob der Schliessen Knopf einen Hintergrund hat
+            //! Determines whether the close button has a background
             static const __int64 ClosingHintergrund = 0x000002000;
-            //! Legt fest, ob beim Zeichnen des Hintergrunds des Schliessen
-            //! Knopfes alpha blending verwendet werden soll
+            //! Determines whether alpha blending is used when drawing
+            //! the close button background
             static const __int64 ClosingHAlpha = 0x000004000;
-            //! Legt fest, ob fuer den Hintergrund des Schliessen Knopfes ein
-            //! Bild soll
+            //! Determines whether an image is used for the close button background
             static const __int64 ClosingHBild = 0x000008000;
-            //! Legt fest, ob der Schliessen Knopf einen Farbuebergang besitzt
+            //! Determines whether the close button has a color gradient
             static const __int64 ClosingBuffer = 0x000010000;
-            //! Legt fest, ob der Schliessen Knopf einen Farbuebergang besitzt,
-            //! waehrend er gedrueckt wird
+            //! Determines whether the close button has a color gradient
+            //! while being pressed
             static const __int64 ClosingKlickBuffer = 0x000020000;
-            //! Legt fest, ob der Benutzer das Fenster durch gedrueckt halten der
-            //! linken Maustaste in der Titelleiste das Fenster verschieben kann
+            //! Determines whether the user can move the window by holding
+            //! the left mouse button in the title bar
             static const __int64 Beweglich = 0x000040000;
-            //! Legt fest, ob der Benutzer die Breite des Fensters durch das
-            //! gedrueckt halten der linken Maustaste auf dem rechten oder linken
-            //! Fensterrand veraendern kann
+            //! Determines whether the user can change the width of the window
+            //! by holding the left mouse button on the right or left window edge
             static const __int64 BreiteChangeable = 0x000080000;
-            //! Legt fest, ob der Benutzer die Hoehe des Fensters durch das
-            //! gedrueckt halten der linken Maustaste auf dem oberen oder unteren
-            //! Fensterrand veraendern kann
+            //! Determines whether the user can change the height of the window
+            //! by holding the left mouse button on the top or bottom window edge
             static const __int64 HeightChangeable = 0x000100000;
-            //! Legt fest, ob der Benutzer die Hoehe der Titel Leiste durch
-            //! gedrueckt halten der linken Maustaste auf dem unteren Rand der
-            //! Titelleiste veraendern kann
+            //! Determines whether the user can change the title bar height
+            //! by holding the left mouse button on the bottom edge of the title bar
             static const __int64 TitelHeightChangeable = 0x000200000;
-            //! Legt fest, ob es eine Minimale Breite des Fensters gibt
+            //! Determines whether there is a minimum window width
             static const __int64 MinBr = 0x000400000;
-            //! Legt fest, ob es eine Maximale Breite des Fensters gibt
+            //! Determines whether there is a maximum window width
             static const __int64 MaxBr = 0x000800000;
-            //! Legt fest, ob es eine Minimale Hoehe des Fensters gibt
+            //! Determines whether there is a minimum window height
             static const __int64 MinHi = 0x001000000;
-            //! Legt fest, ob es eine Maximale Hoehe des Fensters gibt
+            //! Determines whether there is a maximum window height
             static const __int64 MaxHi = 0x002000000;
-            //! Legt fest, ob es eine Minimale Breite des Koerpers gibt
+            //! Determines whether there is a minimum body width
             static const __int64 BodyMinBr = 0x004000000;
-            //! Legt fest, ob es eine Maximale Breite des Koerpers gibt
+            //! Determines whether there is a maximum body width
             static const __int64 BodyMaxBr = 0x008000000;
-            //! Legt fest, ob es eine Minimale Hoehe des Koerpers gibt
+            //! Determines whether there is a minimum body height
             static const __int64 BodyMinHi = 0x010000000;
-            //! Legt fest, ob es eine Maximale Hoehe des Koerpers gibt
+            //! Determines whether there is a maximum body height
             static const __int64 BodyMaxHi = 0x020000000;
-            //! Legt fest, ob eine ScrollBar am rechten Fensterrand erscheinen
-            //! soll
+            //! Determines whether a scrollbar appears at the right window edge
             static const __int64 VScroll = 0x040000000;
-            //! Legt fest, ob eine ScrollBar am unteren Fensterrand erscheinen
-            //! soll
+            //! Determines whether a scrollbar appears at the bottom window edge
             static const __int64 HScroll = 0x080000000;
-            //! Legt fest, ob die Mausereignisse auch noch von Zeichnungen
-            //! hinter dem Fenster verarbeitet werden sollen
+            //! Determines whether mouse events should also be processed by
+            //! drawings behind the window
             static const __int64 METransparenz = 0x100000000;
-            //! Legt fest, ob das Fenster einen Rahmen haben soll
+            //! Determines whether the window has a border
             static const __int64 Rahmen = 0x200000000;
-            //! Legt fest, ob die linke Seite des Fensters fixiert ist wenn die
-            //! groesse aenderbar ist
+            //! Determines whether the left side of the window is fixed when
+            //! the size is changeable
             static const __int64 LeftPositionFixed = 0x400000000;
-            //! Legt fest, ob die rechte Seite des Fensters fixiert ist wenn die
-            //! groesse aenderbar ist
+            //! Determines whether the right side of the window is fixed when
+            //! the size is changeable
             static const __int64 RightPositionFixed = 0x800000000;
-            //! Legt fest, ob die obere Seite des Fensters fixiert ist wenn die
-            //! groesse aenderbar ist
+            //! Determines whether the top side of the window is fixed when
+            //! the size is changeable
             static const __int64 TopPositionFixed = 0x1000000000;
-            //! Legt fest, ob die untere Seite des Fensters fixiert ist wenn die
-            //! groesse aenderbar ist
+            //! Determines whether the bottom side of the window is fixed when
+            //! the size is changeable
             static const __int64 BottomPositionFixed = 0x2000000000;
-            //! Legt fest, ob die Position und Groesse des Titel Textfeldes
-            //! unveraendert bleiben soll
+            //! Determines whether the position and size of the title text field
+            //! should remain unchanged
             static const __int64 CustomTitle = 0x4000000000;
-            //! Vereint die Flags MinHoe, MaxHoe, MaxBr, MaxHoe
+            //! Combines flags MinHeight, MaxHeight, MaxWidth, MaxHeight
             static const __int64 min_max = MinHi | MaxHi | MaxBr | MaxHi;
-            //! Vereint die Flags Koerper_minBr, Koerper_maxBr, Koerper_minHoe,
-            //! Koerper_maxBr
+            //! Combines flags BodyMinWidth, BodyMaxWidth, BodyMinHeight,
+            //! BodyMaxWidth
             static const __int64 body_min_max
                 = BodyMinBr | BodyMaxBr | BodyMinHi | BodyMaxBr;
-            //! Vereint die Flags VScroll, HScroll
+            //! Combines flags VScroll, HScroll
             static const __int64 scroll = VScroll | HScroll;
-            //! Vereint die Flags TitelHoeheAEnderbar, HoeheAEnderbar,
-            //! BreiteAEnderbar, Beweglich
+            //! Combines flags TitleHeightChangeable, HeightChangeable,
+            //! WidthChangeable, Movable
             static const __int64 nichtfixiert = TitelHeightChangeable
                                               | HeightChangeable
                                               | BreiteChangeable | Beweglich;
 
-            //! Vereint die Flags Sichtbar, Erlaubt, Rahmen, Titel,
-            //! TitelBuffered, Schliessbar, SchliessHBild, SchliessKlickBuffer,
-            //! Beweglich
+            //! Combines flags Visible, Enabled, Border, Title,
+            //! TitleBuffered, Closable, ClosingImage, ClosingClickBuffer,
+            //! Movable
             static const __int64 normal
                 = Sichtbar | Erlaubt | Rahmen | Titel | TitelBuffered | Closable
                 | ClosingHBild | ClosingKlickBuffer | Beweglich
@@ -410,177 +398,172 @@ namespace Framework
         int mx, my;
 
     protected:
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Fenster();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~Fenster();
-        //! Setzt einen Zeiger auf den Rahmen des Fensters
-        //! \param ram Der Rahmen
+        //! Sets a pointer to the window border
+        //! \param ram The border
         DLLEXPORT void setRahmenZ(Rahmen* ram);
-        //! Setzt die Farbe des Fensterrahmens
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the window border
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setRFarbe(int f);
-        //! Setzt die Breite des Fensterrahmens
-        //! \param br Die Breite in Pixeln
+        //! Sets the width of the window border
+        //! \param br The width in pixels
         DLLEXPORT void setRBreite(int br);
-        //! Setzt den Titel des Fensters
-        //! \param txt Der Text
+        //! Sets the title of the window
+        //! \param txt The text
         DLLEXPORT void setTitel(Text* txt);
-        //! Setzt einen Zeiger auf den Titel Text
-        //! \param txt Der neue Text
+        //! Sets a pointer to the title text
+        //! \param txt The new text
         DLLEXPORT void setTitelZ(Text* txt);
-        //! Setzt den Titel des Fensters
-        //! \param txt Der Textv
+        //! Sets the title of the window
+        //! \param txt The text
         DLLEXPORT void setTitel(const char* txt);
-        //! Setzt einen Zeiger auf das TextFeld, das den Titeltext zeichnet
-        //! \param tf Das TextFeld
+        //! Sets a pointer to the TextFeld that draws the title text
+        //! \param tf The TextFeld
         DLLEXPORT void setTTextFeldZ(TextFeld* tf);
-        //! Setzt die Schrift, die fuer den Titel verwendet werden soll
-        //! \param schrift Die Schrift
+        //! Sets the font used for the title
+        //! \param schrift The font
         DLLEXPORT void setTSchriftZ(Schrift* schrift);
-        //! Setzt die Farbe der Schrift, die fuer den Titel verwendet werden soll
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the font used for the title
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setTSFarbe(int f);
-        //! Setzt die Groesse der Schrift, die fuer den Titel verwendet werden
-        //! soll
-        //! \param gr Die Hoehe einer zeile in Pixeln
+        //! Sets the size of the font used for the title
+        //! \param gr The height of a line in pixels
         DLLEXPORT void setTSSize(int gr);
-        //! Setzt die Hintergrund Farbe des Titels
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color of the title
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setTBgFarbe(int f);
-        //! Setzt einen Zeiger auf den Farbuebergang des Titels
-        //! \param af Der Farbuebergang
+        //! Sets a pointer to the color gradient of the title
+        //! \param af The color gradient
         DLLEXPORT void setTAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des Farbuebergangs des Titels
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient of the title
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setTAfFarbe(int f);
-        //! Setzt die Staerke des Farbuebergangs des Titels
-        //! \param st Die Staerke
+        //! Sets the strength of the color gradient of the title
+        //! \param st The strength
         DLLEXPORT void setTAfStrength(int st);
-        //! Setzt das Hintergrund Bild des Titels durch kopieren
-        //! \param b Das Bild, was kopiert werden soll
+        //! Sets the background image of the title by copying
+        //! \param b The image to copy
         DLLEXPORT void setTBgBild(Bild* b);
-        //! Setzt einen Zeiger auf das Hintergrund Bild des Titels
-        //! \param b Das Bild
+        //! Sets a pointer to the background image of the title
+        //! \param b The image
         DLLEXPORT void setTBgBildZ(Bild* b);
-        //! Setzt einen Zeiger auf den Rahmen des Titels
-        //! \param ram Der Rahmen
+        //! Sets a pointer to the border of the title
+        //! \param ram The border
         DLLEXPORT void setTRahmenZ(Rahmen* ram);
-        //! Setzt die Farbe des Rahmens des Titels
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the border of the title
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setTRFarbe(int f);
-        //! Setzt die Breite des Rahmens des Titels
-        //! \param br Die Breite in Pixeln
+        //! Sets the width of the border of the title
+        //! \param br The width in pixels
         DLLEXPORT void setTRBreite(int br);
-        //! Setzt die Hintergrundfarbe des Koerpers
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color of the body
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setKBgFarbe(int f);
-        //! Setzt das Hintergrund Bild des Koerpers durch kopieren
-        //! \param b Das Bild, das kopiert werden soll
+        //! Sets the background image of the body by copying
+        //! \param b The image to copy
         DLLEXPORT void setKBgBild(Bild* b);
-        //! Setzt einen Zeiger auf das Hintergrund Bild des Koerpers
-        //! \param b Das Bild
+        //! Sets a pointer to the background image of the body
+        //! \param b The image
         DLLEXPORT void setKBgBildZ(Bild* b);
-        //! Setzt einen Zeiger auf den Farbuebergang des Koerpers
-        //! \param af Der Farbuebergang
+        //! Sets a pointer to the color gradient of the body
+        //! \param af The color gradient
         DLLEXPORT void setKAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des Farbuebergangs des Koerpers
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient of the body
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setKAfFarbe(int f);
-        //! Setzt die Staerke des Farbuebergangs des Koerpers
-        //! \param st Die Staerke
+        //! Sets the strength of the color gradient of the body
+        //! \param st The strength
         DLLEXPORT void setKAfStrength(int st);
-        //! Setzt den Parameter der Rueckruffunktion, die aufgerufen wird, wenn
-        //! der Schliessen Knopf ein MausEreignis erhaelt \param param Der
-        //! Parameter
+        //! Sets the parameter of the callback function called when the close
+        //! button receives a mouse event \param param The parameter
         DLLEXPORT void setClosingMeParam(void* param);
-        //! Setzt die Rueckruffunktion, die Aufgerufen wird, wenn der Schliessen
-        //! Knopf ein MausEreignis erhaelt Wenn die Rueckruffunktion 0
-        //! zurueckgiebt, oder nicht gesetzt wurde, wird ein Maus Ereignis von
-        //! der Zeichnung nicht weiter beachtet Das Fenster wird nicht von
-        //! selbst geschlossen, sondern sollte in der Rueckruffunktion durch den
-        //! aufruf von loescheStyle( Fenster::Style::Sichtbar ); geschlossen
-        //! werden \param ak Ein Zeiger auf die Rueckruffunktion
+        //! Sets the callback function called when the close button receives
+        //! a mouse event. If the callback returns 0 or was not set, the mouse
+        //! event is not further processed by the drawing. The window is not
+        //! closed automatically but should be closed in the callback by calling
+        //! removeStyle( Fenster::Style::Sichtbar );
+        //! \param ak A pointer to the callback function
         DLLEXPORT void setClosingMe(MausAktion closingMe);
-        //! Setzt die Hintergrund Farbe des Schliessen Knopfes
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color of the close button
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setSBgFarbe(int f);
-        //! Setzt das Hintergrund Bild des Schliessen Knopfes durch kopieren
-        //! \param b Das Bild, das kopiert werden soll
+        //! Sets the background image of the close button by copying
+        //! \param b The image to copy
         DLLEXPORT void setSBgBild(Bild* b);
-        //! Setzt einen Zeiger auf das Hintergrund Bild des Schliessen Knopfes
-        //! \param b Das Bild
+        //! Sets a pointer to the background image of the close button
+        //! \param b The image
         DLLEXPORT void setSBgBildZ(Bild* b);
-        //! Setzt einen Zeiger auf den Farbuebergang des Schliessen Knopfes
-        //! \param af Der Farbuebergang
+        //! Sets a pointer to the color gradient of the close button
+        //! \param af The color gradient
         DLLEXPORT void setSAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des Farbuebergangs des Schliessen Knopfes
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient of the close button
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setSAfFarbe(int f);
-        //! Setzt die Staerke des Farbuebergangs des Schliessen Knopfes
-        //! \param st Die Staerke
+        //! Sets the strength of the color gradient of the close button
+        //! \param st The strength
         DLLEXPORT void setSAfStrength(int st);
-        //! Setzt einen Zeiger auf den Farbuebergang, der beim Klicken des
-        //! Schliessen Knopfes verwendet wird \param af Der Farbuebergnag
+        //! Sets a pointer to the color gradient used when clicking the
+        //! close button \param af The color gradient
         DLLEXPORT void setSKAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des Farbuebergangs, der beim Klicken des Schliessen
-        //! Knopfes verwendet wird \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient used when clicking the
+        //! close button \param f The color in A8R8G8B8 format
         DLLEXPORT void setSKAfFarbe(int f);
-        //! Setzt die Staerke des Farbuebergangs, der beim Klicken des Schliessen
-        //! Knopfes verwendet wird \param st Die Staerke
+        //! Sets the strength of the color gradient used when clicking the
+        //! close button \param st The strength
         DLLEXPORT void setSKAfStrength(int st);
-        //! Setzt die Minimale Groesse des Fensters
-        //! \param mx Die Minimale Breite in Pixeln
-        //! \param my Die Minimale Hoehe in Pixeln
+        //! Sets the minimum size of the window
+        //! \param mx The minimum width in pixels
+        //! \param my The minimum height in pixels
         DLLEXPORT void setMin(int mx, int my);
-        //! Setzt die Minimale Groesse des Fensters
-        //! \param min Die Minimale Breite und Hoehe in Pixeln
+        //! Sets the minimum size of the window
+        //! \param min The minimum width and height in pixels
         DLLEXPORT void setMin(const Punkt& min);
-        //! Setzt die Maximale Groesse des Fensters
-        //! \param mx Die Maximale Breite in Pixeln
-        //! \param my Die Maximale Hoehe in Pixeln
+        //! Sets the maximum size of the window
+        //! \param mx The maximum width in pixels
+        //! \param my The maximum height in pixels
         DLLEXPORT void setMax(int mx, int my);
-        //! Setzt die Maximale Groesse des Fensters
-        //! \param min Die Maximale Breite und Hoehe in Pixeln
+        //! Sets the maximum size of the window
+        //! \param min The maximum width and height in pixels
         DLLEXPORT void setMax(const Punkt& max);
-        //! Setzt die Minimale Groesse des Fenster Koerpers
-        //! \param mx Die Minimale Breite in Pixeln
-        //! \param my Die Minimale Hoehe in Pixeln
+        //! Sets the minimum size of the window body
+        //! \param mx The minimum width in pixels
+        //! \param my The minimum height in pixels
         DLLEXPORT void setKMin(int mx, int my);
-        //! Setzt die Minimale Groesse des Fenster Koerpers
-        //! \param min Die Minimale Breite und Hoehe in Pixeln
+        //! Sets the minimum size of the window body
+        //! \param min The minimum width and height in pixels
         DLLEXPORT void setKMin(const Punkt& min);
-        //! Setzt die Maximale Groesse des Fenster Koerpers
-        //! \param mx Die Maximale Breite in Pixeln
-        //! \param my Die Maximale Hoehe in Pixeln
+        //! Sets the maximum size of the window body
+        //! \param mx The maximum width in pixels
+        //! \param my The maximum height in pixels
         DLLEXPORT void setKMax(int mx, int my);
-        //! Setzt die Maximale Groesse des Fenster Koerpers
-        //! \param min Die Maximale Breite und Hoehe in Pixeln
+        //! Sets the maximum size of the window body
+        //! \param min The maximum width and height in pixels
         DLLEXPORT void setKMax(const Punkt& max);
-        //! Setzt einen Zeiger auf die Scrollbar am unteren Rand des Fensters
-        //! \param hScroll Die Scrollbar
+        //! Sets a pointer to the scrollbar at the bottom of the window
+        //! \param hScroll The scrollbar
         DLLEXPORT void setHScrollBarZ(HScrollBar* hScroll);
-        //! Setzt einen Zeiger auf die Scrollbar am rechten Rand des Fensters
-        //! \param vScroll Die Scrollbar
+        //! Sets a pointer to the scrollbar at the right of the window
+        //! \param vScroll The scrollbar
         DLLEXPORT void setVScrollBarZ(VScrollBar* vScroll);
-        //! Setzt die Maximale Scroll breite des Fenster Koerpers
-        //! \param max Die Breite in Pixeln
+        //! Sets the maximum scroll width of the window body
+        //! \param max The width in pixels
         DLLEXPORT void setHSBMax(int max);
-        //! Setzt die Maximale Scroll hoehe des Fenster Koerpers
-        //! \param max Die Hoehe in Pixeln
+        //! Sets the maximum scroll height of the window body
+        //! \param max The height in pixels
         DLLEXPORT void setVSBMax(int max);
-        //! Scrollt zu einer bestimmten x Position im Fenster Koerper
-        //! \param scroll Die Anzahl der Pixel, die der Inhalt nach links
-        //! verschoben werden soll
+        //! Scrolls to a specific x position in the window body
+        //! \param scroll The number of pixels the content should be shifted left
         DLLEXPORT void setHSBScroll(int scroll);
-        //! Scrollt zu einer bestimmten y Position im Fenster Koerper
-        //! \param scroll Die Anzahl der Pixel, die der Inhalt nach oben
-        //! verschoben werden soll
+        //! Scrolls to a specific y position in the window body
+        //! \param scroll The number of pixels the content should be shifted up
         DLLEXPORT void setVSBScroll(int scroll);
         //! Updates the horizontal scrollbar so that the max scroll size is set
         //! to the width of the content
@@ -588,157 +571,147 @@ namespace Framework
         //! Updates the vertical scrollbar so that the max scroll size is set to
         //! the height of the content
         DLLEXPORT void updateVScroll();
-        //! Fuegt dem Fenster eine Zeichnung hinzu
-        //! \param obj Die Zeichnung
+        //! Adds a drawing to the window
+        //! \param obj The drawing
         DLLEXPORT virtual void addMember(Zeichnung* obj);
         //! sets the position of a member to index. This changes the order of
         //! rendering and the order input events are processed
         DLLEXPORT void setMemberIndex(Zeichnung* zMember, int index);
-        //! Entfernt eine Zeichnung aus dem Fenster
-        //! \param zObj Die Zeichnung (ohne erhoehten reference Counter)
+        //! Removes a drawing from the window
+        //! \param zObj The drawing (without increased reference counter)
         DLLEXPORT virtual void removeMember(Zeichnung* zObj);
-        //! Entfernt alle Zeichnungen aus dem Fenster
+        //! Removes all drawings from the window
         DLLEXPORT virtual void removeAll();
-        //! Aktualisiert das Objekt. Wird vom Framework aufgerufen
-        //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
-        //! dieser Funktion vergangen ist \return 1, wenn sich etwas veraendert
-        //! hat und das Bild neu gezeichnet werden muss. 0 sonst
+        //! Updates the object. Called by the framework
+        //! \param tickVal The time in seconds since the last call
+        //! of this function \return 1 if something changed
+        //! and the image needs to be redrawn. 0 otherwise
         DLLEXPORT bool tick(double tickval) override;
-        //! Verarbeitet Tastatur Nachrichten
-        //! \param me Das Ereignis, was durch die Tastatureingabe ausgeloesst
-        //! wurde
+        //! Processes keyboard messages
+        //! \param me The event triggered by the keyboard input
         DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
-        //! Zeichnet das Fentster nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the window to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt die Breite des Innenraumes in der Zeichnung in Pixeln zurueck
+        //! Returns the inner width of the drawing in pixels
         DLLEXPORT int getInnenBreite() const override;
-        //! Gibt die Hoehe des Innenraumes in der Zeichnung in Pixeln zurueck
+        //! Returns the inner height of the drawing in pixels
         DLLEXPORT int getInnenHeight() const override;
-        //! Gibt den Rahmen des Fensters zurueck
+        //! Returns the border of the window
         DLLEXPORT Rahmen* getRahmen() const;
-        //! Gibt den Rahmen des Fensters ohne erhoehen Reference Counter zurueck
+        //! Returns the border of the window without increased reference counter
         DLLEXPORT Rahmen* zRahmen() const;
-        //! Gibt die Farbe des Rahmens des Fensters im A8R8G8B8 Format zurueck
+        //! Returns the color of the window border in A8R8G8B8 format
         DLLEXPORT int getRFarbe() const;
-        //! Gibt die Breite des Rahmens des Fensters in Pixeln zurueck
+        //! Returns the width of the window border in pixels
         DLLEXPORT int getRBreite() const;
-        //! Gibt den Titel des Fensters zurueck
+        //! Returns the title of the window
         DLLEXPORT Text* getTitel() const;
-        //! Gibt den Titel des Fensters ohne erhoehten Reference Counter zurueck
+        //! Returns the title of the window without increased reference counter
         DLLEXPORT Text* zTitel() const;
-        //! Gibt das TextFeld zurueck, das zum Zeichnen des Titels verwendet wird
+        //! Returns the TextFeld used to draw the title
         DLLEXPORT TextFeld* getTTextFeld() const;
-        //! Gibt das TextFeld ohne erhoehten Reference Counter zurueck, das zum
-        //! Zeichnen des Titels verwendet wird
+        //! Returns the TextFeld without increased reference counter used
+        //! to draw the title
         DLLEXPORT TextFeld* zTTextFeld() const;
-        //! Gibt die Schrift zurueck, die fuer den Titel verwendet wird
+        //! Returns the font used for the title
         DLLEXPORT Schrift* getTSchrift() const;
-        //! Gibt die Schrift ohne erhoeten Reference Counter zurueck, die fuer den
-        //! Titel verwendet wird
+        //! Returns the font without increased reference counter used for the title
         DLLEXPORT Schrift* zTSchrift() const;
-        //! Gibt die Schrift Farbe des Titels im A8R8G8B8 Format zurueck
+        //! Returns the font color of the title in A8R8G8B8 format
         DLLEXPORT int getTSFarbe() const;
-        //! Gibt die Hoehe einer Zeile des Titels in Pixeln zurueck
+        //! Returns the height of a line of the title in pixels
         DLLEXPORT int getTSSize() const;
-        //! Gibt die Hintergrundfarbe des Titels im A8R8G8B8 Format zurueck
+        //! Returns the background color of the title in A8R8G8B8 format
         DLLEXPORT int getTBgFarbe() const;
-        //! Gibt den Farbuebergang des Titels zurueck
+        //! Returns the color gradient of the title
         DLLEXPORT AlphaFeld* getTAlphaFeld() const;
-        //! Gibt den Farbuebergang des Titels ohne erhoehten Reference COunter
-        //! zurueck
+        //! Returns the color gradient of the title without increased reference counter
         DLLEXPORT AlphaFeld* zTAlphaFeld() const;
-        //! Gibt die Farbe des Farbuebergangs des Titels im A8R8G8B8 Format
-        //! zurueck
+        //! Returns the color of the color gradient of the title in A8R8G8B8 format
         DLLEXPORT int getTAfFarbe() const;
-        //! Gibt die Staerke des Farbuebergangs des Titels zurueck
+        //! Returns the strength of the color gradient of the title
         DLLEXPORT int getTAfStrength() const;
-        //! Gibt das Hintergrund Bild des titels zurueck
+        //! Returns the background image of the title
         DLLEXPORT Bild* getTBgBild() const;
-        //! Gibt das Hintergrund Bild des titels ohne erhoehten Reference Counter
-        //! zurueck
+        //! Returns the background image of the title without increased reference counter
         DLLEXPORT Bild* zTBgBild() const;
-        //! Gibt den Rahmen des Titels zurueck
+        //! Returns the border of the title
         DLLEXPORT Rahmen* getTRahmen() const;
-        //! Gibt den Rahmen des Titels ohne erhoehten Reference Counter zurueck
+        //! Returns the border of the title without increased reference counter
         DLLEXPORT Rahmen* zTRahmen() const;
-        //! Gibt die Farbe des Rahmens des Titels im A8R8G8B8 Format zurueck
+        //! Returns the color of the title border in A8R8G8B8 format
         DLLEXPORT int getTRFarbe() const;
-        //! Gibt die Staerke des Rahmens des Titels zurueck
+        //! Returns the width of the title border
         DLLEXPORT int getTRBreite() const;
-        //! Gibt die Hintergrund Farbe des Koerpers zurueck
+        //! Returns the background color of the body
         DLLEXPORT int getKBgFarbe() const;
-        //! Gibt das Hintergrund Bild des Koerpers zurueck
+        //! Returns the background image of the body
         DLLEXPORT Bild* getKBgBild() const;
-        //! Gibt das Hintergrund Bild des Koerpers ohne erhoehten Reference
-        //! Counter zurueck
+        //! Returns the background image of the body without increased reference counter
         DLLEXPORT Bild* zKBgBild() const;
-        //! Gibt den Farbuebergang des Koerpers zurueck
+        //! Returns the color gradient of the body
         DLLEXPORT AlphaFeld* getKAlphaFeld() const;
-        //! Gibt den Farbuebergang des Koerpers ohne erhoehten Reference Counter
-        //! zurueck
+        //! Returns the color gradient of the body without increased reference counter
         DLLEXPORT AlphaFeld* zKAlphaFeld() const;
-        //! Gibt die Farbe des Farbuebergangs des Koerpers im A8R8G8B8 Format
-        //! zurueck
+        //! Returns the color of the color gradient of the body in A8R8G8B8 format
         DLLEXPORT int getKAfFarbe() const;
-        //! Gibt die Staerke des Farbuebergangs des Koerpers zurueck
+        //! Returns the strength of the color gradient of the body
         DLLEXPORT int getKAfStrength() const;
-        //! Gibt die Hintergrund Farbe des Schliessen Knopfes im A8R8G8B8 Format
-        //! zurueck
+        //! Returns the background color of the close button in A8R8G8B8 format
         DLLEXPORT int getSBgFarbe() const;
-        //! Gibt das Hintergrund Bild des Schliessen Knopfes zurueck
+        //! Returns the background image of the close button
         DLLEXPORT Bild* getSBgBild() const;
-        //! Gibt das Hintergrund Bild des Schliessen Knopfes ohne erhoehten
-        //! Reference COunter zurueck
+        //! Returns the background image of the close button without increased
+        //! reference counter
         DLLEXPORT Bild* zSBgBild() const;
-        //! Gibt den Farbuebergang des Schliessen Knopfes zurueck
+        //! Returns the color gradient of the close button
         DLLEXPORT AlphaFeld* getSAlphaFeld() const;
-        //! Gibt den Farbuebergang des Schliessen Knopfes ohne erhoehten Reference
-        //! COunter zurueck
+        //! Returns the color gradient of the close button without increased
+        //! reference counter
         DLLEXPORT AlphaFeld* zSAlphaFeld() const;
-        //! Gibt die Farbe des Farbuebergangs des Schliessen Knopfes im A8R8G8B8
-        //! Format zurueck
+        //! Returns the color of the color gradient of the close button in
+        //! A8R8G8B8 format
         DLLEXPORT int getSAfFarbe() const;
-        //! Gibt die Staerke des Farbuebergangs des Schliessen Knopfes zurueck
+        //! Returns the strength of the color gradient of the close button
         DLLEXPORT int getSAfStrength() const;
-        //! Gibt den Farbuebergang zurueck, der verwendet wird, wenn auf den
-        //! Schliessen Knopf gedrueckt wird
+        //! Returns the color gradient used when the close button is pressed
         DLLEXPORT AlphaFeld* getSKAlphaFeld() const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference Counter zurueck, der
-        //! verwendet wird, wenn auf den Schliessen Knopf gedrueckt wird
+        //! Returns the color gradient without increased reference counter
+        //! used when the close button is pressed
         DLLEXPORT AlphaFeld* zSKAlphaFeld() const;
-        //! Gibt die Farbe des Farbuebergangs im A8R8G8B8 Format zurueck, der
-        //! verwendet wird, wenn auf den Schliessen Knopf gedrueckt wird
+        //! Returns the color of the color gradient in A8R8G8B8 format
+        //! used when the close button is pressed
         DLLEXPORT int getSKAfFarbe() const;
-        //! Gibt die Staerke des Farbuebergangs zurueck, der verwendet wird, wenn
-        //! auf den Schliessen Knopf gedrueckt wird
+        //! Returns the strength of the color gradient used when the close
+        //! button is pressed
         DLLEXPORT int getSKAfStrength() const;
-        //! Gibt die minimale Fenstergroesse in Pixeln zurueck
+        //! Returns the minimum window size in pixels
         DLLEXPORT const Punkt& getMin() const;
-        //! Gibt die maximale Fenstergroesse in Pixeln zurueck
+        //! Returns the maximum window size in pixels
         DLLEXPORT const Punkt& getMax() const;
-        //! Gibt die minimale Koerpergroesse in Pixeln zurueck
+        //! Returns the minimum body size in pixels
         DLLEXPORT const Punkt& getKMin() const;
-        //! Gibt die maximale Koerpergroesse in Pixeln zurueck
+        //! Returns the maximum body size in pixels
         DLLEXPORT const Punkt& getKMax() const;
-        //! Gibt die Scrollbar vom rechten Fensterrand zurueck
+        //! Returns the scrollbar from the right window edge
         DLLEXPORT VScrollBar* getVScrollBar() const;
-        //! Gibt die Scrollbar vom rechten Fensterrand ohne erhoehten Reference
-        //! Counter zurueck
+        //! Returns the scrollbar from the right window edge without increased
+        //! reference counter
         DLLEXPORT VScrollBar* zVScrollBar() const;
-        //! Gibt die Scrollbar vom unteren Fensterrand zurueck
+        //! Returns the scrollbar from the bottom window edge
         DLLEXPORT HScrollBar* getHScrollBar() const;
-        //! Gibt die Scrollbar vom unteren Fensterrand ohne erhoehten Reference
-        //! Counter zurueck
+        //! Returns the scrollbar from the bottom window edge without increased
+        //! reference counter
         DLLEXPORT HScrollBar* zHScrollBar() const;
-        //! Gibt eine Liste mit Zeichnungen zurueck, die im Fenster sind
+        //! Returns a list of drawings contained in the window
         DLLEXPORT const RCArray<Zeichnung>& getMembers() const;
-        //! Gibt die von den kindern benoetigte Breite des Fensters zurueck
+        //! Returns the width needed by the children of the window
         DLLEXPORT int getNeededChildWidth() const;
-        //! Gibt die von den kindern benoetigte Hoehe des Fensters zurueck
+        //! Returns the height needed by the children of the window
         DLLEXPORT int getNeededChildHeight() const;
-        //! Erzeugt eine Kopie des Fensters, die ohne Auswirkungen auf das
-        //! Original veraendert werden kann
+        //! Creates a copy of the window that can be modified without
+        //! affecting the original
         DLLEXPORT Zeichnung* dublizieren() const override;
     };
 } // namespace Framework

+ 73 - 92
Fortschritt.h

@@ -9,50 +9,47 @@ namespace Framework
     class AlphaFeld; //! AlphaFeld.h
     class Bild;      //! Bild.h
     class Schrift;   //! Schrift.h
-    class FBalken;   //! aus dieser Datei
+    class FBalken;   //! from this file
     class TextRenderer;
 
-    //! Eine Zeichnung des 2D GuI Frameworks, die einen Fortschrittsbalken
-    //! zeichnet
+    //! A 2D GUI framework drawing that renders a progress bar
     class FBalken : public ZeichnungHintergrund
     {
     public:
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Legt fest, ob eine Prozentangebe gezechnet wird
+            //! Determines whether a percentage is drawn
             static const __int64 Prozent = 0x001000;
-            //! Legt fest, ob die Aktionsschritte gezeichnet werden
+            //! Determines whether the action steps are drawn
             static const __int64 Aktionen = 0x01000000;
-            //! Legt fest, ob der vom fortschritt erfasste Teil des Balkens einen
-            //! eigenen Rahmen hat
+            //! Determines whether the progress-covered part of the bar has
+            //! its own border
             static const __int64 FRahmen = 0x002000;
-            //! Legt fest, ob der vom fortschritt erfasste Teil des Balkens eine
-            //! eigene Hintergrund Farbe hat
+            //! Determines whether the progress-covered part of the bar has
+            //! its own background color
             static const __int64 FFarbe = 0x004000;
-            //! Legt fest, ob der vom fortschritt erfasste Teil des Balkens ein
-            //! eigenes Hintergrund Bild hat
+            //! Determines whether the progress-covered part of the bar has
+            //! its own background image
             static const __int64 FBild = 0x008000;
-            //! Legt fest, ob der vom fortschritt erfasste Teil des Balkens zum
-            //! zeichnen seines Hintergrundes alpha blending verwendet
+            //! Determines whether the progress-covered part of the bar uses
+            //! alpha blending for drawing its background
             static const __int64 FAlpha = 0x10000;
-            //! Legt fest, ob der vom fortschritt erfasste Teil des Balkens einen
-            //! eigenen Frbuebergang hat
+            //! Determines whether the progress-covered part of the bar has
+            //! its own color gradient
             static const __int64 FBuffered = 0x20000;
 
-            //! Legt fest, ob sich der Fortschritt von lenks nach rechts
-            //! ausbreitet
+            //! Determines whether the progress expands from left to right
             static const __int64 L_R = 0x0100000;
-            //! Legt fest, ob sich der Fortschritt von rechts nach links
-            //! ausbreitet
+            //! Determines whether the progress expands from right to left
             static const __int64 R_L = 0x0200000;
-            //! Legt fest, ob sich der Fortschritt von unten nach oben ausbreitet
+            //! Determines whether the progress expands from bottom to top
             static const __int64 U_O = 0x0400000;
-            //! Legt fest, ob sich der Fortschritt von oben nach unten ausbreitet
+            //! Determines whether the progress expands from top to bottom
             static const __int64 O_U = 0x0800000;
 
-            //! Vereint die Flags Sichtbar, Rahmen, Hintergrund, HBild, FRahmen,
-            //! FBild, L_R, Prozent
+            //! Combines flags Visible, Border, Background, BackgroundImage,
+            //! FBorder, FImage, L_R, Percent
             static const __int64 normal = Sichtbar | Rahmen | Hintergrund
                                         | HBild | FRahmen | FBild | L_R
                                         | Prozent | Aktionen | HBildScale;
@@ -70,107 +67,91 @@ namespace Framework
         unsigned char schriftSize;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT FBalken();
         //! Destructor
         DLLEXPORT virtual ~FBalken();
-        //! Setzt die Anzahl an benoetigten Operationen um 100% Fortschritt zu
-        //! erreichen \param ak Die Anzahl an Operationen
+        //! Sets the number of operations needed to reach 100% progress
+        //! \param ak The number of operations
         DLLEXPORT void setAktionAnzahl(__int64 ak);
-        //! Legt fest, dass eine bestimmte Anzahl an Operationen seit dem
-        //! letzten Aufruf der Funktion durchgefuehrt wurden \param aktionen Die
-        //! durchgefuehrten Operationen. Standartmaessig auf 1
+        //! Indicates that a certain number of operations have been performed
+        //! since the last call \param aktionen The operations performed.
+        //! Defaults to 1
         DLLEXPORT void aktionPlus(__int64 aktionen = 1);
-        //! Setzt alle fertigen Operationen zurueck, so dass der Fortschritt
-        //! wieder von 0% beginnt
+        //! Resets all completed operations so that progress starts from 0% again
         DLLEXPORT void reset();
-        //! Setzt einen Zeiger auf den Rahmen, der in dem Teil des Balkens
-        //! gezeichnet wird, der vom Fortschritt erfasst wurde \param ram Der
-        //! Rahmen
+        //! Sets a pointer to the border drawn in the progress-covered part
+        //! of the bar \param ram The border
         DLLEXPORT void setFRahmenZ(Rahmen* ram);
-        //! Setzt die Farbe des Rahmens, der in dem Teil des Balkens gezeichnet
-        //! wird, der vom Fortschritt erfasst wurde \param f Die Farbe im
-        //! A8R8G8B8 Format
+        //! Sets the color of the border drawn in the progress-covered part
+        //! of the bar \param f The color in A8R8G8B8 format
         DLLEXPORT void setFRFarbe(int f);
-        //! Setzt die Breite des Rahmens, der in dem Teil des Balkens gezeichnet
-        //! wird, der vom Fortschritt erfasst wurde \param br Die Breite in
-        //! Pixeln
+        //! Sets the width of the border drawn in the progress-covered part
+        //! of the bar \param br The width in pixels
         DLLEXPORT void setFRBreite(int br);
-        //! Setzt einen Zeiger auf den Farbverlauf, der in dem Teil des Balkens
-        //! gezeichnet wird, der vom Fortschritt erfasst wurde \param af Der
-        //! Farbverlauf
+        //! Sets a pointer to the color gradient drawn in the progress-covered
+        //! part of the bar \param af The color gradient
         DLLEXPORT void setFAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des Farbverlaufs, der in dem Teil des Balkens
-        //! gezeichnet wird, der vom Fortschritt erfasst wurde \param f Die
-        //! Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient drawn in the progress-covered
+        //! part of the bar \param f The color in A8R8G8B8 format
         DLLEXPORT void setFAFFarbe(int f);
-        //! Setzt die Staerke des Farbverlaufs, der in dem Teil des Balkens
-        //! gezeichnet wird, der vom Fortschritt erfasst wurde \param st Die
-        //! Staerke
+        //! Sets the strength of the color gradient drawn in the progress-covered
+        //! part of the bar \param st The strength
         DLLEXPORT void setFAFStrength(int st);
-        //! Setzt die Hintergrund Farbe, die in dem Teil des Balkens gezeichnet
-        //! wird, der vom Fortschritt erfasst wurde \param f Die Farbe im
-        //! A8R8G8B8 Format
+        //! Sets the background color drawn in the progress-covered part
+        //! of the bar \param f The color in A8R8G8B8 format
         DLLEXPORT void setFBgFarbe(int f);
-        //! Setzt einen Zeiger auf das Hintergrund Bild, das in dem Teil des
-        //! Balkens gezeichnet wird, der vom Fortschritt erfasst wurde \param b
-        //! Das Bild
+        //! Sets a pointer to the background image drawn in the progress-covered
+        //! part of the bar \param b The image
         DLLEXPORT void setFBgBildZ(Bild* b);
-        //! Setzt das Hintergrund Bild durch kopieren, das in dem Teil des
-        //! Balkens gezeichnet wird, der vom Fortschritt erfasst wurde \param b
-        //! Das Bild, das kopiert werden soll
+        //! Sets the background image by copying, drawn in the progress-covered
+        //! part of the bar \param b The image to copy
         DLLEXPORT void setFBgBild(Bild* b);
-        //! Setzt den verwendeten TextRenderer
-        //! \param textRd Der Textrenderer
+        //! Sets the text renderer used
+        //! \param textRd The text renderer
         DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
-        //! Setzt die Schrift, die verwendet wird, um die Prozentanzeige zu
-        //! zeichnen
+        //! Sets the font used to draw the percentage display
         DLLEXPORT void setSchriftZ(Schrift* b);
-        //! Setzt die Farbe der Prozentanzeige
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the percentage display
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setSFarbe(int f);
-        //! Setzt die Schriftgroesse der Prozentanzeige
-        //! \param gr Die Groesse einer Zeile in Pixeln
+        //! Sets the font size of the percentage display
+        //! \param gr The height of a line in pixels
         DLLEXPORT void setSSize(unsigned char gr);
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt die Anzahl an benoetigten Operationen zurueck, die fuer 100%
-        //! benoetigt werden
+        //! Returns the number of operations needed for 100%
         DLLEXPORT __int64 getAktionAnzahl() const;
-        //! Gibt die momentan erreichte Prozentzahl des Fortschritts zurueck
+        //! Returns the current percentage of progress
         DLLEXPORT double getProzent() const;
-        //! Gibt die Anzahl an fertigen Operationen zurueck
+        //! Returns the number of completed operations
         DLLEXPORT __int64 getAktion() const;
-        //! Gibt den Rahmen zurueck, der in dem Teil des Balkens gezeichnet wird,
-        //! der vom Fortschritt erfasst wurde
+        //! Returns the border drawn in the progress-covered part of the bar
         DLLEXPORT Rahmen* getFRahmen() const;
-        //! Gibt den Rahmen ohne erhoehten Reference Counter zurueck, der in dem
-        //! Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
+        //! Returns the border without increased reference counter drawn in the
+        //! progress-covered part of the bar
         DLLEXPORT Rahmen* zFRahmen() const;
-        //! Gibt den Farbuebergang zurueck, der in dem Teil des Balkens gezeichnet
-        //! wird, der vom Fortschritt erfasst wurde
+        //! Returns the color gradient drawn in the progress-covered part of the bar
         DLLEXPORT AlphaFeld* getFAlphaFeld() const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference Counter zurueck, der in
-        //! dem Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst
-        //! wurde
+        //! Returns the color gradient without increased reference counter drawn
+        //! in the progress-covered part of the bar
         DLLEXPORT AlphaFeld* zFAlphaFeld() const;
-        //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurueck, die in dem
-        //! Teil des Balkens gezeichnet wird, der vom Fortschritt erfasst wurde
+        //! Returns the background color in A8R8G8B8 format drawn in the
+        //! progress-covered part of the bar
         DLLEXPORT int getFBgFarbe() const;
-        //! Gibt das Hintergrund Bild zurueck, das in dem Teil des Balkens
-        //! gezeichnet wird, der vom Fortschritt erfasst wurde
+        //! Returns the background image drawn in the progress-covered part
+        //! of the bar
         DLLEXPORT Bild* getFBgBild() const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference COunter zurueck,
-        //! das in dem Teil des Balkens gezeichnet wird, der vom Fortschritt
-        //! erfasst wurde
+        //! Returns the background image without increased reference counter
+        //! drawn in the progress-covered part of the bar
         DLLEXPORT Bild* zFBgBild() const;
-        //! Gibt die Schrift zurueck, die fuer die Prozentanzeige verwendet wird
+        //! Returns the font used for the percentage display
         DLLEXPORT Schrift* getSchrift() const;
-        //! Gibt die Schrift ohne erhoehten Reference Counter zurueck, die fuer die
-        //! Prozentanzeige verwendet wird
+        //! Returns the font without increased reference counter used for the
+        //! percentage display
         DLLEXPORT Schrift* zSchrift() const;
-        //! Gibt die Farbe der Prozentanzeige im A8R8G8B8 Format zurueck
+        //! Returns the color of the percentage display in A8R8G8B8 format
         DLLEXPORT int getSFarbe() const;
     };
 } // namespace Framework

+ 10 - 10
FrameworkMath.h

@@ -10,26 +10,26 @@ namespace Framework
 {
 #define PI 3.14159265
 
-    //! Gibt die groessere Zahl zurueck ohne if zu verwenden
-    //! Funktioniert nur, wenn die Zahlen nicht mehr als 16 bits verwenden
-    //! \param a Eine der beiden Zahlen
-    //! \param b Eine der beiden Zahlen
+    //! Returns the larger number without using if.
+    //! Only works if the numbers use no more than 16 bits
+    //! \param a One of the two numbers
+    //! \param b One of the two numbers
     inline int maxInt(int a, int b)
     {
         return (((a - b) >> 16) & b) | (~((a - b) >> 16) & a);
     }
 
-    //! Gibt die kleinere Zahl zurueck ohne if zu verwenden
-    //! Funktioniert nur, wenn die Zahlen nicht mehr als 16 bits verwenden
-    //! \param a Eine der beiden Zahlen
-    //! \param b Eine der beiden Zahlen
+    //! Returns the smaller number without using if.
+    //! Only works if the numbers use no more than 16 bits
+    //! \param a One of the two numbers
+    //! \param b One of the two numbers
     inline int minInt(int a, int b)
     {
         return (((a - b) >> 16) & a) | (~((a - b) >> 16) & b);
     }
 
-    //! Gibt den positiven Wert eines Zeichnunges zurueck.
-    //! Klappt nur, wenn der - und der < 0 operator definiert ist
+    //! Returns the absolute value.
+    //! Only works if the - and the < 0 operators are defined
     template<typename T> inline T abs(T t)
     {
         if (t < 0) return -t;

+ 23 - 23
Globals.h

@@ -48,42 +48,42 @@ namespace Framework
     Global Logging::LoggingHandler* loggingHandler;
 
 #ifdef WIN32
-    //! Gibt die Koordinaten der Maus auf dem Bildschirm zurueck
+    //! Returns the mouse coordinates on the screen
     DLLEXPORT Punkt getMausPos();
-    //! Setzt die Position der Maus auf dem Bildschirm
+    //! Sets the position of the mouse on the screen
     DLLEXPORT void setMausPos(const Punkt& pos);
 #endif
-    //! Gibt zurueck, ob eine Taste der Maus momentan gedrueckt wird
-    //! \param taste Die Taste, die geprueft werden soll
-    //! Beispiel: getMausStand( M_Links ); (Benoetigt include <MausEreignis.h>
+    //! Returns whether a mouse button is currently pressed
+    //! \param taste The button to check
+    //! Example: getMausStand( M_Links ); (Requires include <MausEreignis.h>)
     DLLEXPORT bool getMausStand(int taste);
-    //! Gibt zurueck, ob eine Taste auf der tastatur momentan gedrueckt wird
-    //! \param taste Die Taste, die ueberprueft werden soll
-    //! Beispiel: getTastenStand( T_Enter ); (Benoetogt include
-    //! <TastaturEreignis.h>
+    //! Returns whether a keyboard key is currently pressed
+    //! \param taste The key to check
+    //! Example: getTastenStand( T_Enter ); (Requires include
+    //! <TastaturEreignis.h>)
     DLLEXPORT bool getTastenStand(unsigned char taste);
-    //! Initialisiert das Framework
-    //! Wird in der (WinMain) des Frameworks automatisch aufgerufen
+    //! Initializes the framework.
+    //! Called automatically in the framework's (WinMain)
     DLLEXPORT void initFramework(HINSTANCE__* hInst = 0);
-    //! Gibt den duch (initFramework) benutzten Arbeitsspeicher wieder frei
-    //! Wird in der (WinMain) des Frameworks automatisch aufgerufen
+    //! Releases the memory used by (initFramework).
+    //! Called automatically in the framework's (WinMain)
     DLLEXPORT void releaseFramework();
-    //! UEberprueft, ob ein bestimmter Zeiger auf ein Gueltiges Thread Objekt zeigt
-    //! \param t Der zeiger, der ueberprueft werden soll
-    //! \return 1, falls der Zeiger in Ordnung ist. 0, falls der Zeiger auf kein
-    //! existentes Thread Objekt zeigt
+    //! Checks whether a specific pointer points to a valid Thread object
+    //! \param t The pointer to check
+    //! \return 1 if the pointer is valid. 0 if the pointer does not
+    //! point to an existing Thread object
     DLLEXPORT bool istThreadOk(Thread* t);
-    //! Gibt das Thread Register des Frameworks zurueck
+    //! Returns the framework's thread register
     DLLEXPORT ThreadRegister* getThreadRegister();
-    //! Gibt das DLL Register zurueck, in dem alle zurzeit dynamisch geladenen
-    //! DLL Dateien hinterlegt sind
+    //! Returns the DLL register containing all currently dynamically loaded
+    //! DLL files
     DLLEXPORT DLLRegister* getDLLRegister();
-    //! Versetzt DirectX in den Debug modus
+    //! Sets DirectX to debug mode
     DLLEXPORT void setDebugDX(bool debug);
 #ifdef WIN32
-    //! gibt eine Referenz auf die Maus zurueck
+    //! Returns a reference to the mouse
     DLLEXPORT Maus& getMaus();
-    //! setzt den Zustand der Maus auf sichtbar oder unsichtbar
+    //! Sets the mouse cursor visibility
     DLLEXPORT void setShowCursor(bool visible);
 #endif
 } // namespace Framework

+ 10 - 12
GraphicsApi.h

@@ -221,12 +221,11 @@ namespace Framework
         DLLEXPORT Textur* createOrGetTextur(const char* name, Bild* b) override;
         DLLEXPORT Bild* zUIRenderBild() const override;
         DLLEXPORT virtual DXBuffer* createStructuredBuffer(int eSize) override;
-        //! UEberprueft, ob eine Kugel in dem Sichtbaren Raum der Welt liegt und
-        //! gezeichnet werden muss \param pos Der Mittelpunkt der Kugel \param
-        //! radius Der Radius der Kugel \param 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 \param pos The center of the sphere \param
+        //! radius The radius of the sphere \param 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
         DLLEXPORT bool isInFrustrum(
             const Vec3<float>& pos, float radius, float* dist = 0) const;
         DLLEXPORT bool isInFrustrum(
@@ -288,12 +287,11 @@ namespace Framework
         DLLEXPORT Textur* createOrGetTextur(const char* name, Bild* b) override;
         DLLEXPORT Bild* zUIRenderBild() const override;
         DLLEXPORT virtual DXBuffer* createStructuredBuffer(int eSize) override;
-        //! UEberprueft, ob eine Kugel in dem Sichtbaren Raum der Welt liegt und
-        //! gezeichnet werden muss \param pos Der Mittelpunkt der Kugel \param
-        //! radius Der Radius der Kugel \param 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 \param pos The center of the sphere \param
+        //! radius The radius of the sphere \param 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
         DLLEXPORT bool isInFrustrum(
             const Vec3<float>& pos, float radius, float* dist = 0) const;
 

+ 93 - 103
InitDatei.h

@@ -7,8 +7,8 @@ namespace Framework
 {
     class Text; //! Text.h
 
-    //! Verwaltet Initialisierungsdateien in denen Bestimmte Variablen im Format
-    //! name=Wert gespeichert sind
+    //! Manages initialization files where variables are stored in the format
+    //! name=value
     class InitDatei : public virtual ReferenceCounter
     {
     private:
@@ -17,139 +17,129 @@ namespace Framework
         RCArray<Text>* wert;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT InitDatei();
-        //! Konstruktor
-        //! \param pfad Der Pfad zur Datei
+        //! Constructor
+        //! \param pfad The path to the file
         DLLEXPORT InitDatei(Text* pfad);
-        //! Konstruktor
-        //! \param pfad Der Pfad zur Datei
+        //! Constructor
+        //! \param pfad The path to the file
         DLLEXPORT InitDatei(const char* pfad);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~InitDatei();
-        //! Setzt den Pfad zur Datei
-        //! \param pfad Der Pfad zur Datei
+        //! Sets the path to the file
+        //! \param pfad The path to the file
         DLLEXPORT void setPfad(Text* pfad);
-        //! Setzt den Pfad zur Datei
-        //! \param pfad Der Pfad zur Datei
+        //! Sets the path to the file
+        //! \param pfad The path to the file
         DLLEXPORT void setPfad(const char* pfad);
-        //! Laehdt die Werte aus der Datei
-        //! \return 1, falls das Laden erfolgreich war. 0, wenn ein fehler
-        //! aufgetreten ist.
+        //! Loads the values from the file
+        //! \return 1 if loading was successful. 0 if an error occurred.
         DLLEXPORT bool laden();
-        //! Fuegt der Datei einen Wert hinzu
-        //! \param name Der Name des Wertes
-        //! \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls der Wert erfolgreich hinzugefuegt wurde
+        //! Adds a value to the file
+        //! \param name The name of the value
+        //! \param wert The value to store
+        //! \return 1 if the value was successfully added
         DLLEXPORT bool addWert(Text* name, Text* wert);
-        //! Fuegt der Datei einen Wert hinzu
-        //! \param name Der Name des Wertes
-        //! \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls der Wert erfolgreich hinzugefuegt wurde
+        //! Adds a value to the file
+        //! \param name The name of the value
+        //! \param wert The value to store
+        //! \return 1 if the value was successfully added
         DLLEXPORT bool addWert(const char* name, const char* wert);
-        //! AEndert einen bestimmten Wert
-        //! \param name Der Name des Wertes
-        //! \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert
-        //! werden konnte
+        //! Changes a specific value
+        //! \param name The name of the value
+        //! \param wert The value to store
+        //! \return 1 if the value existed and was successfully changed
         DLLEXPORT bool setWert(Text* name, Text* wert);
-        //! AEndert einen bestimmten Wert
-        //! \param name Der Name des Wertes
-        //! \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert
-        //! werden konnte
+        //! Changes a specific value
+        //! \param name The name of the value
+        //! \param wert The value to store
+        //! \return 1 if the value existed and was successfully changed
         DLLEXPORT bool setWert(const char* name, const char* wert);
-        //! AEndert einen bestimmten Wert
-        //! \param num Der Index des Wertes der geaendert werden soll
-        //! \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert
-        //! werden konnte
+        //! Changes a specific value
+        //! \param num The index of the value to change
+        //! \param wert The value to store
+        //! \return 1 if the value existed and was successfully changed
         DLLEXPORT bool setWert(int num, Text* wert);
-        //! AEndert einen bestimmten Wert
-        //! \param num Der Index des Wertes der geaendert werden soll
-        //! \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls der Wert vorhanden war und erfolgreich geaendert
-        //! werden konnte
+        //! Changes a specific value
+        //! \param num The index of the value to change
+        //! \param wert The value to store
+        //! \return 1 if the value existed and was successfully changed
         DLLEXPORT bool setWert(int num, const char* wert);
-        //! Loescht einen bestimmten Wert
-        //! \param name Der Name des Wertes, der geloescht werden soll
-        //! \return 1, falls der Wert vorhanden war und erfolgreich geloescht
-        //! werden konnte
+        //! Deletes a specific value
+        //! \param name The name of the value to delete
+        //! \return 1 if the value existed and was successfully deleted
         DLLEXPORT bool removeWert(Text* name);
-        //! Loescht einen bestimmten Wert
-        //! \param name Der Name des Wertes, der geloescht werden soll
-        //! \return 1, falls der Wert vorhanden war und erfolgreich geloescht
-        //! werden konnte
+        //! Deletes a specific value
+        //! \param name The name of the value to delete
+        //! \return 1 if the value existed and was successfully deleted
         DLLEXPORT bool removeWert(const char* name);
-        //! Loescht einen bestimmten Wert
-        //! \param num Der Index des Wertes der geloescht werden soll
-        //! \return 1, falls der Wert vorhanden war und erfolgreich geloescht
-        //! werden konnte
+        //! Deletes a specific value
+        //! \param num The index of the value to delete
+        //! \return 1 if the value existed and was successfully deleted
         DLLEXPORT bool removeWert(int num);
-        //! Loescht alle Werte aus der Datei
+        //! Deletes all values from the file
         DLLEXPORT void removeAlle();
-        //! Speichert alle Werte in der Datei
-        //! \return 1, falls das Speichern erfolgreich war
+        //! Saves all values to the file
+        //! \return 1 if saving was successful
         DLLEXPORT bool speichern();
-        //! Gibt die Anzahl der gespeicherten Werte zurueck
+        //! Returns the number of stored values
         DLLEXPORT int getWertAnzahl() const;
-        //! UEberprueft, ob ein bestimmter Wert existiert
-        //! \param name Der Name, nach dem gesucht werden soll
-        //! \return 1, falls der Wert gefunden wurde
+        //! Checks whether a specific value exists
+        //! \param name The name to search for
+        //! \return 1 if the value was found
         DLLEXPORT bool wertExistiert(Text* name);
-        //! UEberprueft, ob ein bestimmter Wert existiert
-        //! \param name Der Name, nach dem gesucht werden soll
-        //! \return 1, falls der Wert gefunden wurde
+        //! Checks whether a specific value exists
+        //! \param name The name to search for
+        //! \return 1 if the value was found
         DLLEXPORT bool wertExistiert(const char* name);
-        //! Gibt den Index eines Bestimmten Wertes zurueck
-        //! \param name Der Name des Wertes, nach dem gesucht werden soll
-        //! \return -1, falls der Wert nicht gefunden wurde. Der Index des
-        //! Wertes.
+        //! Returns the index of a specific value
+        //! \param name The name of the value to search for
+        //! \return -1 if the value was not found. The index of the value.
         DLLEXPORT int getWertNummer(Text* name);
-        //! Gibt den Index eines Bestimmten Wertes zurueck
-        //! \param name Der Name des Wertes, nach dem gesucht werden soll
-        //! \return -1, falls der Wert nicht gefunden wurde. Der Index des
-        //! Wertes.
+        //! Returns the index of a specific value
+        //! \param name The name of the value to search for
+        //! \return -1 if the value was not found. The index of the value.
         DLLEXPORT int getWertNummer(const char* name);
-        //! Gibt einen bestimmten Wert zurueck
-        //! \param name Der Name des Wertes, der zurueckgegeben werden soll
-        //! \return 0, falls der Wert nicht gefunden wurde.
+        //! Returns a specific value
+        //! \param name The name of the value to return
+        //! \return 0 if the value was not found.
         DLLEXPORT Text* getWert(Text* name);
-        //! Gibt einen bestimmten Wert zurueck
-        //! \param name Der Name des Wertes, der zurueckgegeben werden soll
-        //! \return 0, falls der Wert nicht gefunden wurde.
+        //! Returns a specific value
+        //! \param name The name of the value to return
+        //! \return 0 if the value was not found.
         DLLEXPORT Text* getWert(const char* name);
-        //! Gibt einen bestimmten Wert zurueck
-        //! \param num Der Index des Wertes, der zurueckgegeben werden soll
-        //! \return 0, falls der Wert nicht gefunden wurde.
+        //! Returns a specific value
+        //! \param num The index of the value to return
+        //! \return 0 if the value was not found.
         DLLEXPORT Text* getWert(int num);
-        //! Gibt einen bestimmten Wert zurueck
-        //! \param name Der Name des Wertes, der zurueckgegeben werden soll
-        //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne
-        //! erhoehten Reference Counter
+        //! Returns a specific value
+        //! \param name The name of the value to return
+        //! \return 0 if the value was not found. The value without
+        //! increased reference counter
         DLLEXPORT Text* zWert(Text* name);
-        //! Gibt einen bestimmten Wert zurueck
-        //! \param name Der Name des Wertes, der zurueckgegeben werden soll
-        //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne
-        //! erhoehten Reference Counter
+        //! Returns a specific value
+        //! \param name The name of the value to return
+        //! \return 0 if the value was not found. The value without
+        //! increased reference counter
         DLLEXPORT Text* zWert(const char* name);
-        //! Gibt einen bestimmten Wert zurueck
-        //! \param num Der Index des Wertes, der zurueckgegeben werden soll
-        //! \return 0, falls der Wert nicht gefunden wurde. Der Wert ohne
-        //! erhoehten Reference Counter
+        //! Returns a specific value
+        //! \param num The index of the value to return
+        //! \return 0 if the value was not found. The value without
+        //! increased reference counter
         DLLEXPORT Text* zWert(int num);
-        //! Gibt den Namen eines bestimmten Wertes zurueck
-        //! \param num Der Index des Wertes, dessen Namen zurueckgegeben werden
-        //! soll \return 0, falls der Wert nicht gefunden wurde.
+        //! Returns the name of a specific value
+        //! \param num The index of the value whose name should be returned
+        //! \return 0 if the value was not found.
         DLLEXPORT Text* getName(int num);
-        //! Gibt den Namen eines bestimmten Wertes zurueck
-        //! \param num Der Index des Wertes, dessen Namen zurueckgegeben werden
-        //! soll \return 0, falls der Wert nicht gefunden wurde. Der Name ohne
-        //! erhoehten Reference Counter
+        //! Returns the name of a specific value
+        //! \param num The index of the value whose name should be returned
+        //! \return 0 if the value was not found. The name without
+        //! increased reference counter
         DLLEXPORT Text* zName(int num);
-        //! Gibt den Pfad zur Datei zurueck
+        //! Returns the path to the file
         DLLEXPORT Text* getPfad() const;
-        //! Gibt den Pfad zur Datei ohne erhoehten Reference Counter zurueck
+        //! Returns the path to the file without increased reference counter
         DLLEXPORT Text* zPfad() const;
     };
 } // namespace Framework

+ 9 - 10
JsonEditor.h

@@ -222,9 +222,8 @@ namespace Framework
             DLLEXPORT ~JsonEditor();
 
         protected:
-            //! Verarbeitet Maus Nachrichten
-            //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst
-            //! wurde
+            //! Processes mouse messages
+            //! \param me The event triggered by the mouse input
             DLLEXPORT void doMausEreignis(
                 MausEreignis& me, bool userRet) override;
             DLLEXPORT EditorPosition getScreenPosition(int localX, int localY);
@@ -240,16 +239,16 @@ namespace Framework
             DLLEXPORT void format();
             DLLEXPORT void setValidator(Validator::DataValidator* validator);
 
-            //! Verarbeitet ein Tastatur Ereignis. Wird vom Framework
-            //! automatisch aufgerufen \param te Das Ereignis
+            //! Processes a keyboard event. Called automatically by the
+            //! framework \param te The event
             DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
 
-            //! Updated den Zeichenhintergrund
-            //! \param 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
+            //! \param tickVal The elapsed time in seconds since the last
+            //! call of this function \return 1 if the image needs to be
+            //! redrawn. 0 otherwise
             DLLEXPORT bool tick(double tickVal) override;
-            //! Zeichnet den Hintergrund eines Zeichnunges nach rObj
+            //! Draws the background of a drawing to rObj
             DLLEXPORT void render(Bild& rObj) override;
 
             DLLEXPORT Text getContent();

+ 77 - 81
KSGTDatei.h

@@ -7,7 +7,7 @@ namespace Framework
 {
     class Text;
 
-    //! Verwaltet eine Datei in der Daten tabellarisch abgespeichert werden
+    //! Manages a file where data is stored in tabular form
     class KSGTDatei : public virtual ReferenceCounter
     {
     private:
@@ -15,108 +15,104 @@ namespace Framework
         RCArray<RCArray<Text>>* data;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT KSGTDatei();
-        //! Konstruktor
-        //! \param pfad Der Pfad zur Datei
+        //! Constructor
+        //! \param pfad The path to the file
         DLLEXPORT KSGTDatei(const char* pfad);
-        //! Konstruktor
-        //! \param pfad Der Pfad zur Datei
+        //! Constructor
+        //! \param pfad The path to the file
         DLLEXPORT KSGTDatei(Text* pfad);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~KSGTDatei();
-        //! Setzt den Pfad zur Datei
-        //! \param pfad Der Pfad zur Datei
+        //! Sets the path to the file
+        //! \param pfad The path to the file
         DLLEXPORT void setPfad(const char* pfad);
-        //! Setzt den Pfad zur Datei
-        //! \param pfad Der Pfad zur Datei
+        //! Sets the path to the file
+        //! \param pfad The path to the file
         DLLEXPORT void setPfad(Text* pfad);
-        //! laehdt alle Daten aus der angegebenen Datei
-        //! \return 1, falls das laden erfolgreich war. 0, wenn ein Fehler beim
-        //! laden aufgetreten ist
+        //! Loads all data from the specified file
+        //! \return 1 if loading was successful. 0 if an error occurred
+        //! during loading
         DLLEXPORT bool laden();
-        //! Fuegt eine Zeile zur Tabelle hinzu
-        //! \param feldAnzahl Die Anzahl der Felder in der Zeile
-        //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhoehten
-        //! Reference Counter \return 1, wenn kein Fehler aufgetreten ist
+        //! Adds a row to the table
+        //! \param feldAnzahl The number of fields in the row
+        //! \param zWert A pointer to the values in the row without increased
+        //! reference counter \return 1 if no error occurred
         DLLEXPORT bool addZeile(int feldAnzahl, RCArray<Text>* zWert);
-        //! Ersetzt eine existierende Zeile
-        //! \param zeile Der Index der Zeile, die ersetzt werden soll
-        //! \param feldAnzahl Die Anzahl der Felder in der Zeile
-        //! \param zWert Einen Zeiger auf die Werte in der Zeile ohne erhoehten
-        //! Reference Counter \return 1, wenn die Zeile existierte und ersetzt
-        //! wurde. 0, wenn die angegebene Zeile nicht existierte
+        //! Replaces an existing row
+        //! \param zeile The index of the row to replace
+        //! \param feldAnzahl The number of fields in the row
+        //! \param zWert A pointer to the values in the row without increased
+        //! reference counter \return 1 if the row existed and was replaced.
+        //! 0 if the specified row did not exist
         DLLEXPORT bool setZeile(
             int zeile, int feldAnzahl, RCArray<Text>* zWert);
-        //! Loescht eine Zeile
-        //! \param zeile Der Index der Zeile, die geloescht werden soll
-        //! \return 1, wenn die Zeile geloescht wurde. 0, wenn die Zeile nicht
-        //! gefunden wurde
+        //! Deletes a row
+        //! \param zeile The index of the row to delete
+        //! \return 1 if the row was deleted. 0 if the row was not found
         DLLEXPORT bool removeZeile(int zeile);
-        //! Fuegt einer Bestimmten Zeile einen Wert hinzu
-        //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
-        //! soll \param pos Die Position in der Zeile, an der der Wert
-        //! hinzugefuegt werden soll \param wert Der Wert, der gespeichert werden
-        //! soll \return 1, falls Der Wert erfolgreich hinzugefuegt wurde. 0,
-        //! falls die Zeile nicht existiert, oder pos zu gross ist
+        //! Adds a value to a specific row
+        //! \param zeile The index of the row to add a value to
+        //! \param pos The position in the row where the value should be added
+        //! \param wert The value to store
+        //! \return 1 if the value was successfully added. 0 if the row
+        //! does not exist or pos is too large
         DLLEXPORT bool addFeld(int zeile, int pos, Text* wert);
-        //! Fuegt einer Bestimmten Zeile einen Wert hinzu
-        //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
-        //! soll \param pos Die Position in der Zeile, an der der Wert
-        //! hinzugefuegt werden soll \param wert Der Wert, der gespeichert werden
-        //! soll \return 1, falls Der Wert erfolgreich hinzugefuegt wurde. 0,
-        //! falls die Zeile nicht existiert, oder pos zu gross ist
+        //! Adds a value to a specific row
+        //! \param zeile The index of the row to add a value to
+        //! \param pos The position in the row where the value should be added
+        //! \param wert The value to store
+        //! \return 1 if the value was successfully added. 0 if the row
+        //! does not exist or pos is too large
         DLLEXPORT bool addFeld(int zeile, int pos, const char* wert);
-        //! Fuegt einer Bestimmten Zeile am Ende einen Wert hinzu
-        //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
-        //! soll \param wert Der Wert, der gespeichert werden soll \return 1,
-        //! falls Der Wert erfolgreich hinzugefuegt wurde. 0, falls die Zeile
-        //! nicht existiert
+        //! Adds a value at the end of a specific row
+        //! \param zeile The index of the row to add a value to
+        //! \param wert The value to store \return 1 if the value was
+        //! successfully added. 0 if the row does not exist
         DLLEXPORT bool addFeld(int zeile, Text* wert);
-        //! Fuegt einer Bestimmten Zeile am Ende einen Wert hinzu
-        //! \param zeile Der Index der Zeile, der ein Wert hinzugefuegt werden
-        //! soll \param wert Der Wert, der gespeichert werden soll \return 1,
-        //! falls Der Wert erfolgreich hinzugefuegt wurde. 0, falls die Zeile
-        //! nicht existiert
+        //! Adds a value at the end of a specific row
+        //! \param zeile The index of the row to add a value to
+        //! \param wert The value to store \return 1 if the value was
+        //! successfully added. 0 if the row does not exist
         DLLEXPORT bool addFeld(int zeile, const char* wert);
-        //! Setzt einen Bestimmten Wert in einer Zeile
-        //! \param zeile Der Index der Zeile, in der ein Wert veraendert werden
-        //! soll \param feld Die Position in der Zeile, an der der Wert gesetzt
-        //! werden soll \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die
-        //! Zeile oder der Wert nicht existiert
+        //! Sets a specific value in a row
+        //! \param zeile The index of the row where a value should be changed
+        //! \param feld The position in the row where the value should be set
+        //! \param wert The value to store
+        //! \return 1 if the value was successfully replaced. 0 if the row
+        //! or the value does not exist
         DLLEXPORT bool setFeld(int zeile, int feld, Text* wert);
-        //! Setzt einen Bestimmten Wert in einer Zeile
-        //! \param zeile Der Index der Zeile, in der ein Wert veraendert werden
-        //! soll \param feld Die Position in der Zeile, an der der Wert gesetzt
-        //! werden soll \param wert Der Wert, der gespeichert werden soll
-        //! \return 1, falls Der Wert erfolgreich ersetzt wurde. 0, falls die
-        //! Zeile oder der Wert nicht existiert
+        //! Sets a specific value in a row
+        //! \param zeile The index of the row where a value should be changed
+        //! \param feld The position in the row where the value should be set
+        //! \param wert The value to store
+        //! \return 1 if the value was successfully replaced. 0 if the row
+        //! or the value does not exist
         DLLEXPORT bool setFeld(int zeile, int feld, const char* wert);
-        //! Entfernt einen bestimmten Wert
-        //! \param zeile Der Index der Zeile, aus der ein Wert geloescht werden
-        //! soll \param feld Die Position in der Zeile, an der der Wert geloescht
-        //! werden soll \return 1, falls Der Wert erfolgreich geloescht wurde. 0,
-        //! falls die Zeile oder der Wert nicht existiert
+        //! Removes a specific value
+        //! \param zeile The index of the row from which a value should be deleted
+        //! \param feld The position in the row where the value should be deleted
+        //! \return 1 if the value was successfully deleted. 0 if the row
+        //! or the value does not exist
         DLLEXPORT bool removeFeld(int zeile, int feld);
-        //! Speichert die Tabelle in der Datei
-        //! \return 1, falls die Tabbelle erfolgreich gespeichert wurde
+        //! Saves the table to the file
+        //! \return 1 if the table was successfully saved
         DLLEXPORT bool speichern();
-        //! Gibt die Anzahl der Zeilen zurueck
+        //! Returns the number of rows
         DLLEXPORT int getZeilenAnzahl() const;
-        //! Gibt die Anzahl der Werte (Spalten) in einer Zeile zurueck
-        //! \param zeile Der Index der Zeile, von der die Anzahl Werte ermittelt
-        //! werden soll
+        //! Returns the number of values (columns) in a row
+        //! \param zeile The index of the row whose value count should be determined
         DLLEXPORT int getFeldAnzahl(int zeile) const;
-        //! Gibt einen bestimmten gespeicherten Wert zurueck
-        //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
-        //! \param feld Der Index des Wertes in der Zeile
-        //! \return Den gespeicherten Wert mit erhoehtem Reference Counter
+        //! Returns a specific stored value
+        //! \param zeile The index of the row where the value is stored
+        //! \param feld The index of the value in the row
+        //! \return The stored value with increased reference counter
         DLLEXPORT Text* getFeld(int zeile, int feld) const;
-        //! Gibt einen bestimmten gespeicherten Wert zurueck
-        //! \param zeile Der Index der Zeile, in der der Wert gespeichert wird
-        //! \param feld Der Index des Wertes in der Zeile
-        //! \return Den gespeicherten Wert ohne erhoehten Reference Counter
+        //! Returns a specific stored value
+        //! \param zeile The index of the row where the value is stored
+        //! \param feld The index of the value in the row
+        //! \return The stored value without increased reference counter
         DLLEXPORT Text* zFeld(int zeile, int feld) const;
     };
 } // namespace Framework

+ 63 - 66
Kam3D.h

@@ -24,8 +24,8 @@ namespace Framework
         float back;
     };
 
-    //! Eine 3d Kamera, die einen Ausschnitt einer 3D Welt in einen bestimmten
-    //! Teil des Bildschirms zeichnet
+    //! A 3D camera that draws a section of a 3D world into a specific
+    //! area of the screen
     class Kam3D : public virtual Framework::ReferenceCounter
     {
     public:
@@ -58,106 +58,103 @@ namespace Framework
         __int64 style;
         float speed;
 
-        //! Aktualisiert die view und projektion matrizen
+        //! Updates the view and projection matrices
         void updateMatrix();
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Kam3D();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~Kam3D();
-        //! Setzt die Position der Kamera in der 3D Welt
+        //! Sets the position of the camera in the 3D world
         DLLEXPORT void setPosition(Vec3<float> pos);
-        //! zoomt heran, indem sich die Kamera etwas auf das Blickziel zubewegt
-        //! \param val Die laenge der Strecke um die sich die Kamera bewegen soll
+        //! Zooms in by moving the camera slightly towards the target
+        //! \param val The distance the camera should move
         DLLEXPORT void scrollIn(float val);
-        //! zppmt heraus, indem sich die Kamera etwas von dem Blockziel entfernt
-        //! \param val Die laenge der Strecke um die sich die Kamera bewegen soll
+        //! Zooms out by moving the camera slightly away from the target
+        //! \param val The distance the camera should move
         DLLEXPORT void scrollOut(float val);
-        //! Richtet die Kamera so aus, dass sie genau auf einen bestimmten Punkt
-        //! zeigt \param ziel Der Punkt, auf den die Kamera zeigen soll
+        //! Aligns the camera so that it points exactly at a specific point
+        //! \param ziel The point the camera should point at
         DLLEXPORT void setAusrichtung(Vec3<float> ziel);
-        //! 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 individual axes
+        //! \param rotation The rotation around individual axes
         DLLEXPORT void setRotation(Vec3<float> rotation);
-        //! Setzt die Position des Bildes auf dem Bildschirm
-        //! \param p Ein Punkt mit x und y Koordinaten in Pixeln
+        //! Sets the position of the image on the screen
+        //! \param p A point with x and y coordinates in pixels
         DLLEXPORT void setBildschirmPosition(Punkt p);
-        //! Setzt die Position des Bildes auf dem Bildschirm
-        //! \param x Die x Koordinate in Pixeln
-        //! \param y Die y Koordinate in Pixeln
+        //! Sets the position of the image on the screen
+        //! \param x The x coordinate in pixels
+        //! \param y The y coordinate in pixels
         DLLEXPORT void setBildschirmPosition(int x, int y);
-        //! Setzt die Groesse des Bildes auf dem Bildschirm
-        //! \param p Ein Punkt, mit x als Breite und y als Hoehe in Pixlen
+        //! Sets the size of the image on the screen
+        //! \param p A point with x as width and y as height in pixels
         DLLEXPORT void setBildschirmSize(Punkt p);
-        //! Setzt die Groesse des Bildes auf dem Bildschirm
-        //! \param br Die Breite in Pixeln
-        //! \param hi Die Hoehe in Pixeln
+        //! Sets the size of the image on the screen
+        //! \param br The width in pixels
+        //! \param hi The height in pixels
         DLLEXPORT void setBildschirmSize(int br, int hi);
-        //! Setzt die Welt, die gezeichnet werden soll
-        //! \param w Die Welt
+        //! Sets the world to be drawn
+        //! \param w The world
         DLLEXPORT void setWelt(Welt3D* w);
-        //! Setzt den Style der Kamera
-        //! \param style Der neue Style bestehend aus den Flags aus der
-        //! zugehoerigen Style Klasse
+        //! Sets the style of the camera
+        //! \param style The new style consisting of flags from the
+        //! associated Style class
         DLLEXPORT void setStyle(__int64 style);
-        //! Setzt den Style der Kamera
-        //! \param 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
+        //! \param style All style flags to be changed
+        //!  add_remove: 1 if the style should be added. 0 if the style
+        //!  should be removed
         DLLEXPORT void setStyle(__int64 style, bool add_remove);
-        //! Fuegt Style Flags hinzu
-        //! \param style Der Style, der hinzugefuegt werden soll
+        //! Adds style flags
+        //! \param style The style to add
         DLLEXPORT void addStyle(__int64 style);
-        //! Entfernt Style Flags
-        //! \param style Der Style, der entfernt werden soll
+        //! Removes style flags
+        //! \param style The style to remove
         DLLEXPORT void removeStyle(__int64 style);
         //! Set the movement speed per second if the camera has style Movable
         DLLEXPORT void setMovementSpeed(float speed);
-        //! Verarbeitet die vergangene Zeit
-        //! \param 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 elapsed time
+        //! \param tickval The time in seconds since the last call of this
+        //! function \return true if the image needs to be redrawn, false otherwise.
         DLLEXPORT virtual bool tick(double tv);
-        //! Verarbeitet ein Mausereignis
-        //! \param me Das Mausereignis, das verarbeitet werden soll
+        //! Processes a mouse event
+        //! \param me The mouse event to process
         DLLEXPORT virtual void doMausEreignis(MausEreignis& me);
-        //! Verarbeitet ein Tastaturereignis
-        //! \param te das Tastaturereignis, das verarbeitet werden soll
+        //! Processes a keyboard event
+        //! \param te The keyboard event to process
         DLLEXPORT virtual void doTastaturEreignis(TastaturEreignis& te);
-        //! Gibt zurueck, ob bestimmte Styles gesetzt wurden
-        //! \param style Die Styles, die ueberprueft werden sollen
-        //! \return 1, falls alle Styles in style gesetzt wurden
+        //! Returns whether specific styles are set
+        //! \param style The styles to check
+        //! \return 1 if all styles in style are set
         DLLEXPORT bool hatStyle(__int64 style) const;
-        //! Gibt zurueck, ob bestimmte Styles nicht gesetzt wurden
-        //! \param style Die Styles, die geprueft werden sollen
-        //! \return 1, falls alle Styles in style nicht gesetzt wurden
+        //! Returns whether specific styles are not set
+        //! \param style The styles to check
+        //! \return 1 if all styles in style are not set
         DLLEXPORT bool hatStyleNicht(__int64 style) const;
-        //! Gibt einen Zeiger auf den Viewport zurueck
+        //! Returns a pointer to the viewport
         DLLEXPORT const ViewPort* zViewPort() const;
-        //! Gibt die Position der Kamera in der Welt zurueck
+        //! Returns the position of the camera in the world
         DLLEXPORT const Vec3<float>& getWorldPosition() const;
-        //! Gibt die Position in der Welt zurueck
-        //! \param screen die Position auf dem Bildschirm, die uebersetzt werden
-        //! soll
+        //! Returns the position in the world
+        //! \param screen The position on the screen to translate
         DLLEXPORT const Vec3<float> getWorldPosition(Punkt screen) const;
-        //! Gibt die Richtung der Kamera in der Welt zurueck
-        //! \param screen die Position auf dem Bildschirm, die uebersetzt werden
-        //! soll
+        //! Returns the direction of the camera in the world
+        //! \param screen The position on the screen to translate
         DLLEXPORT const Vec3<float> getWorldDirection(Punkt screen) const;
-        //! Gibt die Projektionsmatrix der Kamera zurueck
+        //! Returns the projection matrix of the camera
         DLLEXPORT const Mat4<float>& getProjectionMatrix() const;
-        //! Gibt die Ansichtsmatrix der Kamera zurueck
+        //! Returns the view matrix of the camera
         DLLEXPORT const Mat4<float>& getViewMatrix() const;
-        //! Gibt die Rotation um die einzelnen axen zurueck
+        //! Returns the rotation around individual axes
         DLLEXPORT const Vec3<float> getRotation() const;
-        //! Gibt die Position der Kamera auf dem Bildschirm zurueck
+        //! Returns the position of the camera on the screen
         DLLEXPORT const Punkt getScreenPos() const;
-        //! Gibt die Groesse der Kamera auf dem Bildschirm zurueck
+        //! Returns the size of the camera on the screen
         DLLEXPORT const Punkt getScreenSize() const;
-        //! Gibt die Welt zurueck
+        //! Returns the world
         DLLEXPORT Welt3D* getWelt() const;
-        //! Gibt die Welt zurueck
+        //! Returns the world without increased reference counter
         DLLEXPORT Welt3D* zWelt() const;
     };
 } // namespace Framework

+ 47 - 54
Key.h

@@ -8,7 +8,7 @@ namespace Framework
 {
     namespace Encryption
     {
-        //! Speichert einen Array von bytes
+        //! Stores an array of bytes
         class Bytes : public virtual ReferenceCounter
         {
         private:
@@ -17,58 +17,55 @@ namespace Framework
             int length;
 
         public:
-            //! Erzeugt einen lehren Byte Array
+            //! Creates an empty byte array
             DLLEXPORT Bytes();
-            //! Erzeugt einen neuen Byte Array mit bestimmter Laenge
-            //! \param length Die Laenge des Arrays
+            //! Creates a new byte array with a specific length
+            //! \param length The length of the array
             DLLEXPORT Bytes(int length);
-            //! Erzeugt ein neuen Byte Array durch kopieren der bytes
-            //! \param daten Die Bytes, die kopiert werden sollen
-            //! \param length Die Anzahl der Bytes die kopiert werden sollen
+            //! Creates a new byte array by copying the bytes
+            //! \param daten The bytes to copy
+            //! \param length The number of bytes to copy
             DLLEXPORT Bytes(const char* daten, int length);
-            //! Loescht den Array
+            //! Deletes the array
             DLLEXPORT ~Bytes();
-            //! Befuellt den Bytearray durch kopieren der Bytes
-            //! \param daten Die Bytes, die kopiert werden sollen
+            //! Fills the byte array by copying the bytes
+            //! \param daten The bytes to copy
             DLLEXPORT void setBytes(const char* daten);
-            //! Loescht den Array und erzeugt einen neuen
-            //! \param daten Die Bytes, die kopiert werden sollen
-            //! \param length Die naenge des Arrays
+            //! Deletes the array and creates a new one
+            //! \param daten The bytes to copy
+            //! \param length The length of the array
             DLLEXPORT void setBytes(const char* daten, int length);
-            //! Loescht den Array und uebernimmt den uebergebenen ohne zu kopieren
-            //! \param daten Der neue Byte Array
-            //! \param length Die naenge des Arrays
+            //! Deletes the array and takes ownership of the given one without copying
+            //! \param daten The new byte array
+            //! \param length The length of the array
             DLLEXPORT void setBytesZ(char* daten, int length);
-            //! Setzt alle Bytes des Arrays auf einen bestimmten Wert
-            //! \param c Der Wert, auf den die Bytes gesetzt werden sollen
+            //! Sets all bytes of the array to a specific value
+            //! \param c The value to set the bytes to
             DLLEXPORT void fill(const char c);
-            //! Setzt eine bestimmte Anzahl von Bytes des Arrays auf einen
-            //! bestimmten Wert \param c Der Wert, auf den die Bytes gesetzt
-            //! werden sollen \param len Die Anzahl der Bytes die gesetzt werden
-            //! sollen
+            //! Sets a specific number of bytes of the array to a specific value
+            //! \param c The value to set the bytes to
+            //! \param len The number of bytes to set
             DLLEXPORT void fill(const char c, int len);
-            //! Setzt einen bestimmte Abschnitt von Bytes des Arrays auf einen
-            //! bestimmten Wert \param c Der Wert, auf den die Bytes gesetzt
-            //! werden sollen \param beg Die Startposition des zu setzenden
-            //! Abschnittes \param end Die Endposition des zu setzenden
-            //! Abschnittes (nicht enthalten)
+            //! Sets a specific section of bytes of the array to a specific value
+            //! \param c The value to set the bytes to
+            //! \param beg The start position of the section to set
+            //! \param end The end position of the section to set (exclusive)
             DLLEXPORT void fill(const char c, int beg, int end);
-            //! Kopiert bestimmte bytes in den Array
-            //! \param c Die Bytes, die kopiert werden sollen
-            //! \param cLength Die Anzahl an Bytes, die gesetzt werden sollen
+            //! Copies specific bytes into the array
+            //! \param c The bytes to copy
+            //! \param cLength The number of bytes to set
             DLLEXPORT void fill(const char* c, int cLength);
-            //! Setzt ein bestimmtes Byte auf einen Wert
-            //! \param c Der Wert, auf den das Byte gesetzt werden soll
-            //! \param pos Die Position des Bytes im Array
+            //! Sets a specific byte to a value
+            //! \param c The value to set the byte to
+            //! \param pos The position of the byte in the array
             DLLEXPORT void set(const char c, int pos);
-            //! Gibt die Laenge des Arrays zurueck
+            //! Returns the length of the array
             DLLEXPORT int getLength() const;
-            //! Gibt den Array von Bytes zurueck
+            //! Returns the array of bytes
             DLLEXPORT char* getBytes() const;
         };
 
-        //! Kann Bytesequenzen mit bestimmten Schluesseln verschluesseln und
-        //! entschluesseln
+        //! Can encrypt and decrypt byte sequences with specific keys
         class Key : public virtual ReferenceCounter
         {
         private:
@@ -77,29 +74,25 @@ namespace Framework
             int pos;
 
         public:
-            //! Erzeugt ein leeres Zeichnung
+            //! Creates an empty object
             DLLEXPORT Key();
-            //! Erzeugt ein neues Zeichnung mi einem Schluessel
-            //! \param s Der Schluessel, der zum verschluesseln und entchluesseln
-            //! verwendet werden soll \param length Die Laenge des Schluessels
+            //! Creates a new object with a key
+            //! \param s The key to use for encryption and decryption
+            //! \param length The length of the key
             DLLEXPORT Key(const char* s, int length);
-            //! Loescht das Zeichnung
+            //! Deletes the object
             DLLEXPORT ~Key();
-            //! Setzt die Position im Schluessel, wo mit dem verschluesseln und
-            //! entschluesseln begonnen werden soll \param p Die Position im
-            //! Schluessel
+            //! Sets the position in the key where encryption and decryption
+            //! should begin \param p The position in the key
             DLLEXPORT void setPos(__int64 p);
-            //! Setzt den Schluessel, der zum ver- und entschluesseln verwendet
-            //! werden soll \param s Der Schluessel \param length Die Laenge des
-            //! Schluessels
+            //! Sets the key to use for encryption and decryption
+            //! \param s The key \param length The length of the key
             DLLEXPORT void setKey(const char* s, int length);
-            //! Verschluesselt einen Byte Array mit dem gesetzten Schluessel
-            //! \param daten Der Byte Array, der verschluesselt werden soll. Wird
-            //! von der Funktion veraendert
+            //! Encrypts a byte array with the set key
+            //! \param daten The byte array to encrypt. Modified by the function
             DLLEXPORT void codieren(Bytes* daten);
-            //! Entschluesselt einen Byte Array mit dem gesetzten Schluessel
-            //! \param daten Der Byte Array, der entschluesselt werden soll. Wird
-            //! von der Funktion veraendert
+            //! Decrypts a byte array with the set key
+            //! \param daten The byte array to decrypt. Modified by the function
             DLLEXPORT void decodieren(Bytes* daten);
         };
     } // namespace Encryption

+ 85 - 93
Knopf.h

@@ -78,9 +78,8 @@ namespace Framework
         //! Sets the color of the color gradient used when the button is pressed
         //! \param fc The color in A8R8G8B8 format
         DLLEXPORT void setKBFarbe(int fc);
-        //! Verarbeitet Maus Nachrichten
-        //! \param te Das Ereignis, was durch die Tastatur Eingabe ausgeloesst
-        //! wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the keyboard input
         DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
         //! Draws the object to zRObj if it is visible
         //! \param zRObj The image to draw into
@@ -174,143 +173,136 @@ namespace Framework
         TextRenderer* textRd;
         int sF;
         int sGr;
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT KontrollKnopf();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~KontrollKnopf();
-        //! Setzt den Zeiger auf den Beschriftungs Text
-        //! \param txt Der Text
+        //! Sets a pointer to the label text
+        //! \param txt The text
         DLLEXPORT void setTextZ(Text* txt);
-        //! Setzt den Beschriftungs Text
-        //! \param txt Der Text
+        //! Sets the label text
+        //! \param txt The text
         DLLEXPORT void setText(Text* txt);
-        //! Setzt den Beschriftungs Text
-        //! \param txt Der Text
+        //! Sets the label text
+        //! \param txt The text
         DLLEXPORT void setText(const char* txt);
-        //! Setzt den Zeiger auf den Beschriftungs Text, der angezeigt wird,
-        //! waehrend das Kaestchen ausgewaehlt ist \param txt Der Text
+        //! Sets a pointer to the label text displayed while the
+        //! checkbox is selected \param txt The text
         DLLEXPORT void setSTextZ(Text* txt);
-        //! Setzt den Beschriftungs Text, der angezeigt wird, waehrend das
-        //! Kaestchen ausgewaehlt ist \param txt Der Text
+        //! Sets the label text displayed while the checkbox is selected
+        //! \param txt The text
         DLLEXPORT void setSText(Text* txt);
-        //! Setzt den Beschriftungs Text, der angezeigt wird, waehrend das
-        //! Kaestchen ausgewaehlt ist \param txt Der Text
+        //! Sets the label text displayed while the checkbox is selected
+        //! \param txt The text
         DLLEXPORT void setSText(const char* txt);
-        //! Setzt den verwendeten TextRenderer
-        //! \param textRd Der Textrenderer
+        //! Sets the TextRenderer to use
+        //! \param textRd The text renderer
         DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
-        //! Setzt die Schrift, die fuer die Beschriftung verwendet werden soll
-        //! \param schrift Die Schrift
+        //! Sets the font to use for the label
+        //! \param schrift The font
         DLLEXPORT void setSchriftZ(Schrift* schrift);
-        //! Setzt die Farbe der Schrift, die fuer die Beschriftung verwendet
-        //! werden soll \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the font used for the label
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setSFarbe(int f);
-        //! Setzt die Groesse der Schrift, die fuer die Beschriftung verwendet
-        //! werden soll \param f Die Hoehe einer Zeile in Pixeln
+        //! Sets the size of the font used for the label
+        //! \param f The height of a line in pixels
         DLLEXPORT void setSSize(int gr);
-        //! Setzt die Hintergrund Farbe, die verwendet wird, waehrend das
-        //! Kaestchen ausgewaehlt ist \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color used while the checkbox is selected
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setSBgFarbe(int f);
-        //! Setzt die Hintergrund Farbe, die verwendet wird, waehrend auf das
-        //! Kaestchen geklickt wird \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the background color used while the checkbox is being clicked
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setKBgFarbe(int f);
-        //! Setzt einen Zeiger auf das Hintergrund Bild, das verwendet wird,
-        //! waehrend das Kaestchen ausgewaehlt ist \param b Das Bild
+        //! Sets a pointer to the background image used while the checkbox
+        //! is selected \param b The image
         DLLEXPORT void setSBgBildZ(Bild* b);
-        //! Setzt das Hintergrund Bild durch kopieren, das verwendet wird,
-        //! waehrend das Kaestchen ausgewaehlt ist \param b Das Bild, das kopiert
-        //! werden soll
+        //! Sets the background image by copying, used while the checkbox
+        //! is selected \param b The image to copy
         DLLEXPORT void setSBgBild(Bild* b);
-        //! Setzt einen Zeiger auf das Hintergrund Bild, das verwendet wird,
-        //! waehrend auf das Kaestchen geklickt wird \param b Das Bild
+        //! Sets a pointer to the background image used while the checkbox
+        //! is being clicked \param b The image
         DLLEXPORT void setKBgBildZ(Bild* b);
-        //! Setzt das Hintergrund Bild durch kopieren, das verwendet wird,
-        //! waehrend auf das Kaestchen geklickt wird \param b Das Bild, das
-        //! kopiert werden soll
+        //! Sets the background image by copying, used while the checkbox
+        //! is being clicked \param b The image to copy
         DLLEXPORT void setKBgBild(Bild* b);
-        //! Setzt einen Zeiger auf den Farbuebergang, der verwendet wird, waehrend
-        //! das Kaestchen ausgewaehlt ist \param af Der Farbuebergang
+        //! Sets a pointer to the color gradient used while the checkbox
+        //! is selected \param af The color gradient
         DLLEXPORT void setSAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des Farbuebergangs, der verwendet wird, waehrend das
-        //! Kaestchen ausgewaehlt ist \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient used while the checkbox
+        //! is selected \param f The color in A8R8G8B8 format
         DLLEXPORT void setSAFFarbe(int f);
-        //! Setzt die Staerke des Farbuebergangs, der verwendet wird, waehrend das
-        //! Kaestchen ausgewaehlt ist \param st Die Staerke
+        //! Sets the strength of the color gradient used while the checkbox
+        //! is selected \param st The strength
         DLLEXPORT void setSAFStrength(int st);
-        //! Setzt einen Zeiger auf den Farbuebergang, der verwendet wird, waehrend
-        //! auf das Kaestchen geklickt wird \param af Der Farbuebergang
+        //! Sets a pointer to the color gradient used while the checkbox
+        //! is being clicked \param af The color gradient
         DLLEXPORT void setKAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des Farbuebergangs, der verwendet wird, waehrend auf
-        //! das Kaestchen geklickt wird \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient used while the checkbox
+        //! is being clicked \param f The color in A8R8G8B8 format
         DLLEXPORT void setKAFFarbe(int f);
-        //! Setzt die Staerke des Farbuebergangs, der verwendet wird, waehrend auf
-        //! das Kaestchen geklickt wird \param st Die Staerke
+        //! Sets the strength of the color gradient used while the checkbox
+        //! is being clicked \param st The strength
         DLLEXPORT void setKAFStrength(int st);
-        //! Laedt die Bilder "kasten.gif" und "skasten.gif" aus einer LTDB Datei
-        //! Das Bild kasten.gif wird gezeichnet, wenn das Kaestchen nicht
-        //! ausgewaehlt ist. Das Bild skasten.gif wird gezeichnet, wenn das
-        //! Kaestchen ausgewaehlt wird \param zDat Die LTDB Datei
+        //! Loads images "kasten.gif" and "skasten.gif" from an LTDB file.
+        //! kasten.gif is drawn when the checkbox is not selected.
+        //! skasten.gif is drawn when the checkbox is selected.
+        //! \param zDat The LTDB file
         DLLEXPORT void loadData(LTDBDatei* zDat);
-        //! Laedt die Bilder "kasten.gif" und "skasten.gif" aus einer LTDB Datei
-        //! Das Bild kasten.gif wird gezeichnet, wenn das Kaestchen nicht
-        //! ausgewaehlt ist. Das Bild skasten.gif wird gezeichnet, wenn das
-        //! Kaestchen ausgewaehlt wird \param ltdb Der Pfad zur LTDB Datei
+        //! Loads images "kasten.gif" and "skasten.gif" from an LTDB file.
+        //! kasten.gif is drawn when the checkbox is not selected.
+        //! skasten.gif is drawn when the checkbox is selected.
+        //! \param ltdb The path to the LTDB file
         DLLEXPORT void loadData(const char* ltdb);
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt die beschriftung zurueck
+        //! Returns the label
         DLLEXPORT Text* getText() const;
-        //! Gibt die beschriftung ohne erhoehten Reference Counter zurueck
+        //! Returns the label without increased reference counter
         DLLEXPORT Text* zText() const;
-        //! Gibt die beschriftung zurueck, die verwendet wird, waehrend das
-        //! Kaestchen ausgewaehlt ist
+        //! Returns the label used while the checkbox is selected
         DLLEXPORT Text* getSText() const;
-        //! Gibt die beschriftung ohne erhoehten Reference Counter zurueck, die
-        //! verwendet wird, waehrend das Kaestchen ausgewaehlt ist
+        //! Returns the label without increased reference counter used
+        //! while the checkbox is selected
         DLLEXPORT Text* zSText() const;
-        //! Gibt die verwendete Schrift zurueck
+        //! Returns the font used
         DLLEXPORT Schrift* getSchrift() const;
-        //! Gibt die verwendete Schrift ohne Reference Counter zurueck
+        //! Returns the font used without increased reference counter
         DLLEXPORT Schrift* zSchrift() const;
-        //! Gibt die Schrift Farbe im A8R8G8B8 Format zurueck
+        //! Returns the font color in A8R8G8B8 format
         DLLEXPORT int getSFarbe() const;
-        //! Gibt die Schrift Groesse zurueck
+        //! Returns the font size
         DLLEXPORT int getSSize() const;
-        //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurueck, die verwendet
-        //! wird, waehrend das Kaestchen ausgewaehlt ist
+        //! Returns the background color in A8R8G8B8 format used while
+        //! the checkbox is selected
         DLLEXPORT int getSBgFarbe() const;
-        //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurueck, die verwendet
-        //! wird, waehrend auf das Kaestchen geklickt wird
+        //! Returns the background color in A8R8G8B8 format used while
+        //! the checkbox is being clicked
         DLLEXPORT int getKBgFarbe() const;
-        //! Gibt das Hintergrund Bild zurueck, das verwendet wird, waehrend das
-        //! Kaestchen ausgewaehlt ist
+        //! Returns the background image used while the checkbox is selected
         DLLEXPORT Bild* getSBgBild() const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference Counter zurueck,
-        //! das verwendet wird, waehrend das Kaestchen ausgewaehlt ist
+        //! Returns the background image without increased reference counter
+        //! used while the checkbox is selected
         DLLEXPORT Bild* zSBgBild() const;
-        //! Gibt das Hintergrund Bild zurueck, das verwendet wird, waehrend auf
-        //! das Kaestchen geklickt wird
+        //! Returns the background image used while the checkbox is being clicked
         DLLEXPORT Bild* getKBgBild() const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference Counter zurueck,
-        //! das verwendet wird, waehrend auf das Kaestchen geklickt wird
+        //! Returns the background image without increased reference counter
+        //! used while the checkbox is being clicked
         DLLEXPORT Bild* zKBgBild() const;
-        //! Gibt den Farbuebergang zurueck, der verwendet wird, waehrend das
-        //! Kaestchen ausgewaehlt ist
+        //! Returns the color gradient used while the checkbox is selected
         DLLEXPORT AlphaFeld* getSAlphaFeld() const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference COunter zurueck, der
-        //! verwendet wird, waehrend das Kaestchen ausgewaehlt ist
+        //! Returns the color gradient without increased reference counter
+        //! used while the checkbox is selected
         DLLEXPORT AlphaFeld* zSAlphaFeld() const;
-        //! Gibt den Farbuebergang zurueck, der verwendet wird, waehrend auf das
-        //! Kaestchen geklickt wird
+        //! Returns the color gradient used while the checkbox is being clicked
         DLLEXPORT AlphaFeld* getKAlphaFeld() const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference COunter zurueck, der
-        //! verwendet wird, waehrend auf das Kaestchen geklickt wird
+        //! Returns the color gradient without increased reference counter
+        //! used while the checkbox is being clicked
         DLLEXPORT AlphaFeld* zKAlphaFeld() const;
     };
 } // namespace Framework

+ 222 - 247
Liste.h

@@ -15,51 +15,48 @@ namespace Framework
     struct TastaturEreignis; //! TastaturEreignis.h
     struct MausEreignis;     //! MausEreignis.h
     class Schrift;           //! Schrift.h
-    class AuswahlListe;      //! aus dieser datei
+    class AuswahlListe;      //! from this file
 
-    //! Eine Zeichnung des 2D GUI Frameworks, die eine Liste darstellt, aus der
-    //! der Benutzer Elemente aus und abwaehlen kann
+    //! A drawing of the 2D GUI Framework that displays a list from which
+    //! the user can select and deselect elements
     class AuswahlListe : public ZeichnungHintergrund
     {
     public:
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Legt fest, ob die Eintraege der Liste einen Rahmen haben
+            //! Specifies whether the list entries have a border
             static const __int64 FeldRahmen = 0x0001000;
-            //! Legt fest, ob die Eintraege einen Hintergrund haben
+            //! Specifies whether the entries have a background
             static const __int64 FeldHintergrund = 0x0002000;
-            //! Legt fest, ob die Eintraege ein Hintergrund Bild haben
+            //! Specifies whether the entries have a background image
             static const __int64 FeldHBild = 0x0004000;
-            //! Legt fest, ob beim zeichnen der Eintrag Hintergruende alpha
-            //! blending verwendet werden soll
+            //! Specifies whether alpha blending is used when drawing
+            //! entry backgrounds
             static const __int64 FeldHAlpha = 0x0008000;
-            //! Legt fest, ob die Eintraege einen Farbuebergang besitzen
+            //! Specifies whether the entries have a color gradient
             static const __int64 FeldBuffer = 0x0010000;
-            //! Legt fest, ob die ausgewaehlten Eintraege einen Hintergrund haben
+            //! Specifies whether selected entries have a background
             static const __int64 AuswahlHintergrund = 0x0020000;
-            //! Legt fest, ob die ausgewaehlten eintraege ein Bild als Hintergrund
-            //! haben
+            //! Specifies whether selected entries have a background image
             static const __int64 AuswahlHBild = 0x0040000;
-            //! Legt fest, ob fuer das Zeichnen der Hintergruende der ausgewaehlten
-            //! Eintraege alpha blending verwendet wird
+            //! Specifies whether alpha blending is used for drawing
+            //! backgrounds of selected entries
             static const __int64 AuswahlHAlpha = 0x0080000;
-            //! Legt fest, ob die ausgewaehlten Eintraege einen Farbuebergang
-            //! besitzen
+            //! Specifies whether selected entries have a color gradient
             static const __int64 AuswahlBuffer = 0x0100000;
-            //! Legt fest, ob die ausgewaehlten Eintraege einen Rahmen besitzen
+            //! Specifies whether selected entries have a border
             static const __int64 AuswahlRahmen = 0x0200000;
-            //! Legt fest, ob jeder Eintrag seine eigenen Hintergrund,
-            //! Farbuebergang und Rahmen hat, fals er ausgewaehlt ist
+            //! Specifies whether each entry has its own background,
+            //! color gradient, and border when selected
             static const __int64 MultiStyled = 0x0400000;
-            //! Legt fest, das mehrere Eintraege gleichzeitig ausgewaehlt sein
-            //! koennen
+            //! Specifies that multiple entries can be selected simultaneously
             static const __int64 MultiSelect = 0x0800000;
-            //! Legt fest, ob ein bestimmter Eintrag ausgewaehlt ist, falls
-            //! MultiSelect gesetzt wurde.
+            //! Specifies whether a specific entry is selected, if
+            //! MultiSelect was set.
             static const __int64 Selected = 0x1000000;
 
-            //! Vereint die Flags Sichtbar, Erlaubt, Rahmen, FeldHAlpha,
+            //! Combines the flags Sichtbar, Erlaubt, Rahmen, FeldHAlpha,
             //! FeldHintergrund, FeldRahmen, AuswahlBuffer, AuswahlRahmen
             static const __int64 Normal
                 = Sichtbar | Erlaubt | Rahmen | FeldHAlpha | FeldHintergrund
@@ -79,256 +76,236 @@ namespace Framework
         RCArray<AlphaFeld>* aBufferListe;
         RCArray<Rahmen>* aRahmenListe;
         Schrift* schrift;
-        //! Verarbeitet Tastatur Nachrichten
-        //! \param me Das Ereignis, was durch die Tastatureingabe ausgeloesst
-        //! wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
         DLLEXPORT bool hatStyle(int styleSet, int styleCheck) const;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT AuswahlListe();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~AuswahlListe();
-        //! Aktualisiert die Styles, groesse und Position der Eintraege
+        //! Updates the styles, size and position of the entries
         DLLEXPORT void update();
-        //! Fuegt einen Eintrag hinzu
-        //! \param txt Der Text des Eintrags
+        //! Adds an entry
+        //! \param txt The text of the entry
         DLLEXPORT void addEintrag(Text* txt);
-        //! Fuegt einen Eintrag hinzu
-        //! \param txt Der Text des Eintrags
+        //! Adds an entry
+        //! \param txt The text of the entry
         DLLEXPORT void addEintrag(const char* txt);
-        //! Fuegt einen zeiger auf einen Eintrag hinzu
-        //! \param tf Das TextFeld, mit dem der Eintrag gezeichnet wird
+        //! Adds a pointer to an entry
+        //! \param tf The TextFeld used to draw the entry
         DLLEXPORT void addEintragZ(TextFeld* tf);
-        //! Fuegt einen Eintrag an einer bestimmten Position hinzu
-        //! \param pos Der Index des neuen Eintrags
-        //! \param txt Der Text des Eintrags
+        //! Adds an entry at a specific position
+        //! \param pos The index of the new entry
+        //! \param txt The text of the entry
         DLLEXPORT void addEintrag(int pos, Text* txt);
-        //! Fuegt einen Eintrag an einer bestimmten Position hinzu
-        //! \param pos Der Index des neuen Eintrags
-        //! \param txt Der Text des Eintrags
+        //! Adds an entry at a specific position
+        //! \param pos The index of the new entry
+        //! \param txt The text of the entry
         DLLEXPORT void addEintrag(int pos, const char* txt);
-        //! Fuegt einen zeiger auf einen Eintrag an einer bestimmten Position
-        //! hinzu \param pos Der Index des neuen Eintrags \param tf Das
-        //! TextFeld, mit dem der Eintrag gezeichnet wird
+        //! Adds a pointer to an entry at a specific position
+        //! \param pos The index of the new entry \param tf The TextFeld
+        //! used to draw the entry
         DLLEXPORT void addEintragZ(int pos, TextFeld* tf);
-        //! AEndert einen Eintrag
-        //! \param pos Der Index des Eintrags
-        //! \param txt Der neue Text des Eintrags
+        //! Changes an entry
+        //! \param pos The index of the entry
+        //! \param txt The new text of the entry
         DLLEXPORT void setEintrag(int pos, Text* txt);
-        //! AEndert einen Eintrag
-        //! \param pos Der Index des Eintrags
-        //! \param txt Der neue Text des Eintrags
+        //! Changes an entry
+        //! \param pos The index of the entry
+        //! \param txt The new text of the entry
         DLLEXPORT void setEintrag(int pos, const char* txt);
-        //! AEndert den Zeiger eines Eintrags
-        //! \param pos Der Index des Eintrags
-        //! \param tf Der neue Eintrag
+        //! Changes the pointer of an entry
+        //! \param pos The index of the entry
+        //! \param tf The new entry
         DLLEXPORT void setEintragZ(int pos, TextFeld* tf);
-        //! Vertauscht die Positionen zweier Eintraege
-        //! \param vpos Der Index des ersten Eintrags
-        //! \param npos Der Index des zweiten Eintrags
+        //! Swaps the positions of two entries
+        //! \param vpos The index of the first entry
+        //! \param npos The index of the second entry
         DLLEXPORT void tauschEintragPos(int vpos, int npos);
-        //! setzt die Position eines Eintags
-        //! \param vpos Der Index des Eintrags
-        //! \param npos Der Index den der Eintrag haben soll
+        //! Sets the position of an entry
+        //! \param vpos The index of the entry
+        //! \param npos The index the entry should have
         DLLEXPORT void setEintragPos(int vpos, int npos);
-        //! Loescht einen Eintrag
-        //! pos: Der Index des Eintrags
+        //! Deletes an entry
+        //! pos: The index of the entry
         DLLEXPORT void removeEintrag(int pos);
-        //! Setzt die verwendete Schrift
-        //! \param schrift Die Schrift
+        //! Sets the font to use
+        //! \param schrift The font
         DLLEXPORT void setSchriftZ(Schrift* schrift);
-        //! Scrollt zu einem bestimmen Eintrag
-        //! \param eintrag Der Index des Eintrags
+        //! Scrolls to a specific entry
+        //! \param eintrag The index of the entry
         DLLEXPORT void setVScrollZuEintrag(int eintrag);
-        //! Aktualisiert die maximale Scroll Hoehe indem die Hoehe aller Eintraege
-        //! addiert wird
+        //! Updates the maximum scroll height by adding the heights of all entries
         DLLEXPORT void updateVScroll();
-        //! Setzt den Zeiger auf den Rahmen, der bei ausgewaehlten Eintraegen
-        //! verwendet wird, fals MulitStyled nicht gesetzt wurde \param rahmen
-        //! Der Rahmen
+        //! Sets a pointer to the border used for selected entries
+        //! if MultiStyled is not set \param rahmen The border
         DLLEXPORT void setALRZ(Rahmen* rahmen);
-        //! Setzt die Breite des Rahmens, der bei ausgewaehlten Eintraegen
-        //! verwendet wird, fals MulitStyled nicht gesetzt wurde \param br Die
-        //! Breite in Pixeln
+        //! Sets the width of the border used for selected entries
+        //! if MultiStyled is not set \param br The width in pixels
         DLLEXPORT void setALRBreite(int br);
-        //! Setzt die Farbe des Rahmens, der bei ausgewaehlten Eintraegen
-        //! verwendet wird, fals MulitStyled nicht gesetzt wurde \param fc Die
-        //! Farbe im A8R8G8B8 Format
+        //! Sets the color of the border used for selected entries
+        //! if MultiStyled is not set \param fc The color in A8R8G8B8 format
         DLLEXPORT void setALRFarbe(int fc);
-        //! Setzt den Zeiger auf den Farbuebergnag, der bei ausgewaehlten
-        //! Eintraegen verwendet wird, fals MulitStyled nicht gesetzt wurde
-        //! \param buffer Der Farbuebergang
+        //! Sets a pointer to the color gradient used for selected entries
+        //! if MultiStyled is not set \param buffer The color gradient
         DLLEXPORT void setAAFZ(AlphaFeld* buffer);
-        //! Setzt die Staerke des Farbuebergnags, der bei ausgewaehlten Eintraegen
-        //! verwendet wird, fals MulitStyled nicht gesetzt wurde \param st Die
-        //! Staerke
+        //! Sets the strength of the color gradient used for selected entries
+        //! if MultiStyled is not set \param st The strength
         DLLEXPORT void setAAFStrength(int st);
-        //! Setzt die Farbe des Farbuebergnags, der bei ausgewaehlten Eintraegen
-        //! verwendet wird, fals MulitStyled nicht gesetzt wurde \param fc Die
-        //! Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient used for selected entries
+        //! if MultiStyled is not set \param fc The color in A8R8G8B8 format
         DLLEXPORT void setAAFFarbe(int fc);
-        //! Setzt das Hintergrund Bild durch kopieren, das bei ausgewaehlten
-        //! Eintraegen verwendet wird, fals MulitStyled nicht gesetzt wurde
-        //! \param bild Das Bild, das kopiert werden soll
+        //! Sets the background image by copying, used for selected entries
+        //! if MultiStyled is not set \param bild The image to copy
         DLLEXPORT void setAHBild(Bild* bild);
-        //! Setzt einen Zeiger auf das Hintergrund Bild, das bei ausgewaehlten
-        //! Eintraegen verwendet wird, fals MulitStyled nicht gesetzt wurde
-        //! \param bild Das Bild, das kopiert werden soll
+        //! Sets a pointer to the background image used for selected entries
+        //! if MultiStyled is not set \param bild The image
         DLLEXPORT void setAHBildZ(Bild* bild);
-        //! Setzt die Hintergrund Farbe, die bei ausgewaehlten Eintraegen
-        //! verwendet wird, fals MulitStyled nicht gesetzt wurde \param fc Die
-        //! Farbe im A8R8G8B8 Format
+        //! Sets the background color used for selected entries
+        //! if MultiStyled is not set \param fc The color in A8R8G8B8 format
         DLLEXPORT void setAHFarbe(int fc);
-        //! Setzt den Zeiger auf den Rahmen, der bei einem ausgewaehlten Eintrag
-        //! verwendet wird, fals MulitStyled gesetzt wurde \param pos Der Index
-        //! des Eintrags \param rahmen Der Rahmen
+        //! Sets a pointer to the border used for a selected entry
+        //! if MultiStyled is set \param pos The index of the entry
+        //! \param rahmen The border
         DLLEXPORT void setALRZ(int pos, Rahmen* rahmen);
-        //! Setzt die Breite des Rahmens, der bei einem ausgewaehlten Eintrag
-        //! verwendet wird, fals MulitStyled gesetzt wurde \param pos Der Index
-        //! des Eintrags \param br Die Breite in Pixeln
+        //! Sets the width of the border used for a selected entry
+        //! if MultiStyled is set \param pos The index of the entry
+        //! \param br The width in pixels
         DLLEXPORT void setALRBreite(int pos, int br);
-        //! Setzt die Farbe des Rahmens, der bei einem ausgewaehlten Eintrag
-        //! verwendet wird, fals MulitStyled gesetzt wurde \param pos Der Index
-        //! des Eintrags \param fc Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the border used for a selected entry
+        //! if MultiStyled is set \param pos The index of the entry
+        //! \param fc The color in A8R8G8B8 format
         DLLEXPORT void setALRFarbe(int pos, int fc);
-        //! Setzt den Zeiger auf den Farbuebergnag, der bei einem ausgewaehlten
-        //! Eintrag verwendet wird, fals MulitStyled gesetzt wurde \param pos
-        //! Der Index des Eintrags \param buffer Der Farbuebergang
+        //! Sets a pointer to the color gradient used for a selected entry
+        //! if MultiStyled is set \param pos The index of the entry
+        //! \param buffer The color gradient
         DLLEXPORT void setAAFZ(int pos, AlphaFeld* buffer);
-        //! Setzt die Staerke des Farbuebergnags, der bei einem ausgewaehlten
-        //! Eintrag verwendet wird, fals MulitStyled gesetzt wurde \param pos
-        //! Der Index des Eintrags \param st Die Staerke
+        //! Sets the strength of the color gradient used for a selected entry
+        //! if MultiStyled is set \param pos The index of the entry
+        //! \param st The strength
         DLLEXPORT void setAAFStrength(int pos, int st);
-        //! Setzt die Farbe des Farbuebergnags, der bei einem ausgewaehlten
-        //! Eintrag verwendet wird, fals MulitStyled gesetzt wurde \param pos
-        //! Der Index des Eintrags \param fc Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient used for a selected entry
+        //! if MultiStyled is set \param pos The index of the entry
+        //! \param fc The color in A8R8G8B8 format
         DLLEXPORT void setAAFFarbe(int pos, int fc);
-        //! Setzt das Hintergrund Bild durch kopieren, das bei einem
-        //! ausgewaehlten Eintrag verwendet wird, fals MulitStyled gesetzt wurde
-        //! \param pos Der Index des Eintrags
-        //! \param bild Das Bild, das kopiert werden soll
+        //! Sets the background image by copying, used for a selected entry
+        //! if MultiStyled is set
+        //! \param pos The index of the entry
+        //! \param bild The image to copy
         DLLEXPORT void setAHBild(int pos, Bild* bild);
-        //! Setzt einen Zeiger auf das Hintergrund Bild, das bei einem
-        //! ausgewaehlten Eintrag verwendet wird, fals MulitStyled gesetzt wurde
-        //! \param pos Der Index des Eintrags
-        //! \param bild Das Bild, das kopiert werden soll
+        //! Sets a pointer to the background image used for a selected entry
+        //! if MultiStyled is set
+        //! \param pos The index of the entry
+        //! \param bild The image
         DLLEXPORT void setAHBildZ(int pos, Bild* bild);
-        //! Setzt die Hintergrund Farbe, die bei einem ausgewaehlten Eintrag
-        //! verwendet wird, fals MulitStyled gesetzt wurde \param pos Der Index
-        //! des Eintrags \param fc Die Farbe im A8R8G8B8 Format
+        //! Sets the background color used for a selected entry
+        //! if MultiStyled is set \param pos The index of the entry
+        //! \param fc The color in A8R8G8B8 format
         DLLEXPORT void setAHFarbe(int pos, int fc);
-        //! Setzt den Style eines Eintrags, falls MulitStyled gesetzt wurde und
-        //! legt fest, ob ein Eintrag ausgewaehlt ist, falls MultiSelect gesetzt
-        //! wurde \param pos Der Index des Eintrags \param style Der neue Style
+        //! Sets the style of an entry if MultiStyled is set, and specifies
+        //! whether an entry is selected if MultiSelect is set
+        //! \param pos The index of the entry \param style The new style
         DLLEXPORT void setMsStyle(int pos, __int64 style);
-        //! AEndert den Style eines Eintrags, falls MulitStyled gesetzt wurde und
-        //! legt fest, ob ein Eintrag ausgewaehlt ist, falls MultiSelect gesetzt
-        //! wurde \param pos Der Index des Eintrags \param style Der Style
-        //!  add_remove: 1, falls der Style hinzugefuegt werden soll. 0, falls
-        //!  der Style entfernt weden soll
+        //! Changes the style of an entry if MultiStyled is set, and specifies
+        //! whether an entry is selected if MultiSelect is set
+        //! \param pos The index of the entry \param style The style
+        //!  add_remove: 1 if the style should be added. 0 if the style
+        //!  should be removed
         DLLEXPORT void setMsStyle(int pos, __int64 style, bool add_remove);
-        //! Fuegt Styles zu einem Eintrag hinzu, falls MulitStyled gesetzt wurde
-        //! und legt fest, ob ein Eintrag ausgewaehlt ist, falls MultiSelect
-        //! gesetzt wurde \param pos Der Index des Eintrags \param style Der
-        //! Style, der hinzugefuegt werden soll
+        //! Adds styles to an entry if MultiStyled is set, and specifies
+        //! whether an entry is selected if MultiSelect is set
+        //! \param pos The index of the entry \param style The style to add
         DLLEXPORT void addMsStyle(int pos, __int64 style);
-        //! Entfernt Styles von einem Eintrag, falls MulitStyled gesetzt wurde
-        //! und legt fest, ob ein Eintrag ausgewaehlt ist, falls MultiSelect
-        //! gesetzt wurde \param pos Der Index des Eintrags \param style Der
-        //! Style, der entfernt werden soll
+        //! Removes styles from an entry if MultiStyled is set, and specifies
+        //! whether an entry is selected if MultiSelect is set
+        //! \param pos The index of the entry \param style The style to remove
         DLLEXPORT void removeMsStyle(int pos, __int64 style);
-        //! Verarbeitet ein Tastatur Ereignis. Wird vom Framework automatisch
-        //! aufgerufen \param te Das Ereignis
+        //! Processes a keyboard event. Called automatically by the framework
+        //! \param te The event
         DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt den Index eines Eintrags zurueck, auf den die Maus zeigt
-        //! \param my Die Position der Maus auf der Y Achse basierend auf dem
-        //! oberend Rand der Liste
+        //! Returns the index of an entry the mouse points to
+        //! \param my The position of the mouse on the Y axis relative to
+        //! the top edge of the list
         DLLEXPORT int getKlickEintrag(int my);
-        //! Waehlt einen Eintrag aus
-        //! \param ausw Der Index des Eintrags
+        //! Selects an entry
+        //! \param ausw The index of the entry
         DLLEXPORT void setAuswahl(int ausw);
-        //! Waehlt alle ausgewaehlten Eintraege ab
+        //! Deselects all selected entries
         DLLEXPORT void deSelect();
-        //! Gibt die Anzahl an Eintraegen zurueck
+        //! Returns the number of entries
         DLLEXPORT int getEintragAnzahl() const;
-        //! Gibt den Index des ausgewaehlten Eintrags zurueck, fals MultiSelect
-        //! nicht gesetzt ist. Wenn MultiSelect gesetzt wurde, kann die Auswahl
-        //! eines Eintrags mit hatMsStyle( Eintrag Index,
-        //! AuswahlListe::Style::Ausgewaehlt ) geprueft werden
+        //! Returns the index of the selected entry if MultiSelect is not
+        //! set. If MultiSelect is set, the selection of an entry can be
+        //! checked with hatMsStyle( entry index,
+        //! AuswahlListe::Style::Ausgewaehlt )
         DLLEXPORT int getAuswahl() const;
-        //! Gibt den Index eines Eintrags zurueck
-        //! \param eintragText Der Text des Eintrags
+        //! Returns the index of an entry
+        //! \param eintragText The text of the entry
         DLLEXPORT int getEintragPos(Text* eintragText);
-        //! Gibt einen Eintrag zurueck
-        //! \param pos Der Index des Eintrags
+        //! Returns an entry
+        //! \param pos The index of the entry
         DLLEXPORT TextFeld* getEintrag(int pos) const;
-        //! Gibt einen Eintrag ohne erhoehten reference Counter zurueck
-        //! \param pos Der Index des Eintrags
+        //! Returns an entry without increased reference counter
+        //! \param pos The index of the entry
         DLLEXPORT TextFeld* zEintrag(int pos) const;
-        //! Gibt den Rahmen zurueck, der fuer ausgewaehlte Eintraege verwendet wird,
-        //! falls MultiStyled nicht gesetzt wurde
+        //! Returns the border used for selected entries
+        //! if MultiStyled is not set
         DLLEXPORT Rahmen* getARahmen() const;
-        //! Gibt den Rahmen ohne erhoehten Reference Counter zurueck, der fuer
-        //! ausgewaehlte Eintraege verwendet wird, falls MultiStyled nicht gesetzt
-        //! wurde
+        //! Returns the border without increased reference counter used for
+        //! selected entries if MultiStyled is not set
         DLLEXPORT Rahmen* zARahmen() const;
-        //! Gibt die Hintergrund Farbe im A8R8G8B8 Format zurueck, die fuer
-        //! ausgewaehlte Eintraege verwendet wird, falls MultiStyled nicht gesetzt
-        //! wurde
+        //! Returns the background color in A8R8G8B8 format used for
+        //! selected entries if MultiStyled is not set
         DLLEXPORT int getAHFarbe() const;
-        //! Gibt das Hintergrund Bild zurueck, das fuer ausgewaehlte Eintraege
-        //! verwendet wird, falls MultiStyled nicht gesetzt wurde
+        //! Returns the background image used for selected entries
+        //! if MultiStyled is not set
         DLLEXPORT Bild* getAHBild() const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference Counter zurueck,
-        //! das fuer ausgewaehlte Eintraege verwendet wird, falls MultiStyled nicht
-        //! gesetzt wurde
+        //! Returns the background image without increased reference counter
+        //! used for selected entries if MultiStyled is not set
         DLLEXPORT Bild* zAHBild() const;
-        //! Gibt den Farbverlauf zurueck, der fuer ausgewaehlte Eintraege verwendet
-        //! wird, falls MultiStyled nicht gesetzt wurde
+        //! Returns the color gradient used for selected entries
+        //! if MultiStyled is not set
         DLLEXPORT AlphaFeld* getABuffer() const;
-        //! Gibt den Farbverlauf ohne erhoehten Reference Counter zurueck, der fuer
-        //! ausgewaehlte Eintraege verwendet wird, falls MultiStyled nicht gesetzt
-        //! wurde
+        //! Returns the color gradient without increased reference counter
+        //! used for selected entries if MultiStyled is not set
         DLLEXPORT AlphaFeld* zABuffer() const;
-        //! Gibt den Rahmen zurueck, der fuer einen ausgewaehlten Eintrag verwendet
-        //! wird, falls MultiStyled gesetzt wurde
+        //! Returns the border used for a selected entry
+        //! if MultiStyled is set
         DLLEXPORT Rahmen* getARahmen(int pos) const;
-        //! Gibt den Rahmen ohne erhoehten Reference Counter zurueck, der fuer
-        //! einen ausgewaehlten Eintrag verwendet wird, falls MultiStyled gesetzt
-        //! wurde
+        //! Returns the border without increased reference counter used for
+        //! a selected entry if MultiStyled is set
         DLLEXPORT Rahmen* zARahmen(int pos) const;
-        //! Gibt die Hintegrrund Farbe im A8R8G8B8 Format zurueck, die fuer einen
-        //! ausgewaehlten Eintrag verwendet wird, falls MultiStyled gesetzt wurde
+        //! Returns the background color in A8R8G8B8 format used for a
+        //! selected entry if MultiStyled is set
         DLLEXPORT int getAHFarbe(int pos) const;
-        //! Gibt das Hintergrund Bild zurueck, das fuer einen ausgewaehlten Eintrag
-        //! verwendet wird, falls MultiStyled gesetzt wurde
+        //! Returns the background image used for a selected entry
+        //! if MultiStyled is set
         DLLEXPORT Bild* getAHBild(int pos) const;
-        //! Gibt das Hintergrund Bild ohne erhoehten Reference Counter zurueck,
-        //! das fuer einen ausgewaehlten Eintrag verwendet wird, falls MultiStyled
-        //! gesetzt wurde
+        //! Returns the background image without increased reference counter
+        //! used for a selected entry if MultiStyled is set
         DLLEXPORT Bild* zAHBild(int pos) const;
-        //! Gibt den Farbuebergang zurueck, der fuer einen ausgewaehlten Eintrag
-        //! verwendet wird, falls MultiStyled gesetzt wurde
+        //! Returns the color gradient used for a selected entry
+        //! if MultiStyled is set
         DLLEXPORT AlphaFeld* getABuffer(int pos) const;
-        //! Gibt den Farbuebergang ohne erhoehten Reference Counter zurueck, der
-        //! fuer einen ausgewaehlten Eintrag verwendet wird, falls MultiStyled
-        //! gesetzt wurde
+        //! Returns the color gradient without increased reference counter
+        //! used for a selected entry if MultiStyled is set
         DLLEXPORT AlphaFeld* zABuffer(int pos) const;
-        //! UEberprueft, ob fuer einen Bestimmten Eintarg betimmte Styles gesetzt
-        //! wurden, falls MultiStyled gesetzt wurde. UEberprueft auch, ob ein
-        //! Eintrag ausgewaehlt wurde, falls MultiSelect gesetzt wurde \param pos
-        //! Der Index des Eintrags \param style Die zu pruefenden Styles
+        //! Checks whether specific styles are set for a specific entry
+        //! if MultiStyled is set. Also checks whether an entry is selected
+        //! if MultiSelect is set \param pos The index of the entry
+        //! \param style The styles to check
         DLLEXPORT inline bool hatMsStyle(int pos, __int64 style) const;
-        //! UEberprueft, ob fuer einen Bestimmten Eintarg betimmte Styles nicht
-        //! gesetzt wurden, falls MultiStyled gesetzt wurde. UEberprueft auch, ob
-        //! ein Eintrag nicht ausgewaehlt wurde, falls MultiSelect gesetzt wurde
-        //! \param pos Der Index des Eintrags
-        //! \param style Die zu pruefenden Styles
+        //! Checks whether specific styles are not set for a specific entry
+        //! if MultiStyled is set. Also checks whether an entry is not selected
+        //! if MultiSelect is set
+        //! \param pos The index of the entry
+        //! \param style The styles to check
         DLLEXPORT inline bool hatMsStyleNicht(int pos, __int64 style) const;
     };
 
@@ -340,7 +317,7 @@ namespace Framework
         public:
             //! draws a seperation line between the entries
             static const __int64 EntrySeperator = 0x0001000;
-            //! Vereint die Flags Sichtbar, Erlaubt,
+            //! Combines the flags Sichtbar, Erlaubt,
             //! Rahmen, Hintergrund
             static const __int64 Normal
                 = Sichtbar | Erlaubt | Rahmen | Hintergrund | EntrySeperator;
@@ -352,71 +329,69 @@ namespace Framework
         RCArray<Zeichnung> list;
 
     protected:
-        //! Verarbeitet Tastatur Nachrichten
-        //! \param me Das Ereignis, was durch die Tastatureingabe ausgeloesst
-        //! wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT ZListe();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~ZListe();
-        //! Fuegt einen Eintrag hinzu
-        //! \param entry Die Zeichnung die hinzugefuegt werden soll
+        //! Adds an entry
+        //! \param entry The drawing to add
         DLLEXPORT void addEintrag(Zeichnung* entry);
-        //! AEndert einen Eintrag
-        //! \param pos Der Index des Eintrags
-        //! \param entry Die neue Zeichnung
+        //! Changes an entry
+        //! \param pos The index of the entry
+        //! \param entry The new drawing
         DLLEXPORT void setEintrag(int pos, Zeichnung* entry);
-        //! Vertauscht die Positionen zweier Eintraege
-        //! \param vpos Der Index des ersten Eintrags
-        //! \param npos Der Index des zweiten Eintrags
+        //! Swaps the positions of two entries
+        //! \param vpos The index of the first entry
+        //! \param npos The index of the second entry
         DLLEXPORT void tauschEintragPos(int vpos, int npos);
-        //! setzt die Position eines Eintags
-        //! \param vpos Der Index des Eintrags
-        //! \param npos Der Index den der Eintrag haben soll
+        //! Sets the position of an entry
+        //! \param vpos The index of the entry
+        //! \param npos The index the entry should have
         DLLEXPORT void setEintragPos(int vpos, int npos);
-        //! Loescht einen Eintrag
-        //! pos: Der Index des Eintrags
+        //! Deletes an entry
+        //! pos: The index of the entry
         DLLEXPORT void removeEintrag(int pos);
-        //! Scrollt zu einem bestimmen Eintrag
-        //! \param eintrag Der Index des Eintrags
+        //! Scrolls to a specific entry
+        //! \param eintrag The index of the entry
         DLLEXPORT void setVScrollZuEintrag(int eintrag);
-        //! Aktualisiert die maximale Scroll Hoehe indem die Hoehe aller Eintraege
-        //! addiert wird
+        //! Updates the maximum scroll height by adding the heights of all entries
         DLLEXPORT void updateVScroll();
         //! sets the size of the entry seperator
         DLLEXPORT void setEntrySeperatorSize(int size);
         //! sets the color of the entry seperator
         DLLEXPORT void setEntrySeperatorColor(int color);
-        //! Verarbeitet ein Tastatur Ereignis. Wird vom Framework automatisch
-        //! aufgerufen \param te Das Ereignis
+        //! Processes a keyboard event. Called automatically by the framework
+        //! \param te The event
         DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
-        //! Aktualisiert die zeichnung
-        //! \param tickVal Die vergangene Zeit in Sekunden, die seit dem Letzten
-        //! Aufruf dieser Funktion verstrichen ist \return 1, wenn sich die
-        //! Zeichnung seit dem letzten aufruf veraendert hat
+        //! Updates the drawing
+        //! \param tickVal The elapsed time in seconds since the last
+        //! call of this function \return 1 if the drawing has changed
+        //! since the last call
         DLLEXPORT bool tick(double tickVal) override;
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& rObj) override;
-        //! Gibt den Index eines Eintrags zurueck, auf den die Maus zeigt
-        //! \param my Die Position der Maus auf der Y Achse basierend auf dem
-        //! oberend Rand der Liste
+        //! Returns the index of an entry the mouse points to
+        //! \param my The position of the mouse on the Y axis relative to
+        //! the top edge of the list
         DLLEXPORT int getKlickEintrag(int my);
-        //! Gibt die Anzahl an Eintraegen zurueck
+        //! Returns the number of entries
         DLLEXPORT int getEintragAnzahl() const;
-        //! Gibt den Index eines Eintrags zurueck
-        //! \param zEntry Die Zeichnung
+        //! Returns the index of an entry
+        //! \param zEntry The drawing
         DLLEXPORT int getEintragPos(Zeichnung* zEntry);
-        //! Gibt einen Eintrag zurueck
-        //! \param pos Der Index des Eintrags
+        //! Returns an entry
+        //! \param pos The index of the entry
         DLLEXPORT Zeichnung* getEintrag(int pos) const;
-        //! Gibt einen Eintrag ohne erhoehten reference Counter zurueck
-        //! \param pos Der Index des Eintrags
+        //! Returns an entry without increased reference counter
+        //! \param pos The index of the entry
         DLLEXPORT Zeichnung* zEintrag(int pos) const;
-        //! Gibt die benoetigte Hoehe zurueck
+        //! Returns the needed height
         DLLEXPORT int getNeededHeight() const;
         //! returns the size of the entry seperator
         DLLEXPORT int getEntrySeperatorSize() const;

+ 25 - 25
M2DVorschau.h

@@ -10,21 +10,21 @@ namespace Framework
     class AlphaFeld;     //! AlphaFeld.h
     struct MausEreignis; //! MausEreignis.h
 
-    //! Eine Zeichnung des 2D GUI Frameworkd, die ein 2D Modell anzeigt
+    //! A 2D GUI framework drawing that displays a 2D model
     class M2DVorschau : public ZeichnungHintergrund
     {
     public:
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Wenn dieser Style gesetzt ist, kann der Benutzer
-            //! das Model Skallieren, indem er scrollt
+            //! If this style is set, the user can scale the model
+            //! by scrolling
             static const __int64 UsrScale = 0x001000;
-            //! Wenn dieser Style gesetzt ist, kann der Benutzer
-            //! das Model per Drag and Drop verschieben
+            //! If this style is set, the user can move the model
+            //! via drag and drop
             static const __int64 UsrMove = 0x002000;
-            //! Wenn dieser Style gesetzt idt, kann der Benutzer
-            //! das Model mit der rechten Maustaste drehen
+            //! If this style is set, the user can rotate the model
+            //! with the right mouse button
             static const __int64 UsrRot = 0x004000;
         };
 
@@ -35,35 +35,35 @@ namespace Framework
         int bgF;
         int mx;
         int my;
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT M2DVorschau();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~M2DVorschau();
-        //! Setzt einen Zeiger auf das Model, das angezeigt werden soll
-        //! \param mdl Das Model
+        //! Sets a pointer to the model to display
+        //! \param mdl The model
         DLLEXPORT void setModel2DZ(Model2D* mdl);
-        //! Setzt die Daten des Models, das angezeigt werden soll
-        //! \param mdl Die Daten
+        //! Sets the data of the model to display
+        //! \param mdl The data
         DLLEXPORT void setModel2D(Model2DData* mdl);
-        //! Aktualisiert das Objekt. Wird vom Framework aufgerufen
-        //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
-        //! dieser Funktion vergangen ist \return 1, wenn sich etwas veraendert
-        //! hat und das Bild neu gezeichnet werden muss. 0 sonst
+        //! Updates the object. Called by the framework
+        //! \param tickVal The time in seconds since the last call
+        //! of this function \return 1 if something changed
+        //! and the image needs to be redrawn. 0 otherwise
         DLLEXPORT bool tick(double tv) override;
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& rb) override;
-        //! Gibt das angezeigte Model ohne erhoehten Reference Counter zurueck
+        //! Returns the displayed model without increased reference counter
         DLLEXPORT Model2D* zModel() const;
-        //! Gibt das angezeigte Model zurueck
+        //! Returns the displayed model
         DLLEXPORT Model2D* getModel() const;
-        //! Erzeugt eine Komplette Kopie der Zeichnung, die ohne auswirkungen
-        //! auf die Originale veraendert werden kann
+        //! Creates a copy of the drawing that can be used without affecting the
+        //! original
         DLLEXPORT Zeichnung* dublizieren() const override;
     };
 } // namespace Framework

+ 45 - 47
M2Datei.h

@@ -8,9 +8,8 @@ namespace Framework
     class Model2DData; //! Model2D.h
     class Text;        //! Text.h
 
-    //! Diese Klasse verwaltet das Framework eigenen Dateivormat fuer 2D Modell
-    //! Daten Es koennen mehrere 2D Modell Daten in einer Datei gespeichert
-    //! werden
+    //! This class manages the framework's own file format for 2D model data.
+    //! Multiple 2D model data can be stored in one file.
     class M2Datei : public virtual ReferenceCounter
     {
     private:
@@ -19,65 +18,64 @@ namespace Framework
         Array<__int64>* modelPos;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT M2Datei();
-        //! Konstruktor
-        //! \param pfad Der Pfad zur Datei
+        //! Constructor
+        //! \param pfad The path to the file
         DLLEXPORT M2Datei(const char* pfad);
-        //! Konstruktor
-        //! \param pfad Der Pfad zur Datei
+        //! Constructor
+        //! \param pfad The path to the file
         DLLEXPORT M2Datei(Text* pfad);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~M2Datei();
-        //! Setzt den Pfad zur Datei
-        //! \param pfad Pfad zur Datei
+        //! Sets the path to the file
+        //! \param pfad Path to the file
         DLLEXPORT void setPfad(const char* pfad);
-        //! Setzt einen Zeiger auf den Pfad zur Datei
-        //! \param pfad Zeiger auf den Pfad zur Datei
+        //! Sets a pointer to the path to the file
+        //! \param pfad Pointer to the path to the file
         DLLEXPORT void setPfadZ(Text* pfad);
-        //! Liesst grundlegende Informationen aus der Datei, die fuer ihre
-        //! Verwendung benoetigt werden
+        //! Reads basic information from the file needed for its usage
         DLLEXPORT void leseDaten();
-        //! Speichert 2D Modell Daten in der Datei
-        //! \param zMdr Ein Zeiger auf die zu speichernden Daten ohne erhoehtem
-        //! Reference Counter \param 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 2D model data to the file
+        //! \param zMdr A pointer to the data to save without increased
+        //! reference counter \param name The name under which the data should
+        //! be stored in the file \return 1 if the model was saved.
+        //! 0 if an error occurred during saving
         DLLEXPORT bool saveModel(Model2DData* zMdr, Text* name);
-        //! Speichert 2D Modell Daten in der Datei
-        //! \param zMdr Ein Zeiger auf die zu speichernden Daten ohne erhoehtem
-        //! Reference Counter \param 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 2D model data to the file
+        //! \param zMdr A pointer to the data to save without increased
+        //! reference counter \param name The name under which the data should
+        //! be stored in the file \return 1 if the model was saved.
+        //! 0 if an error occurred during saving
         DLLEXPORT bool saveModel(Model2DData* zMdr, const char* name);
-        //! Loescht ein 2D Modell aus der Datei
-        //! \param 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 2D model from the file
+        //! \param 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
         DLLEXPORT bool removeModel(Text* name);
-        //! Loescht ein 2D Modell aus der Datei
-        //! \param 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 2D model from the file
+        //! \param 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
         DLLEXPORT bool removeModel(const char* name);
-        //! Laehd ein 2D Modell aus der Datei
-        //! \param name Der name des zu ladenden Modells
-        //! \return Die geladenen Daten
+        //! Loads a 2D model from the file
+        //! \param name The name of the model to load
+        //! \return The loaded data
         DLLEXPORT Model2DData* ladeModel(Text* name) const;
-        //! Laehd ein 2D Modell aus der Datei
-        //! \param name Der name des zu ladenden Modells
-        //! \return Die geladenen Daten
+        //! Loads a 2D model from the file
+        //! \param name The name of the model to load
+        //! \return The loaded data
         DLLEXPORT Model2DData* ladeModel(const char* name) const;
-        //! ueberprft, ob ein bestimmtes 2D Modell in der Datei existiert
-        //! \param name Der Name des zu suchenden 2D Modells
-        //! \return 1, wenn das Modell gefunden wurde. 0 sonst
+        //! Checks whether a specific 2D model exists in the file
+        //! \param name The name of the 2D model to search for
+        //! \return 1 if the model was found. 0 otherwise
         DLLEXPORT bool hatModel(const char* name) const;
-        //! uegibt die Anzahl der gespeicherten Modelle zurueck
+        //! Returns the number of stored models
         DLLEXPORT int getModelAnzahl() const;
-        //! Gibt den Namen eines Bestimmten Modells zurueck
-        //! \param i Der Index des Modells
-        //! \return Ein Zeiger aud den Namen des Modells ohne erhoehten Reference
-        //! Counter
+        //! Returns the name of a specific model
+        //! \param i The index of the model
+        //! \return A pointer to the name of the model without increased
+        //! reference counter
         DLLEXPORT Text* zModelName(int i) const;
     };
 } // namespace Framework

+ 23 - 25
Mat3.h

@@ -6,22 +6,22 @@
 namespace Framework
 {
     template<typename T>
-    //! Eine 3x3 Matrix
+    //! A 3x3 Matrix
     class Mat3
     {
     public:
-        T elements[3][3]; //! Die Elemente der Matrix
+        T elements[3][3]; //! The elements of the matrix
 
-        //! Kopiert die Elemente einer anderen Matrix in diese
-        //! \param r Die andere Matrix
+        //! Copies the elements of another matrix into this one
+        //! \param r The other matrix
         Mat3& operator=(const Mat3& r)
         {
             memcpy(elements, r.elements, sizeof(elements));
             return *this;
         }
 
-        //! Multipliziert alle Werte mit einem Skalar und speichert das Ergebnis
-        //! in dieser \param r Der Skalar
+        //! Multiplies all values with a scalar and stores the result
+        //! in this matrix \param r The scalar
         Mat3& operator*=(const T r)
         {
             for (T& e : elements)
@@ -29,23 +29,23 @@ namespace Framework
             return *this;
         }
 
-        //! Multipliziert die Matrix mit einer anderen und speichert das
-        //! Ergebnis in dieser \param r Die andere Matrix
+        //! Multiplies the matrix with another and stores the result
+        //! in this matrix \param r The other matrix
         Mat3& operator*=(const Mat3& r)
         {
             return *this = *this * r;
         }
 
-        //! Multipliziert alle Werte mit einem Skalar ohne diese zu veraendern
-        //! \param r Der Skalar
+        //! Multiplies all values with a scalar without modifying this matrix
+        //! \param r The scalar
         Mat3 operator*(const T r) const
         {
             Mat3 result = *this;
             return result *= r;
         }
 
-        //! Multipliziert die Matrix mit einer anderen ohne diese zu veraendern
-        //! \param r Die andere Matrix
+        //! Multiplies the matrix with another without modifying this matrix
+        //! \param r The other matrix
         Mat3 operator*(const Mat3& r) const
         {
             Mat3 result;
@@ -62,8 +62,8 @@ namespace Framework
             return result;
         }
 
-        //! Multipliziert die Matrix mit einem Vektor ohne diese zu veraendern
-        //! \param r Der Vektor
+        //! Multiplies the matrix with a vector without modifying this matrix
+        //! \param r The vector
         Vec2<T> operator*(const Vec2<T> r) const
         {
             Vec2<T> result;
@@ -74,9 +74,9 @@ namespace Framework
             return result;
         }
 
-        //! Erzeugt eine Matrix, die verwendet wird, um einen Vektor zu drehen,
-        //! wenn sie mit ihm multipliziert wird \param radian Der Winkel im
-        //! Bogenmas, um dem der Vektor gedreht werden soll
+        //! Creates a matrix that rotates a vector when multiplied with it
+        //! \param radian The angle in radians by which the vector should
+        //! be rotated
         static Mat3 rotation(T radian)
         {
             const T cosTheta = (T)lowPrecisionCos(radian);
@@ -85,26 +85,24 @@ namespace Framework
             return r;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor skalliert. wenn sie mit ihm
-        //! multipliziert wird \param faktor Der Faktor, um den Skalliert werden
-        //! soll
+        //! Creates a matrix that scales a vector when multiplied with it
+        //! \param faktor The factor by which to scale
         static Mat3 scaling(T faktor)
         {
             Mat3 s = {faktor, 0, 0, 0, faktor, 0, 0, 0, 1};
             return s;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor verschiebt, wenn sie mit ihm
-        //! multipliziert wird \param offset Die x und y Werte, die zu dem
-        //! Vektor dazu addiert werden sollen
+        //! Creates a matrix that translates a vector when multiplied with it
+        //! \param offset The x and y values to add to the vector
         static Mat3 translation(const Vec2<T> offset)
         {
             Mat3 t = {1, 0, offset.x, 0, 1, offset.y, 0, 0, 1};
             return t;
         }
 
-        //! Erzeugt eine MAtrix, die mit allem multiplizert werden kann, ohne es
-        //! zu veraendern
+        //! Creates a matrix that does not change a vector when multiplied with
+        //! it
         static Mat3 identity()
         {
             Mat3 i = {1, 0, 0, 0, 1, 0, 0, 0, 1};

+ 41 - 43
Mat4.h

@@ -9,22 +9,22 @@
 namespace Framework
 {
     template<typename T>
-    //! Eine 4x4 Matrix
+    //! A 4x4 Matrix
     class Mat4
     {
     public:
-        T elements[4][4]; //! Die Elemente der Matrix
+        T elements[4][4]; //! The elements of the matrix
 
-        //! Kopiert alle Werte einer anderen Matrix
-        //! \param r Die andere Matrix
+        //! Copies all values from another matrix
+        //! \param r The other matrix
         Mat4& operator=(const Mat4& r)
         {
             memcpy(elements, r.elements, sizeof(elements));
             return *this;
         }
 
-        //! Skalliert die Matrix
-        //! \param r der Faktor
+        //! Scales the matrix
+        //! \param r The factor
         Mat4& operator*=(const T r)
         {
             for (T& e : elements)
@@ -32,23 +32,23 @@ namespace Framework
             return *this;
         }
 
-        //! Multipliziert die MAtrix mit einer anderen
-        //! \param r Die andere Matrix
+        //! Multiplies the matrix with another
+        //! \param r The other matrix
         Mat4& operator*=(const Mat4& r)
         {
             return *this = *this * r;
         }
 
-        //! Skalliert die Matrix ohne sie zu veraendern
-        //! \param r der Faktor
+        //! Scales the matrix without modifying it
+        //! \param r The factor
         Mat4 operator*(const T r) const
         {
             Mat4 result = *this;
             return result *= r;
         }
 
-        //! Multipliziert zwei Matrizen
-        //! \param r Die andere Matrix
+        //! Multiplies two matrices
+        //! \param r The other matrix
         Mat4 operator*(const Mat4& r) const
         {
             Mat4 result;
@@ -65,8 +65,8 @@ namespace Framework
             return result;
         }
 
-        //! Multiplziert die Matrix mit einem Vektor
-        //! \param r Der Vektor
+        //! Multiplies the matrix with a vector
+        //! \param r The vector
         Vec3<T> operator*(const Vec3<T>& r) const
         {
             Vec3<T> result;
@@ -91,7 +91,7 @@ namespace Framework
             return result;
         }
 
-        //! Berechnet die inverse Matrix
+        //! Calculates the inverse matrix
         Mat4 getInverse() const
         {
             Mat4 ret;
@@ -230,7 +230,7 @@ namespace Framework
 
             if (det == 0)
             {
-                Logging::error() << "Fehler beim erstellen der Inversen Matrix";
+                Logging::error() << "Error creating the inverse matrix";
                 return ret;
             }
             det = 1.0f / det;
@@ -241,8 +241,8 @@ namespace Framework
             return ret;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor um die Z Achse dreht, wenn sie
-        //! mit ihm multipliziert wird \param radian Der Winkel in Bogenmas
+        //! Creates a matrix that rotates a vector around the Z axis when
+        //! multiplied with it \param radian The angle in radians
         static Mat4 rotationZ(T radian)
         {
             const T cosTheta = (T)lowPrecisionCos(radian);
@@ -266,8 +266,8 @@ namespace Framework
             return r;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor um die X Achse dreht, wenn sie
-        //! mit ihm multipliziert wird \param radian Der Winkel in Bogenmas
+        //! Creates a matrix that rotates a vector around the X axis when
+        //! multiplied with it \param radian The angle in radians
         static Mat4 rotationX(T radian)
         {
             const T cosTheta = (T)lowPrecisionCos(radian);
@@ -291,8 +291,8 @@ namespace Framework
             return r;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor um die Y Achse dreht, wenn sie
-        //! mit ihm multipliziert wird \param radian Der Winkel in Bogenmas
+        //! Creates a matrix that rotates a vector around the Y axis when
+        //! multiplied with it \param radian The angle in radians
         static Mat4 rotationY(T radian)
         {
             const T cosTheta = (T)lowPrecisionCos(radian);
@@ -316,8 +316,8 @@ namespace Framework
             return r;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor Skalliert, wenn sie mit ihm
-        //! multipliziert wird \param faktor Der Faktor
+        //! Creates a matrix that scales a vector when multiplied with it
+        //! \param faktor The factor
         static Mat4 scaling(T faktor)
         {
             Mat4 s = {
@@ -325,10 +325,10 @@ namespace Framework
             return s;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor Skalliert, wenn sie mit ihm
-        //! multipliziert wird \param faktorX Der Faktor fuer die X Komponente
-        //! des Vektors \param faktorY Der Faktor fuer die Y Komponente des
-        //! Vektors \param faktorZ Der Faktor fuer die Z Komponente des Vektors
+        //! Creates a matrix that scales a vector when multiplied with it
+        //! \param faktorX The factor for the X component of the vector
+        //! \param faktorY The factor for the Y component of the vector
+        //! \param faktorZ The factor for the Z component of the vector
         static Mat4 scaling(T faktorX, T faktorY, T faktorZ)
         {
             Mat4 s = {faktorX,
@@ -350,9 +350,8 @@ namespace Framework
             return s;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor verchiebt, wenn sie mit ihm
-        //! multipliziert wird \param offset Die Koordinaten, um die der Vektor
-        //! verschoben werden soll
+        //! Creates a matrix that translates a vector when multiplied with it
+        //! \param offset The coordinates by which the vector should be shifted
         static Mat4 translation(const Vec3<T> offset)
         {
             Mat4 t = {1,
@@ -374,13 +373,12 @@ namespace Framework
             return t;
         }
 
-        //! Erzeugt eine Matrix, die einen Vektor auf den Bildschirm Projeziert
-        //! \param openingAngle Der OEffnungswinkel der Kamera im Bogenmas
-        //! \param bildschirmXY Das Seitenverhaeltnis des Rechtecks auf dem
-        //! Bildschirm, in dem gezeichnet werden soll. (Breite / Hoehe) \param
-        //! minz Der Mindestabstand zur Kamera, ab dem gezeichnet wird \param
-        //! maxZ Der Maximalabstand zur Kamera, ab dem nicht mehr gezeichnet
-        //! wird
+        //! Creates a matrix that projects a vector onto the screen
+        //! \param openingAngle The opening angle of the camera in radians
+        //! \param bildschirmXY The aspect ratio of the rectangle on the
+        //! screen to draw in. (Width / Height) \param
+        //! minz The minimum distance to the camera from which drawing begins \param
+        //! maxZ The maximum distance to the camera beyond which drawing stops
         static Mat4 projektion(
             float openingAngle, float bildschirmXY, float minZ, float maxZ)
         {
@@ -403,17 +401,17 @@ namespace Framework
             return p;
         }
 
-        //! Erzeugt eine Matrix, die mit allem Multipliziert werden kann ohne es
-        //! zu aendern
+        //! Creates an identity matrix that can be multiplied with anything
+        //! without changing it
         static Mat4 identity()
         {
             Mat4 i = {1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1};
             return i;
         }
 
-        //! Gibt eine Rotationsmatrix zurueck, so dass vector a wenn man ihn
-        //! damit dreht in richtung des vectors b zeigt \param a der vector der
-        //! gedreht werden soll \param b der vector zu dem gedreht werden soll
+        //! Returns a rotation matrix such that vector a, when rotated by it,
+        //! points in the direction of vector b \param a The vector to rotate
+        //! \param b The vector to rotate towards
         static Mat4 rotationTo(Vec3<T>& a, Vec3<T>& b)
         {
             Vec3<T> aNorm = Vec3<T>(a).normalize();

+ 13 - 13
Maus.h

@@ -6,8 +6,8 @@
 
 namespace Framework
 {
-    class Bild; //! aus Bild.h
-    class Maus; //! aus dieser Datei
+    class Bild; //! from Bild.h
+    class Maus; //! from this file
 
     namespace MausId
     {
@@ -24,27 +24,27 @@ namespace Framework
         const int verboten = 10;
     } // namespace MausId
 
-    //! Diese Klasse verwaltet das Bild des Mauszeigers
-    //! Sie wird vom Framework intern verwendet
-    //! Siehe Globals.h MausZeiger
+    //! This class manages the mouse cursor image.
+    //! It is used internally by the framework.
+    //! See Globals.h MausZeiger
     class Maus : public virtual ReferenceCounter
     {
     private:
         HCURSOR hMaus;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Maus();
-        //! laed eine maus von Windows
-        //! \param mausId Werte aus dem Namespace MausId
-        //! beispiel: ladeMaus( MausId::hand );
+        //! Loads a mouse cursor from Windows
+        //! \param mausId Values from the MausId namespace
+        //! Example: ladeMaus( MausId::hand );
         DLLEXPORT void ladeMaus(int mausId);
-        //! Kopiert ein Bild und verwendet es als Mauszeiger.
-        //! \param maus Das Bild, was als Mauszeiger verwendet werden soll
+        //! Copies an image and uses it as mouse cursor.
+        //! \param maus The image to use as mouse cursor
         DLLEXPORT void ladeMaus(Bild* maus);
-        //! Akzualisiert die Maus. Wird vom Framework selbst aufgerufen
+        //! Updates the mouse. Called by the framework itself
         DLLEXPORT void update();
-        //! gibt ein Haendle zur maus zurueck
+        //! returns a handle to the mouse cursor.
         DLLEXPORT HCURSOR getMausHandle();
     };
 } // namespace Framework

+ 27 - 27
MausEreignis.h

@@ -27,55 +27,55 @@ namespace Framework
     const int ME_RScroll = 14;
     const int ME_LScroll = 15;
 
-    //! Speichert eine bestimmte Mauseingabe des Nutzers
+    //! Stores a specific mouse input from the user
     struct MausEreignis
     {
-        //! Art der Eingabe
+        //! Type of input
         int id;
-        //! X koordinate auf dem Bildschirm relativ zur Zeichnungposition
+        //! X coordinate on screen relative to the drawing position
         int mx;
-        //! Y Koordinate auf dem Bildschirm relativ zur Zeichnungposition
+        //! Y coordinate on screen relative to the drawing position
         int my;
-        //! Speichert, ob die Eingabe bereits verarbeitet wurde
+        //! Stores whether the input has already been processed
         bool verarbeitet;
-        //! Speichert, ob sich das mausereignis innerhalb des Objektes befindet,
-        //! welches dieses Objekt beinhaltet
+        //! Stores whether the mouse event is inside the object
+        //! that contains this object
         bool insideParent;
-        //! original X koordinate
+        //! original X coordinate
         int originalX;
-        //! original Y koordinate
+        //! original Y coordinate
         int originalY;
     };
 
-    //! Speichert eine bestimmte Mauseingabe des Nutzers
+    //! Stores a specific mouse input from the user in 3D
     struct MausEreignis3D
     {
-        //! Art der Eingabe
+        //! Type of input
         int id;
-        //! Die Position der Maus in der Welt
+        //! The position of the mouse in the world
         Vec3<float> pos;
-        //! Die Richtung, in die die Kamera zeigt
+        //! The direction the camera is pointing
         Vec3<float> dir;
-        //! Speichert, ob die Eingabe bereits verarbeitet wurde
+        //! Stores whether the input has already been processed
         bool verarbeitet;
     };
 
     typedef std::function<bool(void*, void*, MausEreignis)> MausAktion;
 
-    //! Standart Maus Ereinis Rueckruffunktion
-    //! \param param Ein beliebiger Parameter
-    //! \param obj Die Zeichnung, welches diese Funktion aufruft
-    //! \param te Das Mausereignis, welches verarbeitet werden soll
-    //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
-    //! soll. (false) sonnst. Gibt immer (true) zurueck
+    //! Default mouse event callback function
+    //! \param param An arbitrary parameter
+    //! \param obj The drawing that calls this function
+    //! \param te The mouse event to process
+    //! \return (true) if the calling drawing should continue processing
+    //! the event. (false) otherwise. Always returns (true)
     DLLEXPORT bool _ret1ME(void* param, void* obj, MausEreignis me);
-    //! Standart Maus Ereinis Rueckruffunktion
-    //! \param param Ein beliebiger Parameter
-    //! \param obj Die Zeichnung, welches diese Funktion aufruft
-    //! \param te Das Mausereignis, welches verarbeitet werden soll
-    //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
-    //! soll. (false) sonnst. Gibt immer (true) zurueck und schlueisst das Fenster,
-    //! welches es aufgerufen hat (darf nur auf Fenstern gesetzt werden)
+    //! Default mouse event callback function
+    //! \param param An arbitrary parameter
+    //! \param obj The drawing that calls this function
+    //! \param te The mouse event to process
+    //! \return (true) if the calling drawing should continue processing
+    //! the event. (false) otherwise. Always returns (true) and closes the
+    //! window that called it (may only be set on windows)
     DLLEXPORT bool _closeFensterME(void* param, void* obj, MausEreignis me);
 } // namespace Framework
 

+ 121 - 131
Model2D.h

@@ -14,8 +14,8 @@ namespace Framework
 {
     class Textur2D;
 
-    //! Eine Polygon Struktur, die von Model2D verwendet wird
-    //! Model2D Klasse loescht die Zeiger
+    //! A polygon structure used by Model2D.
+    //! Model2D class deletes the pointers
     struct Polygon2D
     {
         bool transparent;
@@ -25,19 +25,19 @@ namespace Framework
         Vertex* schwerpunkt;
     };
 
-    //! Die Daten fuer ein 2D Model
+    //! The data for a 2D model
     class Model2DData : public virtual ReferenceCounter
     {
     private:
         RCArray<Array<Punkt>> outList;
 
-        //! UEberprueft, ob ein Punkt im Model ist
-        //! \param p Der Punkt
-        //! \param polygonId Die Id des Polygons, das geprueft werden soll
+        //! Checks whether a point is inside the model
+        //! \param p The point
+        //! \param polygonId The ID of the polygon to check
         bool istPunktInnen(Vertex p, int polygonId = -1) const;
-        //! UEberprueft, ob eine Linie innerhalb des Models ist
-        //! \param a Der Startpunkt der Linie
-        //! \param b Der Endpunkt der Linie
+        //! Checks whether a line is inside the model
+        //! \param a The start point of the line
+        //! \param b The end point of the line
         bool istLinieInnen(Vertex a, Vertex b, int polygonId = -1) const;
 
     public:
@@ -45,41 +45,40 @@ namespace Framework
         RCArray<RCArray<DreieckListe<Vertex>>>* vListen;
         Punkt minP, maxP;
 
-        //! Konstruktor
+        //! Constructor
         __declspec(dllexport) Model2DData();
-        //! Destruktor
+        //! Destructor
         __declspec(dllexport) ~Model2DData();
-        //! Erstellt die Dreieck Listen anhand aller gegebenen Eckpunkte der
-        //! Polygons \param polygons Ein Array von Polygons \return gibt immer 1
-        //! zurueck
+        //! Creates the triangle lists from all given vertices of the
+        //! polygons \param polygons An array of polygons \return always
+        //! returns 1
         __declspec(dllexport) bool erstelleModell(Array<Polygon2D>* polygons);
-        //! Loescht die erstellten Dreiecklisten und die Eckpunkte
+        //! Deletes the created triangle lists and vertices
         __declspec(dllexport) void removeModell();
-        //! gibt das polygon mit einem bestimmten namen zurueck
-        //! \param pos Der Stuetzvektor der Linie
-        //! \param dir Der richtungsvektor der Linie
-        //! \param polygonName Der Name des polygons mit dem der schnittpunkt
-        //! berechnet werden soll \param hitPoint eine referenz auf die variable
-        //! in dem der schnittpunkt gespeichert werden soll \param moveSpeed die
-        //! aus der Krafteinwirkung resultierende bewegungsgeschwindigkeit
-        //! \param rotSpeed die aus der Krafteinwirkung resultierende
-        //! drehgeschwindigkeit \return 1, fals ein Schnittpunkt existiert
+        //! Returns the polygon with a specific name
+        //! \param pos The support vector of the line
+        //! \param dir The direction vector of the line
+        //! \param polygonName The name of the polygon to calculate the
+        //! hit point with \param hitPoint A reference to the variable
+        //! where the hit point should be stored \param moveSpeed The
+        //! movement speed resulting from the force \param rotSpeed The
+        //! rotation speed resulting from the force
+        //! \return 1 if a hit point exists
         __declspec(dllexport) bool calcHitPoint(Vertex pos,
             Vertex dir,
             const char* polygonName,
             Vertex& hitpoint,
             Vertex& moveSpeed,
             float& rotSpeed) const;
-        //! Teil ein bestimmtes polygon in zwei teile
-        //! \param pos Startposition des risses
-        //! \param dir Startrichtung des risses
-        //! \param polygonName der Name des Polygons
-        //! \param partA ein Zeiger auf ein Model2DData objekt, in dem die eine
-        //! haelfte gespeichert werden soll (ausgabe) \param partB ein Zeiger auf
-        //! ein Model2DData objekt, in dem die andere haelfte gespeichert werden
-        //! soll (ausgabe) \param posA die Position des einen neuen Polygons
-        //! (ausgabe) \param posB die Position des anderen neuen Polygons
-        //! (ausgabe) \param random eine funktion die zufaellige werte zurueckgibt
+        //! Splits a specific polygon into two parts
+        //! \param pos Start position of the split
+        //! \param dir Start direction of the split
+        //! \param polygonName The name of the polygon
+        //! \param partA A pointer to a Model2DData object to store one
+        //! half (output) \param partB A pointer to a Model2DData object to store
+        //! the other half (output) \param posA The position of one new polygon
+        //! (output) \param posB The position of the other new polygon
+        //! (output) \param random A function that returns random values
         __declspec(dllexport) bool split(Vertex pos,
             Vertex dir,
             char* polygonName,
@@ -88,8 +87,8 @@ namespace Framework
             Punkt& posA,
             Punkt& posB,
             std::function<double()> random) const;
-        //! Gibt die Masse des 2D Modells zurueck (summe der Flaechen der nicht
-        //! transparenten Polygone)
+        //! Returns the mass of the 2D model (sum of the areas of the
+        //! non-transparent polygons)
         __declspec(dllexport) float getMasse() const;
     };
 
@@ -100,85 +99,82 @@ namespace Framework
         RCArray<Textur2D>* textur;
 
     public:
-        //! Konstruktor
+        //! Constructor
         __declspec(dllexport) Model2DObject();
-        //! Destruktor
+        //! Destructor
         __declspec(dllexport) virtual ~Model2DObject();
-        //! Setzt die Daten des Models
-        //! \param mdl Die Model Daten
+        //! Sets the model data
+        //! \param mdl The model data
         __declspec(dllexport) void setModel(Model2DData* mdl);
-        //! Setzt die Textur
-        //! \param t Das Bild, das als Textur verwendet werden soll
+        //! Sets the texture
+        //! \param t The image to use as texture
         __declspec(dllexport) void setTextur(Textur2D* t);
-        //! Setzt die Textur
-        //! \param t Das Bild, das als Textur verwendet werden soll
-        //! \param polygonName Der name des Polygons, was die Textur bekommen
-        //! soll
+        //! Sets the texture
+        //! \param t The image to use as texture
+        //! \param polygonName The name of the polygon to receive the texture
         __declspec(dllexport) void setTextur(
             Textur2D* t, const char* polygonName);
         __declspec(dllexport) void impuls(
             Vertex start, Vertex speed, float strength = 1.f) override;
-        //! Zeichnet die Zeihnung in ein bestimmtes Bild
-        //! \param zRObj Das Bild, in das gezeichnet werden soll
+        //! Draws the drawing into a specific image
+        //! \param zRObj The image to draw into
         __declspec(dllexport) void render(
             Mat3<float>& kamMat, Bild& zRObj, const char* kamName) override;
-        //! Gibt zurueck, ob ein Punkt in dem Model enthalten ist
-        //! \param p Der Punkt
-        //! \param ignoreTransparentFlag wenn 1, dann werden auch collisionen
-        //! mit transparenten polygonen beachtet
+        //! Returns whether a point is inside the model
+        //! \param p The point
+        //! \param ignoreTransparentFlag if 1, collisions with transparent
+        //! polygons are also considered
         __declspec(dllexport) bool istPunktInnen(
             Vertex p, bool ignoreTransparent = 0) const override;
-        //! UEberprueft, ob eine Linie im Model enthalten ist
-        //! \param a Der startpunkt der Linie
-        //! \param b Der endpunkt der Linie
-        //! \param ignoreTransparentFlag wenn 1, dann werden auch collisionen
-        //! mit transparenten polygonen beachtet
+        //! Checks whether a line is inside the model
+        //! \param a The start point of the line
+        //! \param b The end point of the line
+        //! \param ignoreTransparentFlag if 1, collisions with transparent
+        //! polygons are also considered
         __declspec(dllexport) bool istLinieInnen(
             Vertex a, Vertex b, bool ignoreTransparent = 0) const override;
-        //! UEberprueft, ob sich das Objekt mit einem anderen UEberschneidet
-        //! \param zObj Ein Zeiger auf das andere Objekt ohne erhoehten Reference
-        //! Counter \param sp Ein Zeiger auf einen Punkt, in dem der
-        //! Schnittpunkt gespeichert wird \param end 0, falls alle Ecken beider
-        //! Objekte ueberprueft werdden sollen. 1, falls nur die Punkte dieses
-        //! Models im anderen gesucht werden sollen \param ignoreTransparentFlag
-        //! wenn 1, dann werden auch collisionen mit transparenten polygonen
-        //! beachtet
+        //! Checks whether the object intersects with another
+        //! \param zObj A pointer to the other object without increased reference
+        //! counter \param sp A pointer to a point where the intersection
+        //! point is stored \param end 0 if all corners of both objects should be
+        //! checked. 1 if only the points of this model should be searched
+        //! in the other \param ignoreTransparentFlag if 1, collisions with
+        //! transparent polygons are also considered
         __declspec(dllexport) virtual bool istModelInnen(const Object2D* zObj,
             Vertex* sp = 0,
             bool end = 0,
             bool ignoreTransparent = 0) const;
         __declspec(dllexport) Rect2<float> getBoundingBox() const override;
-        //! Bestimmt den Aufschlagspunkt eines Strahls, der von pos ausgehend in
-        //! Richtung dir abgegeben wird. \param pos Der Stuetzvektor der Linie
-        //! \param dir Der richtungsvektor der Linie
-        //! \param hitPoint eine referenz auf die variable in dem der
-        //! schnittpunkt gespeichert werden soll \return 1, fals ein
-        //! Schnittpunkt existiert
+        //! Determines the hit point of a ray emitted from pos in the
+        //! direction dir. \param pos The support vector of the line
+        //! \param dir The direction vector of the line
+        //! \param hitPoint A reference to the variable where the
+        //! hit point should be stored \return 1 if a hit point exists
         __declspec(dllexport) bool calcHitPoint(
             Vertex pos, Vertex dir, Vertex& hitpoint) const override;
         __declspec(dllexport) float getLuftWiederstand() const override;
-        //! Gibt die Masse des 2D Modells zurueck (summe der Flaechen der nicht
-        //! transparenten Polygone)
+        //! Returns the mass of the 2D model (sum of the areas of the
+        //! non-transparent polygons)
         __declspec(dllexport) float getMasse() const override;
-        //! Gibt die Textur des ersten Polygons zurueck
+        //! Returns the texture of the first polygon
         __declspec(dllexport) Textur2D* getTextur() const;
-        //! Gibt die Textur eines Polygons zurueck
-        //! \param polygonName Der Name des Polygons
+        //! Returns the texture of a polygon
+        //! \param polygonName The name of the polygon
         __declspec(dllexport) Textur2D* getTextur(
             const char* polygonName) const;
-        //! Gibt die Textur des ersten Polygons ohne erhoehten Reference Counter
-        //! zurueck
+        //! Returns the texture of the first polygon without increased
+        //! reference counter
         __declspec(dllexport) Textur2D* zTextur() const;
-        //! Gibt die Textur eines Polygons ohne erhoehten Reference Counter
-        //! zurueck \param polygonName Der Name des Polygons
+        //! Returns the texture of a polygon without increased reference
+        //! counter \param polygonName The name of the polygon
         __declspec(dllexport) Textur2D* zTextur(const char* polygonName) const;
-        //! Gibt die Model Daten zurueck
+        //! Returns the model data
         __declspec(dllexport) Model2DData* getModel() const;
-        //! Gibt die Model Daten ohne erhoehten Reference Counter zurueck
+        //! Returns the model data without increased reference counter
         __declspec(dllexport) Model2DData* zModel() const;
     };
 
-    //! Eine Zeichnung von einem Model
+    //! A drawing of a model
     class Model2D : public Zeichnung
     {
     public:
@@ -186,17 +182,13 @@ namespace Framework
         {
         public:
             static const __int64 Textur
-                = 0x8; //! Wenn dieser Flag gesetzt ist, wird beim Zeichnen eine
-                       //! Textur verwendet
+                = 0x8; //! If this flag is set, a texture is used when drawing
             static const __int64 Rahmen
-                = 0x10; //! Wenn dieser Flag gesetzt ist, werden die Render der
-                        //! Polygone gezeichnet
+                = 0x10; //! If this flag is set, the polygon borders are drawn
             static const __int64 Alpha
-                = 0x40; //! Wenn dieser Fag gesetzt ist, wird beim Zeichnen
-                        //! alphablending verwendet
+                = 0x40; //! If this flag is set, alpha blending is used when drawing
             static const __int64 Mesh
-                = 0x20; //! Wenn dieser Flag gesetzt ist, werden die Render der
-                        //! Dreiecke gezeichnet
+                = 0x20; //! If this flag is set, the triangle borders are drawn
         };
 
     private:
@@ -207,67 +199,65 @@ namespace Framework
         RCArray<Textur2D>* textur;
 
     public:
-        //! Konstruktor
+        //! Constructor
         __declspec(dllexport) Model2D();
-        //! Destruktor
+        //! Destructor
         __declspec(dllexport) virtual ~Model2D();
-        //! Setzt die Daten des Models
-        //! \param mdl Die Model Daten
+        //! Sets the model data
+        //! \param mdl The model data
         __declspec(dllexport) void setModel(Model2DData* mdl);
-        //! Setzt die Drehung des Models gegen den Uhrzeigersinn
-        //! \param drehung Der winkel in Bogenmas
+        //! Sets the counter-clockwise rotation of the model
+        //! \param drehung The angle in radians
         __declspec(dllexport) void setDrehung(float drehung);
-        //! Fuegt zum aktuellen Drehungswinkel etwas hinzu
-        //! \param drehung Der Winkel in Bogenmas, der hinzugefuegt werden soll
+        //! Adds to the current rotation angle
+        //! \param drehung The angle in radians to add
         __declspec(dllexport) void addDrehung(float drehung);
-        //! Setzt die Skallierung des Modells
-        //! \param size Der Faktor, mit dem Skalliert wird
+        //! Sets the scaling of the model
+        //! \param size The scaling factor
         __declspec(dllexport) void setSize(float size);
-        //! Addiert zur Skallierung einen bestimmten Wert hinzu
-        //! \param size Der Wert, der zur skallierung hinzugefuegt werden soll
+        //! Adds a value to the scaling
+        //! \param size The value to add to the scaling
         __declspec(dllexport) void addSize(float size);
-        //! Setzt die Textur
-        //! \param t Das Bild, das als Textur verwendet werden soll
+        //! Sets the texture
+        //! \param t The image to use as texture
         __declspec(dllexport) void setTextur(Textur2D* t);
-        //! Setzt die Textur
-        //! \param t Das Bild, das als Textur verwendet werden soll
-        //! \param polygonName Der name des Polygons, was die Textur bekommen
-        //! soll
+        //! Sets the texture
+        //! \param t The image to use as texture
+        //! \param polygonName The name of the polygon to receive the texture
         __declspec(dllexport) void setTextur(
             Textur2D* t, const char* polygonName);
-        //! Setzt die Farbe
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color
+        //! \param f The color in A8R8G8B8 format
         __declspec(dllexport) void setFarbe(int f);
-        //! Verarbeitet die Zeit, die seit dem letzten aufruf dieser Funktion
-        //! vergangen ist \param tickVal Die vergangene Zeit in Sekunden
+        //! Processes the time elapsed since the last call of this function
+        //! \param tickVal The elapsed time in seconds
         __declspec(dllexport) bool tick(double tickVal) override;
-        //! Zeichnet die Zeihnung in ein bestimmtes Bild
-        //! \param zRObj Das Bild, in das gezeichnet werden soll
+        //! Draws the drawing into a specific image
+        //! \param zRObj The image to draw into
         __declspec(dllexport) void render(Bild& zRObj) override;
-        //! gibt die Drehung des Models zurueck
+        //! Returns the rotation of the model
         __declspec(dllexport) float getDrehung() const;
-        //! gibt den Skallierungs Faktor zurueck
+        //! Returns the scaling factor
         __declspec(dllexport) float getSize() const;
-        //! Gibt zurueck, ob ein Punkt in dem Model enthalten ist
-        //! \param p Der Punkt
+        //! Returns whether a point is inside the model
+        //! \param p The point
         __declspec(dllexport) bool istPunktInnen(int x, int y) const override;
-        //! Gibt zurueck, ob ein Punkt in dem Model enthalten ist
-        //! \param p Der Punkt
+        //! Returns whether a point is inside the model
+        //! \param p The point
         __declspec(dllexport) bool istPunktInnen(Vertex p) const;
-        //! UEberprueft, ob eine Linie im Model enthalten ist
-        //! \param a Der startpunkt der Linie
-        //! \param b Der endpunkt der Linie
+        //! Checks whether a line is inside the model
+        //! \param a The start point of the line
+        //! \param b The end point of the line
         __declspec(dllexport) bool istLinieInnen(Vertex a, Vertex b) const;
-        //! UEberprueft, ob sich das Model mit einem anderen UEberschneidet
-        //! \param zMdl Ein Zeiger auf das andere Model ohne erhoehten Reference
-        //! Counter \param end 0, falls alle Ecken beider Modele ueberprueft
-        //! werdden sollen. 1, falls nur die Punkte dieses Models im anderen
-        //! gesucht werden sollen
+        //! Checks whether the model intersects with another
+        //! \param zMdl A pointer to the other model without increased reference
+        //! counter \param end 0 if all corners of both models should be checked.
+        //! 1 if only the points of this model should be searched in the other
         __declspec(dllexport) bool istModelInnen(
             const Model2D* zMdl, bool end = 0) const;
-        //! Gibt die Model Daten zurueck
+        //! Returns the model data
         __declspec(dllexport) Model2DData* getModel() const;
-        //! Gibt die Model Daten ohne erhoehten Reference Counter zurueck
+        //! Returns the model data without increased reference counter
         __declspec(dllexport) Model2DData* zModel() const;
     };
 } // namespace Framework

+ 127 - 135
Model3D.h

@@ -22,7 +22,7 @@ namespace Framework
     class GraphicsApi;
     class M3Datei;
 
-    //! Repraesentiert einen Knochen eines 3D Models. Kann annimiert werden
+    //! Represents a bone of a 3D model. Can be animated
     class Bone
     {
     private:
@@ -45,7 +45,7 @@ namespace Framework
         //! \param rot thr rotation
         DLLEXPORT void setRotation(const Vec3<float>& 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 add
         void addSiblingBone(Bone* b);
         //! add a child bone to a specific child bone
         //! \param id the id of the bone the new bone should be a child of
@@ -80,8 +80,7 @@ namespace Framework
         float getRadius() const;
     };
 
-    //! Repraesentiert alle Knochen eines Models, mit denen es Annimiert werden
-    //! kann
+    //! Represents all bones of a model that can be used for animation
     class Skeleton : public virtual ReferenceCounter
     {
     private:
@@ -128,34 +127,34 @@ namespace Framework
         friend M3Datei;
     };
 
-    //! Eine struktor um fuer eine Ecke eines 3D Models die Raum Position, die
-    //! Textur Koordinaten und den zugehoerigen Knochen speichert
+    //! A structure that stores the spatial position, texture coordinates,
+    //! and associated bone for a vertex of a 3D model
     struct Vertex3D
     {
         Vec3<float>
-            pos; //! Die Position der Ecke basierend zur Position des Knochens
-        Vec2<float> tPos;   //! Die Textur Koordinaten der Ecke
-        Vec3<float> normal; //! Die Normale (zeigt nach aussen und steht
-                            //! senkrecht auf der Oberflaeche des models)
-        int knochenId; //! Die Id des Knochens, mit dem sich die Ecke bei einer
-                       //! Annimation mitbewegt
-        int id;        //! Der index des vertexes im vertex buffer
+            pos; //! The position of the vertex based on the bone's position
+        Vec2<float> tPos;   //! The texture coordinates of the vertex
+        Vec3<float> normal; //! The normal (points outward and is perpendicular
+                            //! to the model's surface)
+        int knochenId; //! The ID of the bone with which the vertex moves
+                       //! during animation
+        int id;        //! The index of the vertex in the vertex buffer
     };
 
-    //! Eine Struktur, die alle Dreiecke eines 3D Polygons speichert
+    //! A structure that stores all triangles of a 3D polygon
     struct Polygon3D
     {
-        int* indexList; //! Die Liste mit den IDs der Ecken
-        int indexAnz;   //! Die Laenge der Liste mit den Ids der Ecken
+        int* indexList; //! The list of vertex IDs
+        int indexAnz;   //! The length of the list of vertex IDs
 
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Polygon3D();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~Polygon3D();
     };
 
-    //! Speichert alle Geometrischen Daten eines Modells, also
-    //! Raum - und Textur Koordinaten und Knochenzugehoerigkeit aller Eckpunkte
+    //! Stores all geometric data of a model, including spatial and texture
+    //! coordinates and bone associations of all vertices
     class Model3DData : public virtual ReferenceCounter
     {
     private:
@@ -176,105 +175,100 @@ namespace Framework
         int id;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Model3DData(
             DXBuffer* dxVertexBuffer, DXBuffer* dxIndexBuffer, int id);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~Model3DData();
         //! updates the DX Buffer gpu memory if changed
         DLLEXPORT void updateGPUMemory();
-        //! Loescht alle Model daten
+        //! Deletes all model data
         DLLEXPORT void clearModel();
-        //! Berechnet die normalen fuer die Eckpunkte des Modells
+        //! Calculates the normals for the model's vertices
         DLLEXPORT void calculateNormals();
-        //! Erstellt einen buffer fuer alle polygon indizes
+        //! Creates a buffer for all polygon indices
         DLLEXPORT void buildIndexBuffer();
-        //! Setzt den Zeiger auf ein standartmaessig verwendete Skelett
-        //! \param s Das Skelett, das verwendet werden soll
+        //! Sets a pointer to a default skeleton to use
+        //! \param s The skeleton to use
         DLLEXPORT void setSkelettZ(Skeleton* s);
-        //! Setzt einen Zeiger auf eine Liste mit allen Vertecies des Models
-        //! \param vertexList Ein Array mit Vertecies
-        //! \param anz Die Anzahl der Vertecies im Array
+        //! Sets a pointer to a list of all vertices of the model
+        //! \param vertexList An array of vertices
+        //! \param anz The number of vertices in the array
         DLLEXPORT void setVertecies(Vertex3D* vertexList, int anz);
-        //! Fuegt ein Polygon zum Model hinzu
-        //! \param polygon Das Polygon, das hinzugefuegt erden soll
+        //! Adds a polygon to the model
+        //! \param polygon The polygon to add
         DLLEXPORT void addPolygon(Polygon3D* polygon);
-        //! Git den Factor an, mit dem das umgebungslicht (textur farbe)
-        //! multipliziert wird \param f der neue Faktor (von 0 bis 1, ambient +
+        //! Sets the factor by which the ambient light (texture color)
+        //! is multiplied \param f The new factor (from 0 to 1, ambient +
         //! specular + diffuse = 1)
         DLLEXPORT void setAmbientFactor(float f);
-        //! Git den Factor an, mit dem die Lichtfarbe von Lichtquellen
-        //! multipliziert wird \param f der neue Faktor (von 0 bis 1, ambient +
+        //! Sets the factor by which the light color of light sources
+        //! is multiplied \param f The new factor (from 0 to 1, ambient +
         //! specular + diffuse = 1)
         DLLEXPORT void setDiffusFactor(float f);
-        //! Git den Factor an, mit dem die Reflektion von Lichtquellen
-        //! multipliziert wird \param f der neue Faktor (von 0 bis 1, ambient +
+        //! Sets the factor by which the reflection of light sources
+        //! is multiplied \param f The new factor (from 0 to 1, ambient +
         //! specular + diffuse = 1)
         DLLEXPORT void setSpecularFactor(float f);
-        //! Konvertiert ein 2d Model zu 3D
-        //! \param model Das 2d Model, das zu 3d konvertiert werden soll
-        //! \param z Die z koordinate aller punkte des Models
+        //! Converts a 2D model to 3D
+        //! \param model The 2D model to convert to 3D
+        //! \param z The z coordinate of all points of the model
         DLLEXPORT void copyModel2D(Model2DData* model, float z);
-        //! Entfernt ein Polygon
-        //! \param index Der Index des Polygons
+        //! Removes a polygon
+        //! \param index The index of the polygon
         DLLEXPORT void removePolygon(int index);
-        //! Berechnet die Matrizen der Knochen des Standart Skeletts
-        //! \param modelMatrix Die Matrix, die das Skelett in den Raum der Welt
-        //! transformiert \param matBuffer Ein Array von Matrizen, der durch die
-        //! Knochen Matrizen gefuellt wird \param scaleFactor Die Skallierung des
-        //! Modells \param kamMatrix Die vereiniegung der view und projektions
-        //! Matrizen \return gibt die Anzahl der verwendeten Matrizen zurueck. 0,
-        //! falls kein Standart Skelett gesetzt wurde
+        //! Calculates the matrices of the default skeleton's bones
+        //! \param modelMatrix The matrix that transforms the skeleton into
+        //! world space \param matBuffer An array of matrices filled with
+        //! bone matrices \param scaleFactor The scaling of the model
+        //! \param kamMatrix The combined view and projection matrices
+        //! \return The number of matrices used. 0 if no default skeleton was set
         int kalkulateMatrix(const Mat4<float>& modelMatrix,
             Mat4<float>* matBuffer,
             float scaleFactor,
             const Mat4<float>& kamMatrix) const;
-        //! Gibt die Anzahl an Polygonen zurueck
+        //! Returns the number of polygons
         DLLEXPORT int getPolygonAnzahl() const;
-        //! Gibt ein bestimmtes Polygon zurueck
-        //! \param index Der Index des Polygons
+        //! Returns a specific polygon
+        //! \param index The index of the polygon
         DLLEXPORT Polygon3D* getPolygon(int index) const;
-        //! Gibt einen Iterator zurueck, mit dem sich die Polygons auflisten
-        //! lassen
+        //! Returns an iterator to list the polygons
         DLLEXPORT ArrayIterator<Polygon3D*> getPolygons() const;
-        //! Gibt den radius einer Kugel zurueck, die das gesammte Model
-        //! umschliesst
+        //! Returns the radius of a sphere that encloses the entire model
         DLLEXPORT float getRadius() const;
-        //! 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())
         DLLEXPORT int getId() const;
-        //! Git den Factor an, mit dem das umgebungslicht (textur farbe)
-        //! multipliziert wird
+        //! Returns the factor by which ambient light (texture color)
+        //! is multiplied
         DLLEXPORT float getAmbientFactor() const;
-        //! Git den Factor an, mit dem die Lichtfarbe von Lichtquellen
-        //! multipliziert wird
+        //! Returns the factor by which the light color of light sources
+        //! is multiplied
         DLLEXPORT float getDiffusFactor() const;
-        //! Git den Factor an, mit dem die Reflektion von Lichtquellen
-        //! multipliziert wird
+        //! Returns the factor by which the reflection of light sources
+        //! is multiplied
         DLLEXPORT float getSpecularFactor() const;
-        //! Gibt eine Kopie des Skeletts zurueck, welches fuer annimationen
-        //! verwendet werden kann
+        //! Returns a copy of the skeleton that can be used for animations
         DLLEXPORT Skeleton* copySkelett() const;
-        //! Gibt die Anzahl an Vertices zurueck
+        //! Returns the number of vertices
         DLLEXPORT int getVertexAnzahl() const;
-        //! Gibt einen Buffer mit allen Vertecies des Models zurueck
+        //! Returns a buffer with all vertices of the model
         DLLEXPORT const Vertex3D* zVertexBuffer() const;
-        //! Gibt eine refferenz auf den beginn des indexBuffers zurueck
+        //! Returns a reference to the start of the index buffer
         DLLEXPORT const int* getIndexBuffer() const;
-        //! Gibt eine die Anzahl der indizes im indexBuffer zurueck
+        //! Returns the number of indices in the index buffer
         DLLEXPORT int getIndexCount() const;
-        //! Gibt den Index buffer zurueck;
+        //! Returns the index buffer
         DLLEXPORT DXBuffer* zDXIndexBuffer() const;
-        //! Gibt den Vertex buffer zurueck;
+        //! Returns the vertex buffer
         DLLEXPORT DXBuffer* zDXVertexBuffer() const;
-        //! gibt den minnimalen Punkt der Bounding box des Models zurueck
+        //! Returns the minimum point of the model's bounding box
         DLLEXPORT Vec3<float> getMinPos() const;
-        //! gibt den maximalen Punkt der bounding box des Mopdels zurueck
+        //! Returns the maximum point of the model's bounding box
         DLLEXPORT Vec3<float> getMaxPos() const;
     };
 
-    //! Speichert eine Liste mit Texturen und fuer welche Polygone welche Textur
-    //! benutzt werden soll
+    //! Stores a list of textures and which texture to use for which polygon
     class Model3DTextur : public virtual ReferenceCounter
     {
     private:
@@ -282,21 +276,21 @@ namespace Framework
         int textureCount;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Model3DTextur();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~Model3DTextur();
-        //! Legt fest, welche Textur fuer welches Polygon ist
-        //! \param pI Der Index des Polygons
-        //! \param txt Die Textur des Polygons
+        //! Sets which texture is for which polygon
+        //! \param pI The index of the polygon
+        //! \param txt The texture of the polygon
         DLLEXPORT void setPolygonTextur(int pI, Textur* txt);
-        //! Gibt einen Zeiger auf die Textur eines Polygons zurueck ohne erhoehten
-        //! Reference Counter \param i Der Index des Polygons
+        //! Returns a pointer to the texture of a polygon without increased
+        //! reference counter \param i The index of the polygon
         DLLEXPORT Textur* zPolygonTextur(int i) const;
     };
 
-    //! Eine Zeichnung des 3D Frameworks, die ein 3D Model mit Textur und
-    //! Animation darstellen kann
+    //! A drawing of the 3D framework that can display a 3D model with
+    //! texture and animation
     class Model3D : public Zeichnung3D
     {
     protected:
@@ -308,88 +302,86 @@ namespace Framework
         float specularFactor;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Model3D();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~Model3D();
-        //! Setzt die Daten des Models
-        //! \param data Die Daten
+        //! Sets the model data
+        //! \param data The data
         DLLEXPORT void setModelDaten(Model3DData* data);
-        //! Setzt die zum Zeichnen zu benutzenden Texturen
-        //! \param txt Ein Liste mit Texturen zu den verschiedenen Polygonen
-        //! zugeordnet
+        //! Sets the textures to use for drawing
+        //! \param txt A list of textures assigned to the different polygons
         DLLEXPORT void setModelTextur(Model3DTextur* txt);
-        //! Git den Factor an, mit dem das umgebungslicht (textur farbe)
-        //! multipliziert wird \param f der neue Faktor (von 0 bis 1, ambient +
+        //! Sets the factor by which the ambient light (texture color)
+        //! is multiplied \param f The new factor (from 0 to 1, ambient +
         //! specular + diffuse = 1)
         DLLEXPORT void setAmbientFactor(float f);
-        //! Git den Factor an, mit dem die Lichtfarbe von Lichtquellen
-        //! multipliziert wird \param f der neue Faktor (von 0 bis 1, ambient +
+        //! Sets the factor by which the light color of light sources
+        //! is multiplied \param f The new factor (from 0 to 1, ambient +
         //! specular + diffuse = 1)
         DLLEXPORT void setDiffusFactor(float f);
-        //! Git den Factor an, mit dem die Reflektion von Lichtquellen
-        //! multipliziert wird \param f der neue Faktor (von 0 bis 1, ambient +
+        //! Sets the factor by which the reflection of light sources
+        //! is multiplied \param f The new factor (from 0 to 1, ambient +
         //! specular + diffuse = 1)
         DLLEXPORT void setSpecularFactor(float f);
-        //! Errechnet die Matrizen aller Knochen des Skeletts des Models
-        //! \param viewProj Die miteinander multiplizierten Kameramatrizen
-        //! \param matBuffer Ein Array mit Matrizen, der gefuellt werden soll
-        //! \return Die Anzahl der Matrizen, die das Model benoetigt
+        //! Calculates the matrices of all bones in the model's skeleton
+        //! \param viewProj The multiplied camera matrices
+        //! \param matBuffer An array of matrices to fill
+        //! \return The number of matrices the model requires
         DLLEXPORT int errechneMatrizen(
             const Mat4<float>& viewProj, Mat4<float>* matBuffer) override;
-        //! Verarbeitet die vergangene Zeit
-        //! \param 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
+        //! \param tickval The time in seconds since the last call of this
+        //! function \return true if the object changed, false otherwise.
         DLLEXPORT virtual bool tick(double tickval) override;
-        //! zum aktualisieren der shader daten
+        //! For updating shader data
         DLLEXPORT virtual void beforeRender(
             GraphicsApi* api, Shader* zVertexShader, Shader* zPixelShader);
         DLLEXPORT virtual void afterRender(
             GraphicsApi* api, Shader* zVertexShader, Shader* zPixelShader);
-        //! Gibt die Textur zurueck
+        //! Returns the texture
         DLLEXPORT Model3DTextur* getTextur();
-        //! Gibt die Textur zurueck (ohne erhoehten Reference Counter)
+        //! Returns the texture (without increased reference counter)
         DLLEXPORT Model3DTextur* zTextur();
-        //! Gibt die ModelDaten zurueck
+        //! Returns the model data
         DLLEXPORT Model3DData* getModelData();
-        //! Gibt die ModelDaten zurueck (ohne erhoehten Reference Counter)
+        //! Returns the model data (without increased reference counter)
         DLLEXPORT Model3DData* zModelData();
-        //! prueft, ob ein Strahl dieses Objekt trifft
-        //! \param point der startpunkt des Strahls in Weltkoordinaten
-        //! \param dir die Richtung des Strahls in Weltkoordinaten
-        //! \param maxSqDist Die maximale quadratische distanz die erlaubt ist
-        //! \param 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 whether a ray hits this object
+        //! \param point The starting point of the ray in world coordinates
+        //! \param dir The direction of the ray in world coordinates
+        //! \param maxSqDist The maximum allowed squared distance
+        //! \param pId The ID of the polygon the intersection belongs to
+        //! \return The squared distance of the intersection to the ray's
+        //! origin, or -1 if no intersection exists
         DLLEXPORT virtual float traceRay(const Vec3<float>& point,
             const Vec3<float>& dir,
             float maxSqDist,
             int& pId) const;
-        //! berechnet die Farbe des Schnittpunktes deines Strahls
-        //! \param point der startpunkt des Strahls in Weltkoordinaten
-        //! \param dir die Richtung des Strahls in Weltkoordinaten
-        //! \param zWelt die Welt, aus der der Strahl kommt
-        //! \return die Farbe des Schnittpunktes
+        //! Calculates the color of a ray's intersection point
+        //! \param point The starting point of the ray in world coordinates
+        //! \param dir The direction of the ray in world coordinates
+        //! \param zWelt The world from which the ray originates
+        //! \return The color of the intersection point
         DLLEXPORT virtual int traceRay(
             Vec3<float>& point, Vec3<float>& dir, int pId, Welt3D* zWelt) const;
-        //! 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())
         DLLEXPORT int getDatenId() const;
-        //! Git den Factor an, mit dem das umgebungslicht (textur farbe)
-        //! multipliziert wird
+        //! Returns the factor by which ambient light (texture color)
+        //! is multiplied
         DLLEXPORT float getAmbientFactor() const;
-        //! Git den Factor an, mit dem die Lichtfarbe von Lichtquellen
-        //! multipliziert wird
+        //! Returns the factor by which the light color of light sources
+        //! is multiplied
         DLLEXPORT float getDiffusFactor() const;
-        //! Git den Factor an, mit dem die Reflektion von Lichtquellen
-        //! multipliziert wird
+        //! Returns the factor by which the reflection of light sources
+        //! is multiplied
         DLLEXPORT float getSpecularFactor() const;
-        //! Gibt die Anzahl an Vertices zurueck
+        //! Returns the number of vertices
         DLLEXPORT int getVertexAnzahl() const;
-        //! Gibt einen Buffer mit allen Vertecies des Models zurueck
+        //! Returns a buffer with all vertices of the model
         DLLEXPORT const Vertex3D* zVertexBuffer() const;
-        //! Gibt true zurueck wenn ein bestimmtes polygon gezeichnet werden muss
+        //! Returns true if a specific polygon needs to be drawn
         DLLEXPORT virtual bool needRenderPolygon(int index);
         DLLEXPORT virtual Textur* zEffectTextur();
         DLLEXPORT virtual float getEffectPercentage();

+ 19 - 21
Model3DList.h

@@ -10,14 +10,14 @@ namespace Framework
 
     namespace Standart3DTypes
     {
-        extern const char* cube; //! = "f_wuerfel"; Die Modeldaten eines Wuerfels
-                                 //! der 100 * 100 * 100 gross ist
-        extern const char* texturModel; //! = "f_wuerfel"; Die Modeldaten eines
-                                        //! Wuerfels der 100 * 100 * 100 gross ist
+        extern const char* cube; //! = "f_wuerfel"; The model data of a cube
+                                 //! that is 100 * 100 * 100 in size
+        extern const char* texturModel; //! = "f_wuerfel"; The model data of a
+                                        //! cube that is 100 * 100 * 100 in size
     }; // namespace Standart3DTypes
 
-    //! Verwaltet alle geladenen Modeldaten, so dass mehrere Zeichnungen die
-    //! selben Daten benutzen koennen
+    //! Manages all loaded model data so that multiple drawings can use
+    //! the same data
     class Model3DList : public virtual ReferenceCounter
     {
     private:
@@ -25,27 +25,25 @@ namespace Framework
         RCArray<Text>* names;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Model3DList();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~Model3DList();
-        //! Fuegt der Liste ein Model Hinzu
-        //! \param mdl Das Model
-        //! \param name Der name, unter dem das Model in der Liste gespeichert
-        //! wird
+        //! Adds a model to the list
+        //! \param mdl The model
+        //! \param name The name under which the model is stored in the list
         DLLEXPORT bool addModel(Model3DData* mdl, const char* name);
-        //! Entfernt ein Model aus der Liste
-        //! \param name Der Name des Models
+        //! Removes a model from the list
+        //! \param name The name of the model
         DLLEXPORT void removeModel(const char* name);
-        //! UEberprueft, ob unter einem bestimmten Namen ein Model abgespeichert
-        //! wurde \param name Der Name \return true, wenn ein Model mit dem
-        //! Namen existiert
+        //! Checks whether a model is stored under a specific name
+        //! \param name The name \return true if a model with the name exists
         DLLEXPORT bool hatModel(const char* name) const;
-        //! Gibt ein bestimmtes Model zurueck
-        //! \param name Der Name des Models
+        //! Returns a specific model
+        //! \param name The name of the model
         DLLEXPORT Model3DData* getModel(const char* name) const;
-        //! Gibt ein bestimmtes Model ohne erhoehten Reference Counter zurueck
-        //! \param name Der Name des Models
+        //! Returns a specific model without increased reference counter
+        //! \param name The name of the model
         DLLEXPORT Model3DData* zModel(const char* name) const;
         //! remove All models
         DLLEXPORT void removeAll();

+ 12 - 12
Prozess.h

@@ -11,9 +11,9 @@
 namespace Framework
 {
 #ifdef WIN32
-    struct MemoryInfo; //! aus dieser Datei
+    struct MemoryInfo; //! from this file
 #endif
-    class Prozess; //! aus dieser Datei
+    class Prozess; //! from this file
 
 #ifdef WIN32
     struct MemoryInfo
@@ -29,8 +29,8 @@ namespace Framework
         __int64 hoechsterVorreservierterSpeicher;
     };
 #endif
-    //! Diese Klasse findet informationen ueber einen laufenden Prozess heraus
-    //! (CPU, MEM) Bei Ubuntu immer der eigene Prozess
+    //! This class retrieves information about a running process
+    //! (CPU, MEM). On Ubuntu always the own process
     class Prozess : public virtual ReferenceCounter
     {
     private:
@@ -41,22 +41,22 @@ namespace Framework
 #endif
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Prozess();
-        //! nicht constant
+        //! non-constant
 #ifdef WIN32
-        //! Setzt den Prozess, der ueberwacht werden soll (Nur fuer Windows)
+        //! Sets the process to monitor (Windows only)
         DLLEXPORT void setProcess(void* pHandle);
 #endif
-        //! Gibt den CPU verbrauch des Prozesses zurueck
+        //! Returns the CPU usage of the process
         DLLEXPORT double getCPU() const;
-        //! Gibt den Speicherverbrauch des Prozesses zurueck
+        //! Returns the memory usage of the process
         DLLEXPORT __int64 getMem() const;
 #ifdef WIN32
-        //! Gibt detailierte Informationen ueber den Speicherverbrauch des
-        //! Prozesses zurueck (Nur fuer Windows)
+        //! Returns detailed information about the memory usage of the
+        //! process (Windows only)
         DLLEXPORT MemoryInfo getMemInfo() const;
-        //! Gibt die Anzahl der Threads zurueck (Nur fuer Windows)
+        //! Returns the number of threads (Windows only)
         DLLEXPORT int getThreadAnzahl() const;
 #endif
     };

+ 19 - 20
Punkt.h

@@ -6,37 +6,36 @@
 
 namespace Framework
 {
-    //! benoetigte includes
-    class WFenster; //! aus Fenster.h
+    //! required includes
+    class WFenster; //! from Fenster.h
 
     typedef Vec2<int>
-        Punkt; //! Speichert die ganzzahligen Koordinaten eines Punktes
+        Punkt; //! Stores the integer coordinates of a point
 
 #ifdef WIN32
-    //! Gibt die Groesse des Bildschirms zurueck
+    //! Returns the size of the screen
     DLLEXPORT Punkt BildschirmGroesse(int mId = 0);
-    //! Giebt die Mitte des Bildschirms zurueck
+    //! Returns the center of the screen
     DLLEXPORT Punkt Bildschirmmitte(int mId = 0);
-    //! Giebt einen Punkt zurueck, der als Fensterposition verwendet werden kann
-    //! um das Fenster zu zentrieren \param f Das Fenster, welches Zentriert
-    //! werden soll
+    //! Returns a point that can be used as a window position
+    //! to center the window \param f The window to center
     DLLEXPORT Punkt Bildschirmmitte(WFenster* f, int mId = 0);
 #endif
-    //! Prueft, ob ein Punkt weiter rechts unten ist als ein anderer
-    //! \return (true), wenn der linke Punkt weiter rechts und weiter unten ist.
-    //! (false) sonnst
+    //! Checks whether a point is further to the bottom-right than another
+    //! \return (true) if the left point is further right and further down.
+    //! (false) otherwise
     DLLEXPORT bool operator>(const Punkt& a, const Punkt& b);
-    //! Prueft, ob ein Punkt weiter links obem ist als ein anderer
-    //! \return (true), wenn der linke Punkt weiter links und weiter oben ist.
-    //! (false) sonnst
+    //! Checks whether a point is further to the top-left than another
+    //! \return (true) if the left point is further left and further up.
+    //! (false) otherwise
     DLLEXPORT bool operator<(const Punkt& a, const Punkt& b);
-    //! Prueft, ob ein Punkt weiter links obem ist als ein anderer
-    //! \return (true), wenn der linke Punkt weiter links und weiter oben oder
-    //! gleich ist. (false) sonnst
+    //! Checks whether a point is further to the top-left than another
+    //! \return (true) if the left point is further left and further up or
+    //! equal. (false) otherwise
     DLLEXPORT inline bool operator<=(const Punkt& a, const Punkt& b);
-    //! Prueft, ob ein Punkt weiter rechts unten ist als ein anderer
-    //! \return (true), wenn der linke Punkt weiter rechts und weiter unten oder
-    //! gleich ist. (false) sonnst
+    //! Checks whether a point is further to the bottom-right than another
+    //! \return (true) if the left point is further right and further down or
+    //! equal. (false) otherwise
     DLLEXPORT inline bool operator>=(const Punkt& a, const Punkt& b);
 } // namespace Framework
 #endif

+ 10 - 11
Random.h

@@ -29,21 +29,20 @@ namespace Framework
         void srand(int seed);
 
     public:
-        //! Konstruktor
-        //! Erzeugt einen neuen Zufallsgenerator mit dem seed des Zeitpunktes
-        //! des Erzeugens
+        //! Constructor
+        //! Creates a new random generator with the seed of the creation
+        //! time point
         DLLEXPORT RandomGenerator();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~RandomGenerator();
-        //! Gibt eine Zufallszahl zwischen 0 und 1 zurueck
+        //! Returns a random number between 0 and 1
         DLLEXPORT double rand();
-        //! Initialisiert den Gennerator mit einem Seed.
-        //! Diese methode sollte moeglichst nur mit seeds verwendet werden, die
-        //! von getSeed zurueckgegeben wurden, da der aufruf sonnst sehr lange
-        //! dauern kann
+        //! Initializes the generator with a seed.
+        //! This method should preferably only be used with seeds returned
+        //! by getSeed, as the call can otherwise take very long
         DLLEXPORT void setSeed(__int64 seed);
-        //! Gibt den aktuellen Seed zurueck, mit dem alle weiteren Zufallszahlen
-        //! vorherbestimmt werden koennen
+        //! Returns the current seed with which all further random numbers
+        //! can be predetermined
         DLLEXPORT __int64 getSeed() const;
     };
 } // namespace Framework

+ 1 - 1
Rect2.h

@@ -9,7 +9,7 @@ namespace Framework
         Vec2<T> topLeft;
         Vec2<T> bottomRight;
 
-        //! Prueft, ob sich das Rechteck mit einem anderen UEberschneidet
+        //! Checks whether the rectangle collides with another
         inline bool collidesWith(const Rect2& r)
         {
             return r.topLeft.x < bottomRight.x && r.bottomRight.x > topLeft.x

+ 33 - 33
RenderThread.h

@@ -12,8 +12,8 @@ namespace Framework
     class ZeitMesser; //! ZeitMesser.h
     class Bild;       //! Bild.h
 
-    //! Ein Thread, der ein Bildschirm verwaltet. Er ruft die render() und
-    //! tick() funktionen automatisch auf
+    //! A thread that manages a screen. It calls the render() and
+    //! tick() functions automatically
     class RenderTh : public Thread
     {
     private:
@@ -31,56 +31,56 @@ namespace Framework
         bool quiet;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT RenderTh();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~RenderTh();
-        //! Dies ist notwendig, falls mehrere Threads gleichzeitig das Objekt
-        //! benutzen. Wenn lock() von zwei threads aufgerufen wird, wartet der
-        //! letzte so lange, bis der erste unlock() aufgerufen hat.
+        //! This is necessary if multiple threads use the object simultaneously.
+        //! If lock() is called by two threads, the latter waits until the
+        //! first has called unlock().
         DLLEXPORT void lock();
-        //! Dies ist notwendig, falls mehrere Threads gleichzeitig das Objekt
-        //! benutzen. Wenn lock() von zwei threads aufgerufen wird, wartet der
-        //! letzte so lange, bis der erste unlock() aufgerufen hat.
+        //! This is necessary if multiple threads use the object simultaneously.
+        //! If lock() is called by two threads, the latter waits until the
+        //! first has called unlock().
         DLLEXPORT void unlock();
-        //! Setzt das Bildschirm Objekt, das verwaltet werden soll
-        //! \param bildschirm Der Bildschirm
+        //! Sets the screen object to be managed
+        //! \param bildschirm The screen
         DLLEXPORT void setBildschirm(Bildschirm* bildschirm);
-        //! Die Funktion, die automatisch in einem neuen Thread ausgefuehrt wird
+        //! The function that is automatically executed in a new thread
         DLLEXPORT void thread() override;
-        //! Beginnt den Render Thread
+        //! Starts the render thread
         DLLEXPORT void beginn();
-        //! Beendet den Render Thread
+        //! Stops the render thread
         DLLEXPORT void beenden();
-        //! if true, then nothing will be printent to std::cout
+        //! if true, then nothing will be printed to std::cout
         DLLEXPORT void setQuiet(bool quiet);
-        //! Setzt die maximalen Bilder pro Sekunde
-        //! \param fps maximale Bilder pro Sekunde
+        //! Sets the maximum frames per second
+        //! \param fps Maximum frames per second
         DLLEXPORT void setMaxFps(int fps);
-        //! Pausiert den Render Thread
-        //! \param p 1, wenn der Thread pausiert werden soll
+        //! Pauses the render thread
+        //! \param p 1 if the thread should be paused
         DLLEXPORT void setPause(bool p);
-        //! Setzt die Rueckruffunktion, die immer vor dem Zeichnen aufgerufen
-        //! wird \param rF Die Rueckruffunktion
+        //! Sets the callback function that is always called before drawing
+        //! \param rF The callback function
         DLLEXPORT void setRenderFunktion(
             std::function<void(void*, void*, Bild*)> rF);
-        //! Setzt die Rueckruffunktion, die immer vor dem Aktualisieren aller
-        //! Objekte aufgerufen wird \param tF Die Rueckruffunktion
+        //! Sets the callback function that is always called before updating
+        //! all objects \param tF The callback function
         DLLEXPORT void setTickFunktion(
             std::function<void(void*, void*, double)> tF);
-        //! Setzt den Parameter der Rueckruffunktion, die immer vor dem Zeichnen
-        //! aufgerufen wird \param p Der Parameter
+        //! Sets the parameter of the callback function that is always called
+        //! before drawing \param p The parameter
         DLLEXPORT void setRenderFunktionParameter(void* p);
-        //! Setzt den Parameter der Rueckruffunktion, die immer vor dem
-        //! Aktualisieren aller Objekte aufgerufen wird
+        //! Sets the parameter of the callback function that is always called
+        //! before updating all objects
         DLLEXPORT void setTickFunktionParameter(void* p);
-        //! Gibt den Bildschirm zurueck, der von dem Thread verwaltet wird
+        //! Returns the screen managed by this thread
         DLLEXPORT Bildschirm* getBildschirm() const;
-        //! Gibt den Bildschirm ohne erhoehten Reference Counter zurueck, der von
-        //! dem Thread verwaltet wird
+        //! Returns the screen without increased reference counter managed
+        //! by this thread
         DLLEXPORT Bildschirm* zBildschirm() const;
-        //! Gibt die Zeit zurueck, mit der die tick() Funktion des Bildschirms
-        //! als letztes aufgerufen wurde
+        //! Returns the time with which the tick() function of the screen
+        //! was last called
         DLLEXPORT double getRenderTickZeit() const;
     };
 } // namespace Framework

+ 179 - 196
Schrift.h

@@ -11,13 +11,13 @@ namespace Framework
 {
     class Bild;      //! Bild.h
     class Text;      //! Text.h
-    class Buchstabe; //! aus dieser Datei
-    class Alphabet;  //! aus dieser Datei
-    class Schrift;   //! aus dieser Datei
+    class Buchstabe; //! from this file
+    class Alphabet;  //! from this file
+    class Schrift;   //! from this file
 
-    //! Speichert die Alphawerte eines Zeichens einer bestimmten Schrift
-    //! Die anderen Farbwerte werden durch die Schriftfarbe bestimmt. Daher nur
-    //! die Alpha werte.
+    //! Stores the alpha values of a character of a specific font.
+    //! The other color values are determined by the font color. Hence only
+    //! the alpha values.
     class Buchstabe : public virtual ReferenceCounter
     {
     private:
@@ -26,45 +26,45 @@ namespace Framework
         int schriftSize;
 
     public:
-        //! Erstellt ein neues leeres Zeichnung
+        //! Creates a new empty object
         DLLEXPORT Buchstabe();
-        //! Loescht das Zeichnung
+        //! Deletes the object
         DLLEXPORT ~Buchstabe();
-        //! Erstellt einen neuen Buchstaben mit bestimmter Groesse
-        //! \param size Die Groesse des Buchstabens in Pixel
+        //! Creates a new character with a specific size
+        //! \param size The size of the character in pixels
         DLLEXPORT void NeuBuchstabe(Punkt& size);
-        //! Setzt den Alphawert eines bestimmten Pixels
-        //! \param pos Die position des Pixels
-        //! \param alpha Der Wert des Pixels
+        //! Sets the alpha value of a specific pixel
+        //! \param pos The position of the pixel
+        //! \param alpha The value of the pixel
         DLLEXPORT void setPixel(Punkt& pos, unsigned char alpha);
-        //! Setzt den Alphawert eines bestimmten Pixels
-        //! \param x die x Position des Pixels
-        //! \param y die y Position des Pixels
-        //! \param alpha Der Wert des Pixels
+        //! Sets the alpha value of a specific pixel
+        //! \param x The x position of the pixel
+        //! \param y The y position of the pixel
+        //! \param alpha The value of the pixel
         DLLEXPORT void setPixel(int x, int y, unsigned char alpha);
-        //! Setzt den Alphawert eines bestimmten Pixels
-        //! \param i der Index des Pixels. Er berechnet sich durch x + y *
-        //! breite und geht von 0 bis breite * hoehe - 1 \param alpha Der Wert
-        //! des Pixels
+        //! Sets the alpha value of a specific pixel
+        //! \param i The index of the pixel. Calculated as x + y *
+        //! width and ranges from 0 to width * height - 1 \param alpha The value
+        //! of the pixel
         DLLEXPORT void setPixel(int i, unsigned char alpha);
-        //! Setzt die Schriftgroesse, zu der der Buchstabe gehoert
-        //! \param sg Die Schriftgroesse des Buchstabens.
+        //! Sets the font size this character belongs to
+        //! \param sg The font size of the character.
         DLLEXPORT void setSchriftSize(int sg);
-        //! Gibt die Schriftgroesse zurueck, zu der der Buchstabe gehoert
+        //! Returns the font size this character belongs to
         DLLEXPORT int getSchriftSize() const;
-        //! Gibt die alpha Werte des Buchstabens als array zurueck wobei die
-        //! werte Zeilenweise hintereinander stehen
+        //! Returns the alpha values of the character as an array where the
+        //! values are stored row by row
         DLLEXPORT unsigned char* getBuff() const;
-        //! Gibt die Groesse des Buchstabens in Pixeln nicht skalliert zurueck.
+        //! Returns the unscaled size of the character in pixels.
         DLLEXPORT const Punkt& getSize() const;
-        //! Gibt die Breite des Buchstabens in Pixeln zurueck
+        //! Returns the width of the character in pixels
         DLLEXPORT int getBreite() const;
-        //! Gibt die Hoehe des Buchstabens in Pixeln zurueck
+        //! Returns the height of the character in pixels
         DLLEXPORT int getHeight() const;
     };
 
-    //! Speichert alle Buchstaben der selben Schriftgroesse.
-    //! Wird von der Schrift klasse verwendet
+    //! Stores all characters of the same font size.
+    //! Used by the Schrift class
     class Alphabet : public virtual ReferenceCounter
     {
     private:
@@ -72,74 +72,69 @@ namespace Framework
         int schriftSize;
 
     public:
-        //! Erzeugt ein leeres Zeichnung
+        //! Creates an empty object
         DLLEXPORT Alphabet();
-        //! Loescht ein Zeichnung
+        //! Deletes the object
         DLLEXPORT ~Alphabet();
-        //! Loescht alle gespeicherten Zeichen
+        //! Deletes all stored characters
         DLLEXPORT void NeuAlphabet();
-        //! Fuegt dem Alphabet einen Buchstaben hinzu
-        //! Wenn der hinzugefuegte Buchstabe bereits existiert wird er
-        //! ueberschrieben \param i Der ASCII code des Buchstaben, der
-        //! hinzugefuegt werden soll \param buchstabe Der Buchstabe, der
-        //! hinzugefuegt wird
+        //! Adds a character to the alphabet.
+        //! If the added character already exists, it will be overwritten
+        //! \param i The ASCII code of the character to add
+        //! \param buchstabe The character to add
         DLLEXPORT void setBuchstabe(unsigned char i, Buchstabe* buchstabe);
-        //! Setzt die Schriftgroesse des Alphabets und die der gespeicherten
-        //! buchstaben \param gr Die Schriftgroesse des Alphabets
+        //! Sets the font size of the alphabet and its stored characters
+        //! \param gr The font size of the alphabet
         DLLEXPORT void setSchriftSize(int gr);
-        //! Gibt den gespeicherten Buchstaben zu einem bestimmten ASCII Zeichen
-        //! zurueck \param i Der ASCII code des Zeichens \return Ein Zeiger zu
-        //! dem Buchstaben mit erhoehtem Reference Counter
+        //! Returns the stored character for a specific ASCII code
+        //! \param i The ASCII code of the character \return A pointer to
+        //! the character with increased reference counter
         DLLEXPORT Buchstabe* getBuchstabe(unsigned char i) const;
-        //! Gibt den gespeicherten Buchstaben zu einem bestimmten ASCII Zeichen
-        //! zurueck \param i Der ASCII code des Zeichens \return Ein Zeiger zu
-        //! dem Buchstaben ohne erhoehtem Reference Counter
+        //! Returns the stored character for a specific ASCII code
+        //! \param i The ASCII code of the character \return A pointer to
+        //! the character without increased reference counter
         DLLEXPORT Buchstabe* zBuchstabe(unsigned char i) const;
-        //! Prueft, ob zu einem bestimmten ASCII code ein Zeichen vorhanden ist
-        //! \param b Der zu pruefende ASCII code
-        //! \return (true), wenn ein Zeichen zu dem Code gefunden wurde. (false)
-        //! sonnst
+        //! Checks whether a character exists for a specific ASCII code
+        //! \param b The ASCII code to check
+        //! \return (true) if a character was found for the code. (false)
+        //! otherwise
         DLLEXPORT bool hatBuchstabe(unsigned char b) const;
-        //! Gibt die Schriftgroesse zurueck, deren Zeichen in diesem Alphabet
-        //! gespeichert werden
+        //! Returns the font size whose characters are stored in this alphabet
         DLLEXPORT int getSchriftSize() const;
     };
 
-    //! Specihert eine Liste von Alphabeten mit verschiedener Schriftgroesse.
-    //! Wird von der Schrift Klasse verwendet, um alle Zeichen der Schriftgroesse
-    //! nach sortiert zu speichern.
+    //! Stores a list of alphabets with different font sizes.
+    //! Used by the Schrift class to store all characters sorted by font size.
     class AlphabetArray
     {
     private:
         Alphabet* alphabets[256];
 
     public:
-        //! Erzeugt eine neue Liste
+        //! Creates a new list
         DLLEXPORT AlphabetArray();
 
-        //! Fuegt der Liste ein Alphabet hinzu
-        //! Wenn bereits ein Alphabet mit der selben Schriftgroesse existiert,
-        //! wird das Alphabet nicht hinzugefuegt \param alphabet Das Alphabet,
-        //! welches hinzugefuegt werden soll \return (true), wenn das Alphabet
-        //! hinzugefuegt wurde. (false) sonnst.
+        //! Adds an alphabet to the list.
+        //! If an alphabet with the same font size already exists,
+        //! the alphabet is not added \param alphabet The alphabet
+        //! to add \return (true) if the alphabet was added. (false) otherwise.
         DLLEXPORT bool addAlphabet(Alphabet* alphabet);
-        //! Loescht ein Alphabet bestimmter Schriftgroesse aus der Liste
-        //! \param sg Die Schriftgroesse des Alphabets, welches entfernt werden
-        //! soll \return (true), wenn ein Alphabet entfernt wurde. (false)
-        //! sonnst
+        //! Removes an alphabet of a specific font size from the list
+        //! \param sg The font size of the alphabet to remove
+        //! \return (true) if an alphabet was removed. (false) otherwise
         DLLEXPORT bool removeAlphabet(unsigned char sg);
 
-        //! Gibt ein bestimmtes Alphabet mit erhoehtem Reference Counter zurueck
-        //! \param sg Die Schriftgroesse, dessen Alphabet gesucht werden soll
-        //! \return (0), fals kein passendes Alphabet gefunden wurde
+        //! Returns a specific alphabet with increased reference counter
+        //! \param sg The font size whose alphabet is sought
+        //! \return (0) if no matching alphabet was found
         DLLEXPORT Alphabet* getAlphabet(unsigned char sg) const;
-        //! Gibt ein bestimmtes Alphabet ohne erhoehtem Reference Counter zurueck
-        //! \param sg Die Schriftgroesse, dessen Alphabet gesucht werden soll
-        //! \return (0), fals kein passendes Alphabet gefunden wurde
+        //! Returns a specific alphabet without increased reference counter
+        //! \param sg The font size whose alphabet is sought
+        //! \return (0) if no matching alphabet was found
         DLLEXPORT Alphabet* zAlphabet(unsigned char sg) const;
     };
 
-    //! Speichert alle Buchstaben einer Schrift in verschiedenen Schriftgroessen
+    //! Stores all characters of a font in different font sizes
     class Schrift : public virtual ReferenceCounter
     {
     private:
@@ -147,28 +142,27 @@ namespace Framework
         AlphabetArray* alphabet;
 
     public:
-        //! Erzeugt eine leere Schrift
+        //! Creates an empty font
         DLLEXPORT Schrift();
-        //! Loescht ein Zeichnung
+        //! Deletes the object
         DLLEXPORT ~Schrift();
-        //! Fuegt der Schrift ein Alphabet hinzu. Sollte bereits ein Alphabet der
-        //! selben Schriftgroesse existieren, wird das Alphabet nicht hinzugefuegt
-        //! \param alphabet Das Alphabet, welches hinzugefuegt werden soll
-        //! \return (true), wenn das Alphabet hinzugefuegt wurde. (false) sonnst
+        //! Adds an alphabet to the font. If an alphabet of the same font
+        //! size already exists, the alphabet is not added
+        //! \param alphabet The alphabet to add
+        //! \return (true) if the alphabet was added. (false) otherwise
         DLLEXPORT bool addAlphabet(Alphabet* alphabet);
-        //! Loescht ein bestimmtes Alphabet aus der Schrift
-        //! \param sg Die Schriftgroesse, deren Alphabet entfernt werden soll
+        //! Removes a specific alphabet from the font
+        //! \param sg The font size whose alphabet should be removed
         DLLEXPORT void removeAlphabet(unsigned char sg);
-        //! Gibt ein bestimmtes Alphabet mit erhoehtem Reference Counter zurueck
-        //! \param sg Die Schriftgroesse, dessen Alphabet gesucht werden soll
-        //! \return (0), fals kein passendes Alphabet gefunden wurde
+        //! Returns a specific alphabet with increased reference counter
+        //! \param sg The font size whose alphabet is sought
+        //! \return (0) if no matching alphabet was found
         DLLEXPORT Alphabet* getAlphabet(unsigned char sg) const;
-        //! Gibt ein bestimmtes Alphabet ohne erhoehtem Reference Counter zurueck
-        //! \param sg Die Schriftgroesse, dessen Alphabet gesucht werden soll
-        //! \return (0), fals kein passendes Alphabet gefunden wurde
+        //! Returns a specific alphabet without increased reference counter
+        //! \param sg The font size whose alphabet is sought
+        //! \return (0) if no matching alphabet was found
         DLLEXPORT Alphabet* zAlphabet(unsigned char sg) const;
-        //! Gibt zurueck, wie viele Alphabete (und damit Schriftgroessen) in der
-        //! Schrift enthalten sind
+        //! Returns how many alphabets (and thus font sizes) the font contains
         DLLEXPORT unsigned char getAlphabetAnzahl() const;
     };
 
@@ -189,37 +183,32 @@ namespace Framework
         DLLEXPORT void setSchriftZ(Schrift* schrift);
         DLLEXPORT Schrift* getSchrift();
         DLLEXPORT Schrift* zSchrift();
-        //! Setzt die Schriftgroesse, in der gezeichnet werden soll. Die Schrift
-        //! waehlt automatisch das passende Alphabet zum Zeichnen \param sg Die
-        //! Schriftgroesse
+        //! Sets the font size to draw with. The font automatically
+        //! selects the appropriate alphabet for drawing \param sg The font size
         DLLEXPORT void setSchriftSize(int sg);
-        //! Setzt den Zeilenabstand, der zum zeichnen verwendet werden soll
-        //! \param za Der Zeilenabstand zum unteren Ende der darueber liegenden
-        //! zeile in Pixeln
+        //! Sets the line spacing to use for drawing
+        //! \param za The line spacing to the bottom of the line above in pixels
         DLLEXPORT void setZeilenAbstand(int za);
-        //! Setzt den Zeichenabstand, der zum zeichnen verwendet werden soll
-        //! \param za Der Zeichenabstand zum unteren Ende der darueber liegenden
-        //! zeile in Pixeln
+        //! Sets the character spacing to use for drawing
+        //! \param za The character spacing in pixels
         DLLEXPORT void setZeichenAbstand(int za);
-        //! Fuegt Zeilenumbrueche in den Text ein, so dass er bei einer
-        //! vorgegebenen Breite follstaendig angezeigt wird \param zText Der
-        //! text, in den die Zeilenumbrueche eingefuegt werden sollen \param
-        //! maxBreite Die Breite in Pixeln auf der der Text follstaendig
-        //! angezeigt werden soll
+        //! Inserts line breaks into the text so it is fully displayed
+        //! at a given width \param zText The text to insert line breaks into
+        //! \param maxBreite The width in pixels at which the text should be
+        //! fully displayed
         DLLEXPORT virtual void textFormatieren(Text* zText, int maxBreite);
-        //! Zeichnet einen Bestimmten Text mit Cursor und einfaerbung auf ein
-        //! Bild Nutze (setPosition) und (setDrawSchriftGroesse) um die Position
-        //! und die Groesse zu veraendern \param x x position des ersten zeichens
-        //! \param y y position des ersten zeichens
-        //! \param txt Der Text, der gezeichnet werden soll
-        //! \param zRObj Das Bild, auf das gezeichnet werden soll
-        //! \param cpos Die position des Cursors im Text
-        //! \param cf Die Farbe des Cursors
-        //! \param fbeg Die Position des Zeichens im Text, wo die Einfaerbung
-        //! beginnen soll. Der Text wird von dort bis zur Cursorposition
-        //! eingefaerbt \param ff Die Hintergrund Farbe des eingefaerbten Textes
-        //! \param f Eine Funktion die fuer jeden Buchstaben aufgerufen wird und
-        //! seine Farbe zurueckgibt
+        //! Draws a specific text with cursor and coloring onto an image.
+        //! Use (setPosition) and (setDrawSchriftGroesse) to change position
+        //! and size \param x x position of the first character
+        //! \param y y position of the first character
+        //! \param txt The text to draw
+        //! \param zRObj The image to draw on
+        //! \param cpos The position of the cursor in the text
+        //! \param cf The color of the cursor
+        //! \param fbeg The position of the character in the text where coloring
+        //! should begin. The text is colored from there to the cursor position
+        //! \param ff The background color of the colored text
+        //! \param f A function called for each character that returns its color
         DLLEXPORT virtual void renderText(int x,
             int y,
             const char* txt,
@@ -229,18 +218,18 @@ namespace Framework
             int cf = 0,
             int fbeg = -1,
             int ff = 0);
-        //! Zeichnet einen Bestimmten Text mit Cursor und einfaerbung auf ein
-        //! Bild Nutze (setPosition) und (setDrawSchriftGroesse) um die Position
-        //! und die Groesse zu veraendern \param x x position des ersten zeichens
-        //! \param y y position des ersten zeichens
-        //! \param txt Der Text, der gezeichnet werden soll
-        //! \param zRObj Das Bild, auf das gezeichnet werden soll
-        //! \param cpos Die position des Cursors im Text
-        //! \param cf Die Farbe des Cursors
-        //! \param fbeg Die Position des Zeichens im Text, wo die Einfaerbung
-        //! beginnen soll. Der Text wird von dort bis zur Cursorposition
-        //! eingefaerbt \param ff Die Hintergrund Farbe des eingefaerbten Textes
-        //! \param f Die Farbe, in der der Text gezeichnet werden soll
+        //! Draws a specific text with cursor and coloring onto an image.
+        //! Use (setPosition) and (setDrawSchriftGroesse) to change position
+        //! and size \param x x position of the first character
+        //! \param y y position of the first character
+        //! \param txt The text to draw
+        //! \param zRObj The image to draw on
+        //! \param cpos The position of the cursor in the text
+        //! \param cf The color of the cursor
+        //! \param fbeg The position of the character in the text where coloring
+        //! should begin. The text is colored from there to the cursor position
+        //! \param ff The background color of the colored text
+        //! \param f The color in which the text should be drawn
         DLLEXPORT virtual void renderText(int x,
             int y,
             const char* txt,
@@ -250,17 +239,17 @@ namespace Framework
             int cf = 0,
             int fbeg = -1,
             int ff = 0);
-        //! Zeichnet einen Bestimmten Buchstaben mit einfaerbung auf ein Bild
-        //! Nutze (setPosition) und (setDrawSchriftGroesse) um die Position und
-        //! die Groesse zu veraendern \param x x position des ersten zeichens
-        //! \param y y position des ersten zeichens
-        //! \param txt Der Text, der gezeichnet werden soll
-        //! \param zRObj Das Bild, auf das gezeichnet werden soll
-        //! \param color Die Farbe, in der der Text gezeichnet werden soll
-        //! \param underlined 1, falls der Text unterstrichen sein soll
-        //! \param selected 1, falls das zeichen eingefaerbt sein soll
-        //! \param selectedBackgroundColor Die Hintergrund Farbe des
-        //! eingefaerbten Textes
+        //! Draws a specific character with coloring onto an image.
+        //! Use (setPosition) and (setDrawSchriftGroesse) to change position
+        //! and size \param x x position of the first character
+        //! \param y y position of the first character
+        //! \param txt The text to draw
+        //! \param zRObj The image to draw on
+        //! \param color The color in which the text should be drawn
+        //! \param underlined 1 if the text should be underlined
+        //! \param selected 1 if the character should be colored
+        //! \param selectedBackgroundColor The background color of the
+        //! colored text
         DLLEXPORT virtual void renderChar(int& x,
             int y,
             char c,
@@ -269,41 +258,35 @@ namespace Framework
             bool underlined = 0,
             bool selected = 0,
             int selectedBackgroundColor = 0);
-        //! Gibt die Schriftgroesse zurueck, die zum Zeichnen verwendet wird
+        //! Returns the font size used for drawing
         DLLEXPORT int getSchriftSize() const;
-        //! Ermittelt, wie viele Pixel benoetigt werden, um einen Bestimmten Text
-        //! vollstaendig darzustellen \param txt Der Text, von dem die Breite in
-        //! Pixeln ermitelt werden soll
+        //! Determines how many pixels are needed to fully display a specific text
+        //! \param txt The text whose width in pixels should be determined
         DLLEXPORT virtual int getTextBreite(const char* txt) const;
-        //! Ermittelt, wie viele Pixel benoetigt werden, um einen Bestimmten Text
-        //! vollstaendig darzustellen \param txt Der Text, von dem die Hoehe in
-        //! Pixeln ermitelt werden soll
+        //! Determines how many pixels are needed to fully display a specific text
+        //! \param txt The text whose height in pixels should be determined
         DLLEXPORT virtual int getTextHeight(const char* txt) const;
-        //! Ermittelt, wie viele Pixel benoetigt werden, um einen Bestimmten
-        //! Buchstaben vollstaendig darzustellen \param c Der Buchstabe, von dem
-        //! die Breite in Pixeln ermitelt werden soll
+        //! Determines how many pixels are needed to fully display a specific
+        //! character \param c The character whose width in pixels should be
+        //! determined
         DLLEXPORT virtual int getCharWidth(const char c) const;
-        //! Ermittelt, wie viele Pixel maximal benoetigt werden, um einen
-        //! Buchstaben vollstaendig darzustellen
+        //! Determines the maximum pixels needed to fully display a character
         DLLEXPORT virtual int getMaxCharWidth() const;
-        //! Ermittelt, wie viele Pixel benoetigt werden, um einen Bestimmten Text
-        //! vollstaendig darzustellen \param c Der Buchstabe, von dem die Hoehe in
-        //! Pixeln ermitelt werden soll
+        //! Determines how many pixels are needed to fully display a specific
+        //! character \param c The character whose height in pixels should be
+        //! determined
         DLLEXPORT virtual int getCharHeight(const char c) const;
-        //! Gibt den Abstand in Pixeln zum unteren Ende der darueber ligenden
-        //! Zeile zurueck
+        //! Returns the line spacing in pixels to the bottom of the line above
         DLLEXPORT int getZeilenAbstand() const;
-        //! Gibt den Abstand in Pixeln zum zwischen zwei zeichen auf der x Achse
-        //! zurueck
+        //! Returns the character spacing in pixels on the x axis
         DLLEXPORT int getZeichenAbstand() const;
-        //! Gibt die skallierte Hoehe zurueck, die eine gezeichnete Zeile in
-        //! Pixeln benoetigt
+        //! Returns the scaled height needed by a drawn line in pixels
         DLLEXPORT int getZeilenHeight() const;
-        //! Ermittelt das Zeichen im Text, auf das die Maus zeigt
-        //! \param zTxt Der Text, auf den die Maus Zeigt
-        //! \param mausX Die X Position der Maus in Pixeln Relativ zur Position
-        //! des ersten Zeichens \param mausY Die Y Position der Maus in Pixeln
-        //! Relativ zur Position des ersten Zeichens
+        //! Determines the character in the text that the mouse points to
+        //! \param zTxt The text the mouse points to
+        //! \param mausX The X position of the mouse in pixels relative to the
+        //! position of the first character \param mausY The Y position of the
+        //! mouse in pixels relative to the position of the first character
         DLLEXPORT virtual int textPos(
             const char* txt, int mausX, int mausY) const;
     };
@@ -314,17 +297,17 @@ namespace Framework
         DLLEXPORT GravurTextRenderer();
         DLLEXPORT GravurTextRenderer(Schrift* schrift);
         DLLEXPORT virtual ~GravurTextRenderer();
-        //! Zeichnet einen Bestimmten Buchstaben mit einfaerbung auf ein Bild
-        //! Nutze (setPosition) und (setDrawSchriftGroesse) um die Position und
-        //! die Groesse zu veraendern \param x x position des ersten zeichens
-        //! \param y y position des ersten zeichens
-        //! \param txt Der Text, der gezeichnet werden soll
-        //! \param zRObj Das Bild, auf das gezeichnet werden soll
-        //! \param color Die Farbe, in der der Text gezeichnet werden soll
-        //! \param underlined 1, falls der Text unterstrichen sein soll
-        //! \param selected 1, falls das zeichen eingefaerbt sein soll
-        //! \param selectedBackgroundColor Die Hintergrund Farbe des
-        //! eingefaerbten Textes
+        //! Draws a specific character with coloring onto an image.
+        //! Use (setPosition) and (setDrawSchriftGroesse) to change position
+        //! and size \param x x position of the first character
+        //! \param y y position of the first character
+        //! \param txt The text to draw
+        //! \param zRObj The image to draw on
+        //! \param color The color in which the text should be drawn
+        //! \param underlined 1 if the text should be underlined
+        //! \param selected 1 if the character should be colored
+        //! \param selectedBackgroundColor The background color of the
+        //! colored text
         DLLEXPORT virtual void renderChar(int& x,
             int y,
             char c,
@@ -333,13 +316,13 @@ namespace Framework
             bool underlined = 0,
             bool selected = 0,
             int selectedBackgroundColor = 0) override;
-        //! Ermittelt, wie viele Pixel benoetigt werden, um einen Bestimmten
-        //! Buchstaben vollstaendig darzustellen \param c Der Buchstabe, von dem
-        //! die Breite in Pixeln ermitelt werden soll
+        //! Determines how many pixels are needed to fully display a specific
+        //! character \param c The character whose width in pixels should be
+        //! determined
         DLLEXPORT virtual int getCharWidth(const char c) const override;
-        //! Ermittelt, wie viele Pixel benoetigt werden, um einen Bestimmten Text
-        //! vollstaendig darzustellen \param c Der Buchstabe, von dem die Hoehe in
-        //! Pixeln ermitelt werden soll
+        //! Determines how many pixels are needed to fully display a specific
+        //! character \param c The character whose height in pixels should be
+        //! determined
         DLLEXPORT virtual int getCharHeight(const char c) const override;
     };
 
@@ -349,17 +332,17 @@ namespace Framework
         DLLEXPORT KursivTextRenderer();
         DLLEXPORT KursivTextRenderer(Schrift* schrift);
         DLLEXPORT virtual ~KursivTextRenderer();
-        //! Zeichnet einen Bestimmten Buchstaben mit einfaerbung auf ein Bild
-        //! Nutze (setPosition) und (setDrawSchriftGroesse) um die Position und
-        //! die Groesse zu veraendern \param x x position des ersten zeichens
-        //! \param y y position des ersten zeichens
-        //! \param txt Der Text, der gezeichnet werden soll
-        //! \param zRObj Das Bild, auf das gezeichnet werden soll
-        //! \param color Die Farbe, in der der Text gezeichnet werden soll
-        //! \param underlined 1, falls der Text unterstrichen sein soll
-        //! \param selected 1, falls das zeichen eingefaerbt sein soll
-        //! \param selectedBackgroundColor Die Hintergrund Farbe des
-        //! eingefaerbten Textes
+        //! Draws a specific character with coloring onto an image.
+        //! Use (setPosition) and (setDrawSchriftGroesse) to change position
+        //! and size \param x x position of the first character
+        //! \param y y position of the first character
+        //! \param txt The text to draw
+        //! \param zRObj The image to draw on
+        //! \param color The color in which the text should be drawn
+        //! \param underlined 1 if the text should be underlined
+        //! \param selected 1 if the character should be colored
+        //! \param selectedBackgroundColor The background color of the
+        //! colored text
         DLLEXPORT virtual void renderChar(int& x,
             int y,
             char c,
@@ -368,9 +351,9 @@ namespace Framework
             bool underlined = 0,
             bool selected = 0,
             int selectedBackgroundColor = 0) override;
-        //! Ermittelt, wie viele Pixel benoetigt werden, um einen Bestimmten
-        //! Buchstaben vollstaendig darzustellen \param c Der Buchstabe, von dem
-        //! die Breite in Pixeln ermitelt werden soll
+        //! Determines how many pixels are needed to fully display a specific
+        //! character \param c The character whose width in pixels should be
+        //! determined
         DLLEXPORT virtual int getCharWidth(const char c) const override;
     };
 } // namespace Framework

+ 65 - 72
Shader.h

@@ -25,7 +25,7 @@ namespace Framework
         PIXEL
     };
 
-    //! Eine Shader Klasse, die alle Constanten Buffers eines Shaders verwaltet
+    //! A Shader class that manages all constant buffers of a shader
     class Shader : public virtual ReferenceCounter
     {
     protected:
@@ -33,48 +33,45 @@ namespace Framework
         RCArray<DXBuffer>* constBuffers;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Shader();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~Shader();
-        //! Setzt den Compilierten Shader
-        //!  zD3d11Device: Das Device, mit welchem der Shader erstellt werden
-        //!  soll
-        //! \param bytes Die Bytes des compilierten codes
-        //! \param length die Laenge des bytearrays
-        //! \return true, wenn bytes gueltig ist, false sonst
+        //! Sets the compiled shader
+        //!  zD3d11Device: The device with which the shader should be created
+        //! \param bytes The bytes of the compiled code
+        //! \param length The length of the byte array
+        //! \return true if bytes is valid, false otherwise
         virtual bool setCompiledByteArray(unsigned char* bytes, int length) = 0;
-        //! 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 a pixel shader
+        //!  zD3d11Context: The context object with which the shader should
+        //!  be used
         virtual void benutzeShader() = 0;
-        //! 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
-        //! \param size Die groesse des buffers in byte
-        //! \param 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 with which the buffer should be created
+        //! \param size The size of the buffer in bytes
+        //! \param index The position of the buffer in the buffer array. An
+        //! existing buffer will be replaced. Buffer 1 cannot be created
+        //! if buffer 0 has not been created yet, etc.
         virtual bool erstelleConstBuffer(int size, int index) = 0;
-        //! Loescht einen constanten Buffer
-        //! \param 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
+        //! \param index The index of the buffer to delete. Buffer 0 cannot
+        //! be deleted while buffer 1 still exists, etc.
         DLLEXPORT bool removeConstBuffer(int index);
-        //! Kopiert daten in einen constanten buffer
-        //!  zD3d11Context: Das Context Objekt, das zum kopieren verwendt werden
-        //!  soll
-        //! \param data Einen zeiger auf en byte Array der groesse des Buffers
-        //! \param index Der Index des Buffers
-        //! \param len Die Laenge der Daten in Bytes (-1 fuer die maximale groesse
-        //! des Buffers)
+        //! Copies data into a constant buffer
+        //!  zD3d11Context: The context object to use for copying
+        //! \param data A pointer to a byte array of the buffer's size
+        //! \param index The index of the buffer
+        //! \param len The length of the data in bytes (-1 for the maximum
+        //! buffer size)
         DLLEXPORT bool fuellConstBuffer(char* data, int index, int len = -1);
-        //! Gibt die Laenge eines constanten Buffers zurueck
-        //! \param index Der Index des Buffers
+        //! Returns the length of a constant buffer
+        //! \param index The index of the buffer
         DLLEXPORT int getConstBufferLaenge(int index) const;
-        //! Gibt den Shadertyp zurueck
+        //! Returns the shader type
         DLLEXPORT ShaderType getType() const;
-        //! Gibt den index des ersten nicht initialisierten buffers zurueck
+        //! Returns the index of the first uninitialized buffer
         DLLEXPORT int getFirstUninitializedBufferIndex() const;
     };
 
@@ -88,45 +85,43 @@ namespace Framework
         DLLEXPORT DX11Shader(
             ID3D11Device* device, ID3D11DeviceContext* context);
         DLLEXPORT virtual ~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
-        //! \param size Die groesse des buffers in byte
-        //! \param 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 with which the buffer should be created
+        //! \param size The size of the buffer in bytes
+        //! \param index The position of the buffer in the buffer array. An
+        //! existing buffer will be replaced. Buffer 1 cannot be created
+        //! if buffer 0 has not been created yet, etc.
         DLLEXPORT virtual bool erstelleConstBuffer(
             int size, int index) override;
     };
 
-    //! Verwaltet einen Pixel Shader
+    //! Manages a pixel shader
     class DX11PixelShader : public DX11Shader
     {
     private:
         ID3D11PixelShader* pixelShader;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT DX11PixelShader(
             ID3D11Device* device, ID3D11DeviceContext* context);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~DX11PixelShader();
-        //! Setzt den Compilierten Shader
-        //!  zD3d11Device: Das Device, mit welchem der Shader erstellt werden
-        //!  soll
-        //! \param bytes Die Bytes des compilierten codes
-        //! \param length die Laenge des bytearrays
-        //! \return true, wenn bytes gueltig ist, false sonst
+        //! Sets the compiled shader
+        //!  zD3d11Device: The device with which the shader should be created
+        //! \param bytes The bytes of the compiled code
+        //! \param length The length of the byte array
+        //! \return true if bytes is valid, false otherwise
         DLLEXPORT bool setCompiledByteArray(
             unsigned char* bytes, int length) override;
-        //! 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 a pixel shader
+        //!  zD3d11Context: The context object with which the shader should
+        //!  be used
         DLLEXPORT void benutzeShader() override;
     };
 
-    //! Verwaltet einen Vertex Shader
+    //! Manages a vertex shader
     class DX11VertexShader : public DX11Shader
     {
     private:
@@ -136,30 +131,28 @@ namespace Framework
         int byteBufferSize;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT DX11VertexShader(
             ID3D11Device* device, ID3D11DeviceContext* context);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~DX11VertexShader();
-        //! Setzt den Compilierten Shader
-        //!  zD3d11Device: Das Device, mit welchem der Shader erstellt werden
-        //!  soll
-        //! \param bytes Die Bytes des compilierten codes
-        //! \param length die Laenge des bytearrays
-        //! \return true, wenn bytes gueltig ist, false sonst
+        //! Sets the compiled shader
+        //!  zD3d11Device: The device with which the shader should be created
+        //! \param bytes The bytes of the compiled code
+        //! \param length The length of the byte array
+        //! \return true if bytes is valid, false otherwise
         DLLEXPORT bool setCompiledByteArray(
             unsigned char* bytes, int length) override;
-        //! erstellt ein InputLayout fuer den Shader
-        //! Darf erst nach compile aufgerufen werden
-        //!  zD3d11Device: Das Device, mit dem das Layout erstellt werden soll
-        //! \param descArray Ein Array mit initialisierungsdaten
-        //! \param anz Die Anzahl der Elemente im Array
+        //! Creates an input layout for the shader.
+        //! May only be called after compile.
+        //!  zD3d11Device: The device with which the layout should be created
+        //! \param descArray An array with initialization data
+        //! \param anz The number of elements in the array
         DLLEXPORT bool erstelleInputLayout(
             D3D11_INPUT_ELEMENT_DESC* descArray, int anz);
-        //! 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 a vertex shader
+        //!  zD3d11Context: The context object with which the shader should
+        //!  be used
         DLLEXPORT void benutzeShader() override;
     };
 } // namespace Framework

+ 5 - 5
Slider.h

@@ -1,4 +1,4 @@
-#pragma once
+#pragma once
 
 #include "Zeichnung.h"
 
@@ -14,11 +14,11 @@ namespace Framework
         DLLEXPORT ~Slider();
         DLLEXPORT void setValue(float value);
         DLLEXPORT float getValue() const;
-        //! Verarbeitet ein Maus Ereignis. Wird vom Framework automatisch
-        //! aufgerufen. \param me Das Ereignis
+        //! Processes a mouse event. Called automatically by the framework.
+        //! \param me The event
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
-        //! Zeichnet die Zeihnung in ein bestimmtes Bild
-        //! \param zRObj Das Bild, in das gezeichnet werden soll
+        //! Draws the drawing into a specific image
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
     };
 } // namespace Framework

+ 479 - 534
Tabelle.h

@@ -11,81 +11,69 @@ namespace Framework
     class VScrollBar; //! Scroll.h
     class HScrollBar; //! Scroll.h
     class Text;       //! Text.h
-    class ObjTabelle; //! aus dieser Datei
+    class ObjTabelle; //! from this file
 
-    //! Verwaltet eine Tabelle aus Zeichnungen
+    //! Manages a table of drawings
     class ObjTabelle : public ZeichnungHintergrund
     {
     public:
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Benutzer die Spalten mit der Maus vergroessern
-            //! und verkleinern
+            //! If this flag is set, the user can resize the columns
+            //! with the mouse
             static const __int64 SpaltenBreiteChangeable = 0x00001000;
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Benutzer die Spalten mit der Maus vergroessern
-            //! und verkleinern
+            //! If this flag is set, the user can resize the rows
+            //! with the mouse
             static const __int64 ZeilenHeightChangeable = 0x00002000;
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Nutzer trotz des Flags SpaltenBreiteAEnderbar
-            //! die Spaltenbreite nicht kleiner machen als
-            //! eine bestimmte Grenze
+            //! If this flag is set, the user cannot make the column
+            //! width smaller than a certain limit despite the
+            //! SpaltenBreiteChangeable flag
             static const __int64 SpaltenBreiteMin = 0x00004000;
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Nutzer trotz des Flags SpaltenBreiteAEnderbar
-            //! die Spaltenbreite nicht groesser machen als eine
-            //! bestimmte Grenze
+            //! If this flag is set, the user cannot make the column
+            //! width larger than a certain limit despite the
+            //! SpaltenBreiteChangeable flag
             static const __int64 SpaltenBreiteMax = 0x00008000;
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Nutzer trotz des Flags ZeilenHoeheAEnderbar die
-            //! Zeilenhoehe nicht kleiner machen als eine
-            //! bestimmte Grenze
+            //! If this flag is set, the user cannot make the row
+            //! height smaller than a certain limit despite the
+            //! ZeilenHeightChangeable flag
             static const __int64 ZeilenHeightMin = 0x00010000;
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Nutzer trotz des Flags ZeilenHoeheAEnderbar die
-            //! Zeilenhoehe nicht groesser machen als eine
-            //! bestimmte Grenze
+            //! If this flag is set, the user cannot make the row
+            //! height larger than a certain limit despite the
+            //! ZeilenHeightChangeable flag
             static const __int64 ZeilenHeightMax = 0x00020000;
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Nutzer die Reihenfolge der Spalten bestimmen,
-            //! in dem er sie per Drag and Drop verschiebt
+            //! If this flag is set, the user can reorder the columns
+            //! by dragging and dropping them
             static const __int64 SpaltenBeweglich = 0x00040000;
-            //! Wenn dieser Flag gesetzt wird, so kann der
-            //! Nutzer die Reihenfolge der Zeilen bestimmen,
-            //! in dem er sie per Drag and Drop verschiebt
+            //! If this flag is set, the user can reorder the rows
+            //! by dragging and dropping them
             static const __int64 ZeilenBeweglich = 0x00800000;
-            //! Wenn dieser Flag gesetzt ist, so bekommt das
-            //! Feld, dass der Benutzer durch den Flag Erlaubt
-            //! auswaehlen kann einen anderen Rahmen
+            //! If this flag is set, the field that the user can select
+            //! with the Erlaubt flag gets a different border
             static const __int64 AuswahlRahmen = 0x0080000;
-            //! Wenn dieser Flag gesetzt ist, so bekommt das
-            //! Feld, dass der Benutzer durch den Flag Erlaubt
-            //! auswaehlen kann ein anderes AlphaFeld
+            //! If this flag is set, the field that the user can select
+            //! with the Erlaubt flag gets a different AlphaFeld
             static const __int64 AuswahlBuffer = 0x00100000;
-            //! Wenn dieser Flag gesetzt ist, so kann jedes
-            //! Feld andere Rahmen und AlphaFelder beim
-            //! Auswaehlen haben.
+            //! If this flag is set, each field can have different
+            //! borders and AlphaFelds when selected
             static const __int64 AuswahlMultistyled = 0x00200000;
-            //! Wenn dieser Flag gesetzt ist, so werden
-            //! zwischen den Feldern Linien gezeichnet
+            //! If this flag is set, lines are drawn between the fields
             static const __int64 Raster = 0x00400000;
 
-            //! Vereint die Flags: SpaltenBreiteAEnderbar,
-            //! ZeilenHoeheAEnderbar, SpaltenBeweglich,
+            //! Combines the flags: SpaltenBreiteChangeable,
+            //! ZeilenHeightChangeable, SpaltenBeweglich,
             //! ZeilenBeweglich
             static const __int64 beweglich = SpaltenBreiteChangeable
                                            | ZeilenHeightChangeable
                                            | SpaltenBeweglich | ZeilenBeweglich;
-            //! Vereint die Flags: SpaltenBreiteMax,
-            //! SpaltenBreiteMin, ZeilenHoeheMax,
-            //! ZeilenHoeheMax
+            //! Combines the flags: SpaltenBreiteMax,
+            //! SpaltenBreiteMin, ZeilenHeightMax,
+            //! ZeilenHeightMax
             static const __int64 min_max = SpaltenBreiteMax | SpaltenBreiteMin
                                          | ZeilenHeightMax | ZeilenHeightMax;
-            //! Vereint die Flags: VScroll, HScroll
+            //! Combines the flags: VScroll, HScroll
             static const __int64 scroll = VScroll | HScroll;
-            //! Vereint die Flags: Rahmen, Erlaubt,
+            //! Combines the flags: Rahmen, Erlaubt,
             //! Sichtbar, SpaltenBeweglich,
             //! AuswahlBuffer, AuswahlRahmen, Raster
             static const __int64 normal
@@ -117,691 +105,648 @@ namespace Framework
         RCArray<RCArray<Rahmen>>* msaRam;
         RCArray<RCArray<AlphaFeld>>* msaAf;
         RCArray<Array<__int64>>* styles;
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT ObjTabelle();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~ObjTabelle();
-        //! Fuegt der Tabelle eine Spalte hinzu
-        //! \param name Der Name der Spalte
+        //! Adds a column to the table
+        //! \param name The name of the column
         DLLEXPORT void addSpalte(const char* name);
-        //! Fuegt der Tabelle eine Spalte hinzu
-        //! \param name Der Name der Spalte
+        //! Adds a column to the table
+        //! \param name The name of the column
         DLLEXPORT void addSpalte(Text* name);
-        //! Fuegt der Tabelle an einer bestimmten Position eine Spalte hinzu
-        //! \param sNum Der Index der neuen Spalte
-        //! \param name Der Name der neuen Spalte
+        //! Adds a column to the table at a specific position
+        //! \param sNum The index of the new column
+        //! \param name The name of the new column
         DLLEXPORT void addSpalte(int sNum, const char* name);
-        //! Fuegt der Tabelle an einer bestimmten Position eine Spalte hinzu
-        //! \param sNum Der Index der neuen Spalte
-        //! \param name Der Name der neuen Spalte
+        //! Adds a column to the table at a specific position
+        //! \param sNum The index of the new column
+        //! \param name The name of the new column
         DLLEXPORT void addSpalte(int sNum, Text* name);
-        //! Fuegt der Tabelle eine Zeile hinzu
-        //! \param name Der Name der Zeile
+        //! Adds a row to the table
+        //! \param name The name of the row
         DLLEXPORT void addZeile(const char* name);
-        //! Fuegt der Tabelle eine Zeile hinzu
-        //! \param name Der Name der Zeile
+        //! Adds a row to the table
+        //! \param name The name of the row
         DLLEXPORT void addZeile(Text* name);
-        //! Fuegt der Tabelle an einer bestimmten Position eine Zeile hinzu
-        //! \param zNum Der Index der neuen Zeile
-        //! \param name Der Name der neuen Zeile
+        //! Adds a row to the table at a specific position
+        //! \param zNum The index of the new row
+        //! \param name The name of the new row
         DLLEXPORT void addZeile(int zNum, const char* name);
-        //! Fuegt der Tabelle an einer bestimmten Position eine Zeile hinzu
-        //! \param sNum Der Index der neuen Zeile
-        //! \param name Der Name der neuen Zeile
+        //! Adds a row to the table at a specific position
+        //! \param sNum The index of the new row
+        //! \param name The name of the new row
         DLLEXPORT void addZeile(int zNum, Text* name);
-        //! Entfernt eine Spalte
-        //! \param sNum Der Index der Spalte
+        //! Removes a column
+        //! \param sNum The index of the column
         DLLEXPORT void removeSpalte(int sNum);
-        //! Entfernt eine Spalte
-        //! \param name Der Name der Spalte
+        //! Removes a column
+        //! \param name The name of the column
         DLLEXPORT void removeSpalte(const char* name);
-        //! Entfernt eine Spalte
-        //! \param name Der Name der Spalte
+        //! Removes a column
+        //! \param name The name of the column
         DLLEXPORT void removeSpalte(Text* name);
-        //! Entfernt eine Zeile
-        //! \param zNum Der Index der Zeile
+        //! Removes a row
+        //! \param zNum The index of the row
         DLLEXPORT void removeZeile(int zNum);
-        //! Entfernt eine Zeile
-        //! \param name Der Name der Zeile
+        //! Removes a row
+        //! \param name The name of the row
         DLLEXPORT void removeZeile(const char* name);
-        //! Entfernt eine Zeile
-        //! \param name Der Name der Zeile
+        //! Removes a row
+        //! \param name The name of the row
         DLLEXPORT void removeZeile(Text* name);
-        //! Setzt den Index einer Spalte
-        //! \param name Der Name der Spalte
-        //! \param pos Der neue Index der Spalte
+        //! Sets the index of a column
+        //! \param name The name of the column
+        //! \param pos The new index of the column
         DLLEXPORT void setSpaltePosition(const char* name, int pos);
-        //! Setzt den Index einer Spalte
-        //! \param name Der Name der Spalte
-        //! \param pos Der neue Index der Spalte
+        //! Sets the index of a column
+        //! \param name The name of the column
+        //! \param pos The new index of the column
         DLLEXPORT void setSpaltePosition(Text* name, int pos);
-        //! Setzt den Index einer Spalte
-        //! \param sNum Der alte Index der Spalte
-        //! \param pos Der neue Index der Spalte
+        //! Sets the index of a column
+        //! \param sNum The old index of the column
+        //! \param pos The new index of the column
         DLLEXPORT void setSpaltePosition(int sNum, int pos);
-        //! Setzt den Index einer Zeile
-        //! \param name Der Name der Zeile
-        //! \param pos Der neue Index der Zeile
+        //! Sets the index of a row
+        //! \param name The name of the row
+        //! \param pos The new index of the row
         DLLEXPORT void setZeilePosition(const char* name, int pos);
-        //! Setzt den Index einer Zeile
-        //! \param name Der Name der Zeile
-        //! \param pos Der neue Index der Zeile
+        //! Sets the index of a row
+        //! \param name The name of the row
+        //! \param pos The new index of the row
         DLLEXPORT void setZeilePosition(Text* name, int pos);
-        //! Setzt den Index einer Zeile
-        //! \param zNum Der alte Index der Zeile
-        //! \param pos Der neue Index der Zeile
+        //! Sets the index of a row
+        //! \param zNum The old index of the row
+        //! \param pos The new index of the row
         DLLEXPORT void setZeilePosition(int zNum, int pos);
-        //! Setzt ein Zeichnung, welches in einem Bestimmten Feld sein soll
-        //! Wenn bereits ein Zeichnung in dem Feld ist, wird es ueberschrieben.
-        //! \param sNum Der Index der Spalte, in der das Zeichnung stehen soll
-        //! \param zNum Der Index der Zeile, in der das Zeichnung stehen soll
-        //! \param obj Das Zeichnung welches in dem Feld sein soll
+        //! Sets a drawing to be placed in a specific cell.
+        //! If a drawing already exists in the cell, it will be overwritten.
+        //! \param sNum The index of the column
+        //! \param zNum The index of the row
+        //! \param obj The drawing to place in the cell
         DLLEXPORT void setZeichnungZ(int sNum, int zNum, Zeichnung* obj);
-        //! Setzt ein Zeichnung, welches in einem Bestimmten Feld sein soll
-        //! Wenn bereits ein Zeichnung in dem Feld ist, wird es ueberschrieben.
-        //! \param spaltenName Der Name der Spalte, in der das Zeichnung stehen
-        //! soll \param zeilenName Der Name der Zeile, in der das Zeichnung
-        //! stehen soll \param obj Das Zeichnung welches in dem Feld sein soll
+        //! Sets a drawing to be placed in a specific cell.
+        //! If a drawing already exists in the cell, it will be overwritten.
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
+        //! \param obj The drawing to place in the cell
         DLLEXPORT void setZeichnungZ(
             const char* spaltenName, const char* zeilenName, Zeichnung* obj);
-        //! Setzt ein Zeichnung, welches in einem Bestimmten Feld sein soll
-        //! Wenn bereits ein Zeichnung in dem Feld ist, wird es ueberschrieben.
-        //! \param spaltenName Der Name der Spalte, in der das Zeichnung stehen
-        //! soll \param zeilenName Der Name der Zeile, in der das Zeichnung
-        //! stehen soll \param obj Das Zeichnung welches in dem Feld sein soll
+        //! Sets a drawing to be placed in a specific cell.
+        //! If a drawing already exists in the cell, it will be overwritten.
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
+        //! \param obj The drawing to place in the cell
         DLLEXPORT void setZeichnungZ(
             Text* spaltenName, Text* zeilenName, Zeichnung* obj);
-        //! Setzt die Spalten Breite
-        //! \param sNum Der Index der Spalte
-        //! \param br Die Breite in Pixeln
+        //! Sets the column width
+        //! \param sNum The index of the column
+        //! \param br The width in pixels
         DLLEXPORT void setSpaltenBreite(int sNum, int br);
-        //! Setzt die Spalten Breite
-        //! \param name Der Name der Spalte
-        //! \param br Die Breite in Pixeln
+        //! Sets the column width
+        //! \param name The name of the column
+        //! \param br The width in pixels
         DLLEXPORT void setSpaltenBreite(const char* name, int br);
-        //! Setzt die Spalten Breite
-        //! \param name Der Name der Spalte
-        //! \param br Die Breite in Pixeln
+        //! Sets the column width
+        //! \param name The name of the column
+        //! \param br The width in pixels
         DLLEXPORT void setSpaltenBreite(Text* name, int br);
-        //! Setzt die Zeilen Hoehe
-        //! \param zNum Der Index der Zeile
-        //! \param hi Die Hoehe in Pixeln
+        //! Sets the row height
+        //! \param zNum The index of the row
+        //! \param hi The height in pixels
         DLLEXPORT void setZeilenHeight(int zNum, int hi);
-        //! Setzt die Zeilen Hoehe
-        //! \param name Der Index der Zeile
-        //! \param hi Die Hoehe in Pixeln
+        //! Sets the row height
+        //! \param name The name of the row
+        //! \param hi The height in pixels
         DLLEXPORT void setZeilenHeight(const char* name, int hi);
-        //! Setzt die Zeilen Hoehe
-        //! \param name Der Index der Zeile
-        //! \param hi Die Hoehe in Pixeln
+        //! Sets the row height
+        //! \param name The name of the row
+        //! \param hi The height in pixels
         DLLEXPORT void setZeilenHeight(Text* name, int hi);
-        //! Setzt die minimale Spalten Breite (benoetigt Flag:
-        //! SpaltenBreiteAEnderbar, SpaltenBreiteMin) \param sNum Der Index der
-        //! Spalte \param minBr Die minimale Breite in Pixeln
+        //! Sets the minimum column width (requires flags:
+        //! SpaltenBreiteChangeable, SpaltenBreiteMin) \param sNum The index of
+        //! the column \param minBr The minimum width in pixels
         DLLEXPORT void setMinSpaltenBreite(int sNum, int minBr);
-        //! Setzt die minimale Spalten Breite (benoetigt Flag:
-        //! SpaltenBreiteAEnderbar, SpaltenBreiteMin) \param name Der Name der
-        //! Spalte \param minBr Die minimale Breite in Pixeln
+        //! Sets the minimum column width (requires flags:
+        //! SpaltenBreiteChangeable, SpaltenBreiteMin) \param name The name of
+        //! the column \param minBr The minimum width in pixels
         DLLEXPORT void setMinSpaltenBreite(const char* name, int minBr);
-        //! Setzt die minimale Spalten Breite (benoetigt Flag:
-        //! SpaltenBreiteAEnderbar, SpaltenBreiteMin) \param name Der Name der
-        //! Spalte \param minBr Die minimale Breite in Pixeln
+        //! Sets the minimum column width (requires flags:
+        //! SpaltenBreiteChangeable, SpaltenBreiteMin) \param name The name of
+        //! the column \param minBr The minimum width in pixels
         DLLEXPORT void setMinSpaltenBreite(Text* name, int minBr);
-        //! Setzt die maximale Spalten Breite (benoetigt Flag:
-        //! SpaltenBreiteAEnderbar, SpaltenBreiteMax) \param sNum Der Index der
-        //! Spalte \param maxBr Die maximale Breite in Pixeln
+        //! Sets the maximum column width (requires flags:
+        //! SpaltenBreiteChangeable, SpaltenBreiteMax) \param sNum The index of
+        //! the column \param maxBr The maximum width in pixels
         DLLEXPORT void setMaxSpaltenBreite(int sNum, int maxBr);
-        //! Setzt die maximale Spalten Breite (benoetigt Flag:
-        //! SpaltenBreiteAEnderbar, SpaltenBreiteMax) \param name Der Name der
-        //! Spalte \param maxBr Die maximale Breite in Pixeln
+        //! Sets the maximum column width (requires flags:
+        //! SpaltenBreiteChangeable, SpaltenBreiteMax) \param name The name of
+        //! the column \param maxBr The maximum width in pixels
         DLLEXPORT void setMaxSpaltenBreite(const char* name, int maxBr);
-        //! Setzt die maximale Spalten Breite (benoetigt Flag:
-        //! SpaltenBreiteAEnderbar, SpaltenBreiteMax) \param name Der Name der
-        //! Spalte \param maxBr Die maximale Breite in Pixeln
+        //! Sets the maximum column width (requires flags:
+        //! SpaltenBreiteChangeable, SpaltenBreiteMax) \param name The name of
+        //! the column \param maxBr The maximum width in pixels
         DLLEXPORT void setMaxSpaltenBreite(Text* name, int maxBr);
-        //! Setzt die minimale Zeilen Hoehe (benoetigt Flag: ZeilenHoeheAEnderbar,
-        //! ZeienHoeheMin) \param zNum Der Index der Zeile \param minHi Die
-        //! minimale Hoehe in Pixeln
+        //! Sets the minimum row height (requires flags:
+        //! ZeilenHeightChangeable, ZeilenHeightMin) \param zNum The index of
+        //! the row \param minHi The minimum height in pixels
         DLLEXPORT void setMinZeilenHeight(int zNum, int minHi);
-        //! Setzt die minimale Zeilen Hoehe (benoetigt Flag: ZeilenHoeheAEnderbar,
-        //! ZeienHoeheMin) \param name Der Name der Zeile \param minHi Die
-        //! minimale Hoehe in Pixeln
+        //! Sets the minimum row height (requires flags:
+        //! ZeilenHeightChangeable, ZeilenHeightMin) \param name The name of
+        //! the row \param minHi The minimum height in pixels
         DLLEXPORT void setMinZeilenHeight(const char* name, int minHi);
-        //! Setzt die minimale Zeilen Hoehe (benoetigt Flag: ZeilenHoeheAEnderbar,
-        //! ZeienHoeheMin) \param name Der Name der Zeile \param minHi Die
-        //! minimale Hoehe in Pixeln
+        //! Sets the minimum row height (requires flags:
+        //! ZeilenHeightChangeable, ZeilenHeightMin) \param name The name of
+        //! the row \param minHi The minimum height in pixels
         DLLEXPORT void setMinZeilenHeight(Text* name, int minHi);
-        //! Setzt die maximale Zeilen Hoehe (benoetigt Flag: ZeilenHoeheAEnderbar,
-        //! ZeienHoeheMax) \param zNum Der Index der Zeile \param maxHi Die
-        //! maximale Hoehe in Pixeln
+        //! Sets the maximum row height (requires flags:
+        //! ZeilenHeightChangeable, ZeilenHeightMax) \param zNum The index of
+        //! the row \param maxHi The maximum height in pixels
         DLLEXPORT void setMaxZeilenHeight(int zNum, int maxHi);
-        //! Setzt die maximale Zeilen Hoehe (benoetigt Flag: ZeilenHoeheAEnderbar,
-        //! ZeienHoeheMax) \param name Der Name der Zeile \param maxHi Die
-        //! maximale Hoehe in Pixeln
+        //! Sets the maximum row height (requires flags:
+        //! ZeilenHeightChangeable, ZeilenHeightMax) \param name The name of
+        //! the row \param maxHi The maximum height in pixels
         DLLEXPORT void setMaxZeilenHeight(const char* name, int maxHi);
-        //! Setzt die maximale Zeilen Hoehe (benoetigt Flag: ZeilenHoeheAEnderbar,
-        //! ZeienHoeheMax) \param name Der Name der Zeile \param maxHi Die
-        //! maximale Hoehe in Pixeln
+        //! Sets the maximum row height (requires flags:
+        //! ZeilenHeightChangeable, ZeilenHeightMax) \param name The name of
+        //! the row \param maxHi The maximum height in pixels
         DLLEXPORT void setMaxZeilenHeight(Text* name, int maxHi);
-        //! Legt fest, welches Feld ausgewaehlt ist (benoetigt Flag: Erlaubt)
-        //! \param sNum Der Index der Spalte des Feldes
-        //! \param zNum Der Index der Zeile des Feldes
+        //! Sets which cell is selected (requires flag: Erlaubt)
+        //! \param sNum The index of the column
+        //! \param zNum The index of the row
         DLLEXPORT void setAuswahl(int sNum, int zNum);
-        //! Legt fest, welches Feld ausgewaehlt ist (benoetigt Flag: Erlaubt)
-        //! \param spaltenName Der Name der Spalte des Feldes
-        //! \param zeilenName Der Name der Zeile des Feldes
+        //! Sets which cell is selected (requires flag: Erlaubt)
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT void setAuswahl(
             const char* spaltenName, const char* zeilenName);
-        //! Legt fest, welches Feld ausgewaehlt ist (benoetigt Flag: Erlaubt)
-        //! \param spaltenName Der Name der Spalte des Feldes
-        //! \param zeilenName Der Name der Zeile des Feldes
+        //! Sets which cell is selected (requires flag: Erlaubt)
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT void setAuswahl(Text* spaltenName, Text* zeilenName);
-        //! Setzt dei Farbe des zwischen den Kaestchen angezeigten Rasters
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the grid displayed between cells
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setRasterFarbe(int f);
-        //! Setzt due Breite des zwischen den Kaestchen angezeigten Raseter
-        //! \param br Die Breite in Pixeln
+        //! Sets the width of the grid displayed between cells
+        //! \param br The width in pixels
         DLLEXPORT void setRasterBreite(int br);
-        //! Setzte den Zeiger auf einen Rahmen, der um das ausgewaehlte Kaestchen
-        //! gezeichnet wird \param ram Der Rahmen
+        //! Sets a pointer to the border drawn around the selected cell
+        //! \param ram The border
         DLLEXPORT void setARahmenZ(Rahmen* ram);
-        //! Setzt die farbe des Rahmens, der um das ausgewaehlte Kaestchen
-        //! gezeichnet wird \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the border drawn around the selected cell
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setARFarbe(int f);
-        //! Setzt die Breite des Rahmens, der um das ausgewaehlte Kaestchen
-        //! gezeichnet wird \param br Die Breite in Pixeln
+        //! Sets the width of the border drawn around the selected cell
+        //! \param br The width in pixels
         DLLEXPORT void setARBreite(int br);
-        //! Setzt einen Zeiger auf das AlphaFeld, das fuer das ausgewaehlte
-        //! Kaestchen verwendet wird \param af Das AlphaFeld
+        //! Sets a pointer to the AlphaFeld used for the selected cell
+        //! \param af The AlphaFeld
         DLLEXPORT void setAAlphaFeldZ(AlphaFeld* af);
-        //! Setzt die Farbe des AlphaFeldes, das fuer das ausgewaehlte Kaestchen
-        //! verwendet wird \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the AlphaFeld used for the selected cell
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setAAfFarbe(int f);
-        //! Setzt die Staerke des AlphaFeldes, das fuer das ausgewaehlte Kaestchen
-        //! verwendet wird \param st Die Staerke
+        //! Sets the strength of the AlphaFeld used for the selected cell
+        //! \param st The strength
         DLLEXPORT void setAAfStrength(int st);
-        //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param sNum Der Index der Spalte des Kaestchens \param
-        //! zNum Der Index der Zeile des Kaestchens \param ram Der Rahmen
+        //! Sets a pointer to a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param ram The border
         DLLEXPORT void setARahmenZ(int sNum, int zNum, Rahmen* ram);
-        //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param ram Der Rahmen
+        //! Sets a pointer to a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row
+        //! \param ram The border
         DLLEXPORT void setARahmenZ(
             const char* spaltenName, const char* zeilenName, Rahmen* ram);
-        //! Setzt einen Zeiger auf einen Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param ram Der Rahmen
+        //! Sets a pointer to a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row
+        //! \param ram The border
         DLLEXPORT void setARahmenZ(
             Text* spaltenName, Text* zeilenName, Rahmen* ram);
-        //! Setzt die Farbe von einem Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param sNum Der Index der Spalte des Kaestchens \param
-        //! zNum Der Index der Zeile des Kaestchens \param f Die Farbe im
-        //! A8R8G8B8 Format
+        //! Sets the color of a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param f The color in A8R8G8B8
+        //! format
         DLLEXPORT void setARFarbe(int sNum, int zNum, int f);
-        //! Setzt die Farbe von einem Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setARFarbe(
             const char* spaltenName, const char* zeilenName, int f);
-        //! Setzt die Farbe von einem Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setARFarbe(Text* spaltenName, Text* zeilenName, int f);
-        //! Setzt die Breite von einem Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param sNum Der Index der Spalte des Kaestchens \param
-        //! zNum Der Index der Zeile des Kaestchens \param br Die Breite in
-        //! Pixeln
+        //! Sets the width of a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param br The width in pixels
         DLLEXPORT void setARBreite(int sNum, int zNum, int br);
-        //! Setzt die Breite von einem Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param br Die Breite in Pixeln
+        //! Sets the width of a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row
+        //! \param br The width in pixels
         DLLEXPORT void setARBreite(
             const char* spaltenName, const char* zeilenName, int br);
-        //! Setzt die Breite von einem Rahmen, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param br Die Breite in Pixeln
+        //! Sets the width of a border used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row
+        //! \param br The width in pixels
         DLLEXPORT void setARBreite(Text* spaltenName, Text* zeilenName, int br);
-        //! Setzt den Farbueergang, der bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte wird \param sNum Der
-        //! Index der Spalte des Kaestchens \param zNum Der Index der Zeile des
-        //! Kaestchens \param af Der Farbuebergang
+        //! Sets the color gradient used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param af The color gradient
         DLLEXPORT void setAAlphaFeldZ(int sNum, int zNum, AlphaFeld* af);
-        //! Setzt den Farbueergang, der bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte wird \param spaltenName
-        //! Der Name der Spalte des Kaestchens \param zeilenName Der Name der
-        //! Zeile des Kaestchens \param af Der Farbuebergang
+        //! Sets the color gradient used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row \param af The color
+        //! gradient
         DLLEXPORT void setAAlphaFeldZ(
             const char* spaltenName, const char* zeilenName, AlphaFeld* af);
-        //! Setzt den Farbueergang, der bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte wird \param spaltenName
-        //! Der Name der Spalte des Kaestchens \param zeilenName Der Name der
-        //! Zeile des Kaestchens \param af Der Farbuebergang
+        //! Sets the color gradient used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row \param af The color
+        //! gradient
         DLLEXPORT void setAAlphaFeldZ(
             Text* spaltenName, Text* zeilenName, AlphaFeld* af);
-        //! Setzt die Farbe des Farbueergangs, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param sNum Der Index der Spalte des Kaestchens \param
-        //! zNum Der Index der Zeile des Kaestchens \param f Die Farbe im
-        //! A8R8G8B8 Format
+        //! Sets the color of the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param sNum The index of the column \param zNum The index of the
+        //! row \param f The color in A8R8G8B8 format
         DLLEXPORT void setAAfFarbe(int sNum, int zNum, int f);
-        //! Setzt die Farbe des Farbueergangs, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setAAfFarbe(
             const char* spaltenName, const char* zeilenName, int f);
-        //! Setzt die Farbe des Farbueergangs, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param f Die Farbe im A8R8G8B8 Format
+        //! Sets the color of the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
+        //! \param f The color in A8R8G8B8 format
         DLLEXPORT void setAAfFarbe(Text* spaltenName, Text* zeilenName, int f);
-        //! Setzt die Staerke des Farbueergangs, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param sNum Der Index der Spalte des Kaestchens \param
-        //! zNum Der Index der Zeile des Kaestchens \param st Die Staerke
+        //! Sets the strength of the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param sNum The index of the column \param zNum The index of the
+        //! row \param st The strength
         DLLEXPORT void setAAfStrength(int sNum, int zNum, int st);
-        //! Setzt die Staerke des Farbueergangs, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param st Die Staerke
+        //! Sets the strength of the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
+        //! \param st The strength
         DLLEXPORT void setAAfStrength(
             const char* spaltenName, const char* zeilenName, int st);
-        //! Setzt die Staerke des Farbueergangs, der bei dem Flag
-        //! AuswahlMultistyled bei der Auswahl eines bestimmten Kaestchens
-        //! verwendte wird \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
-        //! \param st Die Staerke
+        //! Sets the strength of the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
+        //! \param st The strength
         DLLEXPORT void setAAfStrength(
             Text* spaltenName, Text* zeilenName, int st);
-        //! Fuegt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param sNum Der
-        //! Index der Spalte des Kaestchens \param zNum Der Index der Zeile des
-        //! Kaestchens \param style der Style, der hinzugefuegt werden soll
+        //! Adds styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param style The style to add
         DLLEXPORT void addMsStyle(int sNum, int zNum, __int64 style);
-        //! Fuegt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der hinzugefuegt
-        //! werden soll
+        //! Adds styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style to add
         DLLEXPORT void addMsStyle(
             const char* spaltenName, const char* zeilenName, __int64 style);
-        //! Fuegt Styles hinzu, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der hinzugefuegt
-        //! werden soll
+        //! Adds styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style to add
         DLLEXPORT void addMsStyle(
             Text* spaltenName, Text* zeilenName, __int64 style);
-        //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param sNum Der
-        //! Index der Spalte des Kaestchens \param zNum Der Index der Zeile des
-        //! Kaestchens \param style der Style, der verwendet werden soll
+        //! Sets the styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param style The style to use
         DLLEXPORT void setMsStyle(int sNum, int zNum, __int64 style);
-        //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der verwendet
-        //! werden soll
+        //! Sets the styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style to use
         DLLEXPORT void setMsStyle(
             const char* spaltenName, const char* zeilenName, __int64 style);
-        //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der verwendet
-        //! werden soll
+        //! Sets the styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style to use
         DLLEXPORT void setMsStyle(
             Text* spaltenName, Text* zeilenName, __int64 style);
-        //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param sNum Der
-        //! Index der Spalte des Kaestchens \param zNum Der Index der Zeile des
-        //! Kaestchens \param style der Style, der verwendet werden soll
-        //!  add_remove: 1, falls die uebergebenen Styles hinzugefuegt werden
-        //!  sollen. 0, fals sie entfernt werden sollen
+        //! Sets the styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param style The style to use
+        //!  add_remove: 1 if the given styles should be added.
+        //!  0 if they should be removed
         DLLEXPORT void setMsStyle(
             int sNum, int zNum, __int64 style, bool add_remove);
-        //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der verwendet
-        //! werden soll
-        //!  add_remove: 1, falls die uebergebenen Styles hinzugefuegt werden
-        //!  sollen. 0, fals sie entfernt werden sollen
+        //! Sets the styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style to use
+        //!  add_remove: 1 if the given styles should be added.
+        //!  0 if they should be removed
         DLLEXPORT void setMsStyle(const char* spaltenName,
             const char* zeilenName,
             __int64 style,
             bool add_remove);
-        //! Setzt die Styles, die bei dem Flag AuswahlMultistyled bei der
-        //! Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der verwendet
-        //! werden soll
-        //!  add_remove: 1, falls die uebergebenen Styles hinzugefuegt werden
-        //!  sollen. 0, fals sie entfernt werden sollen
+        //! Sets the styles used with the AuswahlMultistyled flag when selecting
+        //! a specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style to use
+        //!  add_remove: 1 if the given styles should be added.
+        //!  0 if they should be removed
         DLLEXPORT void setMsStyle(Text* spaltenName,
             Text* zeilenName,
             __int64 style,
             bool add_remove);
-        //! Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled
-        //! bei der Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! sNum Der Index der Spalte des Kaestchens \param zNum Der Index der
-        //! Zeile des Kaestchens \param style der Style, der entfernt werden soll
+        //! Removes styles from the styles used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param sNum The index of the column
+        //! \param zNum The index of the row \param style The style to remove
         DLLEXPORT void removeMsStyle(int sNum, int zNum, __int64 style);
-        //! Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled
-        //! bei der Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der entfernt
-        //! werden soll
+        //! Removes styles from the styles used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row \param style The style
+        //! to remove
         DLLEXPORT void removeMsStyle(
             const char* spaltenName, const char* zeilenName, __int64 style);
-        //! Entfernt Styles von den Styles, die bei dem Flag AuswahlMultistyled
-        //! bei der Auswahl eines bestimmten Kaestchens verwendte werden \param
-        //! spaltenName Der Name der Spalte des Kaestchens \param zeilenName Der
-        //! Name der Zeile des Kaestchens \param style der Style, der entfernt
-        //! werden soll
+        //! Removes styles from the styles used with the AuswahlMultistyled flag
+        //! when selecting a specific cell \param spaltenName The name of the
+        //! column \param zeilenName The name of the row \param style The style
+        //! to remove
         DLLEXPORT void removeMsStyle(
             Text* spaltenName, Text* zeilenName, __int64 style);
-        //! Aktualisiert das Objekt. Wird vom Framework aufgerufen
-        //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
-        //! dieser Funktion vergangen ist \return 1, wenn sich etwas veraendert
-        //! hat und das Bild neu gezeichnet werden muss. 0 sonst
+        //! Updates the object. Called by the framework
+        //! \param tickVal The time in seconds since the last call of this
+        //! function \return 1 if something changed and the image needs to be
+        //! redrawn. 0 otherwise
         DLLEXPORT bool tick(double tickVal) override;
-        //! Verarbeitet Tastatur Nachrichten
-        //! \param me Das Ereignis, was durch die Tastatureingabe ausgeloesst
-        //! wurde
+        //! Processes keyboard messages
+        //! \param me The event triggered by the keyboard input
         DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
-        //! Zeichnet das Objekt nach zRObj, falls er sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt die Anzahl der Spalten zurueck
+        //! Returns the number of columns
         DLLEXPORT int getSpaltenAnzahl() const;
-        //! Gibt die Anzahl der Zeilen zurueck
+        //! Returns the number of rows
         DLLEXPORT int getZeilenAnzahl() const;
-        //! Gibt den Index einer Spalte zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the index of a column
+        //! \param name The name of the column
         DLLEXPORT int getSpaltenNummer(const char* name) const;
-        //! Gibt den Index einer Spalte zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the index of a column
+        //! \param name The name of the column
         DLLEXPORT int getSpaltenNummer(Text* name) const;
-        //! Gibt den Namen einer Spalte zurueck
-        //! \param num Der Index der Splate
+        //! Returns the name of a column
+        //! \param num The index of the column
         DLLEXPORT Text* getSpaltenName(int num) const;
-        //! Gibt den Namen einer Spalte ohne erhoehten reference Counter zurueck
-        //! \param num Der Index der Splate
+        //! Returns the name of a column without increased reference counter
+        //! \param num The index of the column
         DLLEXPORT Text* zSpaltenName(int num) const;
-        //! Gibt den Index einer Zeile zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the index of a row
+        //! \param name The name of the row
         DLLEXPORT int getZeilenNummer(const char* name) const;
-        //! Gibt den Index einer Zeile zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the index of a row
+        //! \param name The name of the row
         DLLEXPORT int getZeilenNummer(Text* name) const;
-        //! Gibt den Namen einer Zeile zurueck
-        //! \param num Der Index der Zeile
+        //! Returns the name of a row
+        //! \param num The index of the row
         DLLEXPORT Text* getZeilenName(int num) const;
-        //! Gibt den Namen einer Zeile ohne erhoehten Reference Counter zurueck
-        //! \param num Der Index der Zeile
+        //! Returns the name of a row without increased reference counter
+        //! \param num The index of the row
         DLLEXPORT Text* zZeilenName(int num) const;
-        //! Sucht eine Zeichnung in der Tabelle und gibt den Index der Spalte
-        //! als x und den der Zeile als y zurueck. (-1, -1) falls das Objekt
-        //! nicht gefunden wurde \param zObj Die Zeichnung (ohne erhoehten
-        //! reference Counter)
+        //! Searches for a drawing in the table and returns the column index
+        //! as x and the row index as y. (-1, -1) if the object was not found
+        //! \param zObj The drawing (without increased reference counter)
         DLLEXPORT Punkt getZeichnungPosition(Zeichnung* zObj) const;
-        //! Gibt die Zeichnung zurueck, die in einem bestimmten Kaestchen der
-        //! Tabelle ist (ohne erhoehten reference Counter) \param sNum Der Index
-        //! der Spalte \param zNum Der Index der Zeile
+        //! Returns the drawing in a specific cell of the table
+        //! (without increased reference counter) \param sNum The index of
+        //! the column \param zNum The index of the row
         DLLEXPORT Zeichnung* zZeichnung(int sNum, int zNum) const;
-        //! Gibt die Zeichnung zurueck, die in einem bestimmten Kaestchen der
-        //! Tabelle ist (ohne erhoehten reference Counter) \param spaltenName Der
-        //! Name der Spalte des Kaestchens \param zeilenName Der Name der Zeile
-        //! des Kaestchens
+        //! Returns the drawing in a specific cell of the table
+        //! (without increased reference counter) \param spaltenName The name
+        //! of the column \param zeilenName The name of the row
         DLLEXPORT Zeichnung* zZeichnung(
             const char* spaltenName, const char* zeilenName) const;
-        //! Gibt die Zeichnung zurueck, die in einem bestimmten Kaestchen der
-        //! Tabelle ist (ohne erhoehten reference Counter) \param spaltenName Der
-        //! Name der Spalte des Kaestchens \param zeilenName Der Name der Zeile
-        //! des Kaestchens
+        //! Returns the drawing in a specific cell of the table
+        //! (without increased reference counter) \param spaltenName The name
+        //! of the column \param zeilenName The name of the row
         DLLEXPORT Zeichnung* zZeichnung(
             Text* spaltenName, Text* zeilenName) const;
-        //! Gibt die Zeichnung zurueck, die in einem bestimmten Kaestchen der
-        //! Tabelle ist \param sNum Der Index der Spalte \param zNum Der Index
-        //! der Zeile
+        //! Returns the drawing in a specific cell of the table
+        //! \param sNum The index of the column \param zNum The index of the row
         DLLEXPORT Zeichnung* getZeichnung(int sNum, int zNum) const;
-        //! Gibt die Zeichnung zurueck, die in einem bestimmten Kaestchen der
-        //! Tabelle ist \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
+        //! Returns the drawing in a specific cell of the table
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT Zeichnung* getZeichnung(
             const char* spaltenName, const char* zeilenName) const;
-        //! Gibt die Zeichnung zurueck, die in einem bestimmten Kaestchen der
-        //! Tabelle ist \param spaltenName Der Name der Spalte des Kaestchens
-        //! \param zeilenName Der Name der Zeile des Kaestchens
+        //! Returns the drawing in a specific cell of the table
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT Zeichnung* getZeichnung(
             Text* spaltenName, Text* zeilenName) const;
-        //! Gibt die Breite einer Spalte in Pixeln zurueck
-        //! \param num Der Index der Spalte
+        //! Returns the width of a column in pixels
+        //! \param num The index of the column
         DLLEXPORT int getSpaltenBreite(int num) const;
-        //! Gibt die Breite einer Spalte in Pixeln zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the width of a column in pixels
+        //! \param name The name of the column
         DLLEXPORT int getSpaltenBreite(const char* name) const;
-        //! Gibt die Breite einer Spalte in Pixeln zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the width of a column in pixels
+        //! \param name The name of the column
         DLLEXPORT int getSpaltenBreite(Text* name) const;
-        //! Gibt die Hoehe einer Zeile in Pixeln zurueck
-        //! \param num Der Index der Zeile
+        //! Returns the height of a row in pixels
+        //! \param num The index of the row
         DLLEXPORT int getZeilenHeight(int num) const;
-        //! Gibt die Hoehe einer Zeile in Pixeln zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the height of a row in pixels
+        //! \param name The name of the row
         DLLEXPORT int getZeilenHeight(const char* name) const;
-        //! Gibt die Hoehe einer Zeile in Pixeln zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the height of a row in pixels
+        //! \param name The name of the row
         DLLEXPORT int getZeilenHeight(Text* name) const;
-        //! Gibt die minimale Spalten breite in Pixeln zurueck
-        //! \param num Der Index der Spalte
+        //! Returns the minimum column width in pixels
+        //! \param num The index of the column
         DLLEXPORT int getMinSpaltenBreite(int num) const;
-        //! Gibt die minimale Spalten breite in Pixeln zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the minimum column width in pixels
+        //! \param name The name of the column
         DLLEXPORT int getMinSpaltenBreite(const char* name) const;
-        //! Gibt die minimale Spalten breite in Pixeln zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the minimum column width in pixels
+        //! \param name The name of the column
         DLLEXPORT int getMinSpaltenBreite(Text* name) const;
-        //! Gibt die maximale Spalten breite in Pixeln zurueck
-        //! \param num Der Index der Spalte
+        //! Returns the maximum column width in pixels
+        //! \param num The index of the column
         DLLEXPORT int getMaxSpaltenBreite(int num) const;
-        //! Gibt die maximale Spalten breite in Pixeln zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the maximum column width in pixels
+        //! \param name The name of the column
         DLLEXPORT int getMaxSpaltenBreite(const char* name) const;
-        //! Gibt die maximale Spalten breite in Pixeln zurueck
-        //! \param name Der Name der Spalte
+        //! Returns the maximum column width in pixels
+        //! \param name The name of the column
         DLLEXPORT int getMaxSpaltenBreite(Text* name) const;
-        //! Gibt die minimale Zeilen Hoehe in Pixeln zurueck
-        //! \param num Der Index der Zeile
+        //! Returns the minimum row height in pixels
+        //! \param num The index of the row
         DLLEXPORT int getMinZeilenHeight(int num) const;
-        //! Gibt die minimale Zeilen Hoehe in Pixeln zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the minimum row height in pixels
+        //! \param name The name of the row
         DLLEXPORT int getMinZeilenHeight(const char* name) const;
-        //! Gibt die minimale Zeilen Hoehe in Pixeln zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the minimum row height in pixels
+        //! \param name The name of the row
         DLLEXPORT int getMinZeilenHeight(Text* name) const;
-        //! Gibt die maximale Zeilen Hoehe in Pixeln zurueck
-        //! \param num Der Index der Zeile
+        //! Returns the maximum row height in pixels
+        //! \param num The index of the row
         DLLEXPORT int getMaxZeilenHeight(int num) const;
-        //! Gibt die maximale Zeilen Hoehe in Pixeln zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the maximum row height in pixels
+        //! \param name The name of the row
         DLLEXPORT int getMaxZeilenHeight(const char* name) const;
-        //! Gibt die maximale Zeilen Hoehe in Pixeln zurueck
-        //! \param name Der Name der Zeile
+        //! Returns the maximum row height in pixels
+        //! \param name The name of the row
         DLLEXPORT int getMaxZeilenHeight(Text* name) const;
-        //! Gibt den index der Splate zurueck, auf die die Maus zeigt
-        //! \param mx Die x Koordinate der Mausposition basierend zum linken
-        //! Rand der Tabelle in Pixeln
+        //! Returns the index of the column the mouse points to
+        //! \param mx The x coordinate of the mouse position relative to the
+        //! left edge of the table in pixels
         DLLEXPORT double getMausSpalte(int mx) const;
-        //! Gibt den Namen der Splate zurueck, auf die die Maus zeigt
-        //! \param mx Die x Koordinate der Mausposition basierend zum linken
-        //! Rand der Tabelle in Pixeln
+        //! Returns the name of the column the mouse points to
+        //! \param mx The x coordinate of the mouse position relative to the
+        //! left edge of the table in pixels
         DLLEXPORT Text* getMausSpaltenName(int mx) const;
-        //! Gibt den Namen der Splate ohne erhoehten Reference Counter zurueck,
-        //! auf die die Maus zeigt \param mx Die x Koordinate der Mausposition
-        //! basierend zum linken Rand der Tabelle in Pixeln
+        //! Returns the name of the column the mouse points to without increased
+        //! reference counter \param mx The x coordinate of the mouse position
+        //! relative to the left edge of the table in pixels
         DLLEXPORT Text* zMausSpaltenName(int mx) const;
-        //! Gibt den index der Zeile zurueck, auf die die Maus zeigt
-        //! \param my Die Y Koordinate der Mausposition basierend zum oberen
-        //! Rand der Tabelle in Pixeln
+        //! Returns the index of the row the mouse points to
+        //! \param my The Y coordinate of the mouse position relative to the
+        //! top edge of the table in pixels
         DLLEXPORT double getMausZeile(int my) const;
-        //! Gibt den Namen der Zeile zurueck, auf die die Maus zeigt
-        //! \param my Die Y Koordinate der Mausposition basierend zum oberen
-        //! Rand der Tabelle in Pixeln
+        //! Returns the name of the row the mouse points to
+        //! \param my The Y coordinate of the mouse position relative to the
+        //! top edge of the table in pixels
         DLLEXPORT Text* getMausZeilenName(int my) const;
-        //! Gibt den Namen der Zeile ohne erhoehten Reference Counter zurueck, auf
-        //! die die Maus zeigt \param my Die Y Koordinate der Mausposition
-        //! basierend zum oberen Rand der Tabelle in Pixeln
+        //! Returns the name of the row the mouse points to without increased
+        //! reference counter \param my The Y coordinate of the mouse position
+        //! relative to the top edge of the table in pixels
         DLLEXPORT Text* zMausZeilenName(int my) const;
-        //! Gibt den Index der Spalte als x und den der Zeile als y des
-        //! ausgewaehlten Feldes zurueck
+        //! Returns the column index as x and the row index as y of the
+        //! selected field
         DLLEXPORT const Punkt& getAuswahlPosition() const;
-        //! Gibt die Farbe des Rasters im A8R8G8B8 Format zurueck
+        //! Returns the color of the grid in A8R8G8B8 format
         DLLEXPORT int getRasterFarbe() const;
-        //! Gibt die Breite des Rasters in Pixeln zurueck
+        //! Returns the width of the grid in pixels
         DLLEXPORT int getRasterBreite() const;
-        //! Gibt einen Zeiger auf den Rahmen zurueck, der bei dem ausgewaehlten
-        //! Feld verwendet wird
+        //! Returns a pointer to the border used for the selected field
         DLLEXPORT Rahmen* getARahmen() const;
-        //! Gibt einen Zeiger auf den Rahmen ohne erhoehten Reference Counter
-        //! zurueck, der bei dem ausgewaehlten Feld verwendet wird
+        //! Returns a pointer to the border without increased reference counter
+        //! used for the selected field
         DLLEXPORT Rahmen* zARahmen() const;
-        //! Gibt einen Zeiger auf den Farbuebergang zurueck, der bei dem
-        //! ausgewaehlten Feld verwendet wird
+        //! Returns a pointer to the color gradient used for the selected field
         DLLEXPORT AlphaFeld* getAAlphaFeld() const;
-        //! Gibt einen Zeiger auf den Farbuebergang ohne erhoehten Reference
-        //! Counter zurueck, der bei dem ausgewaehlten Feld verwendet wird
+        //! Returns a pointer to the color gradient without increased reference
+        //! counter used for the selected field
         DLLEXPORT AlphaFeld* zAAlphaFeld() const;
-        //! Gibt einen Zeiger auf den Rahmen zurueck, der bei dem Flag
-        //! AuswahlMultistyled bei der auswahl eines bestimmten Kaestchens
-        //! verwendet wird \param sNum Der Index der Spalte \param zNum Der
-        //! Index der Zeile
+        //! Returns a pointer to the border used with the AuswahlMultistyled
+        //! flag when selecting a specific cell \param sNum The index of the
+        //! column \param zNum The index of the row
         DLLEXPORT Rahmen* getARahmen(int sNum, int zNum) const;
-        //! Gibt einen Zeiger auf den Rahmen ohne erhoehten Reference Couner
-        //! zurueck, der bei dem Flag AuswahlMultistyled bei der auswahl eines
-        //! bestimmten Kaestchens verwendet wird \param sNum Der Index der Spalte
-        //! \param zNum Der Index der Zeile
+        //! Returns a pointer to the border without increased reference counter
+        //! used with the AuswahlMultistyled flag when selecting a specific cell
+        //! \param sNum The index of the column \param zNum The index of the row
         DLLEXPORT Rahmen* zARahmen(int sNum, int zNum) const;
-        //! Gibt einen Zeiger auf den Farbuebergang zurueck, der bei dem Flag
-        //! AuswahlMultistyled bei der auswahl eines bestimmten Kaestchens
-        //! verwendet wird \param sNum Der Index der Spalte \param zNum Der
-        //! Index der Zeile
+        //! Returns a pointer to the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param sNum The index of the column \param zNum The index of the row
         DLLEXPORT AlphaFeld* getAAlphaFeld(int sNum, int zNum) const;
-        //! Gibt einen Zeiger auf den Farbuebergang ohne erhoehten Reference
-        //! Couner zurueck, der bei dem Flag AuswahlMultistyled bei der auswahl
-        //! eines bestimmten Kaestchens verwendet wird \param sNum Der Index der
-        //! Spalte \param zNum Der Index der Zeile
+        //! Returns a pointer to the color gradient without increased reference
+        //! counter used with the AuswahlMultistyled flag when selecting a
+        //! specific cell \param sNum The index of the column
+        //! \param zNum The index of the row
         DLLEXPORT AlphaFeld* zAAlphaFeld(int sNum, int zNum) const;
-        //! Gibt einen Zeiger auf den Rahmen zurueck, der bei dem Flag
-        //! AuswahlMultistyled bei der auswahl eines bestimmten Kaestchens
-        //! verwendet wird \param spaltenName Der Name der Spalte \param
-        //! zeilenName Der Name der Zeile
+        //! Returns a pointer to the border used with the AuswahlMultistyled
+        //! flag when selecting a specific cell \param spaltenName The name of
+        //! the column \param zeilenName The name of the row
         DLLEXPORT Rahmen* getARahmen(
             const char* spaltenName, const char* zeilenName) const;
-        //! Gibt einen Zeiger auf den Rahmen ohne erhoehten Reference Coune
-        //! zurueck, der bei dem Flag AuswahlMultistyled bei der auswahl eines
-        //! bestimmten Kaestchens verwendet wird \param spaltenName Der Name der
-        //! Spalte \param zeilenName Der Name der Zeile
+        //! Returns a pointer to the border without increased reference counter
+        //! used with the AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT Rahmen* zARahmen(
             const char* spaltenName, const char* zeilenName) const;
-        //! Gibt einen Zeiger auf den Farbuebergang zurueck, der bei dem Flag
-        //! AuswahlMultistyled bei der auswahl eines bestimmten Kaestchens
-        //! verwendet wird \param spaltenName Der Name der Spalte \param
-        //! zeilenName Der Name der Zeile
+        //! Returns a pointer to the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT AlphaFeld* getAAlphaFeld(
             const char* spaltenName, const char* zeilenName) const;
-        //! Gibt einen Zeiger auf den Farbuebergang ohne erhoehten Reference Coune
-        //! zurueck, der bei dem Flag AuswahlMultistyled bei der auswahl eines
-        //! bestimmten Kaestchens verwendet wird \param spaltenName Der Name der
-        //! Spalte \param zeilenName Der Name der Zeile
+        //! Returns a pointer to the color gradient without increased reference
+        //! counter used with the AuswahlMultistyled flag when selecting a
+        //! specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT AlphaFeld* zAAlphaFeld(
             const char* spaltenName, const char* zeilenName) const;
-        //! Gibt einen Zeiger auf den Rahmen zurueck, der bei dem Flag
-        //! AuswahlMultistyled bei der auswahl eines bestimmten Kaestchens
-        //! verwendet wird \param spaltenName Der Name der Spalte \param
-        //! zeilenName Der Name der Zeile
+        //! Returns a pointer to the border used with the AuswahlMultistyled
+        //! flag when selecting a specific cell \param spaltenName The name of
+        //! the column \param zeilenName The name of the row
         DLLEXPORT Rahmen* getARahmen(Text* spaltenName, Text* zeilenName) const;
-        //! Gibt einen Zeiger auf den Rahmen ohne erhoehten Reference Coune
-        //! zurueck, der bei dem Flag AuswahlMultistyled bei der auswahl eines
-        //! bestimmten Kaestchens verwendet wird \param spaltenName Der Name der
-        //! Spalte \param zeilenName Der Name der Zeile
+        //! Returns a pointer to the border without increased reference counter
+        //! used with the AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT Rahmen* zARahmen(Text* spaltenName, Text* zeilenName) const;
-        //! Gibt einen Zeiger auf den Farbuebergang zurueck, der bei dem Flag
-        //! AuswahlMultistyled bei der auswahl eines bestimmten Kaestchens
-        //! verwendet wird \param spaltenName Der Name der Spalte \param
-        //! zeilenName Der Name der Zeile
+        //! Returns a pointer to the color gradient used with the
+        //! AuswahlMultistyled flag when selecting a specific cell
+        //! \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT AlphaFeld* getAAlphaFeld(
             Text* spaltenName, Text* zeilenName) const;
-        //! Gibt einen Zeiger auf den Farbuebergang ohne erhoehten Reference Coune
-        //! zurueck, der bei dem Flag AuswahlMultistyled bei der auswahl eines
-        //! bestimmten Kaestchens verwendet wird \param spaltenName Der Name der
-        //! Spalte \param zeilenName Der Name der Zeile
+        //! Returns a pointer to the color gradient without increased reference
+        //! counter used with the AuswahlMultistyled flag when selecting a
+        //! specific cell \param spaltenName The name of the column
+        //! \param zeilenName The name of the row
         DLLEXPORT AlphaFeld* zAAlphaFeld(
             Text* spaltenName, Text* zeilenName) const;
-        //! Prueft ob bei dem Flag AuswahlMultistyled fuer ein bestimmtes Kaestchen
-        //! ein bestimmter Style gesetzt ist \param sNum Der Index der Spalte
-        //! \param zNum Der Index der Zeile
-        //! \param style Der Style, der gepfueft werden soll
+        //! Checks whether a specific style is set for a specific cell with the
+        //! AuswahlMultistyled flag \param sNum The index of the column
+        //! \param zNum The index of the row
+        //! \param style The style to check
         DLLEXPORT inline bool hatMsStyle(
             int sNum, int zNum, __int64 style) const;
-        //! Prueft ob bei dem Flag AuswahlMultistyled fuer ein bestimmtes Kaestchen
-        //! ein bestimmter Style nicht gesetzt ist \param sNum Der Index der
-        //! Spalte \param zNum Der Index der Zeile \param style Der Style, der
-        //! gepfueft werden soll
+        //! Checks whether a specific style is not set for a specific cell with
+        //! the AuswahlMultistyled flag \param sNum The index of the column
+        //! \param zNum The index of the row \param style The style to check
         DLLEXPORT inline bool hatMsStyleNicht(
             int sNum, int zNum, __int64 style) const;
-        //! Prueft ob bei dem Flag AuswahlMultistyled fuer ein bestimmtes Kaestchen
-        //! ein bestimmter Style gesetzt ist \param spaltenName Der Name der
-        //! Spalte \param zeilenName Der Name der Zeile \param style Der Style,
-        //! der gepfueft werden soll
+        //! Checks whether a specific style is set for a specific cell with the
+        //! AuswahlMultistyled flag \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style
+        //! to check
         DLLEXPORT inline bool hatMsStyle(const char* spaltenName,
             const char* zeilenName,
             __int64 style) const;
-        //! Prueft ob bei dem Flag AuswahlMultistyled fuer ein bestimmtes Kaestchen
-        //! ein bestimmter Style nicht gesetzt ist \param spaltenName Der Name
-        //! der Spalte \param zeilenName Der Name der Zeile \param style Der
-        //! Style, der gepfueft werden soll
+        //! Checks whether a specific style is not set for a specific cell with
+        //! the AuswahlMultistyled flag \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style
+        //! to check
         DLLEXPORT inline bool hatMsStyleNicht(const char* spaltenName,
             const char* zeilenName,
             __int64 style) const;
-        //! Prueft ob bei dem Flag AuswahlMultistyled fuer ein bestimmtes Kaestchen
-        //! ein bestimmter Style gesetzt ist \param spaltenName Der Name der
-        //! Spalte \param zeilenName Der Name der Zeile \param style Der Style,
-        //! der gepfueft werden soll
+        //! Checks whether a specific style is set for a specific cell with the
+        //! AuswahlMultistyled flag \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style
+        //! to check
         DLLEXPORT inline bool hatMsStyle(
             Text* spaltenName, Text* zeilenName, __int64 style) const;
-        //! Prueft ob bei dem Flag AuswahlMultistyled fuer ein bestimmtes Kaestchen
-        //! ein bestimmter Style nicht gesetzt ist \param spaltenName Der Name
-        //! der Spalte \param zeilenName Der Name der Zeile \param style Der
-        //! Style, der gepfueft werden soll
+        //! Checks whether a specific style is not set for a specific cell with
+        //! the AuswahlMultistyled flag \param spaltenName The name of the column
+        //! \param zeilenName The name of the row \param style The style
+        //! to check
         DLLEXPORT inline bool hatMsStyleNicht(
             Text* spaltenName, Text* zeilenName, __int64 style) const;
-        //! Erzeugt eine Kopie der Tabelle, die ohne auswirkungen auf das
-        //! Original veraendert werden kann
+        //! Creates a copy of the table that can be modified without
+        //! affecting the original
         DLLEXPORT Zeichnung* dublizieren() const override;
     };
 } // namespace Framework

+ 26 - 27
TastaturEreignis.h

@@ -7,9 +7,9 @@
 
 namespace Framework
 {
-    //! Es wurde eine Taste runtergedrueckt
+    //! A key was pressed
     const int TE_Press = 0;
-    //! Es wurde eine Taste losgelassen
+    //! A key was released
     const int TE_Release = 1;
 #ifdef WIN32
     const unsigned char T_Tab = VK_TAB;
@@ -85,44 +85,43 @@ namespace Framework
     const unsigned char T_Alt_Gr = 0xA5;
 #endif
 
-    //! Speichert den Input eines Nutzers auf der Tastatur
+    //! Stores the keyboard input from a user
     struct TastaturEreignis
     {
-        //! Art der Eingabe
+        //! Type of input
         int id;
-        //! Betroffene Taste
+        //! Affected key
         char taste[3];
         //! virtual key code
         int virtualKey;
-        //! (true), wenn die Eingabe bereits verarbeitet wurde. (false) sonnst
+        //! (true) if the input has already been processed. (false) otherwise
         bool verarbeitet;
     };
 
     typedef std::function<bool(void*, void*, TastaturEreignis)> TastaturAktion;
 
-    //! Standart Tastatur Ereinis Rueckruffunktion
-    //! \param param Ein beliebiger Parameter
-    //! \param obj Die Zeichnung, welches diese Funktion aufruft
-    //! \param te Das Tastaturereignis, welches verarbeitet werden soll
-    //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
-    //! soll. (false) sonnst. Gibt immer (true) zurueck
+    //! Default keyboard event callback function
+    //! \param param An arbitrary parameter
+    //! \param obj The drawing that calls this function
+    //! \param te The keyboard event to process
+    //! \return (true) if the calling drawing should continue processing
+    //! the event. (false) otherwise. Always returns (true)
     DLLEXPORT bool _ret1TE(void* param, void* obj, TastaturEreignis te);
-    //! Standart Tastatur Ereinis Rueckruffunktion
-    //! \param param Ein beliebiger Parameter
-    //! \param obj Die Zeichnung, welches diese Funktion aufruft
-    //! \param te Das Tastaturereignis, welches verarbeitet werden soll
-    //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
-    //! soll. (false) sonnst. Gibt nur (true) zurueck, wenn die Taste zwischen
-    //! '0' und '9' ist, oder zum Loeschen oder Cursorbewegen dient
+    //! Default keyboard event callback function
+    //! \param param An arbitrary parameter
+    //! \param obj The drawing that calls this function
+    //! \param te The keyboard event to process
+    //! \return (true) if the calling drawing should continue processing
+    //! the event. (false) otherwise. Only returns (true) if the key is between
+    //! '0' and '9', or used for deleting or cursor movement
     DLLEXPORT bool _nurNummernTE(void* param, void* obj, TastaturEreignis te);
-    //! Standart Tastatur Ereinis Rueckruffunktion
-    //! \param param Ein beliebiger Parameter
-    //! \param obj Die Zeichnung, welches diese Funktion aufruft
-    //! \param te Das Tastaturereignis, welches verarbeitet werden soll
-    //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
-    //! soll. (false) sonnst. Gibt nur (true) zurueck, wenn die Taste zwischen
-    //! '0' und '9' oder 'A' und 'F' ist, oder zum Loeschen oder Cursorbewegen
-    //! dient
+    //! Default keyboard event callback function
+    //! \param param An arbitrary parameter
+    //! \param obj The drawing that calls this function
+    //! \param te The keyboard event to process
+    //! \return (true) if the calling drawing should continue processing
+    //! the event. (false) otherwise. Only returns (true) if the key is between
+    //! '0' and '9' or 'A' and 'F', or used for deleting or cursor movement
     DLLEXPORT bool _nurHexTE(void* param, void* obj, TastaturEreignis te);
 } // namespace Framework
 

+ 204 - 220
TextFeld.h

@@ -9,7 +9,7 @@ namespace Framework
     class Text;       //! Text.h
     class AlphaFeld;  //! AlphaFeld.h
     class Rahmen;     //! Rahmen.h
-    class TextFeld;   //! aus dieser Datei
+    class TextFeld;   //! from this file
     class VScrollBar; //! Scroll.h
     class HScrollBar; //! Scroll.h
     class TextRenderer;
@@ -28,7 +28,7 @@ namespace Framework
         DLLEXPORT bool equals(const TextStyle& rhs);
     };
 
-    //! Verwaltet ein Textfeld
+    //! Manages a text field
     class TextFeld : public ZeichnungHintergrund
     {
     public:
@@ -45,38 +45,36 @@ namespace Framework
         public:
             DLLEXPORT TextStyleManager();
             DLLEXPORT virtual ~TextStyleManager();
-            //! Setzt den Style eines Textabschnittes
-            //! \param begin die startposition des Abschnittes
-            //! \param end die endposition des Abschnittes (nicht enthalten)
+            //! Sets the style of a text section
+            //! \param begin The start position of the section
+            //! \param end The end position of the section (not included)
             DLLEXPORT void setTextStyle(int begin, int end, TextStyle style);
-            //! Entfernt einen Textabschnitt
-            //! \param begin der index des ersten betroffenen zeichens
-            //! \param end der index des ersten zeichens nach dem abschnitt
+            //! Removes a text section
+            //! \param begin The index of the first affected character
+            //! \param end The index of the first character after the section
             DLLEXPORT void removeText(int begin, int end);
-            //! Fuegt ein Text an einer bestimmten Position ein
-            //! \param pos die position des neuen Textausschnitts
-            //! \param text der neue Text
+            //! Inserts text at a specific position
+            //! \param pos The position of the new text section
+            //! \param text The new text
             DLLEXPORT void insertText(int pos, const char* text);
-            //! Entfernt nicht benoetiegte gleiche styles
+            //! Removes unneeded identical styles
             DLLEXPORT void cleanupStyles();
-            //! gibt eine referenz auf das style objekt zurueck
+            //! Returns a reference to the style object
             DLLEXPORT TextStyle& currentStyle();
-            //! gibt den aktuellen text renderer zurueck
+            //! Returns the current text renderer
             DLLEXPORT TextRenderer* zCurrentRenderer();
-            //! aendert den inhalt des style objektes auf den style des naechsten
-            //! zeichens
-            //!  gibt 0 zurueck falls es kein weiteres zeichen gibt
+            //! Changes the content of the style object to the style of the
+            //! next character. Returns 0 if there is no next character
             DLLEXPORT bool nextStyle();
-            //! aendert den inhalt des style objektes auf den style des
-            //! angegebenen zeichens \param 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 \param index The index of the character
+            //! to jump to. Returns 0 if the character does not exist
             DLLEXPORT bool stepTo(int 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
             DLLEXPORT void resetIteration();
-            //! Gibt den Style eines bestimmten zeichens zurueck
-            //! \param index Der index des Zeichens
+            //! Returns the style of a specific character
+            //! \param index The index of the character
             DLLEXPORT TextStyle getTextStyle(int index) const;
             friend TextFeld;
         };
@@ -84,38 +82,37 @@ namespace Framework
         class Style : public ZeichnungHintergrund::Style
         {
         public:
-            //! Wenn dieser Flag nicht gesetzt wird, werden alle Zeilenumbrueche
-            //! automatisch aus dem Text entfernt
+            //! If this flag is not set, all line breaks are automatically
+            //! removed from the text
             static const __int64 Mehrzeilig = 0x001000;
-            //! Wenn dieser Flag gesetzt wird, wird der Text genau in der
-            //! horizontaen Mitte des Feldes plaziert
+            //! If this flag is set, the text is placed exactly in the
+            //! horizontal center of the field
             static const __int64 HCenter = 0x002000;
-            //! Wenn dieser Flag gesetzt wird, wird der Text genau in der
-            //! vertikalen Mitte des Feldes plaziert
+            //! If this flag is set, the text is placed exactly in the
+            //! vertical center of the field
             static const __int64 VCenter = 0x004000;
-            //! Wenn dieser Flag gesetzt wird, kann der Text durch den Nutzer
-            //! bearbeitet werden
+            //! If this flag is set, the text can be edited by the user
             static const __int64 Editierbar = 0x2000000;
-            //! Fuegt beim rendern automatisch zeilenumbrueche in den Text ein, so
-            //! dass die Breite des Textfeldes nicht ueberschritten wird. Der
-            //! Text wird dabei nicht veraendert. Benoetigt Style Mehrzeilig
+            //! Automatically inserts line breaks during rendering so that the
+            //! width of the text field is not exceeded. The text itself is not
+            //! modified. Requires Style Mehrzeilig
             static const __int64 AutoLineBreak = 0x4000000;
 
-            //! Vereint die Flags HCenter und VCenter
+            //! Combines the flags HCenter and VCenter
             static const __int64 Center = HCenter | VCenter;
-            //! Vereint die Flags Sichtbar, Erlaubt, Rahmen,
+            //! Combines the flags Sichtbar, Erlaubt, Rahmen,
             //! Buffered, VCenter
             static const __int64 TextFeld
                 = Sichtbar | Erlaubt | Rahmen | Buffered | VCenter | Editierbar;
-            //! Vereint die Flags Sichtbar,
-            //! Mehrfarbig, Mehrzeilig
+            //! Combines the flags Sichtbar,
+            //! Mehrzeilig
             static const __int64 Text = Sichtbar | Mehrzeilig | Erlaubt;
-            //! Vereint die Flags Sichtbar, Erlaubt, Rahmen,
-            //! Hintergrund, Mehrzeilig, Mehrfarbig, VScroll
+            //! Combines the flags Sichtbar, Erlaubt, Rahmen,
+            //! Hintergrund, Mehrzeilig, VScroll
             static const __int64 TextGebiet = Sichtbar | Erlaubt | Rahmen
                                             | Hintergrund | Editierbar
                                             | Mehrzeilig | VScroll;
-            //! Vereint die Flags VScroll und HScroll
+            //! Combines the flags VScroll and HScroll
             static const __int64 Scroll = VScroll | HScroll;
         };
 
@@ -130,250 +127,237 @@ namespace Framework
 
         int getTextHeight() const;
         int getTextWidth() const;
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT virtual void doMausEreignis(
             MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT TextFeld();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~TextFeld();
-        //! charEvent: eine funktion die aufgerufen wird, wenn sich die maus auf
-        //! einem bestimmten zeichen befindet und der interactParam im style !=
-        //! 0 ist \param aufruf charEvent( charIndex, interactParam,
-        //! mausEreignis );
+        //! charEvent: a function called when the mouse is on a specific
+        //! character and the interactParam in the style is != 0
+        //! \param charEvent charEvent( charIndex, interactParam, mausEreignis );
         DLLEXPORT void setCharEvent(
             std::function<void(int, int, MausEreignis me)> charEvent);
-        //! setzt einen Zeiger auf den Text im Textfeld
-        //! \param txt Der Zeiger auf den Text
+        //! Sets a pointer to the text in the text field
+        //! \param txt The pointer to the text
         DLLEXPORT void setTextZ(Text* txt);
-        //! setzt den Text des Textfeldes
-        //! \param txt der Text
+        //! Sets the text of the text field
+        //! \param txt The text
         DLLEXPORT void setText(Text* txt);
-        //! setzt den Text des Textfeldes
-        //! \param txt der Text
+        //! Sets the text of the text field
+        //! \param txt The text
         DLLEXPORT void setText(const char* txt);
-        // 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: disables underline
         //          \x8FFFFFFFF: set interact param.
-        //              FFFFFFFF ist ein 8 stelliger hex wert
+        //              FFFFFFFF is an 8-digit hex value
         DLLEXPORT void setFormattedText(const char* txt);
-        //! fuegt zeilenumbrueche so ein, dass der text nicht die breite des
-        //! textfeldes ueberschreitet \param spacing ein text, der direkt nach
-        //! jedem eingefuegten Zeilenumbruch eingefuegt wird
+        //! Inserts line breaks so that the text does not exceed the width
+        //! of the text field \param spacing A text inserted directly after
+        //! each inserted line break
         DLLEXPORT void addLineBreaks(const char* spacing = "");
-        //! fuegt zeilenumbrueche in den Text txt so ein, dass der text nicht die
-        //! breite des textfeldes ueberschreitet \param txt der Text in den
-        //! Zeilenumbrueche eingefuegt werden sollen \param spacing ein text, der
-        //! direkt nach jedem eingefuegten Zeilenumbruch eingefuegt wird \return
-        //! der Text mit zeilenumbruechen
+        //! Inserts line breaks into the text txt so that the text does not
+        //! exceed the width of the text field \param txt The text to insert
+        //! line breaks into \param spacing A text inserted directly after
+        //! each inserted line break \return The text with line breaks
         DLLEXPORT Text addLineBreaksToText(const char* txt,
             const char* spacing = "",
             bool includeFormat = 1) const;
-        //! setzt eine Zeichenfolge die mit dem style AutoLineBreak nach jedem
-        //! eingefuegten Zeilenumbruch eingefuegt wird
+        //! Sets a character sequence that is inserted after each line break
+        //! added with the AutoLineBreak style
         DLLEXPORT void setAutoLineBreakSpacing(const char* spacing);
-        //! Setzt den Style eines Textabschnittes
-        //! \param begin die startposition des Abschnittes
-        //! \param end die endposition des Abschnittes (nicht enthalten)
+        //! Sets the style of a text section
+        //! \param begin The start position of the section
+        //! \param end The end position of the section (not included)
         DLLEXPORT void setTextStyle(int begin, int end, TextStyle style);
-        //! Fuegt eine Zeile an den Text an
-        //! \param zeile Die neue Zeile
+        //! Appends a line to the text
+        //! \param zeile The new line
         DLLEXPORT void addZeile(const char* zeile);
-        //! Fuegt eine Zeile an den Text an
-        //! \param zeile Die neue Zeile
-        //! \param color Die Farbe der Zeile
+        //! Appends a line to the text
+        //! \param zeile The new line
+        //! \param color The color of the line
         DLLEXPORT void addZeile(const char* zeile, int color);
-        //! Deselectiert alle textabschnitte
+        //! Deselects all text sections
         DLLEXPORT void deselectAuswahl();
-        //! Setzt den ausgewaehlten textabschnitt fest
-        //!  pos1: Die Cursorposition im Text
-        //!  pos2: Die Position im Text, bis zu der der Text eingefaerbt werden
-        //!  soll
+        //! Sets the selected text section
+        //!  pos1: The cursor position in the text
+        //!  pos2: The position in the text up to which the text should be
+        //!  colored
         DLLEXPORT void setAuswahl(int pos1, int pos2);
-        //! Setzt den ausgewaehlten textabschnitt fest
-        //! \param auswahl Ein punkt mit x als Cursorposition und y als der
-        //! Position, bis zu der der Text eingefaerbt werden soll
+        //! Sets the selected text section
+        //! \param auswahl A point with x as cursor position and y as the
+        //! position up to which the text should be colored
         DLLEXPORT void setAuswahl(Punkt& auswahl);
-        //! Setzt den ausgewaehlten textabschnitt fest
-        //!  pos1: Die Cursorposition im Text
-        //!  pos2: Die Position im Text, bis zu der der Text eingefaerbt werden
-        //!  soll
+        //! Sets the selected text section
+        //!  pos1: The cursor position in the text
+        //!  pos2: The position in the text up to which the text should be
+        //!  colored
         DLLEXPORT void addAuswahl(int pos1, int pos2);
-        //! Setzt den ausgewaehlten textabschnitt fest
-        //! \param auswahl Ein punkt mit x als Cursorposition und y als der
-        //! Position, bis zu der der Text eingefaerbt werden soll
+        //! Sets the selected text section
+        //! \param auswahl A point with x as cursor position and y as the
+        //! position up to which the text should be colored
         DLLEXPORT void addAuswahl(Punkt& auswahl);
-        //! Setzt den ausgewaehlten textabschnitt fest
-        //! \param begin Die Cursorposition im Text
-        //! \param end Die Position im Text, bis zu der der Text eingefaerbt
-        //! werden soll
+        //! Sets the selected text section
+        //! \param begin The cursor position in the text
+        //! \param end The position in the text up to which the text should be
+        //! colored
         DLLEXPORT void invertAuswahl(int begin, int end);
-        //! ersetzt alle ausgewaehlten Textabschnitte mit einem text
-        //! \param text der neue Text
+        //! Replaces all selected text sections with a text
+        //! \param text The new text
         DLLEXPORT void replaceAuswahl(const char* text);
-        //! Setzt den verwendeten TextRenderer
-        //! \param textRd Der Textrenderer
+        //! Sets the TextRenderer to use
+        //! \param textRd The text renderer
         DLLEXPORT void setTextRendererZ(TextRenderer* textRd);
-        //! Fuegt einen TextRenderer hinzu
-        //! \param textRd Der Textrenderer
+        //! Adds a TextRenderer
+        //! \param textRd The text renderer
         DLLEXPORT void addTextRendererZ(TextRenderer* textRd);
-        //! Setzt die verwendeten TextRenderer
-        //! \param textRd Die Textrenderer
+        //! Sets the TextRenderers to use
+        //! \param textRd The text renderers
         DLLEXPORT void setTextRendererZ(RCArray<TextRenderer>* textRd);
-        //! Setzt einen Zeiger zur Schrift
-        //! \param schrift Die Schrift, die zum Textzeichnen verwendet werden
-        //! soll.
+        //! Sets a pointer to the font
+        //! \param schrift The font to use for text drawing.
         DLLEXPORT void setSchriftZ(Schrift* schrift);
-        //! Setzt einen Zeiger zur Schrift
-        //! \param rendererIndex Der Index des Renderers dessen Schrift gesetzt
-        //! werden soll \param schrift Die Schrift, die zum Textzeichnen
-        //! verwendet werden soll.
+        //! Sets a pointer to the font
+        //! \param rendererIndex The index of the renderer whose font should
+        //! be set \param schrift The font to use for text drawing.
         DLLEXPORT void setSchriftZ(int rendererIndex, Schrift* schrift);
-        //! Setzt die Schriftgroesse (Standart: 12)
-        //! \param gr Die Schriftgroesse, die zum Textzeichnen verwendet werden
-        //! soll
+        //! Sets the font size (default: 12)
+        //! \param gr The font size to use for text drawing
         DLLEXPORT void setSchriftSize(unsigned char gr);
-        //! Setzt die Schriftgroesse (Standart: 12)
-        //! \param begin Der Index des ersten betroffenen Zeichens
-        //! \param end Der Index des ersten nicht betroffenen Zeichens
-        //! \param gr Die Schriftgroesse, die zum Textzeichnen verwendet werden
-        //! soll
+        //! Sets the font size (default: 12)
+        //! \param begin The index of the first affected character
+        //! \param end The index of the first unaffected character
+        //! \param gr The font size to use for text drawing
         DLLEXPORT void setSchriftSize(int begin, int end, unsigned char gr);
-        //! Setzt die Schrift Farbe
-        //! \param fc Die Farbe, die zum Textzeichnen verwendet werden soll
+        //! Sets the font color
+        //! \param fc The color to use for text drawing
         DLLEXPORT void setSchriftFarbe(int fc);
-        //! Setzt die Schrift Farbe
-        //! \param begin Der Index des ersten betroffenen Zeichens
-        //! \param end Der Index des ersten nicht betroffenen Zeichens
-        //! \param fc Die Farbe, die zum Textzeichnen verwendet werden soll
+        //! Sets the font color
+        //! \param begin The index of the first affected character
+        //! \param end The index of the first unaffected character
+        //! \param fc The color to use for text drawing
         DLLEXPORT void setSchriftFarbe(int begin, int end, int fc);
-        //! Legt einen Buchstaben fest, der zum zeichnen verwendet werden soll,
-        //! unabhaengig vom Text des Textfeldes (benoetigt Flag zum Zeichnen:
-        //! Rahmen) \param c Der Buchstabe, der gezeichnet werden soll Beispiel:
-        //! setShowChar( '*' ); Bei Passwort Textfeldern
+        //! Sets a character to use for drawing, regardless of the text
+        //! field's text (requires drawing flag: Rahmen)
+        //! \param c The character to draw
+        //! Example: setShowChar( '*' ); for password text fields
         DLLEXPORT void setSchowChar(unsigned char c);
-        //! Scrollt zu einer bestimmten Zeile (benoetigt Flag zum Zeichnen:
-        //! VScroll) \param zeile Der Index der Zeile, die als oberste Zeile zu
-        //! sehen sein soll
+        //! Scrolls to a specific line (requires drawing flag: VScroll)
+        //! \param zeile The index of the line that should be the top visible line
         DLLEXPORT void setVScrollZuZeile(int zeile);
-        //! Scrollt zu einer bestimmten Position im Text. Ohne den Flag Erlaubt
-        //! wrd immer ganz nach unten gescrollt. (benoetigt Flag zum Zeichnen:
-        //! VScroll) \param pos Der Index des Zeichens, zu dem gescrollt werden
-        //! soll. Standartmaessig wird zur Cursorposition gescrollt
+        //! Scrolls to a specific position in the text. Without the Erlaubt
+        //! flag, always scrolls to the bottom. (requires drawing flag:
+        //! VScroll) \param pos The index of the character to scroll to.
+        //! By default scrolls to the cursor position
         DLLEXPORT void updateVScroll(int pos = -1);
-        //! Scrollt zu einer bestimmten Position im Text. Benoetigt den Flag
-        //! Erlaubt. (benoetigt Flag zum Zeichnen: HScroll) \param pos Der Index
-        //! des Zeichens, zu dem gescrollt werden soll. Standartmaessig wird zur
-        //! Cursorposition gescrollt
+        //! Scrolls to a specific position in the text. Requires the Erlaubt
+        //! flag. (requires drawing flag: HScroll) \param pos The index of
+        //! the character to scroll to. By default scrolls to the cursor position
         DLLEXPORT void updateHScroll(int pos = -1);
-        //! 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
         DLLEXPORT int getNeededWidth();
-        //! 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
         DLLEXPORT int getNeededHeight();
-        //! Aktualisiert das Objekt. Wird vom Framework aufgerufen
-        //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
-        //! dieser Funktion vergangen ist \return 1, wenn sich etwas veraendert
-        //! hat und das Bild neu gezeichnet werden muss. 0 sonst
+        //! Updates the object. Called by the framework
+        //! \param tickVal The time in seconds since the last call of this
+        //! function \return 1 if something changed and the image needs to be
+        //! redrawn. 0 otherwise
         DLLEXPORT virtual bool tick(double tickval) override;
-        //! Verarbeitet Tastatur Nachrichten
-        //! \param me Das Ereignis, was durch die Tastatureingabe ausgeloesst
-        //! wurde
+        //! Processes keyboard messages
+        //! \param me The event triggered by the keyboard input
         DLLEXPORT void doTastaturEreignis(TastaturEreignis& te) override;
-        //! Zeichnet das Objekt nach zRObj, falls es sichtbar ist
-        //! \param zRObj Das Bild, in welches gezeichnet werden soll
+        //! Draws the object to zRObj if it is visible
+        //! \param zRObj The image to draw into
         DLLEXPORT virtual void render(Bild& zRObj) override;
-        //! Gibt den Text aus dem Textfeld zurueck
+        //! Returns the text from the text field
         DLLEXPORT Text* getText() const;
-        //! Gibt den Text aus dem Textfeld ohne erhoehten Reference Counter
-        //! zurueck
+        //! Returns the text from the text field without increased reference
+        //! counter
         DLLEXPORT Text* zText() const;
-        //! Gibt die Schrift zurueck.
-        //! \return 0, falls die Schrift nicht gesetzt wurde
+        //! Returns the font.
+        //! \return 0 if the font was not set
         DLLEXPORT Schrift* getSchrift() const;
-        //! Gibt die Schrift ohne erhoehten Reference Counter zuruek
-        //! \return 0, falls die Schrift nicht gesetzt wurde
+        //! Returns the font without increased reference counter
+        //! \return 0 if the font was not set
         DLLEXPORT Schrift* zSchrift() const;
-        //! Gibt die Schrift zurueck.
-        //! \param rendererIndex Der Index des Renderers dessen Schrift
-        //! zurueckgegeben werden soll \return 0, falls die Schrift nicht gesetzt
-        //! wurde
+        //! Returns the font.
+        //! \param rendererIndex The index of the renderer whose font should
+        //! be returned \return 0 if the font was not set
         DLLEXPORT Schrift* getSchrift(int rendererIndex) const;
-        //! Gibt die Schrift ohne erhoehten Reference Counter zuruek
-        //! \param 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
+        //! \param rendererIndex The index of the renderer whose font should
+        //! be returned \return 0 if the font was not set
         DLLEXPORT Schrift* zSchrift(int rendererIndex) const;
-        //! Gibt den TextRenderer zurueck.
-        //! \return 0, falls der TextRenderer nicht gesetzt wurde
+        //! Returns the TextRenderer.
+        //! \return 0 if the TextRenderer was not set
         DLLEXPORT TextRenderer* getTextRenderer() const;
-        //! Gibt dien TextRenderer ohne erhoehten Reference Counter zuruek
-        //! \return 0, falls der TextRenderer nicht gesetzt wurde
+        //! Returns the TextRenderer without increased reference counter
+        //! \return 0 if the TextRenderer was not set
         DLLEXPORT TextRenderer* zTextRenderer() const;
-        //! Gibt den TextRenderer zurueck.
-        //! \param index Der Index des Renderers der zurueckgegeben werden soll
-        //! \return 0, falls der TextRenderer nicht gesetzt wurde
+        //! Returns the TextRenderer.
+        //! \param index The index of the renderer to return
+        //! \return 0 if the TextRenderer was not set
         DLLEXPORT TextRenderer* getTextRenderer(int index) const;
-        //! Gibt dien TextRenderer ohne erhoehten Reference Counter zuruek
-        //! \param index Der Index des Renderers der zurueckgegeben werden soll
-        //! \return 0, falls der TextRenderer nicht gesetzt wurde
+        //! Returns the TextRenderer without increased reference counter
+        //! \param index The index of the renderer to return
+        //! \return 0 if the TextRenderer was not set
         DLLEXPORT TextRenderer* zTextRenderer(int index) const;
-        //! Gibt die Schriftgroesse zurueck
+        //! Returns the font size
         DLLEXPORT unsigned char getSchriftSize() const;
-        //! Gibt die Schriftgroesse zurueck
-        //! \param index Der Index des Zeichens
+        //! Returns the font size
+        //! \param index The index of the character
         DLLEXPORT unsigned char getSchriftSize(int index) const;
-        //! Gibt die Schriftfarbe im A8R8G8B8 Format zurueck
+        //! Returns the font color in A8R8G8B8 format
         DLLEXPORT int getSchriftFarbe() const;
-        //! Gibt die Schriftfarbe im A8R8G8B8 Format zurueck
-        //! \param index Der Index des Zeichens
+        //! Returns the font color in A8R8G8B8 format
+        //! \param index The index of the character
         DLLEXPORT int getSchriftFarbe(int index) const;
-        //! Gibt den Anzeigebuchstabe zurueck
+        //! Returns the display character
         DLLEXPORT unsigned char getShowChar() const;
-        //! Gibt die Cursorposition zurueck
+        //! Returns the cursor position
         DLLEXPORT int getCursorPos() const;
-        //! Gibt 1 zurueck wenn das Zeichen ausgewaehlt ist
-        //! \param index Der Index des Zeichens
+        //! Returns 1 if the character is selected
+        //! \param index The index of the character
         DLLEXPORT bool isCharSelected(int index) const;
-        //! Gibt den Index des Zeichens zurueck, das sich unter der Maus befindet
-        //! \param mx die x position der maus relativ zur position des
-        //! textfeldes \param 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
+        //! \param mx The x position of the mouse relative to the text field
+        //! position \param my The y position of the mouse relative to the
+        //! text field position \return -1 if no character is at the position
         DLLEXPORT int getTextIndexAt(int mx, int my) const;
-        //! Gibt den Index des Zeichens zurueck, vor dem der curser gesetzt wird,
-        //! wenn mit der maus geklickt wird \param mx die x position der maus
-        //! relativ zur position des textfeldes \param my die y position der
-        //! maus relativ zut position des textfeldes
+        //! Returns the index of the character before which the cursor is
+        //! placed when clicking with the mouse \param mx The x position of
+        //! the mouse relative to the text field position \param my The y
+        //! position of the mouse relative to the text field position
         DLLEXPORT int getCurserPosAt(int mx, int my) const;
-        //! Gibt den Style eines bestimmten zeichens zurueck
-        //! \param index Der index des Zeichensf
+        //! Returns the style of a specific character
+        //! \param index The index of the character
         DLLEXPORT TextStyle getTextStyle(int index) const;
-        //! gibt die Zeichenkette zurueck, die bei Verwendung des Styles
-        //! AutoLineBreak nach jedem Zeilenumbruch eingefuegt wird
+        //! Returns the character sequence inserted after each line break
+        //! when using the AutoLineBreak style
         DLLEXPORT Text getAutoLineBreakSpacing() const;
-        //! Erzeugt eine Komplette Kopie des Textfeldes, welches ohne
-        //! auswirkungen veraendert werden kann
+        //! Creates a complete copy of the text field that can be modified
+        //! without affecting the original
         DLLEXPORT Zeichnung* dublizieren() const override;
     };
 } // namespace Framework

+ 25 - 26
Textur.h

@@ -16,8 +16,8 @@ namespace Framework
     class DX12CopyCommandQueue;
     class DX12DirectCommandQueue;
 
-    //! Wandelt ein Bild in eine Textur um, die an die Grafikkarte zum rendern
-    //! uebergeben werden kann
+    //! Converts an image to a texture that can be passed to the graphics
+    //! card for rendering
     class Textur : public virtual ReferenceCounter
     {
     protected:
@@ -27,42 +27,41 @@ namespace Framework
         int id;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Textur();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~Textur();
-        //! Setzt einen Zeiger auf das Bild, welches die Textur enthaelt
-        //! \param b Der Zeiger auf das Bild
+        //! Sets a pointer to the image that contains the texture
+        //! \param b The pointer to the image
         DLLEXPORT void setBildZ(Bild* b);
-        //! Setzt das Bild welches die Textur enthaelt, indem es kopiert wird
-        //! \param b Das Bild, was kopiert werden soll
+        //! Sets the image that contains the texture by copying it
+        //! \param b The image to copy
         DLLEXPORT void setBild(Bild* b);
-        //! Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in
-        //! den Graphikspeicher kopiert
+        //! Updates the texture. The pixels of the current image are copied
+        //! to graphics memory
         DLLEXPORT virtual bool updateTextur() = 0;
-        //! Gibt true zuruek, wenn updateTextur aufgerufen werden muss
+        //! Returns true if updateTextur needs to be called
         DLLEXPORT virtual bool brauchtUpdate() const = 0;
-        //! Gibt einen Zeiger auf das Bild zurueck
+        //! Returns a pointer to the image
         DLLEXPORT Bild* getBild() const;
-        //! Gibt einen Zeiger auf das Bild ohne erhoehten Reference Counter
-        //! zurueck
+        //! Returns a pointer to the image without increased reference counter
         DLLEXPORT Bild* zBild() const;
-        //! 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())
         DLLEXPORT int getId() const;
 
         friend TexturList;
     };
 
-    //! Wandelt ein Bild in eine Textur um, die an die Grafikkarte zum rendern
-    //! uebergeben werden kann
+    //! Converts an image to a texture that can be passed to the graphics
+    //! card for rendering
     class DX9Textur : public Textur
     {
     public:
-        //! Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in
-        //! den Graphikspeicher kopiert
+        //! Updates the texture. The pixels of the current image are copied
+        //! to graphics memory
         DLLEXPORT virtual bool updateTextur() override;
-        //! Gibt true zuruek, wenn updateTextur aufgerufen werden muss
+        //! Returns true if updateTextur needs to be called
         DLLEXPORT virtual bool brauchtUpdate() const override;
     };
 
@@ -80,14 +79,14 @@ namespace Framework
         DLLEXPORT DX11Textur(
             ID3D11Device* device, ID3D11DeviceContext* context);
         DLLEXPORT ~DX11Textur();
-        //! Aktualisiert die Textur. Die Pixel des aktuellen Bildes werden in
-        //! den Graphikspeicher kopiert
+        //! Updates the texture. The pixels of the current image are copied
+        //! to graphics memory
         DLLEXPORT bool updateTextur() override;
-        //! Gibt true zuruek, wenn updateTextur aufgerufen werden muss
+        //! Returns true if updateTextur needs to be called
         DLLEXPORT bool brauchtUpdate() const override;
-        //! Gibt die verwendtete Shader Resource View zurueck
+        //! Returns the used shader resource view
         DLLEXPORT operator ID3D11ShaderResourceView*() const;
-        //! Gibt die verwendete Textur zurueck
+        //! Returns the used texture
         DLLEXPORT operator ID3D11Texture2D*() const;
         //! specifies that this texture is used as a render target
         DLLEXPORT void setRenderTarget(bool rt);

+ 13 - 13
Textur2D.h

@@ -23,28 +23,28 @@ namespace Framework
         Array<Animation*>* animData;
 
     public:
-        //! Konstructor
+        //! Constructor
         DLLEXPORT Textur2D();
         //! Destructor
         DLLEXPORT ~Textur2D();
-        //! Legt fest, ob die animation sich automatisch wiederhohlen soll
-        //! \param ca 1, falls sich die animation automatisch wiederhohlen soll
+        //! Sets whether the animation should repeat automatically
+        //! \param ca 1 if the animation should repeat automatically
         DLLEXPORT void setCircularAnimation(bool ca);
-        //! setzt einen Zeiger auf die Textur (fals nicht animiert)
-        //! \param textur Der Zeiger auf das Bild
+        //! Sets a pointer to the texture (if not animated)
+        //! \param textur The pointer to the image
         DLLEXPORT void setTexturZ(Bild* textur);
-        //! fuegt eine Animation hinzu
-        //! \param textur Der Zeiger auf die Animationsdaten
+        //! Adds an animation
+        //! \param textur The pointer to the animation data
         DLLEXPORT void addAnimationZ(Animation2DData* textur);
-        //! setzt die aktuelle Annimation
-        //! \param index Der Index der Animation
+        //! Sets the current animation
+        //! \param index The index of the animation
         DLLEXPORT void setAnimation(int index);
-        //! aktiviert die nachfolgende animation
+        //! Activates the next animation
         DLLEXPORT void nextAnimation();
-        //! setzt die vergangene Zeit seit dem letzten Aufruf
-        //! \param t die vergangene Zeit in sekunden
+        //! Sets the elapsed time since the last call
+        //! \param t The elapsed time in seconds
         DLLEXPORT bool tick(double t);
-        //! gibt die aktuelle Textur zurueck
+        //! Returns the current texture
         DLLEXPORT Bild* zTextur() const;
     };
 } // namespace Framework

+ 24 - 26
TexturList.h

@@ -7,8 +7,8 @@ namespace Framework
 {
     class Textur; //! Textur.h
 
-    //! Verwaltet alle geladenen Texturdaten, so dass mehrere Zeichnungen die
-    //! selben Daten benutzen koennen
+    //! Manages all loaded texture data so that multiple drawings can use
+    //! the same data
     class TexturList : public virtual ReferenceCounter
     {
     private:
@@ -18,41 +18,39 @@ namespace Framework
         RCArray<Text>* names;
 
     public:
-        //! Konstruktor
+        //! Constructor
         TexturList();
-        //! Destruktor
+        //! Destructor
         ~TexturList();
-        //! Loescht alle Texturen
+        //! Deletes all textures
         DLLEXPORT void leeren();
-        //! Fuegt der Liste eine Textur hinzu
-        //! \param t Die Textur
-        //! \param name Der name, unter dem die Textur in der Liste gespeichert
-        //! wird
+        //! Adds a texture to the list
+        //! \param t The texture
+        //! \param name The name under which the texture is stored in the list
         DLLEXPORT bool addTextur(Textur* t, const char* name);
-        //! Entfernt eine Textur aus der Liste
-        //! \param name Der Name der Textur
+        //! Removes a texture from the list
+        //! \param name The name of the texture
         DLLEXPORT void removeTextur(const char* name);
-        //! UEberprueft, ob unter einem bestimmten Namen eine Textur abgespeichert
-        //! wurde \param name Der Name \return true, wenn eine Textur mit dem
-        //! Namen existiert
+        //! Checks whether a texture is stored under a specific name
+        //! \param name The name \return true if a texture with the name exists
         DLLEXPORT bool hatTextur(const char* name) const;
-        //! Gibt eine bestimmte Textur zurueck
-        //! \param name Der Name der Textur
+        //! Returns a specific texture
+        //! \param name The name of the texture
         DLLEXPORT Textur* getTextur(const char* name) const;
-        //! Gibt eine bestimmte Textur zurueck
-        //! \param id Die Id der Textur
+        //! Returns a specific texture
+        //! \param id The id of the texture
         DLLEXPORT Textur* getTextur(int id) const;
-        //! Gibt eine bestimmte Textur ohne erhoehten Reference Counter zurueck
-        //! \param name Der Name der Textur
+        //! Returns a specific texture without increased reference counter
+        //! \param name The name of the texture
         DLLEXPORT Textur* zTextur(const char* name) const;
-        //! Gibt eine bestimmte Textur ohne erhoehten Reference Counter zurueck
-        //! \param id Die Id der Textur
+        //! Returns a specific texture without increased reference counter
+        //! \param id The id of the texture
         DLLEXPORT Textur* zTextur(int id) const;
-        //! Initialisiert statische private member. Wird vom Framework
-        //! automatisch aufgerufen.
+        //! Initializes static private members. Called automatically by the
+        //! framework.
         static void init();
-        //! Loescht statische private member. Wird vom Framework automatisch
-        //! aufgerufen.
+        //! Deletes static private members. Called automatically by the
+        //! framework.
         static void destroy();
     };
 } // namespace Framework

+ 9 - 10
TexturModel.h

@@ -7,23 +7,22 @@ namespace Framework
     class Textur;
     class GraphicsApi;
 
-    //! Ein 3D Modell, das zur Darstellung einer Textur im dreidimensionalen
-    //! Raum verwendet werden kann
+    //! A 3D model that can be used to display a texture in three-dimensional space
     class TexturModel : public Model3D
     {
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT TexturModel(GraphicsApi* zApi);
         DLLEXPORT TexturModel(GraphicsApi* zApi, const char* uniqueName);
-        //! Setzt die Textur die angezeigt werden soll
-        //! \param t Die Textur
+        //! Sets the texture to be displayed
+        //! \param t The texture
         DLLEXPORT void setTextur(Textur* t);
-        //! Setzt die Groesse, in der Die Textur angezeigt wird
-        //! \param gr Ein Vektor, der fuer x und y die breite und hoehe beinhaltet
+        //! Sets the size in which the texture is displayed
+        //! \param gr A vector containing width and height for x and y
         DLLEXPORT void setSize(Vec2<float> gr);
-        //! Setzt die Groesse, in der die Textur angezeigt wird
-        //! \param b Die Breite, in der die Textur angezeigt wird
-        //! \param h Die Hoehe, in der die Textur angezeigt wird
+        //! Sets the size in which the texture is displayed
+        //! \param b The width in which the texture is displayed
+        //! \param h The height in which the texture is displayed
         DLLEXPORT void setSize(float b, float h);
     };
 } // namespace Framework

+ 38 - 41
ToolTip.h

@@ -36,69 +36,66 @@ namespace Framework
         Bildschirm* bildschirm;
         std::function<void(ToolTip*)> onShow;
         std::function<void(ToolTip*)> onHide;
-        //! Verarbeitet Maus Nachrichten
-        //! \param me Das Ereignis, was durch die Mauseingabe ausgeloesst wurde
+        //! Processes mouse messages
+        //! \param me The event triggered by the mouse input
         DLLEXPORT void doMausEreignis(MausEreignis& me, bool userRet) override;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT ToolTip(Bildschirm* zSceen);
-        //! Destruktor
+        //! Destructor
         DLLEXPORT ~ToolTip();
-        //! Fuegt eine Zeichnung zum Tooltip hinzu
-        //! \param m die neue Zeichnung
+        //! Adds a drawing to the tooltip
+        //! \param m The new drawing
         DLLEXPORT void addMember(Zeichnung* m);
-        //! Entfernt eine Zeichnung vom Tooltip
-        //! \param m die Zeichnung
+        //! Removes a drawing from the tooltip
+        //! \param m The drawing
         DLLEXPORT void removeMember(Zeichnung* zM);
-        //! Entfernt eine Zeichnung vom Tooltip
-        //! \param i der Index der Zeichnung
+        //! Removes a drawing from the tooltip
+        //! \param i The index of the drawing
         DLLEXPORT void removeMember(int i);
-        //! setzt eine Funktion, die aufgerufen wird, sobald der Tooltip
-        //! angezeigt wird \param onShow Die Funktion
+        //! Sets a function that is called when the tooltip is shown
+        //! \param onShow The function
         DLLEXPORT void setShowEvent(std::function<void(ToolTip*)> onShow);
-        //! setzt eine Funktion, die aufgerufen wird, sobald der Tooltip nicht
-        //! mehr angezeigt wird \param onShow Die Funktion
+        //! Sets a function that is called when the tooltip is no longer shown
+        //! \param onShow The function
         DLLEXPORT void setHideEvent(std::function<void(ToolTip*)> onHide);
-        //! Setzt die anzahl an Seunden, de gewartet wird bis der Tipp erscheint
-        //! \param warten Die Anzahl an Sekunden
+        //! Sets the number of seconds to wait before the tip appears
+        //! \param warten The number of seconds
         DLLEXPORT void setWarten(double warten);
-        //! Legt fest, wie schnell der Tipp erscheint
-        //! \param speed Anzahl der Pixel, die pro Sekunde eingeblendet werden.
-        //! (Standart: 250)
+        //! Sets how fast the tip appears
+        //! \param speed Number of pixels faded in per second. (Default: 250)
         DLLEXPORT void setAnimationSpeed(double speed);
-        //! Legt Fest, ob die Maus in dem Zeichnung ist, zu dem der Tip gehoert
-        //! \param mausIn 1, wenn die Maus in dem Zeichnung ist. 0 sonst
+        //! Sets whether the mouse is inside the drawing the tip belongs to
+        //! \param mausIn 1 if the mouse is inside the drawing. 0 otherwise
         DLLEXPORT void setMausIn(bool mausIn);
-        //! Setzt den Counter zurueck, der zaehlt, wann der Tipp eingeblendet
-        //! wird.
+        //! Resets the counter that tracks when the tip should appear
         DLLEXPORT void wartenReset();
-        //! Legt fest, das das Zeichnung, zu dem der Tip gehoert gezeichnet
-        //! wurde, so dass der Tip auch gezeichnet werden koennte
+        //! Indicates that the drawing the tip belongs to was drawn,
+        //! so the tip could also be drawn
         DLLEXPORT void setZeichnen();
-        //! Aktualisiert den Tip. Wird vom Framework aufgerufen
-        //! \param tickVal Die Zeit in sekunden, die seit dem lezten Aufruf
-        //! dieser Funktion vergangen ist \return 1, wenn sich etwas veraendert
-        //! hat und das Bild neu gezeichnet werden muss. 0 sonst
+        //! Updates the tip. Called by the framework
+        //! \param tickVal The time in seconds since the last call
+        //! of this function \return 1 if something changed
+        //! and the image needs to be redrawn. 0 otherwise
         DLLEXPORT bool tick(double tickVal) override;
-        //! Zeichnet den Tip nach zRObj, falls er sichtbar ist und das
-        //! zugehoerige Zeichnung ebenfalls gezeichnet wurde \param zRObj Das
-        //! Bild, in welches gezeichnet werden soll
+        //! Draws the tip to zRObj if it is visible and the associated
+        //! drawing was also drawn \param zRObj The image to draw into
         DLLEXPORT void render(Bild& zRObj) override;
-        //! Gibt einen Zeiger auf den Bildschirm ohne erhoehten Reference Counter
-        //! zurueck, so dem der Tooltip gehoert.
+        //! Returns a pointer to the screen without increased reference counter
+        //! that this tooltip belongs to
         DLLEXPORT Bildschirm* zBildschirm() const;
-        //! Gibt ein bestimmten member zurueck (ohne erhoehten Reference Counter)
-        //! \param i der Index des Members
+        //! Returns a specific member (without increased reference counter)
+        //! \param i The index of the member
         DLLEXPORT Zeichnung* zMember(int i) const;
-        //! Gibt ein bestimmten member zurueck
-        //! \param i der Index des Members
+        //! Returns a specific member
+        //! \param i The index of the member
         DLLEXPORT Zeichnung* getMember(int i) const;
-        //! Gibt die Anzahl an Zeichnungen zurueck, die zum Tooltip gehoeren
+        //! Returns the number of drawings belonging to the tooltip
         DLLEXPORT int getMemberAnzahl() const;
-        //! Erzeugt eine komplette kopie eines tooltips
+        //! Creates a complete copy of a tooltip
         DLLEXPORT Zeichnung* dublizieren() const override;
-        //! Prueft ob der Tooltip im moment angezeigt wird
+        //! Checks whether the tooltip is currently visible
         DLLEXPORT bool isVisible() const;
     };
 #ifdef WIN32

+ 5 - 5
UIDialog.h

@@ -12,13 +12,13 @@ namespace Framework
     public:
         DLLEXPORT UIDialog(Schrift* schrift);
         DLLEXPORT virtual ~UIDialog();
-        //! Fuegt dem Fenster eine Zeichnung hinzu
-        //! \param obj Die Zeichnung
+        //! Adds a drawing to the window
+        //! \param obj The drawing
         DLLEXPORT virtual void addMember(Zeichnung* obj) override;
-        //! Entfernt eine Zeichnung aus dem Fenster
-        //! \param zObj Die Zeichnung (ohne erhoehten reference Counter)
+        //! Removes a drawing from the window
+        //! \param zObj The drawing (without increased reference counter)
         DLLEXPORT virtual void removeMember(Zeichnung* zObj) override;
-        //! Entfernt alle Zeichnungen aus dem Fenster
+        //! Removes all drawings from the window
         DLLEXPORT virtual void removeAll() override;
     };
 

+ 3 - 4
UIInitialization.h

@@ -53,9 +53,8 @@ namespace Framework
         std::function<UIMLView*(const UIInitParam& p)> createUIMLView;
     };
 
-    //! gibt eine liste mit default initialisierungsfunktionen zurueck
-    //! \param zSchrift Die schrift die verwendet werden soll (ohne erhoehten
-    //! reference Counter) \param zScreen Der Bildschirm der verwendet werden
-    //! soll (ohne erhoehten reference Counter)
+    //! Returns a list of default initialization functions
+    //! \param zSchrift The font to use (without increased reference counter)
+    //! \param zScreen The screen to use (without increased reference counter)
     DLLEXPORT UIInit defaultUI(Schrift* zSchrift, Bildschirm* zScreen);
 } // namespace Framework

+ 50 - 51
Vec2.h

@@ -5,35 +5,35 @@
 
 namespace Framework
 {
-    //! Ein zweidimensionaler Vektor
+    //! A two-dimensional vector
     template<typename T> class Vec2
     {
     public:
-        T x; //! x Komponente des Vektors
-        T y; //! y Komponente des Vektors
+        T x; //! x component of the vector
+        T y; //! y component of the vector
 
-        //! Konstruktor
+        //! Constructor
         inline Vec2() noexcept
             : x(0),
               y(0)
         {}
 
-        //! Konstruktor
-        //! \param x X Komponente des Vektors
-        //! \param y Y Komponente des Vektors
+        //! Constructor
+        //! \param x X component of the vector
+        //! \param y Y component of the vector
         inline Vec2(T x, T y)
             : x(x),
               y(y)
         {}
 
-        //! Konstruktor
-        //! \param vect Ein Vektor, dessen Komponenten uebernommen werden
+        //! Constructor
+        //! \param vect A vector whose components are adopted
         inline Vec2(const Vec2& vect)
             : x((T)vect.x),
               y((T)vect.y)
         {}
 
-        //! Skalliert den Vektor, so dass er die Laenge 1 hat
+        //! Scales the vector so that it has length 1
         inline Vec2& normalize()
         {
             const T length = getLength();
@@ -42,7 +42,7 @@ namespace Framework
             return *this;
         }
 
-        //! Dreht den Vektor um 90 Grad gegen den Uhrzeigersinn
+        //! Rotates the vector 90 degrees counter-clockwise
         inline Vec2& CCW90()
         {
             T temp = y;
@@ -51,7 +51,7 @@ namespace Framework
             return *this;
         }
 
-        //! Dreht den Vektor um 90 Grad im Uhrzeigersinn
+        //! Rotates the vector 90 degrees clockwise
         inline Vec2& CW90()
         {
             T temp = y;
@@ -60,8 +60,8 @@ namespace Framework
             return *this;
         }
 
-        //! Tauscht die Werte der Vektoren aus
-        //! \param vect Der Vektor, mit dem getauscht werden soll
+        //! Swaps the values of the vectors
+        //! \param vect The vector to swap with
         inline Vec2& Swap(Vec2& vect)
         {
             const Vec2 tmp = vect;
@@ -70,8 +70,8 @@ namespace Framework
             return *this;
         }
 
-        //! nimmt die Werte eines anderen Vektors an
-        //! \param r Der andere Vektor
+        //! Adopts the values of another vector
+        //! \param r The other vector
         inline Vec2 operator=(const Vec2& r)
         {
             x = r.x;
@@ -79,8 +79,8 @@ namespace Framework
             return *this;
         }
 
-        //! addiert einen anderen Vektor zu diesem hinzu
-        //! \param r Der andere Vektor
+        //! Adds another vector to this one
+        //! \param r The other vector
         inline Vec2 operator+=(const Vec2& r)
         {
             x += r.x;
@@ -88,8 +88,8 @@ namespace Framework
             return *this;
         }
 
-        //! Zieht einen anderen Vektor von diesem ab
-        //! \param r Der andere Vektor
+        //! Subtracts another vector from this one
+        //! \param r The other vector
         inline Vec2 operator-=(const Vec2& r)
         {
             x -= r.x;
@@ -97,8 +97,8 @@ namespace Framework
             return *this;
         }
 
-        //! Skalliert diesen Vektor mit einem anderen Vektor
-        //! \param r Der andere Vektor
+        //! Scales this vector by a scalar
+        //! \param r The scalar
         inline Vec2 operator*=(const T& r)
         {
             x *= r;
@@ -106,8 +106,8 @@ namespace Framework
             return *this;
         }
 
-        //! Verkuertzt diesen Vektor durch einen anderen Vektor
-        //! \param r Der andere Vektor
+        //! Divides this vector by a scalar
+        //! \param r The scalar
         inline Vec2 operator/=(const T& r)
         {
             x /= r;
@@ -115,69 +115,68 @@ namespace Framework
             return *this;
         }
 
-        //! Bildet die Negation des Vektors
+        //! Negates the vector
         inline Vec2 operator-() const
         {
             return Vec2<T>(-x, -y);
         }
 
-        //! Konvertiert den Vektor in ein Vektor eines anderen Typs
+        //! Converts the vector to a vector of another type
         template<typename T2> inline operator Vec2<T2>() const
         {
             return Vec2<T2>((T2)x, (T2)y);
         }
 
-        //! Errechnet das Quadrat der Laenge desVektors
+        //! Calculates the square of the vector's length
         inline T getLengthSq() const
         {
             return *this * *this;
         }
 
-        //! Errechnet die Laenge des Vektors
+        //! Calculates the length of the vector
         inline T getLength() const
         {
             return (T)sqrt(getLengthSq());
         }
 
-        //! Errechnet das Skalarprodukt zwischen zwei Vektoren
-        //! \param r Der andere Vektor
+        //! Calculates the dot product between two vectors
+        //! \param r The other vector
         inline T operator*(const Vec2& r) const
         {
             return x * r.x + y * r.y;
         }
 
-        //! Addiert zwei Vektoren
-        //! \param r Der andere Vektor
+        //! Adds two vectors
+        //! \param r The other vector
         inline Vec2 operator+(const Vec2& r) const
         {
             return Vec2(*this) += r;
         }
 
-        //! Subtrahiert zwei Vektoren
-        //! \param r Der andere Vektor
+        //! Subtracts two vectors
+        //! \param r The other vector
         inline Vec2 operator-(const Vec2& r) const
         {
             return Vec2(*this) -= r;
         }
 
-        //! Multipliziert die Komponenten zweier Vektoren
-        //! \param r Der andere Vektor
+        //! Multiplies the components of two vectors
+        //! \param r The other vector
         inline Vec2 operator*(const T& r) const
         {
             return Vec2(*this) *= r;
         }
 
-        //! Dividiert die Komponenten zweier Vektoren
-        //! \param r Der andere Vektor
+        //! Divides the components of two vectors
+        //! \param r The other vector
         inline Vec2 operator/(const T& r) const
         {
             return Vec2(*this) /= r;
         }
 
-        //! Prueft, ob sich der Vektor in dem Rechteck zwischen zwei Vektoren
-        //! befindet
-        //!  p1: Ein Vektor zur einen Ecke des Rechtecks
-        //!  p2: Ein Vektor zur gegenueberliegenden Ecke des Rechtecks
+        //! Checks whether the vector is in the rectangle between two vectors
+        //!  p1: A vector to one corner of the rectangle
+        //!  p2: A vector to the opposite corner of the rectangle
         inline bool istInRegion(const Vec2& p1, const Vec2& p2) const
         {
             const T medianX = (T)((p1.x + p2.x) / 2.0);
@@ -186,29 +185,29 @@ namespace Framework
                 && abs<T>(medianY - y) <= abs<T>(medianY - p1.y);
         }
 
-        //! UEberprueft zwei Vektoren auf Gleichheit
-        //! \param r Der andere Vektor
+        //! Checks two vectors for equality
+        //! \param r The other vector
         inline bool operator==(const Vec2& r) const
         {
             return x == r.x && y == r.y;
         }
 
-        //! UEberprueft zwei Vektoren auf Ungleichheit
-        //! \param r Der andere Vektor
+        //! Checks two vectors for inequality
+        //! \param r The other vector
         inline bool operator!=(const Vec2& r) const
         {
             return !(*this == r);
         }
 
-        //! Errechnet den Mittelpunkt zwischen zwei Vektoren
-        //!  p2: Der andere Vektor
+        //! Calculates the midpoint between two vectors
+        //!  p2: The other vector
         inline Vec2 mittelpunktMit(const Vec2& p2) const
         {
             return Vec2((T)((x + p2.x) / 2.0), (T)((y + p2.y) / 2.0));
         }
 
-        //! Rotiert den Vektor gegen den Uhrzeigersinn
-        //! \param angle Der Winkel in Bogenmas
+        //! Rotates the vector counter-clockwise
+        //! \param angle The angle in radians
         inline Vec2 rotation(const float angle) const
         {
             Vec2 result;
@@ -219,7 +218,7 @@ namespace Framework
             return result;
         }
 
-        //! Ermittelt den Winkel zwischen zwei Vektoren
+        //! Determines the angle between two vectors
         inline T angle(const Vec2& v2) const
         {
             return (T)atan2((float)(x * v2.y - y * v2.x), (float)(*this * v2));

+ 49 - 49
Vec3.h

@@ -6,34 +6,34 @@
 namespace Framework
 {
     template<typename T>
-    //! Ein 3D Vektor
+    //! A 3D vector
     class Vec3
     {
     public:
-        T x; //! X Komponente des Vektors
-        T y; //! y Komponente des Vektors
-        T z; //! z Komponente des Vektors
+        T x; //! X component of the vector
+        T y; //! Y component of the vector
+        T z; //! Z component of the vector
 
-        //! Konstruktor
+        //! Constructor
         inline Vec3() {}
 
-        //! Konstruktor
-        //! \param x Die X Komponente des neuen Vektors
-        //! \param y Die Y Komponente des neuen Vektors
-        //! \param z Die Z Komponente des neuen Vektors
+        //! Constructor
+        //! \param x The X component of the new vector
+        //! \param y The Y component of the new vector
+        //! \param z The Z component of the new vector
         inline Vec3(T x, T y, T z)
             : x(x),
               y(y),
               z(z)
         {}
 
-        //! Konstruktor
-        //! \param vect Ein Vektor, dessen Werte kopiert werden sollen
+        //! Constructor
+        //! \param vect A vector whose values should be copied
         inline Vec3(const Vec3& vect)
             : Vec3(vect.x, vect.y, vect.z)
         {}
 
-        //! Skalliert den Vektor, so dass er die Laenge 1 hat
+        //! Scales the vector so that it has length 1
         inline Vec3& normalize()
         {
             const T length = getLength();
@@ -43,8 +43,8 @@ namespace Framework
             return *this;
         }
 
-        //! Vertaucht die Werte des Vektors mit denen eines anderen Vektor
-        //! \param vect Der andere Vektor
+        //! Swaps the values of the vector with those of another vector
+        //! \param vect The other vector
         inline Vec3& swap(Vec3& vect)
         {
             const Vec3 tmp = vect;
@@ -53,7 +53,7 @@ namespace Framework
             return *this;
         }
 
-        //! Berechnet einen winkel zwischen diesem und einem anderen Vektor
+        //! Calculates an angle between this and another vector
         inline float angle(Vec3 vect)
         {
             return lowPrecisionACos(
@@ -61,8 +61,8 @@ namespace Framework
                 / ((float)getLength() * (float)vect.getLength()));
         }
 
-        //! Kopiert die Werte eines anderen Vektors
-        //! \param r Der andere Vektor
+        //! Copies the values of another vector
+        //! \param r The other vector
         inline Vec3 operator=(const Vec3& r)
         {
             x = r.x;
@@ -71,8 +71,8 @@ namespace Framework
             return *this;
         }
 
-        //! Addiert einen anderen Vektor zu diesem Hinzu
-        //! \param r Der andere Vektor
+        //! Adds another vector to this one
+        //! \param r The other vector
         inline Vec3 operator+=(const Vec3& r)
         {
             x += r.x;
@@ -81,8 +81,8 @@ namespace Framework
             return *this;
         }
 
-        //! Zieht einen anderen Vektor von diesem ab
-        //! \param r Der andere Vektor
+        //! Subtracts another vector from this one
+        //! \param r The other vector
         inline Vec3 operator-=(const Vec3& r)
         {
             x -= r.x;
@@ -91,8 +91,8 @@ namespace Framework
             return *this;
         }
 
-        //! Skalliert diesen Vektor
-        //! \param r Der Faktor
+        //! Scales this vector
+        //! \param r The factor
         inline Vec3 operator*=(const T& r)
         {
             x *= r;
@@ -101,8 +101,8 @@ namespace Framework
             return *this;
         }
 
-        //! Skalliert diesen Vektor mit 1/Faktor
-        //! \param r Der Faktor
+        //! Scales this vector by 1/factor
+        //! \param r The factor
         inline Vec3 operator/=(const T& r)
         {
             x /= r;
@@ -111,97 +111,97 @@ namespace Framework
             return *this;
         }
 
-        //! Errechnet das Quadrat des Abstands zwischen zewi Vektoren
-        //! \param p Der andere Vektor
+        //! Calculates the square of the distance between two vectors
+        //! \param p The other vector
         inline T abstandSq(const Vec3& p) const
         {
             return (x - p.x) * (x - p.x) + (y - p.y) * (y - p.y)
                  + (z - p.z) * (z - p.z);
         }
 
-        //! Errechnet den Abstand zwischen zwei Vektoren
-        //! \param p Der andere Vektor
+        //! Calculates the distance between two vectors
+        //! \param p The other vector
         inline T abstand(const Vec3& p) const
         {
             return sqrt(abstandSq(p));
         }
 
-        //! Gibt einen neuen Vektor zurueck, der die negation von diesem ist
+        //! Returns a new vector that is the negation of this one
         inline Vec3 operator-() const
         {
             return {-x, -y, -z};
         }
 
         template<typename T2>
-        //! Konvertiert den Typ des Vektors in einen anderen
+        //! Converts the vector type to another
         inline operator Vec3<T2>() const
         {
             return {(T2)x, (T2)y, (T2)z};
         }
 
-        //! Errechnet das Quadrat der Laenge des Vektors
+        //! Calculates the square of the vector's length
         inline T getLengthSq() const
         {
             return *this * *this;
         }
 
-        //! Errechnet due Laenge des Vektors
+        //! Calculates the length of the vector
         inline T getLength() const
         {
             return (T)sqrt(getLengthSq());
         }
 
-        //! Bildet das Skalarprodukt zwischen zwei Vektoren
-        //! \param r Der andere Vektor
+        //! Calculates the dot product between two vectors
+        //! \param r The other vector
         inline T operator*(const Vec3& r) const
         {
             return x * r.x + y * r.y + z * r.z;
         }
 
-        //! Errechnet die Summe zweier Vektoren
-        //! \param r Der andere Vektor
+        //! Calculates the sum of two vectors
+        //! \param r The other vector
         inline Vec3 operator+(const Vec3& r) const
         {
             return Vec3(*this) += r;
         }
 
-        //! Zieht zwei Vektoren von einander ab
-        //! \param r Der andere Vektor
+        //! Subtracts two vectors from each other
+        //! \param r The other vector
         inline Vec3 operator-(const Vec3& r) const
         {
             return Vec3(*this) -= r;
         }
 
-        //! Skalliert den Vektor ohne ihn zu veraendern
-        //! \param r Der Faktor
+        //! Scales the vector without modifying it
+        //! \param r The factor
         inline Vec3 operator*(const T& r) const
         {
             return Vec3(*this) *= r;
         }
 
-        //! Skalliert den Vektor mit 1/Faktor ohne ihn zu Veraendern
-        //! \param r Der Faktor
+        //! Scales the vector by 1/factor without modifying it
+        //! \param r The factor
         inline Vec3 operator/(const T& r) const
         {
             return Vec3(*this) /= r;
         }
 
-        //! UEberprueft zwei Vektoren auf Gleichheit
-        //! \param r Der andere Vektor
+        //! Checks two vectors for equality
+        //! \param r The other vector
         inline bool operator==(const Vec3& r) const
         {
             return x == r.x && y == r.y && z == r.z;
         }
 
-        //! UEberprueft zwei Vektoren auf Ungleichheit
-        //! \param r Der andere Vektor
+        //! Checks two vectors for inequality
+        //! \param r The other vector
         inline bool operator!=(const Vec3& r) const
         {
             return !(*this == r);
         }
 
-        //! Gibt das Kreutzprodukt zwischen diesem und einem anderen Vector
-        //! zurueck \param b der andere Vector
+        //! Returns the cross product between this and another vector
+        //! \param b The other vector
         inline Vec3 crossProduct(const Vec3& b) const
         {
             return Vec3(

+ 42 - 42
VecN.h

@@ -5,18 +5,18 @@
 namespace Framework
 {
     template<typename T, int N>
-    //! Ein 3D Vektor
+    //! An N-dimensional vector
     class VecN
     {
     private:
         T v[N];
 
     public:
-        //! Konstruktor
+        //! Constructor
         inline VecN() {}
 
-        //! Konstruktor
-        //! \param v die werte des Vectors
+        //! Constructor
+        //! \param v The values of the vector
         inline VecN(const T v[N])
         {
             memcpy(this->v, v, sizeof(T) * N);
@@ -33,13 +33,13 @@ namespace Framework
             }
         }
 
-        //! Konstruktor
-        //! \param vect Ein Vektor, dessen Werte kopiert werden sollen
+        //! Constructor
+        //! \param vect A vector whose values should be copied
         inline VecN(const VecN& vect)
             : VecN(vect.v)
         {}
 
-        //! Skalliert den Vektor, so dass er die Laenge 1 hat
+        //! Scales the vector so that it has length 1
         inline VecN& normalize()
         {
             const T length = getLength();
@@ -48,8 +48,8 @@ namespace Framework
             return *this;
         }
 
-        //! Vertaucht die Werte des Vektors mit denen eines anderen Vektor
-        //! \param vect Der andere Vektor
+        //! Swaps the values of the vector with those of another vector
+        //! \param vect The other vector
         inline VecN& swap(VecN& vect)
         {
             const VecN tmp = vect;
@@ -58,7 +58,7 @@ namespace Framework
             return *this;
         }
 
-        //! Berechnet einen winkel zwischen diesem und einem anderen Vektor
+        //! Calculates an angle between this and another vector
         inline float angle(VecN vect)
         {
             return lowPrecisionACos(
@@ -66,16 +66,16 @@ namespace Framework
                 / ((float)getLength() * (float)vect.getLength()));
         }
 
-        //! Kopiert die Werte eines anderen Vektors
-        //! \param r Der andere Vektor
+        //! Copies the values of another vector
+        //! \param r The other vector
         inline VecN operator=(const VecN& r)
         {
             memcpy(v, r.v, sizeof(T) * N);
             return *this;
         }
 
-        //! Addiert einen anderen Vektor zu diesem Hinzu
-        //! \param r Der andere Vektor
+        //! Adds another vector to this one
+        //! \param r The other vector
         inline VecN operator+=(const VecN& r)
         {
             for (int i = 0; i < N; i++)
@@ -83,8 +83,8 @@ namespace Framework
             return *this;
         }
 
-        //! Zieht einen anderen Vektor von diesem ab
-        //! \param r Der andere Vektor
+        //! Subtracts another vector from this one
+        //! \param r The other vector
         inline VecN operator-=(const VecN& r)
         {
             for (int i = 0; i < N; i++)
@@ -92,8 +92,8 @@ namespace Framework
             return *this;
         }
 
-        //! Skalliert diesen Vektor
-        //! \param r Der Faktor
+        //! Scales this vector
+        //! \param r The factor
         inline VecN operator*=(const T& r)
         {
             for (int i = 0; i < N; i++)
@@ -101,8 +101,8 @@ namespace Framework
             return *this;
         }
 
-        //! Skalliert diesen Vektor mit 1/Faktor
-        //! \param r Der Faktor
+        //! Scales this vector by 1/factor
+        //! \param r The factor
         inline VecN operator/=(const T& r)
         {
             for (int i = 0; i < N; i++)
@@ -110,8 +110,8 @@ namespace Framework
             return *this;
         }
 
-        //! Errechnet das Quadrat des Abstands zwischen zewi Vektoren
-        //! \param p Der andere Vektor
+        //! Calculates the square of the distance between two vectors
+        //! \param p The other vector
         inline T abstandSq(const VecN& p) const
         {
             T sum = (T)0;
@@ -120,14 +120,14 @@ namespace Framework
             return sum;
         }
 
-        //! Errechnet den Abstand zwischen zwei Vektoren
-        //! \param p Der andere Vektor
+        //! Calculates the distance between two vectors
+        //! \param p The other vector
         inline T abstand(const VecN& p) const
         {
             return sqrt(abstandSq(p));
         }
 
-        //! Gibt einen neuen Vektor zurueck, der die negation von diesem ist
+        //! Returns a new vector that is the negation of this one
         inline VecN operator-() const
         {
             T r[N];
@@ -137,7 +137,7 @@ namespace Framework
         }
 
         template<typename T2>
-        //! Konvertiert den Typ des Vektors in einen anderen
+        //! Converts the vector type to another
         inline operator VecN<T2, N>() const
         {
             T2 r[N];
@@ -146,20 +146,20 @@ namespace Framework
             return {r};
         }
 
-        //! Errechnet das Quadrat der Laenge des Vektors
+        //! Calculates the square of the vector's length
         inline T getLengthSq() const
         {
             return *this * *this;
         }
 
-        //! Errechnet due Laenge des Vektors
+        //! Calculates the length of the vector
         inline T getLength() const
         {
             return (T)sqrt(getLengthSq());
         }
 
-        //! Bildet das Skalarprodukt zwischen zwei Vektoren
-        //! \param r Der andere Vektor
+        //! Calculates the dot product between two vectors
+        //! \param r The other vector
         inline T operator*(const VecN& r) const
         {
             T sum = (T)0;
@@ -168,36 +168,36 @@ namespace Framework
             return sum;
         }
 
-        //! Errechnet die Summe zweier Vektoren
-        //! \param r Der andere Vektor
+        //! Calculates the sum of two vectors
+        //! \param r The other vector
         inline VecN operator+(const VecN& r) const
         {
             return VecN(*this) += r;
         }
 
-        //! Zieht zwei Vektoren von einander ab
-        //! \param r Der andere Vektor
+        //! Subtracts two vectors from each other
+        //! \param r The other vector
         inline VecN operator-(const VecN& r) const
         {
             return VecN(*this) -= r;
         }
 
-        //! Skalliert den Vektor ohne ihn zu veraendern
-        //! \param r Der Faktor
+        //! Scales the vector without modifying it
+        //! \param r The factor
         inline VecN operator*(const T& r) const
         {
             return VecN(*this) *= r;
         }
 
-        //! Skalliert den Vektor mit 1/Faktor ohne ihn zu Veraendern
-        //! \param r Der Faktor
+        //! Scales the vector by 1/factor without modifying it
+        //! \param r The factor
         inline VecN operator/(const T& r) const
         {
             return VecN(*this) /= r;
         }
 
-        //! UEberprueft zwei Vektoren auf Gleichheit
-        //! \param r Der andere Vektor
+        //! Checks two vectors for equality
+        //! \param r The other vector
         inline bool operator==(const VecN& r) const
         {
             for (int i = 0; i < N; i++)
@@ -207,8 +207,8 @@ namespace Framework
             return 1;
         }
 
-        //! UEberprueft zwei Vektoren auf Ungleichheit
-        //! \param r Der andere Vektor
+        //! Checks two vectors for inequality
+        //! \param r The other vector
         inline bool operator!=(const VecN& r) const
         {
             return !(*this == r);

+ 85 - 88
Welt2D.h

@@ -35,137 +35,134 @@ namespace Framework
     public:
         DLLEXPORT Object2D();
         DLLEXPORT virtual ~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 should be executed
+        //! once by the main thread. (Happens after tick)
         DLLEXPORT void postAction(std::function<void()> action);
-        //! Fuegt einen Schub in die ausbreitungsrichtung der Explusion zur
-        //! Bewegung des Objektes hinzu \param worldPos Die Position des
-        //! Explusionsuhrsprungs \param intensity Die Intensitaet der Explusion
+        //! Adds a thrust in the propagation direction of the explosion to
+        //! the object's movement \param worldPos The position of the explosion
+        //! origin \param intensity The intensity of the explosion
         DLLEXPORT void explosion(Vertex worldPos, float intensity);
-        //! UEbt auf das Objekt einen Impuls aus, der sowohl die geschwindigkeit,
-        //! als auch die Drehungsgeschwindigkeit des Objektes beeinflusst \param
-        //! start Die Startposition des Impulses in der Welt \param speed Die
-        //! Geschwindigkeit des Impulses in der Welt \param strength Staerke des
-        //! aufpralls
+        //! Applies an impulse to the object that affects both speed and
+        //! rotation speed \param start The start position of the impulse
+        //! in the world \param speed The speed of the impulse in the world
+        //! \param strength Strength of the impact
         DLLEXPORT virtual void impuls(
             Vertex start, Vertex speed, float strength = 1.f);
-        //! Setzt die Geschwindigkeit des Objektes in der Welt
-        //! \param speed Anzahl der zurueckgelegten Koordinaten pro Sekunde
+        //! Sets the speed of the object in the world
+        //! \param speed Number of coordinates traveled per second
         DLLEXPORT void setSpeed(Vertex speed);
-        //! Setzt die Geschwindigkeit des Objektes in der Welt
-        //! \param x Anzahl der zurueckgelegten x Koordinaten pro Sekunde
-        //! \param y Anzahl der zurueckgelegten y Koordinaten pro Sekunde
+        //! Sets the speed of the object in the world
+        //! \param x Number of x coordinates traveled per second
+        //! \param y Number of y coordinates traveled per second
         DLLEXPORT void setSpeed(float x, float y);
-        //! Setzt die Position des Objektes in der Welt
-        //! \param pos Die Position in Weltkoordinaten
+        //! Sets the position of the object in the world
+        //! \param pos The position in world coordinates
         DLLEXPORT void setPosition(Vertex pos);
-        //! Setzt die Position des Objektes in der Welt
-        //! \param x Die X Position in Weltkoordinaten
-        //! \param y Die Y Position in Weltkoordinaten
+        //! Sets the position of the object in the world
+        //! \param x The X position in world coordinates
+        //! \param y The Y position in world coordinates
         DLLEXPORT void setPosition(float x, float y);
-        //! Setzt die Rotationsgeschwindigkeit in Radiant pro Sekunde
-        //! \param ds Die neue Rptationsgeschwindigkeit
+        //! Sets the rotation speed in radians per second
+        //! \param ds The new rotation speed
         DLLEXPORT void setDrehungSpeed(float ds);
-        //! Setzt die Drehung des Models gegen den Uhrzeigersinn
-        //! \param drehung Der winkel in Bogenmas
+        //! Sets the counter-clockwise rotation of the model
+        //! \param drehung The angle in radians
         DLLEXPORT void setDrehung(float drehung);
-        //! Fuegt zum aktuellen Drehungswinkel etwas hinzu
-        //! \param drehung Der Winkel in Bogenmas, der hinzugefuegt werden soll
+        //! Adds to the current rotation angle
+        //! \param drehung The angle in radians to add
         DLLEXPORT void addDrehung(float drehung);
-        //! Setzt die Skallierung des Modells
-        //! \param size Der Faktor, mit dem Skalliert wird
+        //! Sets the scaling of the model
+        //! \param size The scaling factor
         DLLEXPORT void setSize(float size);
-        //! Addiert zur Skallierung einen bestimmten Wert hinzu
-        //! \param size Der Wert, der zur skallierung hinzugefuegt werden soll
+        //! Adds a value to the scaling
+        //! \param size The value to add to the scaling
         DLLEXPORT void addSize(float size);
-        //! Legt fest, ob andere Objekte mit diesem Objekt zusammenschtossen
-        //! koennen \param handle 0, falls keine Kollisionen existieren
+        //! Sets whether other objects can collide with this object
+        //! \param handle 0 if no collisions exist
         DLLEXPORT void setCollision(bool handle);
-        //! Prueft ob eine Collision mit einem anderen Objekt vorliegt und passt
-        //! die Geschwindigkeiten beider Objekte entsprechend an
+        //! Checks if a collision with another object exists and adjusts
+        //! the speeds of both objects accordingly
         DLLEXPORT virtual bool handleCollision(Object2D* obj);
-        //! Verarbeitet vargangene Zeit und aktualisiert die Position und die
-        //! Drehung des Objektes in der Welt \param zeit Die vergangene Zeit in
-        //! Sekunden
+        //! Processes elapsed time and updates the position and rotation
+        //! of the object in the world \param zeit The elapsed time in seconds
         DLLEXPORT virtual bool tick(const WeltInfo& info, double zeit);
-        //! Zeichnet das Objekt in ein Bild
-        //! \param kamMat Due Kamera Matrix, welche einen Punkt aus
-        //! Weltkoordinaten in Bildschirmkoordinaten umwandelt \param zRObj Das
-        //! Bild, in welches gezeichnet werden soll \param ignoreTransparentFlag
-        //! wenn 1, dann werden auch collisionen mit transparenten polygonen
-        //! beachtet
+        //! Draws the object into an image
+        //! \param kamMat The camera matrix that converts a point from
+        //! world coordinates to screen coordinates \param zRObj The image
+        //! to draw into \param ignoreTransparentFlag if 1, collisions with
+        //! transparent polygons are also considered
         virtual void render(
             Mat3<float>& kamMat, Bild& zRObj, const char* ignoreTransparentFlag)
             = 0;
-        //! Gibt zurueck, ob ein Punkt in dem Objekt enthalten ist
-        //! \param p Der Punkt
-        //! \param ignoreTransparentFlag wenn 1, dann werden auch collisionen
-        //! mit transparenten polygonen beachtet
+        //! Returns whether a point is inside the object
+        //! \param p The point
+        //! \param ignoreTransparentFlag if 1, collisions with transparent
+        //! polygons are also considered
         DLLEXPORT virtual bool istPunktInnen(
             Vertex p, bool ignoreTransparentFlag = 0) const;
-        //! UEberprueft, ob eine Linie im Objekt enthalten ist
-        //! \param a Der startpunkt der Linie
-        //! \param b Der endpunkt der Linie
-        //! \param ignoreTransparentFlag wenn 1, dann werden auch collisionen
-        //! mit transparenten polygonen beachtet
+        //! Checks whether a line is inside the object
+        //! \param a The start point of the line
+        //! \param b The end point of the line
+        //! \param ignoreTransparentFlag if 1, collisions with transparent
+        //! polygons are also considered
         DLLEXPORT virtual bool istLinieInnen(
             Vertex a, Vertex b, bool ignoreTransparentFlag = 0) const;
-        //! UEberprueft, ob sich das Objekt mit einem anderen UEberschneidet
-        //! \param zObj Ein Zeiger auf das andere Objekt ohne erhoehten Reference
-        //! Counter \param sp Ein Zeiger auf einen Punkt, in dem der
-        //! Schnittpunkt gespeichert wird \param end 0, falls alle Ecken beider
-        //! Objekte ueberprueft werdden sollen. 1, falls nur die Punkte dieses
-        //! Models im anderen gesucht werden sollen
+        //! Checks whether the object intersects with another
+        //! \param zObj A pointer to the other object without increased reference
+        //! counter \param sp A pointer to a point where the intersection
+        //! point is stored \param end 0 if all corners of both objects should be
+        //! checked. 1 if only the points of this model should be searched
+        //! in the other
         DLLEXPORT virtual bool istModelInnen(const Object2D* zObj,
             Vertex* sp = 0,
             bool end = 0,
             bool ignoreTransparent = 0) const;
-        //! Gibt eine Matrix zurueck, welche einen Punkt aus Objektkoordinaten in
-        //! Bildschirmkoordinaten umrechnet
+        //! Returns a matrix that converts a point from object coordinates
+        //! to screen coordinates
         DLLEXPORT Mat3<float> getObjectMatrix() const;
-        //! Gibt eine Matrix zurueck, welche einen Punkt aus
-        //! Bildschirmkoordinaten in Objektkoordinaten umrechnet
+        //! Returns a matrix that converts a point from screen coordinates
+        //! to object coordinates
         DLLEXPORT Mat3<float> getInverseObjectMatrix() const;
-        //! Rechnet einen Punkt aus Welt Koordinaten in Objektkoordinaten um
-        //! \param worldPos Die Position des Punktes in der Welt
+        //! Converts a point from world coordinates to object coordinates
+        //! \param worldPos The position of the point in the world
         DLLEXPORT Vertex getObjectPos(Vertex worldPos) const;
-        //! Rechnet eine Richtung aus Weltkoordinaten in Objektkoordinaten um
-        //! \param worldDir Die Richtung in Weltkoordinaten
+        //! Converts a direction from world coordinates to object coordinates
+        //! \param worldDir The direction in world coordinates
         DLLEXPORT Vertex getObjectDir(Vertex worldDir) const;
-        //! Rechnet einen Punkt aus Objektkoordinaten in Weltkoordinaten um
-        //! \param worldPos Die Position des Punktes in Objektkoordinaten
+        //! Converts a point from object coordinates to world coordinates
+        //! \param worldPos The position of the point in object coordinates
         DLLEXPORT Vertex getWorldPos(Vertex objectPos) const;
-        //! Rechnet eine Richtung aus Objektkoordinaten in Weltkoordinaten um
-        //! \param worldDir Die Richtung in Objektkoordinaten
+        //! Converts a direction from object coordinates to world coordinates
+        //! \param worldDir The direction in object coordinates
         DLLEXPORT Vertex getWorldDir(Vertex objectDir) const;
-        //! Gibt die Geschwindigkeit des Objektes zurueck
+        //! Returns the speed of the object
         DLLEXPORT Vertex getSpeed() const;
-        //! gibt die Position des Objektes zurueck
+        //! Returns the position of the object
         DLLEXPORT Vertex getPosition() const;
-        //! gibt die Drehgeschwindigkeit des Objektes zurueck
+        //! Returns the rotation speed of the object
         DLLEXPORT float getDrehungSpeed() const;
-        //! gibt die Drehung des Objektes zurueck
+        //! Returns the rotation of the object
         DLLEXPORT float getDrehung() const;
-        //! gibt den Skallierungs Objektes zurueck
+        //! Returns the scaling of the object
         DLLEXPORT float getSize() const;
-        //! Gibt eine Boundingbox zurueck, in der sich alle Punkte des Objektes
-        //! befinden ( in Weltkoordinaten)
+        //! Returns a bounding box containing all points of the object
+        //! (in world coordinates)
         DLLEXPORT virtual Rect2<float> getBoundingBox() const = 0;
-        //! Bestimmt den Aufschlagspunkt eines Strahls, der von pos ausgehend in
-        //! Richtung dir abgegeben wird. \param pos Der Stuetzvektor der Linie
-        //! \param dir Der richtungsvektor der Linie
-        //! \param hitPoint eine referenz auf die variable in dem der
-        //! schnittpunkt gespeichert werden soll \return 1, fals ein
-        //! Schnittpunkt existiert
+        //! Determines the hit point of a ray emitted from pos in the
+        //! direction dir. \param pos The support vector of the line
+        //! \param dir The direction vector of the line
+        //! \param hitPoint A reference to the variable where the
+        //! intersection point should be stored \return 1 if an
+        //! intersection point exists
         DLLEXPORT virtual bool calcHitPoint(
             Vertex pos, Vertex dir, Vertex& hitpoint) const;
-        //! Ermittelt die Flaeche des Objektes, welche rechtwinklich zum
-        //! Bewegungsvektor steht
+        //! Determines the area of the object perpendicular to the
+        //! movement vector
         DLLEXPORT virtual float getLuftWiederstand() const;
-        //! Gibt die Masse des Objektes zurueck
+        //! Returns the mass of the object
         DLLEXPORT virtual float getMasse() const;
-        //! Legt fest, ob andere Objekte mit diesem Objekt zusammenschtossen
-        //! koennen \return 0, falls keine Kollisionen existieren
+        //! Returns whether other objects can collide with this object
+        //! \return 0 if no collisions exist
         DLLEXPORT bool canCollide();
     };
 

+ 36 - 40
Welt3D.h

@@ -15,7 +15,7 @@ namespace Framework
     class DXBuffer;
     class Welt3D;
 
-    //! Speichert alle 3D Zeichnungen einer Szene ab
+    //! Stores all 3D drawings of a scene
     class Welt3D : public Model3DCollection
     {
     protected:
@@ -31,67 +31,63 @@ namespace Framework
         Critical cs;
 
     public:
-        //! Konstructor
+        //! Constructor
         DLLEXPORT Welt3D();
-        //! Destruktor
+        //! Destructor
         DLLEXPORT virtual ~Welt3D();
-        //! Blockiert den zugriff auf das Objekt und wartet gegebenfalls auf den
-        //! Zugriff
+        //! Locks access to the object and waits for access if necessary
         DLLEXPORT void lock();
-        //! Gibt das Objekt fuer andere Threads frei
+        //! Releases the object for other threads
         DLLEXPORT void unlock();
-        //! Fuegt der Welt ein Objekt hinzu
-        //! \param obj Das Objekt, was hinzugefuegt werden soll
+        //! Adds an object to the world
+        //! \param obj The object to add
         DLLEXPORT void addZeichnung(Model3D* obj);
-        //! Entfernt ein Objekt aus der Welt
-        //! \param obj Das Objekt, das entwernt werden soll (ohne erhoehten
-        //! reference Counter)
+        //! Removes an object from the world
+        //! \param obj The object to remove (without increased reference counter)
         DLLEXPORT void removeZeichnung(Model3D* zObj);
-        //! 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 add
         DLLEXPORT void addCollection(Model3DCollection* collection);
         //! removes a collection of models from the world
-        //! \param zCollection Die Collection die entfernt werden soll
+        //! \param zCollection The collection to remove
         DLLEXPORT void removeCollection(Model3DCollection* zCollection);
-        //! Verarbeitet ein Mausereignis
-        //! \param me Das Mausereignis, das verarbeitet werden soll
+        //! Processes a mouse event
+        //! \param me The mouse event to process
         DLLEXPORT void doMausEreignis(MausEreignis3D& me);
-        //! Verarbeitet die vergangene Zeit
-        //! \param 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
+        //! \param tickval The time in seconds since the last call of this
+        //! function \return true if the object changed, false otherwise.
         DLLEXPORT virtual bool tick(double tickval);
-        //! brerechnet die Farbe eines Sichtstrahls, der von einem bestimmten
-        //! punkt aus in eine bestimmte richtung schaut \param point Der
-        //! ursprung des Strahls, \param 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 \param point The origin of the ray
+        //! \param dir The direction of the ray \return The color of the ray
         DLLEXPORT virtual int traceRay(Vec3<float>& point, Vec3<float>& dir);
-        //! fuehrt eine funktion auf jedem Model aus
+        //! Executes a function on each model
         DLLEXPORT virtual void forAll(std::function<void(Model3D*)> f) override;
-        //! fuehrt eine tick funktion auf jedem Model aus
+        //! Executes a tick function on each model
         DLLEXPORT virtual bool tick(
             std::function<void(Model3D*)> f, double time) override;
-        //! fuehrt eine render funktion auf jedem Model aus
+        //! Executes a render function on each model
         DLLEXPORT virtual void render(std::function<void(Model3D*)> f) override;
-        //! Gibt die Anzahl an Punkt Lichtquellen zurueck
+        //! Returns the number of point light sources
         DLLEXPORT int getPointLightCount() const;
-        //! Gibt die Anzahl an Richtungs Lichtquellen zurueck
+        //! Returns the number of diffuse light sources
         DLLEXPORT int getDiffuseLightCount() const;
-        //! Kopiert alle Lichtquellen in die Buffer
-        //! \param zDiffuse der Buffer fuer die rechtungs Lichtquellen
-        //! \param zPoints der Buffer fuer die Punkt Lichtquellen
+        //! Copies all light sources into the buffers
+        //! \param zDiffuse The buffer for diffuse light sources
+        //! \param zPoints The buffer for point light sources
         DLLEXPORT void copyLight(DXBuffer* zDiffuse, DXBuffer* zPoints) const;
-        //! fuegt eine neue diffuse lichtquelle hinzu
-        //! \param light Die neue Lichtquelle
+        //! Adds a new diffuse light source
+        //! \param light The new light source
         DLLEXPORT void addDiffuseLight(DiffuseLight light);
-        //! fuegt eine neue Punkt lichtquelle hinzu
-        //! \param light Die neue Lichtquelle
+        //! Adds a new point light source
+        //! \param light The new light source
         DLLEXPORT void addPointLight(PointLight light);
-        //! Gibt die Referenz auf eine Diffuse Lichtquelle zurueck
-        //! \param index Der Index der Lichtquelle
+        //! Returns a reference to a diffuse light source
+        //! \param index The index of the light source
         DLLEXPORT DiffuseLight& getDiffuseLight(int index) const;
-        //! Gibt die Referenz auf eine Punkt Lichtquelle zurueck
-        //! \param index Der Index der Lichtquelle
+        //! Returns a reference to a point light source
+        //! \param index The index of the light source
         DLLEXPORT PointLight& getPointLight(int index) const;
         //! removes a specific fiffuse light from the world
         //! \param index the index of the light

+ 60 - 67
Zeichnung3D.h

@@ -9,110 +9,103 @@ namespace Framework
     struct TastaturEreignis;
     class Render3D; //! Render3D.h
 
-    //! Ein Objekt, das von der Bildschirm3D Klasse gezeichnet werden kann.
+    //! An object that can be drawn by the Bildschirm3D class.
     class Zeichnung3D : public virtual ReferenceCounter
     {
     protected:
-        Vec3<float> pos;   //! Position des Objekts
-        Vec3<float> angle; //! Drehungswinkel fuer x, y und z
-        Mat4<float> welt;  //! Wlet translation matrix
-        float radius;      //! Der radius einer Kugel, der das gesamte Objekt
-                           //! umschliesst
-        bool alpha; //! Speichert ob das Objekt teilweise oder ganz transparente
-                    //! stellen enthaelt
+        Vec3<float> pos;   //! Position of the object
+        Vec3<float> angle; //! Rotation angles for x, y and z
+        Mat4<float> welt;  //! World translation matrix
+        float radius;      //! The radius of a sphere that encloses the entire object
+        bool alpha; //! Stores whether the object contains partially or fully
+                    //! transparent areas
         bool rend;
         float size;
 
     public:
-        //! Konstruktor
+        //! Constructor
         DLLEXPORT Zeichnung3D();
         DLLEXPORT virtual ~Zeichnung3D();
-        //! Setzt die Position der Zeichnung in der Welt
-        //! \param p Die Position
+        //! Sets the position of the drawing in the world
+        //! \param p The position
         DLLEXPORT void setPosition(const Vec3<float>& p);
-        //! Setzt die Position der Zeichnung in der Welt
-        //! \param x Die x Position
-        //! \param y Die y Position
-        //! \param z Die z Position
+        //! Sets the position of the drawing in the world
+        //! \param x The x position
+        //! \param y The y position
+        //! \param z The z position
         DLLEXPORT void setPosition(float x, float y, float z);
-        //! Setzt die Position der Zeichnung in der Welt
-        //! \param x Die x Position
+        //! Sets the position of the drawing in the world
+        //! \param x The x position
         DLLEXPORT void setX(float x);
-        //! Setzt die Position der Zeichnung in der Welt
-        //! \param y Die y Position
+        //! Sets the position of the drawing in the world
+        //! \param y The y position
         DLLEXPORT void setY(float y);
-        //! Setzt die Position der Zeichnung in der Welt
-        //! \param z Die z Position
+        //! Sets the position of the drawing in the world
+        //! \param z The z position
         DLLEXPORT void setZ(float z);
-        //! Setzt die Drehung der Zeichnung in der Welt
-        //! \param d Die drehung um die x, y und z achse
+        //! Sets the rotation of the drawing in the world
+        //! \param d The rotation around the x, y and z axes
         DLLEXPORT void setDrehung(const Vec3<float>& d);
-        //! Setzt die Drehung der Zeichnung in der Welt
-        //! \param xWinkel Die drehung um die x achse
-        //! \param yWinkel Die drehung um die y achse
-        //! \param zWinkel Die drehung um die z achse
+        //! Sets the rotation of the drawing in the world
+        //! \param xWinkel The rotation around the x axis
+        //! \param yWinkel The rotation around the y axis
+        //! \param zWinkel The rotation around the z axis
         DLLEXPORT void setDrehung(float xWinkel, float yWinkel, float zWinkel);
-        //! Setzt die Drehung der Zeichnung in der Welt
-        //! \param winkel Die drehung um die x achse
+        //! Sets the rotation of the drawing in the world
+        //! \param winkel The rotation around the x axis
         DLLEXPORT void setDrehungX(float winkel);
-        //! Setzt die Drehung der Zeichnung in der Welt
-        //! \param winkel Die drehung um die y achse
+        //! Sets the rotation of the drawing in the world
+        //! \param winkel The rotation around the y axis
         DLLEXPORT void setDrehungY(float winkel);
-        //! Setzt die Drehung der Zeichnung in der Welt
-        //! \param winkel Die drehung um die z achse
+        //! Sets the rotation of the drawing in the world
+        //! \param winkel The rotation around the z axis
         DLLEXPORT void setDrehungZ(float winkel);
-        //! Legt fest, ob das Objekt teilweise oder ganz transparente stellen
-        //! enthaelt \param a true, wenn teilweise oder ganz transparente stellen
-        //! vorhanden sind
+        //! Sets whether the object contains partially or fully transparent
+        //! areas \param a true if partially or fully transparent areas exist
         DLLEXPORT void setAlpha(bool a);
-        //! Setzt die skallierung
+        //! Sets the scaling
         DLLEXPORT void setSize(float size);
-        //! Errechnet die Matrizen aller Knochen des Skeletts der Zeichnung
-        //! \param viewProj Die miteinander multiplizierten Kameramatrizen
-        //! \param matBuffer Ein Array mit Matrizen, der gefuellt werden soll
-        //! \return Die Anzahl der Matrizen, die die Zeichnung benoetigt
+        //! Calculates the matrices of all bones in the drawing's skeleton
+        //! \param viewProj The multiplied camera matrices
+        //! \param matBuffer An array of matrices to fill
+        //! \return The number of matrices the drawing requires
         DLLEXPORT virtual int errechneMatrizen(
             const Mat4<float>& viewProj, Mat4<float>* matBuffer);
-        //! Verarbeitet ein Mausereignis
-        //! \param me Das Mausereignis, das verarbeitet werden soll
+        //! Processes a mouse event
+        //! \param me The mouse event to process
         DLLEXPORT virtual void doMausEreignis(MausEreignis3D& me);
-        //! Verarbeitet ein Tastaturereignis
-        //! \param te das Tastaturereignis, das verarbeitet werden soll
+        //! Processes a keyboard event
+        //! \param te The keyboard event to process
         DLLEXPORT virtual void doTastaturEreignis(TastaturEreignis& te);
-        //! Verarbeitet die vergangene Zeit
-        //! \param 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
+        //! \param tickval The time in seconds since the last call of this
+        //! function \return true if the object changed, false otherwise.
         DLLEXPORT virtual bool tick(double tickval);
-        //! Gibt zurueck, ob das Objekt teilweise oder ganz transparente stellen
-        //! enthaelt
+        //! Returns whether the object contains partially or fully transparent areas
         DLLEXPORT bool hatAlpha() const;
-        //! Gibt den radius einer Kugel zurueck, die das gesammte Model
-        //! umschliesst
+        //! Returns the radius of a sphere that encloses the entire model
         DLLEXPORT inline float getRadius() const;
-        //! 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
         DLLEXPORT const Vec3<float>& getPos() const;
-        //! Gibt die X Position der Zeichnung in der Welt zurueck
+        //! Returns the X position of the drawing in the world
         DLLEXPORT float getX() const;
-        //! Gibt die Y Position der Zeichnung in der Welt zurueck
+        //! Returns the Y position of the drawing in the world
         DLLEXPORT float getY() const;
-        //! Gibt die Z Position der Zeichnung in der Welt zurueck
+        //! Returns the Z position of the drawing in the world
         DLLEXPORT float getZ() const;
-        //! 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.
         DLLEXPORT const Vec3<float>& getDrehung() const;
-        //! Gibt die Drehung um die X Achse im Bogenmass zurueck
+        //! Returns the rotation around the X axis in radians
         DLLEXPORT float getXDrehung() const;
-        //! Gibt die Drehung um die Y Achse im Bogenmass zurueck
+        //! Returns the rotation around the Y axis in radians
         DLLEXPORT float getYDrehung() const;
-        //! Gibt die Drehung um die Z Achse im Bogenmass zurueck
+        //! Returns the rotation around the Z axis in radians
         DLLEXPORT float getZDrehung() const;
-        //! Gibt die Matrix zurueck, die die Zeichnung in den Welt Raum uebersetzt
+        //! Returns the matrix that translates the drawing into world space
         DLLEXPORT const Mat4<float>& getMatrix() const;
-        //! Berechnet wuer einen Punkt in lokalen Zeichnungs Koordinaten den
-        //! Punkt in Weltkoordinaten durch anwendung von Drehung, Skallierung
-        //! und Verschiebung
+        //! Calculates a point in world coordinates from a point in local drawing
+        //! coordinates by applying rotation, scaling and translation
         DLLEXPORT Vec3<float> applyWorldTransformation(
             const Vec3<float>& modelPos) const;
     };

+ 17 - 18
Zeit.h

@@ -775,37 +775,36 @@ namespace Framework
         double messung;
 
     public:
-        //! Erzeugt ein neues ZeitMesser Zeichnung
+        //! Creates a new ZeitMesser object
         DLLEXPORT ZeitMesser();
-        //! Loescht das aktuelle Zeichnung
+        //! Deletes the current object
         DLLEXPORT ~ZeitMesser();
-        //! legt den Startpunkt des zeitstoppens fest
+        //! Sets the start point of the time measurement
         DLLEXPORT void messungStart();
-        //! legt des Endpunkt der Zeitmessung fest
+        //! Sets the end point of the time measurement
         DLLEXPORT void messungEnde();
-        //! gibt den Abstand zwischen start und ende der Messung in Sekunden
-        //! zurueck
+        //! Returns the interval between start and end of the measurement
+        //! in seconds
         DLLEXPORT double getSekunden() const;
-        //! gibt den Abstand zwischen start und ende der Messung in Minuten
-        //! zurueck
+        //! Returns the interval between start and end of the measurement
+        //! in minutes
         DLLEXPORT double getMinuten() const;
-        //! gibt den Abstand zwischen start und ende der Messung in Stunden
-        //! zurueck
+        //! Returns the interval between start and end of the measurement
+        //! in hours
         DLLEXPORT double getStunden() const;
-        //! gibt true zurueck, wenn aktuell eine MEssung laeuft
+        //! Returns true if a measurement is currently running
         DLLEXPORT bool isMeasuring() const;
     };
 
-    //! gibt die aktuelle Uhrzeit zurueck.
+    //! Returns the current time of day.
     DLLEXPORT Uhrzeit* getUhrzeit();
-    //! gibt das aktuelle Datum zurueck.
+    //! Returns the current date.
     DLLEXPORT Datum* getDatum();
-    //! gibt die aktuelle Zeit( Datum und Uhrzeit ) zurueck.
+    //! Returns the current time (date and time of day).
     DLLEXPORT Zeit* getZeit();
-    //! prueft, ob jahr ein Schaltjahr ist.
-    //! \param jahr Das zu ueberpruefende Jahr.
-    //! \return (true), wenn das uebergebene jahr ein Schaltjahr ist. (false)
-    //! sonst.
+    //! Checks whether jahr is a leap year.
+    //! \param jahr The year to check.
+    //! \return (true) if the given year is a leap year. (false) otherwise.
     DLLEXPORT bool istSchaltjahr(int jahr);
 } // namespace Framework
 

+ 5 - 5
main.h

@@ -26,8 +26,8 @@
 
 namespace Framework
 {
-    //! Speichert die dem Programm vom Betriebssystem beim Start uebergebenen
-    //! Parameter
+    //! Stores the parameters passed to the program by the operating system
+    //! at startup
     struct Startparam
     {
         HINSTANCE hinst, hpinst;
@@ -35,9 +35,9 @@ namespace Framework
         int show;
     };
 
-    //! UEberschreibe diese Funktion. Sie wird vom Framework automatisch beim
-    //! Start des Programmes aufgerufen \param p Die Parameter, die dem Programm
-    //! beim Start vom Betriebssystem uebergeben wurden
+    //! Override this function. It is called automatically by the framework
+    //! at program start \param p The parameters passed to the program
+    //! by the operating system at startup
     int KSGStart Start(Startparam p);
 } // namespace Framework