Changeset 238:380bad9f6852 for dwt/graphics/TextLayout.d
- Timestamp:
- 05/04/08 18:42:55 (4 years ago)
- Files:
-
- dwt/graphics/TextLayout.d (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
dwt/graphics/TextLayout.d
r200 r238 58 58 int start; 59 59 60 public override char[]toString () {60 public override String toString () { 61 61 return Format( "StyleItem {{{}, {}}", start, style ); 62 62 } … … 64 64 65 65 Font font; 66 char[]text;66 String text; 67 67 int ascent, descent; 68 68 int[] segments; … … 78 78 // ZWNBS ZERO WIDTH NO-BREAK SPACE 79 79 static const dchar LTR_MARK = '\u200E', RTL_MARK = '\u200F', ZWS = '\u200B', ZWNBS = '\uFEFF'; 80 static const char[]STR_LTR_MARK = "\u200E", STR_RTL_MARK = "\u200F", STR_ZWS = "\u200B", STR_ZWNBS = "\uFEFF";80 static const String STR_LTR_MARK = "\u200E", STR_RTL_MARK = "\u200F", STR_ZWS = "\u200B", STR_ZWNBS = "\uFEFF"; 81 81 82 82 /** … … 124 124 void computeRuns () { 125 125 if (attrList !is null) return; 126 char[]segmentsText = getSegmentsText();126 String segmentsText = getSegmentsText(); 127 127 OS.pango_layout_set_text (layout, segmentsText.ptr, segmentsText.length); 128 128 if (styles.length is 2 && styles[0].style is null && ascent is -1 && descent is -1 && segments is null) return; … … 164 164 chars[ oldPos + count*6 .. oldPos + count*6 + segementsLength - oldPos ] = 165 165 segmentsText[ oldPos .. segementsLength ]; 166 char[]buffer = chars;// Converter.wcsToMbcs(null, chars, false);166 String buffer = chars;// Converter.wcsToMbcs(null, chars, false); 167 167 168 168 OS.pango_layout_set_text (layout, buffer.ptr, buffer.length); … … 1199 1199 } 1200 1200 1201 char[]getSegmentsText() {1201 String getSegmentsText() { 1202 1202 if (segments is null) return text; 1203 1203 int nSegments = segments.length; … … 1211 1211 char[] newChars = new char[len + nSegments*3]; 1212 1212 int charCount = 0, segmentCount = 0; 1213 char[]separator = getOrientation() is DWT.RIGHT_TO_LEFT ? STR_RTL_MARK : STR_LTR_MARK;1213 String separator = getOrientation() is DWT.RIGHT_TO_LEFT ? STR_RTL_MARK : STR_LTR_MARK; 1214 1214 while (charCount < len) { 1215 1215 if (segmentCount < nSegments && charCount is segments[segmentCount]) { … … 1323 1323 * </ul> 1324 1324 */ 1325 public char[]getText () {1325 public String getText () { 1326 1326 checkLayout (); 1327 1327 return text; … … 1736 1736 * </ul> 1737 1737 */ 1738 public void setText ( char[]text) {1738 public void setText (String text) { 1739 1739 checkLayout (); 1740 1740 if (text.equals(this.text)) return; … … 1798 1798 * @return a string representation of the receiver 1799 1799 */ 1800 public override char[]toString () {1800 public override String toString () { 1801 1801 if (isDisposed()) return "TextLayout {*DISPOSED*}"; 1802 1802 return Format( "TextLayout {{{}}", layout ); … … 1836 1836 } 1837 1837 1838 int validateOffset( char[]cont, int offset, int step) {1838 int validateOffset( String cont, int offset, int step) { 1839 1839 if (invalidOffsets is null) return offset + step; 1840 1840 int i = step > 0 ? 0 : invalidOffsets.length - 1;
