summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Theme/carbon')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java90
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java101
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java190
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.java77
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.java78
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.java55
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java23
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.java77
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java157
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.java91
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java107
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java114
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java29
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.java120
14 files changed, 0 insertions, 1309 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java
deleted file mode 100644
index f53ad794a8..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ButtonDrawData.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeButtonDrawInfo;
-import org.eclipse.swt.internal.carbon.CGRect;
-
-public class ButtonDrawData extends DrawData {
-
-public ButtonDrawData() {
- state = new int[1];
-}
-
-HIThemeButtonDrawInfo getInfo () {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeButtonDrawInfo info = new HIThemeButtonDrawInfo();
- info.version = 0;
- if ((style & SWT.PUSH) != 0) info.kind = OS.kThemePushButton;
- if ((style & SWT.CHECK) != 0) info.kind = OS.kThemeCheckBox;
- if ((style & SWT.RADIO) != 0) info.kind = OS.kThemeRadioButton;
- if ((state & DrawData.SELECTED) != 0) {
- info.value = OS.kThemeButtonOn;
- } else {
- info.value = OS.kThemeButtonOff;
- }
- if ((state & DrawData.PRESSED) != 0) {
- info.state = OS.kThemeStatePressed;
- } else {
- if ((state & DrawData.ACTIVE) != 0) {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
- } else {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
- }
- }
- if ((state & DrawData.DEFAULTED) != 0) info.adornment |= OS.kThemeAdornmentDefault;
- if ((state & DrawData.FOCUSED) != 0) info.adornment |= OS.kThemeAdornmentFocus;
- return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- HIThemeButtonDrawInfo info = getInfo();
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- CGRect backRect = new CGRect();
- OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
- rect.x += (rect.x - backRect.x);
- rect.y += (rect.y - backRect.y);
- rect.width -= (backRect.width - rect.width);
- rect.height -= (backRect.height - rect.height);
- CGRect labelRect = clientArea != null ? new CGRect() : null;
- OS.HIThemeDrawButton(rect, info, gc.handle, OS.kHIThemeOrientationNormal, labelRect);
- if (clientArea != null) {
- clientArea.x = (int)labelRect.x;
- clientArea.y = (int)labelRect.y;
- clientArea.width = (int)labelRect.width;
- clientArea.height = (int)labelRect.height;
- }
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- HIThemeButtonDrawInfo info = getInfo();
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- CGRect backRect = new CGRect();
- OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
- rect.x += (rect.x - backRect.x);
- rect.y += (rect.y - backRect.y);
- rect.width -= (backRect.width - rect.width);
- rect.height -= (backRect.height - rect.height);
- return new Rectangle((int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height).contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java
deleted file mode 100644
index 51a00a07ea..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ComboDrawData.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeButtonDrawInfo;
-
-public class ComboDrawData extends DrawData {
-
-public ComboDrawData() {
- state = new int[2];
-}
-
-HIThemeButtonDrawInfo getInfo() {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeButtonDrawInfo info = new HIThemeButtonDrawInfo();
- info.version = 0;
- info.kind = OS.kThemeComboBox;
- if ((style & SWT.READ_ONLY) != 0) info.kind = OS.kThemePopupButton;
- if ((state & DrawData.DISABLED) != 0) {
- info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateUnavailable : OS.kThemeStateUnavailableInactive;
- } else {
- if (((style & SWT.READ_ONLY) != 0 && (state & DrawData.PRESSED) != 0) || ((style & SWT.READ_ONLY) == 0 && (this.state[DrawData.COMBO_ARROW] & DrawData.PRESSED) != 0)) {
- info.state = OS.kThemeStatePressed;
- } else {
- info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateActive : OS.kThemeStateInactive;
- }
- }
- if ((state & DrawData.FOCUSED) != 0) info.adornment |= OS.kThemeAdornmentFocus;
- return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- HIThemeButtonDrawInfo info = getInfo();
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- int inset = 0, arrowWidth = 0;
- if ((style & SWT.READ_ONLY) == 0) {
- int[] metric = new int[1];
- OS.GetThemeMetric(OS.kThemeMetricFocusRectOutset, metric);
- inset = metric[0];
- OS.GetThemeMetric(OS.kThemeMetricComboBoxLargeDisclosureWidth, metric);
- arrowWidth = metric[0];
- rect.x += inset;
- rect.y += inset;
- rect.width -= 2 * inset;
- rect.height -= 2 * inset;
- } else {
- CGRect backRect = new CGRect();
- OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
- rect.x += (rect.x - backRect.x);
- rect.y += (rect.y - backRect.y);
- rect.width -= (backRect.width - rect.width);
- rect.height -= (backRect.height - rect.height);
- }
- CGRect labelRect = clientArea != null && (style & SWT.READ_ONLY) != 0 ? new CGRect() : null;
- OS.HIThemeDrawButton(rect, info, gc.handle, OS.kHIThemeOrientationNormal, labelRect);
- if (clientArea != null) {
- if ((style & SWT.READ_ONLY) != 0) {
- clientArea.x = (int)labelRect.x;
- clientArea.y = (int)labelRect.y;
- clientArea.width = (int)labelRect.width;
- clientArea.height = (int)labelRect.height;
- } else {
- clientArea.x = (int)bounds.x + inset;
- clientArea.y = (int)bounds.y + inset;
- clientArea.width = (int)bounds.width - (2 * inset) - arrowWidth;
- clientArea.height = (int)bounds.height - (2 * inset);
- }
- }
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
- if ((style & SWT.READ_ONLY) == 0) {
- int[] metric = new int[1];
- OS.GetThemeMetric(OS.kThemeMetricFocusRectOutset, metric);
- int inset = metric[0];
- OS.GetThemeMetric(OS.kThemeMetricComboBoxLargeDisclosureWidth, metric);
- int arrowWidth = metric[0];
- Rectangle arrowRect = new Rectangle(bounds.x + bounds.width - inset - arrowWidth, bounds.y - inset, arrowWidth, bounds.height - inset * 2);
- if (arrowRect.contains(position)) return DrawData.COMBO_ARROW;
- }
- return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java
deleted file mode 100644
index 7e6680f86c..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/DrawData.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeTextInfo;
-
-public class DrawData {
- public int style;
- public int[] state;
- public Rectangle clientArea;
-
- /** Part states */
- public static final int SELECTED = 1 << 1;
- public static final int FOCUSED = 1 << 2;
- public static final int PRESSED = 1 << 3;
- public static final int ACTIVE = 1 << 4;
- public static final int DISABLED = 1 << 5;
- public static final int HOT = 1 << 6;
- public static final int DEFAULTED = 1 << 7;
- public static final int GRAYED = 1 << 8;
-
- /** Text and Image drawing flags */
- public static final int DRAW_LEFT = 1 << 4;
- public static final int DRAW_TOP = 1 << 5;
- public static final int DRAW_RIGHT = 1 << 6;
- public static final int DRAW_BOTTOM = 1 << 7;
- public static final int DRAW_HCENTER = 1 << 8;
- public static final int DRAW_VCENTER = 1 << 9;
-
- /** Widget parts */
- public static final int WIDGET_NOWHERE = -1;
- public static final int WIDGET_WHOLE = 0;
-
- /** Scrollbar parts */
- public static final int SCROLLBAR_UP_ARROW = 1;
- public static final int SCROLLBAR_DOWN_ARROW = 2;
- public static final int SCROLLBAR_LEFT_ARROW = SCROLLBAR_UP_ARROW;
- public static final int SCROLLBAR_RIGHT_ARROW = SCROLLBAR_DOWN_ARROW;
- public static final int SCROLLBAR_UP_TRACK = 3;
- public static final int SCROLLBAR_DOWN_TRACK = 4;
- public static final int SCROLLBAR_LEFT_TRACK = SCROLLBAR_UP_TRACK;
- public static final int SCROLLBAR_RIGHT_TRACK = SCROLLBAR_DOWN_TRACK;
- public static final int SCROLLBAR_THUMB = 5;
-
- /** Scale parts */
- public static final int SCALE_UP_TRACK = 1;
- public static final int SCALE_LEFT_TRACK = SCALE_UP_TRACK;
- public static final int SCALE_DOWN_TRACK = 2;
- public static final int SCALE_RIGHT_TRACK = SCALE_DOWN_TRACK;
- public static final int SCALE_THUMB = 3;
-
- /** ToolItem parts */
- public static final int TOOLITEM_ARROW = 1;
-
- /** Combo parts */
- public static final int COMBO_ARROW = 1;
-
-public DrawData() {
- state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
- return new Rectangle(clientArea.x, clientArea.y, clientArea.width, clientArea.height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-}
-
-void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
- Image drawImage = image;
- Rectangle rect = drawImage.getBounds();
- int state = this.state[DrawData.WIDGET_WHOLE];
- if (OS.VERSION >= 0x1040) {
- if ((state & (DrawData.PRESSED | DrawData.DISABLED)) != 0) {
- int transform = OS.kHITransformNone;
- if ((state & DrawData.DISABLED) != 0) {
- transform = OS.kHITransformDisabled;
- } else {
- if ((state & DrawData.PRESSED) != 0) {
- transform = OS.kHITransformSelected;
- }
- }
- if (transform != OS.kHITransformNone) {
- int[] buffer = new int[1];
- OS.HICreateTransformedCGImage(drawImage.handle, transform, buffer);
- if (buffer[0] != 0) {
- //TODO - get device
- //TODO - is data needed
- drawImage = Image.carbon_new(null, drawImage.type, buffer[0], 0);
- }
- }
- }
- }
- gc.drawImage(drawImage, 0, 0, rect.width, rect.height, bounds.x, bounds.y, bounds.width, bounds.height);
- if (drawImage != image) {
- drawImage.dispose();
- }
-}
-
-void drawText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
- int state = this.state[DrawData.WIDGET_WHOLE];
- char[] chars = new char[text.length()];
- text.getChars(0, chars.length, chars, 0);
- int ptr = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, chars.length);
- OS.CGContextSaveGState(gc.handle);
- if ((state & DrawData.DISABLED) != 0) {
- //TODO - find out disable color
- OS.CGContextSetFillColor(gc.handle, new float[]{0.5f, 0.5f, 0.5f, 1});
- } else {
- if ((state & DrawData.ACTIVE) != 0) {
- OS.CGContextSetFillColor(gc.handle, new float[]{0, 0, 0, 1});
- } else {
- //TODO - find out inative color
- OS.CGContextSetFillColor(gc.handle, new float[]{0.6f, 0.6f, 0.6f, 1});
- }
- }
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- HIThemeTextInfo info = getTextInfo(flags);
- OS.HIThemeDrawTextBox(ptr, rect, info, gc.handle, OS.kHIThemeOrientationNormal);
- OS.CGContextRestoreGState(gc.handle);
- OS.CFRelease(ptr);
-}
-
-Rectangle getBounds(int part, Rectangle bounds) {
- return new Rectangle(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-int getFontId() {
- return OS.kThemeSmallSystemFont;
-}
-
-HIThemeTextInfo getTextInfo(int flags) {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeTextInfo info = new HIThemeTextInfo();
- if ((state & DrawData.PRESSED) != 0) {
- info.state = OS.kThemeStatePressed;
- } else {
- if ((state & DrawData.ACTIVE) != 0) {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
- } else {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
- }
- }
- info.state = info.state;
- info.fontID = (short)getFontId();
- if ((flags & DrawData.DRAW_LEFT) != 0) info.horizontalFlushness = OS.kHIThemeTextHorizontalFlushLeft;
- if ((flags & DrawData.DRAW_HCENTER) != 0) info.horizontalFlushness = OS.kHIThemeTextHorizontalFlushCenter;
- if ((flags & DrawData.DRAW_RIGHT) != 0) info.horizontalFlushness = OS.kHIThemeTextHorizontalFlushRight;
- if ((flags & DrawData.DRAW_TOP) != 0) info.verticalFlushness = OS.kHIThemeTextVerticalFlushTop;
- if ((flags & DrawData.DRAW_VCENTER) != 0) info.verticalFlushness = OS.kHIThemeTextVerticalFlushCenter;
- if ((flags & DrawData.DRAW_BOTTOM) != 0) info.verticalFlushness = OS.kHIThemeTextVerticalFlushBottom;
- info.truncationMaxLines = 0;
- info.truncationPosition = 0;
- info.options = 0;
- return info;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- return -1;
-}
-
-Rectangle measureText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
- //TODO - decide if should take only width and return only width/height
- char[] chars = new char[text.length()];
- text.getChars(0, chars.length, chars, 0);
- int ptr = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, chars.length);
- int width = bounds != null ? bounds.width : 0;
- float[] outWidth = new float[1], outHeight = new float[1];
- HIThemeTextInfo info = getTextInfo(flags);
- OS.HIThemeGetTextDimensions(ptr, width, info, outWidth, outHeight, null);
- OS.CFRelease(ptr);
- return new Rectangle(0, 0, (int)outWidth[0], (int)outHeight[0]);
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.java
deleted file mode 100644
index 9c04a0c68d..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ExpanderDrawData.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeButtonDrawInfo;
-
-public class ExpanderDrawData extends DrawData {
-
-public ExpanderDrawData() {
- state = new int[1];
-}
-
-HIThemeButtonDrawInfo getInfo() {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeButtonDrawInfo info = new HIThemeButtonDrawInfo();
- info.version = 0;
- info.kind = OS.kThemeDisclosureTriangle;
- if ((style & SWT.DOWN) != 0) {
- info.value = OS.kThemeButtonOn;
- } else {
- info.value = OS.kThemeButtonOff;
- }
- if ((state & DrawData.PRESSED) != 0) {
- info.state = OS.kThemeStatePressed;
- } else {
- if ((state & DrawData.ACTIVE) != 0) {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
- } else {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
- }
- }
- return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- HIThemeButtonDrawInfo info = getInfo();
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- CGRect backRect = new CGRect();
- OS.HIThemeGetButtonBackgroundBounds(rect, info, backRect);
- rect.x += (rect.x - backRect.x);
- rect.y += (rect.y - backRect.y);
- int[] metric = new int[1];
- OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleWidth, metric);
- rect.width = metric[0];
- OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleHeight, metric);
- rect.height = metric[0];
- OS.HIThemeDrawButton(rect, info, gc.handle, OS.kHIThemeOrientationNormal, null);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
- int[] metric = new int[1];
- OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleWidth, metric);
- int width = metric[0];
- OS.GetThemeMetric(OS.kThemeMetricDisclosureTriangleHeight, metric);
- int height = metric[0];
- if (new Rectangle(bounds.x, bounds.y, width, height).contains(position)) return DrawData.WIDGET_WHOLE;
- return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.java
deleted file mode 100644
index 085be5a388..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/GroupDrawData.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeGroupBoxDrawInfo;
-
-public class GroupDrawData extends DrawData {
- public int headerWidth;
- public int headerHeight;
- public Rectangle headerArea;
-
-public GroupDrawData() {
- state = new int[1];
-}
-
-HIThemeGroupBoxDrawInfo getInfo () {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeGroupBoxDrawInfo info = new HIThemeGroupBoxDrawInfo();
- info.version = 0;
- info.kind = OS.kHIThemeGroupBoxKindPrimary;
- if ((style & SWT.READ_ONLY) != 0) info.kind = OS.kThemePopupButton;
- if ((state & DrawData.DISABLED) != 0) {
- info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateUnavailable : OS.kThemeStateUnavailableInactive;
- } else {
- if ((state & DrawData.PRESSED) != 0) {
- info.state = OS.kThemeStatePressed;
- } else {
- info.state = (state & DrawData.ACTIVE) != 0 ? OS.kThemeStateActive : OS.kThemeStateInactive;
- }
- }
- return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- HIThemeGroupBoxDrawInfo info = getInfo();
- int headerHeight = this.headerHeight + 1;
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y + headerHeight;
- rect.width = bounds.width;
- rect.height = bounds.height - headerHeight;
- OS.HIThemeDrawGroupBox(rect, info, gc.handle, OS.kHIThemeOrientationNormal);
- int[] metric = new int[1];
- if (headerArea != null) {
- OS.GetThemeMetric(OS.kThemeMetricLargeTabCapsWidth, metric);
- int capsWidth = metric[0];
- headerArea.x = bounds.x + capsWidth;
- headerArea.y = bounds.y;
- headerArea.width = bounds.width - capsWidth * 2;
- headerArea.height = this.headerHeight;
- }
- if (clientArea != null) {
- OS.GetThemeMetric(OS.kThemeMetricPrimaryGroupBoxContentInset, metric);
- int inset = metric[0];
- clientArea.x = bounds.x + inset;
- clientArea.y = bounds.y + inset + headerHeight;
- clientArea.width = bounds.width - (2 * inset);
- clientArea.height = bounds.height - (2 * inset) - headerHeight;
- }
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
deleted file mode 100644
index 5e0bf39b83..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeTrackDrawInfo;
-import org.eclipse.swt.internal.carbon.ProgressTrackInfo;
-
-public class ProgressBarDrawData extends RangeDrawData {
-
-public ProgressBarDrawData() {
- state = new int[1];
-}
-
-HIThemeTrackDrawInfo getInfo() {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeTrackDrawInfo info = new HIThemeTrackDrawInfo();
- info.min = minimum;
- info.max = maximum;
- info.value = selection;
- info.kind = OS.kThemeProgressBarMedium;
- info.attributes = OS.kThemeTrackShowThumb;
- if ((style & SWT.HORIZONTAL) != 0) info.attributes |= OS.kThemeTrackHorizontal;
- info.enableState = OS.kThemeTrackInactive;
- if ((state & DrawData.ACTIVE) != 0) info.enableState = OS.kThemeTrackActive;
- if ((state & DrawData.DISABLED) != 0) info.enableState = OS.kThemeTrackDisabled;
- info.progress = new ProgressTrackInfo();
- return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- HIThemeTrackDrawInfo info = getInfo();
- info.bounds_x = bounds.x;
- info.bounds_y = bounds.y;
- info.bounds_width = bounds.width;
- info.bounds_height = bounds.height;
- info.progress = new ProgressTrackInfo();
- OS.HIThemeDrawTrack(info, null, gc.handle, OS.kHIThemeOrientationNormal);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- return bounds.contains(position) ? DrawData.WIDGET_WHOLE : DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java
deleted file mode 100644
index 51f7bcaff3..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/RangeDrawData.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class RangeDrawData extends DrawData {
- public int selection;
- public int minimum;
- public int maximum;
-
-int getSelection(Point position, Rectangle bounds) {
- return 0;
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.java
deleted file mode 100644
index 96b25c7cc0..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScaleDrawData.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGPoint;
-import org.eclipse.swt.internal.carbon.HIThemeTrackDrawInfo;
-import org.eclipse.swt.internal.carbon.SliderTrackInfo;
-
-public class ScaleDrawData extends RangeDrawData {
- public int increment;
- public int pageIncrement;
-
-public ScaleDrawData() {
- state = new int[4];
-}
-
-HIThemeTrackDrawInfo getInfo() {
- int upTrackState = this.state[DrawData.SCALE_UP_TRACK];
- int downTrackState = this.state[DrawData.SCALE_DOWN_TRACK];
- int thumbState = this.state[DrawData.SCALE_THUMB];
- HIThemeTrackDrawInfo info = new HIThemeTrackDrawInfo();
- info.min = minimum;
- info.max = Math.max(minimum, maximum);
- info.value = selection;
- info.kind = OS.kThemeSliderMedium;
- info.attributes = OS.kThemeTrackShowThumb;
- if ((style & SWT.HORIZONTAL) != 0) info.attributes |= OS.kThemeTrackHorizontal;
- info.enableState = OS.kThemeTrackInactive;
- if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.ACTIVE) != 0) info.enableState = OS.kThemeTrackActive;
- if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.DISABLED) != 0) info.enableState = OS.kThemeTrackDisabled;
- info.slider = new SliderTrackInfo();
- int state = 0;
- if ((upTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftInsideArrowPressed;
- if ((downTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeRightInsideArrowPressed;
- if ((thumbState & DrawData.PRESSED) != 0) state |= OS.kThemeThumbPressed;
- info.slider.pressState = (byte)state;
- return info;
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- HIThemeTrackDrawInfo info = getInfo();
- info.bounds_x = bounds.x;
- info.bounds_y = bounds.y;
- info.bounds_width = bounds.width;
- info.bounds_height = bounds.height;
- OS.HIThemeDrawTrack(info, null, gc.handle, OS.kHIThemeOrientationNormal);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
- CGPoint pt = new CGPoint();
- pt.x = position.x;
- pt.y = position.y;
- short[] part = new short[1];
- HIThemeTrackDrawInfo info = getInfo();
- if (OS.HIThemeHitTestTrack(info, pt, part)) {
- switch (part[0]) {
- case 22: return DrawData.SCALE_UP_TRACK;
- case 23: return DrawData.SCALE_DOWN_TRACK;
- case 129: return DrawData.SCALE_THUMB;
- }
- }
- return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
deleted file mode 100644
index 67448ddbb6..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ScrollBarDrawData.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGPoint;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeTrackDrawInfo;
-import org.eclipse.swt.internal.carbon.ScrollBarTrackInfo;
-import org.eclipse.swt.internal.carbon.HIScrollBarTrackInfo;
-
-public class ScrollBarDrawData extends RangeDrawData {
- public int thumb;
- public int increment;
- public int pageIncrement;
-
-public ScrollBarDrawData() {
- state = new int[6];
-}
-
-HIScrollBarTrackInfo getArrowsInfo() {
- int upArrowState = this.state[DrawData.SCROLLBAR_UP_ARROW];
- int downArrowState = this.state[DrawData.SCROLLBAR_DOWN_ARROW];
- int upTrackState = this.state[DrawData.SCROLLBAR_UP_TRACK];
- int downTrackState = this.state[DrawData.SCROLLBAR_DOWN_TRACK];
- int thumbState = this.state[DrawData.SCROLLBAR_THUMB];
- int state = 0;
- if ((upArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftOutsideArrowPressed;
- if ((downArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeRightOutsideArrowPressed;
- if ((upTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftInsideArrowPressed;
- if ((downTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeRightInsideArrowPressed;
- if ((thumbState & DrawData.PRESSED) != 0) state |= OS.kThemeThumbPressed;
- int enableState = OS.kThemeTrackInactive;
- if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.ACTIVE) != 0) enableState = OS.kThemeTrackActive;
- if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.DISABLED) != 0) enableState = OS.kThemeTrackDisabled;
- HIScrollBarTrackInfo scrollInfo = new HIScrollBarTrackInfo();
- scrollInfo.pressState = (byte)state;
- scrollInfo.enableState = (byte)enableState;
- scrollInfo.viewsize = thumb;
- return scrollInfo;
-}
-
-HIThemeTrackDrawInfo getInfo() {
- int upArrowState = this.state[DrawData.SCROLLBAR_UP_ARROW];
- int downArrowState = this.state[DrawData.SCROLLBAR_DOWN_ARROW];
- int upTrackState = this.state[DrawData.SCROLLBAR_UP_TRACK];
- int downTrackState = this.state[DrawData.SCROLLBAR_DOWN_TRACK];
- int thumbState = this.state[DrawData.SCROLLBAR_THUMB];
- HIThemeTrackDrawInfo info = new HIThemeTrackDrawInfo();
- info.min = minimum;
- info.max = Math.max(minimum, maximum - thumb);
- info.value = selection;
- info.kind = OS.kThemeScrollBarMedium;
- info.attributes = OS.kThemeTrackShowThumb;
- if ((style & SWT.HORIZONTAL) != 0) info.attributes |= OS.kThemeTrackHorizontal;
- info.enableState = OS.kThemeTrackInactive;
- if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.ACTIVE) != 0) info.enableState = OS.kThemeTrackActive;
- if ((this.state[DrawData.WIDGET_WHOLE] & DrawData.DISABLED) != 0) info.enableState = OS.kThemeTrackDisabled;
- info.scrollbar = new ScrollBarTrackInfo();
- int state = 0;
- if ((upArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftOutsideArrowPressed;
- if ((downArrowState & DrawData.PRESSED) != 0) state |= OS.kThemeRightOutsideArrowPressed;
- if ((upTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeLeftInsideArrowPressed;
- if ((downTrackState & DrawData.PRESSED) != 0) state |= OS.kThemeRightInsideArrowPressed;
- if ((thumbState & DrawData.PRESSED) != 0) state |= OS.kThemeThumbPressed;
- info.scrollbar.pressState = (byte)state;
- info.scrollbar.viewsize = thumb;
- return info;
-}
-
-
-Rectangle getBounds(int part, Rectangle bounds) {
- HIThemeTrackDrawInfo info = getInfo();
- info.bounds_x = bounds.x;
- info.bounds_y = bounds.y;
- info.bounds_width = bounds.width;
- info.bounds_height = bounds.height;
- CGRect rect = new CGRect();
- short partCode = 0;
- switch (part) {
- case DrawData.SCROLLBAR_UP_ARROW: partCode = 20; break;
- case DrawData.SCROLLBAR_DOWN_ARROW: partCode = 21; break;
- case DrawData.SCROLLBAR_UP_TRACK: partCode = 22; break;
- case DrawData.SCROLLBAR_THUMB: partCode = 129; break;
- case DrawData.SCROLLBAR_DOWN_TRACK: partCode = 23; break;
- }
- OS.HIThemeGetTrackPartBounds(info, partCode, rect);
- return new Rectangle((int)rect.x, (int)rect.y, (int)rect.width, (int)rect.height);
-}
-
-int getSelection (Point position, Rectangle bounds) {
- HIThemeTrackDrawInfo info = getInfo();
- info.bounds_x = bounds.x;
- info.bounds_y = bounds.y;
- info.bounds_width = bounds.width;
- info.bounds_height = bounds.height;
- CGPoint pt = new CGPoint();
- pt.x = position.x;
- pt.y = position.y;
- float[] relativePosition = new float[1];
- OS.HIThemeGetTrackThumbPositionFromOffset(info, pt, relativePosition);
- int[] selection = new int[1];
- OS.HIThemeGetTrackLiveValue(info, relativePosition[0], selection);
- return (int)selection[0];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- HIThemeTrackDrawInfo info = getInfo();
- info.bounds_x = bounds.x;
- info.bounds_y = bounds.y;
- info.bounds_width = bounds.width;
- info.bounds_height = bounds.height;
- OS.HIThemeDrawTrack(info, null, gc.handle, OS.kHIThemeOrientationNormal);
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- CGPoint pt = new CGPoint();
- pt.x = position.x;
- pt.y = position.y;
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- short[] part = new short[1];
- HIScrollBarTrackInfo scrollInfo = getArrowsInfo();
- OS.HIThemeHitTestScrollBarArrows(rect, scrollInfo, (style & SWT.HORIZONTAL) != 0, pt, null, part);
- switch (part[0]) {
- case 20: return DrawData.SCROLLBAR_UP_ARROW;
- case 21: return DrawData.SCROLLBAR_DOWN_ARROW;
- }
- HIThemeTrackDrawInfo info = getInfo();
- info.bounds_x = bounds.x;
- info.bounds_y = bounds.y;
- info.bounds_width = bounds.width;
- info.bounds_height = bounds.height;
- if (OS.HIThemeHitTestTrack(info, pt, part)) {
- switch (part[0]) {
- case 22: return DrawData.SCROLLBAR_UP_TRACK;
- case 23: return DrawData.SCROLLBAR_DOWN_TRACK;
- case 129: return DrawData.SCROLLBAR_THUMB;
- }
- }
- return DrawData.WIDGET_NOWHERE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.java
deleted file mode 100644
index 6bf5ea0a0c..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabFolderDrawData.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeTabPaneDrawInfo;
-import org.eclipse.swt.internal.carbon.CGRect;
-
-public class TabFolderDrawData extends DrawData {
- public int tabsWidth;
- public int tabsHeight;
- public Rectangle tabsArea;
- public int selectedX;
- public int selectedWidth;
- public int spacing;
-
-public TabFolderDrawData() {
- state = new int[1];
- if (SWT.getPlatform().equals("gtk")) {
- spacing = -2;
- }
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- int[] metric = new int[1];
- OS.GetThemeMetric(OS.kThemeMetricLargeTabHeight, metric);
- int tabHeight = metric[0];
- OS.GetThemeMetric(OS.kThemeMetricLargeTabCapsWidth, metric);
- int capsWidth = metric[0];
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- if ((style & SWT.BOTTOM) != 0) {
- rect.height -= tabHeight / 2;
- } else {
- rect.y += (capsWidth + tabHeight) / 2;
- rect.height -= (capsWidth + tabHeight) / 2;
- }
- HIThemeTabPaneDrawInfo info = getInfo();
- OS.HIThemeDrawTabPane(rect, info, gc.handle, OS.kHIThemeOrientationNormal);
- if (tabsArea != null) {
- tabsArea.x = bounds.x + capsWidth + ((bounds.width - capsWidth * 2) - tabsWidth) / 2;
- tabsArea.y = bounds.y;
- tabsArea.width = bounds.width - capsWidth * 2;
- tabsArea.height = tabHeight;
- if ((style & SWT.BOTTOM) != 0) {
- tabsArea.y += bounds.height - tabHeight;
- } else {
- tabsArea.y += capsWidth / 2;
- }
- }
-}
-
-HIThemeTabPaneDrawInfo getInfo() {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeTabPaneDrawInfo info = new HIThemeTabPaneDrawInfo();
- info.version = 1;
- info.direction = OS.kThemeTabNorth;
- if ((style & SWT.BOTTOM) != 0) info.direction = OS.kThemeTabSouth;
- if ((style & SWT.TOP) != 0) info.direction = OS.kThemeTabNorth;
- if ((state & DrawData.PRESSED) != 0) {
- info.state = OS.kThemeStatePressed;
- } else {
- if ((state & DrawData.ACTIVE) != 0) {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
- } else {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
- }
- }
- return info;
-}
-
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
- return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java
deleted file mode 100644
index 9cf21098f9..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/TabItemDrawData.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.HIThemeTabDrawInfo;
-import org.eclipse.swt.internal.carbon.CGRect;
-
-public class TabItemDrawData extends DrawData {
-
- public TabFolderDrawData parent;
- public int position;
-
-public TabItemDrawData() {
- state = new int[1];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
- int[] metric = new int[1];
- OS.GetThemeMetric(OS.kThemeMetricLargeTabCapsWidth, metric);
- int x = clientArea.x - metric[0];
- int y = clientArea.y - metric[0];
- int width = clientArea.width + metric[0] * 2;
- int height = clientArea.height + metric[0] * 2;
- return new Rectangle(x, y, width, height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- CGRect labelRect = clientArea != null ? new CGRect() : null;
- HIThemeTabDrawInfo info = getInfo();
- OS.HIThemeDrawTab(rect, info, gc.handle, OS.kHIThemeOrientationNormal, labelRect);
- if (clientArea != null) {
- clientArea.x = (int)labelRect.x;
- clientArea.y = (int)labelRect.y;
- clientArea.width = (int)labelRect.width;
- clientArea.height = (int)labelRect.height;
- }
-}
-
-HIThemeTabDrawInfo getInfo() {
- int state = this.state[DrawData.WIDGET_WHOLE];
- HIThemeTabDrawInfo info = new HIThemeTabDrawInfo();
- info.version = 1;
- if ((state & DrawData.DISABLED) == 0) {
- if ((state & DrawData.ACTIVE) != 0) {
- if ((state & DrawData.SELECTED) != 0) {
- info.style = OS.kThemeTabFront;
- } else {
- if ((state & DrawData.PRESSED) != 0) {
- info.style = OS.kThemeTabNonFrontPressed;
- } else {
- info.style = OS.kThemeTabNonFront;
- }
- }
- } else {
- if ((state & DrawData.SELECTED) != 0) {
- info.style = OS.kThemeTabFrontInactive;
- } else {
- info.style = OS.kThemeTabNonFrontInactive;
- }
- }
- } else {
- if ((state & DrawData.ACTIVE) != 0) {
- info.style = OS.kThemeTabFrontUnavailable;
- } else {
- info.style = OS.kThemeTabNonFrontUnavailable;
- }
- }
- info.direction = OS.kThemeTabNorth;
- if ((parent.style & SWT.BOTTOM) != 0) info.direction = OS.kThemeTabSouth;
- if ((parent.style & SWT.TOP) != 0) info.direction = OS.kThemeTabNorth;
- info.size = 0;
- if ((state & DrawData.FOCUSED) != 0) info.adornment = OS.kHIThemeTabAdornmentFocus;
- info.adornment |= OS.kHIThemeTabAdornmentTrailingSeparator;
- info.position = OS.kHIThemeTabPositionMiddle;
- if ((position & SWT.RIGHT) != 0 && (position & SWT.LEFT) != 0) {
- info.position = OS.kHIThemeTabPositionOnly;
- } else if ((position & SWT.LEFT) != 0) {
- info.position = OS.kHIThemeTabPositionFirst;
- info.adornment |= OS.kHIThemeTabAdornmentTrailingSeparator;
- } else if ((position & SWT.RIGHT) != 0) {
- info.position = OS.kHIThemeTabPositionLast;
- }
- return info;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
- return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java
deleted file mode 100644
index c1de3c6359..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/Theme.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-public class Theme {
-
- Device device;
-
-public Theme(Device device) {
- if (device == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- this.device = device;
-}
-
-void checkTheme() {
- if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
-}
-
-public Rectangle computeTrim(GC gc, DrawData data) {
- checkTheme();
- if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- return data.computeTrim(this, gc);
-}
-
-public void dispose () {
- device = null;
-}
-
-public void drawBackground(GC gc, Rectangle bounds, DrawData data) {
- checkTheme();
- if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- data.draw(this, gc, bounds);
-}
-
-public void drawFocus(GC gc, Rectangle bounds, DrawData data) {
- checkTheme();
- if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- gc.drawFocus(bounds.x, bounds.y, bounds.width, bounds.height);
-}
-
-public void drawImage(GC gc, Rectangle bounds, DrawData data, Image image, int flags) {
- checkTheme();
- if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- data.drawImage(this, image, gc, bounds);
-}
-
-public void drawText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
- checkTheme();
- if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- data.drawText(this, text, flags, gc, bounds);
-}
-
-public Rectangle getBounds(int part, Rectangle bounds, DrawData data) {
- checkTheme();
- if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- return data.getBounds(part, bounds);
-}
-
-public int getSelection(Point offset, Rectangle bounds, RangeDrawData data) {
- checkTheme();
- if (offset == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- return data.getSelection(offset, bounds);
-}
-
-public int hitBackground(Point position, Rectangle bounds, DrawData data) {
- checkTheme();
- if (position == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- return data.hit(this, position, bounds);
-}
-
-public boolean isDisposed() {
- return device == null;
-}
-
-public Rectangle measureText(GC gc, Rectangle bounds, DrawData data, String text, int flags) {
- checkTheme();
- if (gc == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (data == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (text == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
- if (gc.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- return data.measureText(this, text, flags, gc, bounds);
-}
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java
deleted file mode 100644
index c0e123ef6e..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolBarDrawData.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.graphics.*;
-
-public class ToolBarDrawData extends DrawData {
-
-public ToolBarDrawData() {
- state = new int[1];
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
- return DrawData.WIDGET_WHOLE;
-}
-
-}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.java b/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.java
deleted file mode 100644
index 1bd99d8a71..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT Theme/carbon/org/eclipse/swt/internal/theme/ToolItemDrawData.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.theme;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.internal.carbon.OS;
-import org.eclipse.swt.internal.carbon.CGRect;
-import org.eclipse.swt.internal.carbon.HIThemeSeparatorDrawInfo;
-import org.eclipse.swt.internal.carbon.HIThemePopupArrowDrawInfo;
-
-public class ToolItemDrawData extends DrawData {
-
- public ToolBarDrawData parent;
-
- static final int ARROW_WIDTH = 9;
- static final int INSET = 3;
-
-public ToolItemDrawData() {
- state = new int[2];
-}
-
-Rectangle computeTrim(Theme theme, GC gc) {
- int x = clientArea.x - INSET;
- int y = clientArea.y - INSET;
- int width = clientArea.width + INSET * 2;
- int height = clientArea.height + INSET * 2;
- if ((style & SWT.DROP_DOWN) != 0) {
- width += ARROW_WIDTH;
- }
- return new Rectangle(x, y, width, height);
-}
-
-void draw(Theme theme, GC gc, Rectangle bounds) {
- CGRect rect = new CGRect();
- rect.x = bounds.x;
- rect.y = bounds.y;
- rect.width = bounds.width;
- rect.height = bounds.height;
- if ((style & SWT.SEPARATOR) != 0) {
- HIThemeSeparatorDrawInfo info = getSeparatorInfo();
- OS.HIThemeDrawSeparator (rect, info, gc.handle, OS.kHIThemeOrientationNormal);
- } else {
- if ((state[DrawData.WIDGET_WHOLE] & DrawData.SELECTED) != 0) {
- OS.CGContextSaveGState (gc.handle);
- OS.CGContextSetFillColor (gc.handle, new float[]{0.025f, 0.025f, 0.025f, 0.025f});
- OS.CGContextFillRect (gc.handle, rect);
- OS.CGContextSetStrokeColor (gc.handle, new float[]{0.2f, 0.2f, 0.2f, 0.2f});
- rect.x += 0.5f;
- rect.y += 0.5f;
- rect.width -= 1;
- rect.height -= 1;
- OS.CGContextStrokeRect (gc.handle, rect);
- OS.CGContextRestoreGState (gc.handle);
- }
- }
- if (clientArea != null) {
- clientArea.x = bounds.x;
- clientArea.y = bounds.y;
- clientArea.width = bounds.width;
- clientArea.height = bounds.height;
- }
- if ((style & SWT.DROP_DOWN) != 0) {
- rect.y = bounds.y + rect.height / 2 - 1;
- rect.x = bounds.x + rect.width - ARROW_WIDTH;
- HIThemePopupArrowDrawInfo info = getArrowInfo();
- OS.HIThemeDrawPopupArrow (rect, info, gc.handle, OS.kHIThemeOrientationNormal);
- if (clientArea != null) {
- clientArea.width -= ARROW_WIDTH;
- }
- }
-}
-
-HIThemePopupArrowDrawInfo getArrowInfo() {
- HIThemePopupArrowDrawInfo info = new HIThemePopupArrowDrawInfo();
- int state = this.state[DrawData.TOOLITEM_ARROW];
- if ((state & DrawData.PRESSED) != 0) {
- info.state = OS.kThemeStatePressed;
- } else {
- if ((state & DrawData.ACTIVE) != 0) {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
- } else {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
- }
- }
- info.orientation = (short) OS.kThemeArrowDown;
- info.size = (short) OS.kThemeArrow5pt;
- return info;
-}
-
-HIThemeSeparatorDrawInfo getSeparatorInfo() {
- HIThemeSeparatorDrawInfo info = new HIThemeSeparatorDrawInfo();
- int state = this.state[DrawData.WIDGET_WHOLE];
- if ((state & DrawData.ACTIVE) != 0) {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateActive : OS.kThemeStateUnavailable;
- } else {
- info.state = (state & DrawData.DISABLED) == 0 ? OS.kThemeStateInactive : OS.kThemeStateUnavailableInactive;
- }
- return info;
-}
-
-int hit(Theme theme, Point position, Rectangle bounds) {
- if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
- if ((style & SWT.DROP_DOWN) != 0) {
- if (bounds.x + bounds.width - ARROW_WIDTH <= position.x) {
- return DrawData.TOOLITEM_ARROW;
- }
- }
- return DrawData.WIDGET_WHOLE;
-}
-
-}