Mercurial > projects > dwt-addons
diff dwtx/draw2d/ColorConstants.d @ 98:95307ad235d9
Added Draw2d code, still work in progress
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sun, 03 Aug 2008 00:52:14 +0200 |
parents | |
children | 0de61c6f08ca |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dwtx/draw2d/ColorConstants.d Sun Aug 03 00:52:14 2008 +0200 @@ -0,0 +1,196 @@ +/******************************************************************************* + * Copyright (c) 2000, 2008 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 + * Port to the D programming language: + * Frank Benoit <benoit@tionex.de> + *******************************************************************************/ +module dwtx.draw2d.ColorConstants; + +import dwt.dwthelper.utils; +import dwt.dwthelper.Runnable; +import tango.core.sync.Mutex; + +import dwt.DWT; +import dwt.graphics.Color; +import dwt.widgets.Display; + +/** + * A collection of color-related constants. + */ +public struct ColorConstants { + +class SystemColorFactory { + private static Color getColor(int which) { + Display display = Display.getCurrent(); + if (display !is null) + return display.getSystemColor(which); + display = Display.getDefault(); + Color result; + scope Mutex mutex = new Mutex; + display.syncExec(dgRunnable( { + synchronized (mutex) { + result = Display.getCurrent().getSystemColor(which); + } + } )); + synchronized (mutex) { + return result; + } + } +} + +/** + * @see DWT#COLOR_WIDGET_HIGHLIGHT_SHADOW + */ +static const Color buttonLightest; +/** + * @see DWT#COLOR_WIDGET_BACKGROUND + */ +static const Color button; +/** + * @see DWT#COLOR_WIDGET_NORMAL_SHADOW + */ +static const Color buttonDarker; +/** + * @see DWT#COLOR_WIDGET_DARK_SHADOW + */ +static const Color buttonDarkest; + +/** + * @see DWT#COLOR_LIST_BACKGROUND + */ +static const Color listBackground; +/** + * @see DWT#COLOR_LIST_FOREGROUND + */ +static const Color listForeground; + +/** + * @see DWT#COLOR_WIDGET_BACKGROUND + */ +static const Color menuBackground; +/** + * @see DWT#COLOR_WIDGET_FOREGROUND + */ +static const Color menuForeground; +/** + * @see DWT#COLOR_LIST_SELECTION + */ +static const Color menuBackgroundSelected; +/** + * @see DWT#COLOR_LIST_SELECTION_TEXT + */ +static const Color menuForegroundSelected; + +/** + * @see DWT#COLOR_TITLE_BACKGROUND + */ +static const Color titleBackground; +/** + * @see DWT#COLOR_TITLE_BACKGROUND_GRADIENT + */ +static const Color titleGradient; +/** + * @see DWT#COLOR_TITLE_FOREGROUND + */ +static const Color titleForeground; +/** + * @see DWT#COLOR_TITLE_INACTIVE_FOREGROUND + */ +static const Color titleInactiveForeground; +/** + * @see DWT#COLOR_TITLE_INACTIVE_BACKGROUND + */ +static const Color titleInactiveBackground; +/** + * @see DWT#COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT + */ +static const Color titleInactiveGradient; + +/** + * @see DWT#COLOR_INFO_FOREGROUND + */ +static const Color tooltipForeground; +/** + * @see DWT#COLOR_INFO_BACKGROUND + */ +static const Color tooltipBackground; + +/* + * Misc. colors + */ +/** One of the pre-defined colors */ +static const Color white; +/** One of the pre-defined colors */ +static const Color lightGray; +/** One of the pre-defined colors */ +static const Color gray; +/** One of the pre-defined colors */ +static const Color darkGray; +/** One of the pre-defined colors */ +static const Color black; +/** One of the pre-defined colors */ +static const Color red; +/** One of the pre-defined colors */ +static const Color orange; +/** One of the pre-defined colors */ +static const Color yellow; +/** One of the pre-defined colors */ +static const Color green; +/** One of the pre-defined colors */ +static const Color lightGreen; +/** One of the pre-defined colors */ +static const Color darkGreen; +/** One of the pre-defined colors */ +static const Color cyan; +/** One of the pre-defined colors */ +static const Color lightBlue; +/** One of the pre-defined colors */ +static const Color blue; +/** One of the pre-defined colors */ +static const Color darkBlue; + + +static this(){ + buttonLightest = SystemColorFactory.getColor(DWT.COLOR_WIDGET_HIGHLIGHT_SHADOW); + button = SystemColorFactory.getColor(DWT.COLOR_WIDGET_BACKGROUND); + buttonDarker = SystemColorFactory.getColor(DWT.COLOR_WIDGET_NORMAL_SHADOW); + buttonDarkest = SystemColorFactory.getColor(DWT.COLOR_WIDGET_DARK_SHADOW); + listBackground = SystemColorFactory.getColor(DWT.COLOR_LIST_BACKGROUND); + listForeground = SystemColorFactory.getColor(DWT.COLOR_LIST_FOREGROUND); + menuBackground = SystemColorFactory.getColor(DWT.COLOR_WIDGET_BACKGROUND); + menuForeground = SystemColorFactory.getColor(DWT.COLOR_WIDGET_FOREGROUND); + menuBackgroundSelected = SystemColorFactory.getColor(DWT.COLOR_LIST_SELECTION); + menuForegroundSelected = SystemColorFactory.getColor(DWT.COLOR_LIST_SELECTION_TEXT); + titleBackground = SystemColorFactory.getColor(DWT.COLOR_TITLE_BACKGROUND); + titleGradient = SystemColorFactory.getColor(DWT.COLOR_TITLE_BACKGROUND_GRADIENT); + titleForeground = SystemColorFactory.getColor(DWT.COLOR_TITLE_FOREGROUND); + titleInactiveForeground = SystemColorFactory.getColor(DWT.COLOR_TITLE_INACTIVE_FOREGROUND); + titleInactiveBackground = SystemColorFactory.getColor(DWT.COLOR_TITLE_INACTIVE_BACKGROUND); + titleInactiveGradient = SystemColorFactory.getColor(DWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT); + tooltipForeground = SystemColorFactory.getColor(DWT.COLOR_INFO_FOREGROUND); + tooltipBackground = SystemColorFactory.getColor(DWT.COLOR_INFO_BACKGROUND); + white = new Color(null, 255, 255, 255); + lightGray = new Color(null, 192, 192, 192); + gray = new Color(null, 128, 128, 128); + darkGray = new Color(null, 64, 64, 64); + black = new Color(null, 0, 0, 0); + red = new Color(null, 255, 0, 0); + orange = new Color(null, 255, 196, 0); + yellow = new Color(null, 255, 255, 0); + green = new Color(null, 0, 255, 0); + lightGreen = new Color(null, 96, 255, 96); + darkGreen = new Color(null, 0, 127, 0); + cyan = new Color(null, 0, 255, 255); + lightBlue = new Color(null, 127, 127, 255); + blue = new Color(null, 0, 0, 255); + darkBlue = new Color(null, 0, 0, 127); +} +} + +