diff options
author | Bogdan Gheorghe <gheorghe> | 2007-08-31 21:09:09 +0000 |
---|---|---|
committer | Bogdan Gheorghe <gheorghe> | 2007-08-31 21:09:09 +0000 |
commit | 8942ba8a9d79dd34f979163ed220689a24ee99c0 (patch) | |
tree | a4ad222812f6196a91aab6af8e85be926e72eb92 /bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java | |
parent | b6e1dfbb6c67b65776d109a1647ed8268f4264ac (diff) | |
download | eclipse.platform.swt-8942ba8a9d79dd34f979163ed220689a24ee99c0.tar.gz eclipse.platform.swt-8942ba8a9d79dd34f979163ed220689a24ee99c0.tar.xz eclipse.platform.swt-8942ba8a9d79dd34f979163ed220689a24ee99c0.zip |
200083 Support BIDI on Linux GTK
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java index 684bdca601..3ca2808f74 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java @@ -159,6 +159,14 @@ void configure () { w-1, h-6+t, w-2, h-5+t, w-2, h-4+t, w-4, h-2+t, w-5, h-2+t, w-6, h-1+t, 5, h-1+t, 4, h-2+t, 3, h-2+t, 1, h-4+t, 1, h-5+t, 0, h-6+t, 0, 5+t}; + if ((parent.style & SWT.MIRRORED) != 0) { + x -= w - 36; + polyline[12] = w-36; + polyline[14] = w-16; + polyline[16] = w-15; + borderPolygon[12] = w-35; + borderPolygon[14] = borderPolygon[16] = w-16; + } OS.gtk_window_move (handle, Math.max(0, x - 17), y); } else { polyline = new int[] { @@ -175,6 +183,13 @@ void configure () { 35, h-1, 17, h+TIP_HEIGHT-2, 17, h-1, 5, h-1, 4, h-2, 3, h-2, 1, h-4, 1, h-5, 0, h-6, 0, 5}; + if ((parent.style & SWT.MIRRORED) != 0) { + x -= w - 36; + polyline [42] = polyline [44] = w-16; + polyline [46] = w-35; + borderPolygon[36] = borderPolygon[38] = w-17; + borderPolygon [40] = w-35; + } OS.gtk_window_move (handle, Math.max(0, x - 17), y - h - TIP_HEIGHT); } } else { @@ -194,6 +209,13 @@ void configure () { w-1, h-6+t, w-2, h-5+t, w-2, h-4+t, w-4, h-2+t, w-5, h-2+t, w-6, h-1+t, 5, h-1+t, 4, h-2+t, 3, h-2+t, 1, h-4+t, 1, h-5+t, 0, h-6+t, 0, 5+t}; + if ((parent.style & SWT.MIRRORED) != 0) { + x += w - 35; + polyline [12] = polyline [14] = 16; + polyline [16] = 35; + borderPolygon[12] = borderPolygon[14] = 16; + borderPolygon [16] = 35; + } OS.gtk_window_move (handle, Math.min(dest.width - w, x - w + 17), y); } else { polyline = new int[] { @@ -210,6 +232,13 @@ void configure () { w-17, h-1, w-17, h+TIP_HEIGHT-2, w-36, h-1, 5, h-1, 4, h-2, 3, h-2, 1, h-4, 1, h-5, 0, h-6, 0, 5}; + if ((parent.style & SWT.MIRRORED) != 0) { + x += w - 35; + polyline [42] = 35; + polyline [44] = polyline [46] = 16; + borderPolygon[36] = 35; + borderPolygon[38] = borderPolygon [40] = 17; + } OS.gtk_window_move (handle, Math.min(dest.width - w, x - w + 17), y - h - TIP_HEIGHT); } } |