Browse Source

addLineBreaks kann jetzt ein spacing text übergeben werden.
Es wurde außerdem ein Fehler in getNeededHeight behoben

Kolja Strohm 4 years ago
parent
commit
92a29c907e
2 changed files with 6 additions and 4 deletions
  1. 4 3
      TextFeld.cpp
  2. 2 1
      TextFeld.h

+ 4 - 3
TextFeld.cpp

@@ -444,7 +444,7 @@ int TextFeld::getTextHeight() const
             int tmp = r->getZeilenHeight();
             max = max >= tmp ? max : tmp;
             if( max == tmp )
-                abstand = r->getZeichenAbstand();
+                abstand = r->getZeilenAbstand();
         }
         tm->nextStyle();
     }
@@ -634,7 +634,7 @@ void TextFeld::setFormattedText( const char *txt )
 }
 
 // fügt zeilenumbrüche so ein, dass der text nicht die breite des textfeldes überschreitet
-void TextFeld::addLineBreaks()
+void TextFeld::addLineBreaks( const char *spacing )
 {
     if( !tm->text )
         return;
@@ -749,7 +749,8 @@ void TextFeld::addLineBreaks()
         {
             result.remove( lastPos2, result.getLength() );
             result += "\n";
-            x = 0;
+            result += spacing;
+            x = tm->zCurrentRenderer()->getTextBreite( spacing );
             i = lastPos;
             tm->stepTo( lastPos );
             lastPos = -1;

+ 2 - 1
TextFeld.h

@@ -143,7 +143,8 @@ namespace Framework
         //          \x8\xA\xB\xC\xD: set interact param to ABCD
         __declspec( dllexport ) void setFormattedText( const char *txt );
         // fügt zeilenumbrüche so ein, dass der text nicht die breite des textfeldes überschreitet
-        __declspec( dllexport ) void addLineBreaks();
+        //  spacing: ein text, der direkt nach jedem eingefügten Zeilenumbruch eingefügt wird
+        __declspec( dllexport ) void addLineBreaks( const char *spacing = "" );
         // Setzt den Style eines Textabschnittes
         //  begin: die startposition des Abschnittes
         //  end: die endposition des Abschnittes (nicht enthalten)