1765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/******************************************************************************* 2765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Copyright (c) 2011 Google, Inc. 3765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * All rights reserved. This program and the accompanying materials 4765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * are made available under the terms of the Eclipse Public License v1.0 5765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * which accompanies this distribution, and is available at 6765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * http://www.eclipse.org/legal/epl-v10.html 7765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 8765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Contributors: 9765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Google, Inc. - initial API and implementation 10765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye *******************************************************************************/ 11765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepackage org.eclipse.wb.draw2d; 12765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 13765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.SWT; 14765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.graphics.Color; 15765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyeimport org.eclipse.swt.widgets.Display; 16765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 17765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye/** 18765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * A collection of color-related constants. 19765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * 20765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @author lobas_av 21765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * @coverage gef.draw2d 22765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 23765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbyepublic interface IColorConstants { 24765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 25765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint highlight shadow areas. 26765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 27765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color buttonLightest = Utils.getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW); 28765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 29765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint background areas. 30765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 31765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color button = Utils.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); 32765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 33765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint normal shadow areas. 34765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 35765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color buttonDarker = Utils.getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW); 36765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// /** 37765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// * System color used to paint dark shadow areas. 38765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// */ 39765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye// Color buttonDarkest = Utils.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW); 40765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 41765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint list background areas. 42765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 43765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color listBackground = Utils.getSystemColor(SWT.COLOR_LIST_BACKGROUND); 44765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 45765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint list foreground areas. 46765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 47765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color listForeground = Utils.getSystemColor(SWT.COLOR_LIST_FOREGROUND); 48765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 49765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint list selection area. 50765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 51765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color listSelection = Utils.getSystemColor(SWT.COLOR_LIST_SELECTION); 52765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 53765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint list selection text. 54765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 55765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color listSelectionText = Utils.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT); 56765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 57765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint tooltip text. 58765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 59765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color tooltipForeground = Utils.getSystemColor(SWT.COLOR_INFO_FOREGROUND); 60765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 61765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * System color used to paint tooltip background areas. 62765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 63765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color tooltipBackground = Utils.getSystemColor(SWT.COLOR_INFO_BACKGROUND); 64765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 65765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Miscellaneous colors. 66765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 67765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color lightGray = new Color(null, 192, 192, 192); 68765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color gray = new Color(null, 128, 128, 128); 69765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color darkGray = new Color(null, 64, 64, 64); 704b1a9d7baa71df312585022c22e8025fafaba95aTor Norbye Color black = new Color(null, 0, 0, 0); 71765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color lightBlue = new Color(null, 127, 127, 255); 72765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye Color darkBlue = new Color(null, 0, 0, 127); 73765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye 74765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 75765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 76765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // Utils 77765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye // 78765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye //////////////////////////////////////////////////////////////////////////// 79765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 80765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Internal helper. 81765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 82765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public static class Utils { 83765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye /** 84765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye * Invokes {@link Display#getSystemColor(int)} in UI thread. 85765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye */ 86765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye private static Color getSystemColor(final int id) { 87765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye final Color[] color = new Color[1]; 88765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye final Display display = Display.getDefault(); 89765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye display.syncExec(new Runnable() { 90765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye @Override 91765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye public void run() { 92765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye color[0] = display.getSystemColor(id); 93765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 94765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye }); 95765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye return color[0]; 96765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 97765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye } 98765e52e2d30d0754625b8c7af6c36e93612f15beTor Norbye}