Mercurial > projects > dwt-linux
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 {