View | Details | Raw Unified | Return to bug 400727
Collapse All | Expand All

(-)Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java (-15 / +6 lines)
Lines 1-5 Link Here
1
/*******************************************************************************
1
/*******************************************************************************
2
 * Copyright (c) 2000, 2012 IBM Corporation and others.
2
 * Copyright (c) 2000, 2013 IBM Corporation and others.
3
 * All rights reserved. This program and the accompanying materials
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
5
 * which accompanies this distribution, and is available at
Lines 247-253 Link Here
247
		fontData = styledText.getFont().getFontData()[0];
247
		fontData = styledText.getFont().getFontData()[0];
248
		tabLength = styledText.tabLength;
248
		tabLength = styledText.tabLength;
249
		int lineCount = printerRenderer.lineCount;
249
		int lineCount = printerRenderer.lineCount;
250
		if (styledText.isListening(ST.LineGetBackground) || (styledText.isBidi() && styledText.isListening(ST.LineGetSegments)) || styledText.isListening(ST.LineGetStyle)) {
250
		if (styledText.isListening(ST.LineGetBackground) || (styledText.isListening(ST.LineGetSegments)) || styledText.isListening(ST.LineGetStyle)) {
251
			StyledTextContent content = printerRenderer.content;
251
			StyledTextContent content = printerRenderer.content;
252
			for (int i = 0; i < lineCount; i++) {
252
			for (int i = 0; i < lineCount; i++) {
253
				String line = content.getLine(i);
253
				String line = content.getLine(i);
Lines 256-267 Link Here
256
				if (event != null && event.lineBackground != null) {
256
				if (event != null && event.lineBackground != null) {
257
					printerRenderer.setLineBackground(i, 1, event.lineBackground);
257
					printerRenderer.setLineBackground(i, 1, event.lineBackground);
258
				}
258
				}
259
				if (styledText.isBidi()) {
259
				event = styledText.getBidiSegments(lineOffset, line);
260
					event = styledText.getBidiSegments(lineOffset, line);
260
				if (event != null) {
261
					if (event != null) {
261
					printerRenderer.setLineSegments(i, 1, event.segments);
262
						printerRenderer.setLineSegments(i, 1, event.segments);
262
					printerRenderer.setLineSegmentChars(i, 1, event.segmentsChars);
263
						printerRenderer.setLineSegmentChars(i, 1, event.segmentsChars);
264
					}
265
				}
263
				}
266
				event = styledText.getLineStyleData(lineOffset, line);
264
				event = styledText.getLineStyleData(lineOffset, line);
267
				if (event != null) {
265
				if (event != null) {
Lines 4775-4781 Link Here
4775
	return content.getTextRange(selection.x, selection.y - selection.x);
4773
	return content.getTextRange(selection.x, selection.y - selection.x);
4776
}
4774
}
4777
StyledTextEvent getBidiSegments(int lineOffset, String line) {
4775
StyledTextEvent getBidiSegments(int lineOffset, String line) {
4778
	if (!isBidi()) return null;
4779
	if (!isListening(ST.LineGetSegments)) {
4776
	if (!isListening(ST.LineGetSegments)) {
4780
		StyledTextEvent event = new StyledTextEvent(content);
4777
		StyledTextEvent event = new StyledTextEvent(content);
4781
		event.segments = getBidiSegmentsCompatibility(line, lineOffset);
4778
		event.segments = getBidiSegmentsCompatibility(line, lineOffset);
Lines 7094-7105 Link Here
7094
			return blockXLocation != -1;
7091
			return blockXLocation != -1;
7095
	}
7092
	}
7096
	return false;
7093
	return false;
7097
}
7098
/**
7099
 * Temporary until SWT provides this
7100
 */
7101
boolean isBidi() {
7102
	return IS_GTK || IS_MAC || BidiUtil.isBidiPlatform() || isMirrored();
7103
}
7094
}
7104
boolean isBidiCaret() {
7095
boolean isBidiCaret() {
7105
	return BidiUtil.isBidiPlatform();
7096
	return BidiUtil.isBidiPlatform();

Return to bug 400727