summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Heidrich <fheidric>2009-10-02 16:36:53 +0000
committerFelipe Heidrich <fheidric>2009-10-02 16:36:53 +0000
commit1f43a5824a5f5316727bf8f3dd62777737252de9 (patch)
treeeab958d7f702ce011175fb8b828007ce12099773
parent9dbab43dbe361ab8fa97e8459c61bf55a11efb46 (diff)
downloadeclipse.platform.swt-1f43a5824a5f5316727bf8f3dd62777737252de9.tar.gz
eclipse.platform.swt-1f43a5824a5f5316727bf8f3dd62777737252de9.tar.xz
eclipse.platform.swt-1f43a5824a5f5316727bf8f3dd62777737252de9.zip
Bug 288554: BIDI improvements
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java3
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Text.java4
2 files changed, 7 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java
index 5c31ba14de..96bcb1839a 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/carbon/org/eclipse/swt/internal/carbon/OS.java
@@ -800,6 +800,8 @@ public class OS extends C {
public static final int kTXNFlushLeft = 1;
public static final int kTXNFlushRight = 2;
public static final int kTXNCenter = 4;
+ public static final int kTXNLeftToRight = 0;
+ public static final int kTXNRightToLeft = 1;
public static final int kTXNDisableDragAndDropTag = ('d'<<24) + ('r'<<16) + ('a'<<8) + 'g';
public static final int kTXNDoFontSubstitution = ('f'<<24) + ('S'<<16) + ('u'<<8) + 'b';
public static final int kTXNDontDrawCaretWhenInactiveMask = 1 << 12;
@@ -807,6 +809,7 @@ public class OS extends C {
public static final int kTXNEndOffset = 2147483647;
public static final int kTXNIOPrivilegesTag = ('i'<<24) + ('o'<<16) + ('p'<<8) + 'v';
public static final int kTXNJustificationTag = ('j'<<24) + ('u'<<16) + ('s'<<8) + 't';
+ public static final int kTXNLineDirectionTag = ('l'<<24) + ('n'<<16) + ('d'<<8) + 'r';
public static final int kTXNMarginsTag = ('m'<<24) + ('a'<<16) + ('r'<<8) + 'g';
public static final int kTXNMonostyledTextMask = 1 << 17;
public static final int kTXNQDFontFamilyIDAttribute = ('f'<<24) + ('o'<<16) + ('n'<<8) + 't';
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Text.java
index 4c204f0be3..57f44a8602 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Text.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/carbon/org/eclipse/swt/widgets/Text.java
@@ -591,16 +591,20 @@ void createHandle () {
OS.kTXNIOPrivilegesTag,
OS.kTXNMarginsTag,
OS.kTXNJustificationTag,
+ OS.kTXNLineDirectionTag,
};
int just = OS.kTXNFlushLeft;
if ((style & SWT.CENTER) != 0) just = OS.kTXNCenter;
if ((style & SWT.RIGHT) != 0) just = OS.kTXNFlushRight;
+ int direction = OS.kTXNLeftToRight;
+ if ((style & SWT.RIGHT_TO_LEFT) != 0) direction = OS.kTXNRightToLeft;
int [] datas = new int [] {
1,
1,
(style & SWT.READ_ONLY) != 0 ? 1 : 0,
ptr,
just,
+ direction,
};
OS.TXNSetTXNObjectControls (txnObject, false, tags.length, tags, datas);
OS.DisposePtr (ptr);