diff dwt/graphics/TextLayout.d @ 238:380bad9f6852

reverted char[] to String
author Frank Benoit <benoit@tionex.de>
date Mon, 05 May 2008 00:42:55 +0200
parents 08789b28bdf3
children ce446666f5a2
line wrap: on
line diff
--- a/dwt/graphics/TextLayout.d	Sat Apr 26 10:01:30 2008 +0200
+++ b/dwt/graphics/TextLayout.d	Mon May 05 00:42:55 2008 +0200
@@ -57,13 +57,13 @@
         TextStyle style;
         int start;
 
-        public override char[] toString () {
+        public override String toString () {
             return Format( "StyleItem {{{}, {}}", start, style );
         }
     }
 
     Font font;
-    char[] text;
+    String text;
     int ascent, descent;
     int[] segments;
     int[] tabs;
@@ -77,7 +77,7 @@
     // ZWS      ZERO WIDTH SPACE
     // ZWNBS    ZERO WIDTH NO-BREAK SPACE
     static const dchar LTR_MARK = '\u200E', RTL_MARK = '\u200F', ZWS = '\u200B', ZWNBS = '\uFEFF';
-    static const char[] STR_LTR_MARK = "\u200E", STR_RTL_MARK = "\u200F", STR_ZWS = "\u200B", STR_ZWNBS = "\uFEFF";
+    static const String STR_LTR_MARK = "\u200E", STR_RTL_MARK = "\u200F", STR_ZWS = "\u200B", STR_ZWNBS = "\uFEFF";
 
 /**
  * Constructs a new instance of this class on the given device.
@@ -123,7 +123,7 @@
 
 void computeRuns () {
     if (attrList !is null) return;
-    char[] segmentsText = getSegmentsText();
+    String segmentsText = getSegmentsText();
     OS.pango_layout_set_text (layout, segmentsText.ptr, segmentsText.length);
     if (styles.length is 2 && styles[0].style is null && ascent is -1 && descent is -1 && segments is null) return;
     auto ptr = OS.pango_layout_get_text(layout);
@@ -163,7 +163,7 @@
         OS.pango_layout_iter_free (iter);
         chars[ oldPos + count*6 .. oldPos + count*6 + segementsLength - oldPos ] =
             segmentsText[ oldPos .. segementsLength ];
-        char[] buffer = chars;// Converter.wcsToMbcs(null, chars, false);
+        String buffer = chars;// Converter.wcsToMbcs(null, chars, false);
 
         OS.pango_layout_set_text (layout, buffer.ptr, buffer.length);
         ptr = OS.pango_layout_get_text(layout);
@@ -1198,7 +1198,7 @@
     return segments;
 }
 
-char[] getSegmentsText() {
+String getSegmentsText() {
     if (segments is null) return text;
     int nSegments = segments.length;
     if (nSegments <= 1) return text;
@@ -1210,7 +1210,7 @@
     char[] oldChars = text[0..len].dup;
     char[] newChars = new char[len + nSegments*3];
     int charCount = 0, segmentCount = 0;
-    char[] separator = getOrientation() is DWT.RIGHT_TO_LEFT ? STR_RTL_MARK : STR_LTR_MARK;
+    String separator = getOrientation() is DWT.RIGHT_TO_LEFT ? STR_RTL_MARK : STR_LTR_MARK;
     while (charCount < len) {
         if (segmentCount < nSegments && charCount is segments[segmentCount]) {
             newChars[charCount + segmentCount .. charCount + segmentCount + separator.length ] = separator;
@@ -1322,7 +1322,7 @@
  *    <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
  * </ul>
  */
-public char[] getText () {
+public String getText () {
     checkLayout ();
     return text;
 }
@@ -1735,7 +1735,7 @@
  *    <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
  * </ul>
  */
-public void setText (char[] text) {
+public void setText (String text) {
     checkLayout ();
     if (text.equals(this.text)) return;
     freeRuns();
@@ -1797,7 +1797,7 @@
  *
  * @return a string representation of the receiver
  */
-public override char[] toString () {
+public override String toString () {
     if (isDisposed()) return "TextLayout {*DISPOSED*}";
     return Format( "TextLayout {{{}}", layout );
 }
@@ -1835,7 +1835,7 @@
     return offset - invalidOffsets.length;
 }
 
-int validateOffset( char[] cont, int offset, int step) {
+int validateOffset( String cont, int offset, int step) {
     if (invalidOffsets is null) return offset + step;
     int i = step > 0 ? 0 : invalidOffsets.length - 1;
     do {