annotate dwtx/novocode/ishell/internal/TitleBarButton.d @ 190:df4e66472aff

novocode line endings, indention
author Frank Benoit <benoit@tionex.de>
date Sun, 26 Oct 2008 15:04:41 +0100
parents 71ca5bcf2307
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
190
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
1 /*******************************************************************************
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
2 * Copyright (c) 2005 Stefan Zeiger and others.
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
3 * All rights reserved. This program and the accompanying materials
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
4 * are made available under the terms of the Eclipse Public License v1.0
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
5 * which accompanies this distribution, and is available at
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
6 * http://www.novocode.com/legal/epl-v10.html
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
7 *
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
8 * Contributors:
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
9 * Stefan Zeiger (szeiger@novocode.com) - initial API and implementation
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
10 *******************************************************************************/
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
11
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
12 module dwtx.novocode.ishell.internal.TitleBarButton;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
13
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
14 import dwt.DWT;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
15 import dwt.graphics.Color;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
16 import dwt.graphics.GC;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
17 import dwt.graphics.Point;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
18 import dwt.widgets.Display;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
19 import dwt.widgets.Event;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
20 import dwt.widgets.Listener;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
21 import dwt.widgets.Shell;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
22
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
23 import dwtx.novocode.ishell.InternalShell;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
24 import dwtx.novocode.ishell.internal.CustomDrawnButton;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
25
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
26
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
27 /**
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
28 * A title bar button for an InternalShell.
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
29 *
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
30 * @author Stefan Zeiger (szeiger@novocode.com)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
31 * @since Jan 30, 2005
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
32 * @version $Id: TitleBarButton.java 322 2005-02-26 20:31:26 +0000 (Sat, 26 Feb 2005) szeiger $
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
33 */
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
34
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
35 class TitleBarButton : CustomDrawnButton
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
36 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
37 private Color highlightShadowColor, lightShadowColor, normalShadowColor, darkShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
38 private Color gradEndColor, inactiveGradEndColor, widgetBackgroundColor, widgetForegroundColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
39 private int style;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
40 private Shell shell;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
41 private Display display;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
42 private InternalShell ishell;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
43 private int leftOff, rightOff;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
44 private Listener activateListener, deactivateListener;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
45
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
46 this(InternalShell parent, int style)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
47 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
48 super(parent, DWT.NO_FOCUS | DWT.NO_BACKGROUND);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
49 this.style = style;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
50 this.shell = getShell();
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
51 this.display = getDisplay();
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
52 this.ishell = parent;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
53
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
54 highlightShadowColor = display.getSystemColor(DWT.COLOR_WIDGET_HIGHLIGHT_SHADOW);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
55 lightShadowColor = display.getSystemColor(DWT.COLOR_WIDGET_LIGHT_SHADOW);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
56 normalShadowColor = display.getSystemColor(DWT.COLOR_WIDGET_NORMAL_SHADOW);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
57 darkShadowColor = display.getSystemColor(DWT.COLOR_WIDGET_DARK_SHADOW);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
58 gradEndColor = display.getSystemColor(DWT.COLOR_TITLE_BACKGROUND_GRADIENT);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
59 inactiveGradEndColor = display.getSystemColor(DWT.COLOR_TITLE_INACTIVE_BACKGROUND_GRADIENT);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
60 widgetBackgroundColor = display.getSystemColor(DWT.COLOR_WIDGET_BACKGROUND);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
61 widgetForegroundColor = display.getSystemColor(DWT.COLOR_WIDGET_FOREGROUND);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
62
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
63 if((style & (DWT.CLOSE | DWT.MAX)) !is 0) rightOff = 2;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
64 else leftOff = 2;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
65
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
66 activateListener = dgListener(&onActivateListener);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
67 deactivateListener = dgListener(&onDeactivateListener);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
68 shell.addListener(DWT.Activate, activateListener);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
69 shell.addListener(DWT.Deactivate, deactivateListener);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
70
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
71 addListener(DWT.Dispose, dgListener(&onDispose));
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
72 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
73
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
74
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
75 private void onActivateListener(Event event)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
76 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
77 redraw();
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
78 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
79
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
80
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
81 private void onDeactivateListener(Event event)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
82 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
83 redraw();
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
84 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
85
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
86
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
87 private void onDispose(Event event)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
88 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
89 shell.removeListener(DWT.Activate, activateListener);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
90 shell.removeListener(DWT.Deactivate, deactivateListener);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
91 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
92
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
93
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
94 public int getStyle()
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
95 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
96 return style;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
97 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
98
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
99
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
100 protected void onPaint(Event event, bool pressed)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
101 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
102 Point size = getSize();
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
103 bool active = (shell is display.getActiveShell() && ishell.isActiveShell());
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
104 GC gc = event.gc;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
105
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
106 gc.setBackground(active ? gradEndColor : inactiveGradEndColor);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
107 gc.fillRectangle(0, 0, size.x, size.y);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
108 gc.setBackground(widgetBackgroundColor);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
109 gc.fillRectangle(2, 4, size.x-4, size.y-6);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
110
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
111 Color tloColor, tliColor, broColor, briColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
112 int pOff;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
113 if(pressed)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
114 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
115 tloColor = darkShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
116 tliColor = normalShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
117 broColor = highlightShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
118 briColor = lightShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
119 pOff = 1;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
120 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
121 else
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
122 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
123 tloColor = highlightShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
124 tliColor = lightShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
125 broColor = darkShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
126 briColor = normalShadowColor;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
127 pOff = 0;
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
128 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
129
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
130 drawBevelRect(gc, leftOff, 2, size.x-1-leftOff-rightOff, size.y-5, tloColor, broColor);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
131 drawBevelRect(gc, 1+leftOff, 3, size.x-3-leftOff-rightOff, size.y-7, tliColor, briColor);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
132
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
133 if(isEnabled())
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
134 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
135 gc.setForeground(widgetForegroundColor);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
136 drawImage(gc, size, pOff);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
137 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
138 else
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
139 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
140 gc.setForeground(highlightShadowColor);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
141 drawImage(gc, size, 1);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
142 gc.setForeground(normalShadowColor);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
143 drawImage(gc, size, 0);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
144 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
145 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
146
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
147
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
148 private void drawImage(GC gc, Point size, int pOff)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
149 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
150 if((style & DWT.CLOSE) !is 0) drawCloseImage(gc, size, pOff);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
151 else if((style & DWT.MAX) !is 0)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
152 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
153 if(ishell.getMaximized()) drawRestoreImage(gc, size, pOff);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
154 else drawMaximizeImage(gc, size, pOff);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
155 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
156 else if((style & DWT.MIN) !is 0) drawMinimizeImage(gc, size, pOff);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
157 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
158
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
159
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
160 private static void drawBevelRect(GC gc, int x, int y, int w, int h, Color topleft, Color bottomright)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
161 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
162 gc.setForeground(bottomright);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
163 gc.drawLine(x + w, y, x + w, y + h);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
164 gc.drawLine(x, y + h, x + w, y + h);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
165
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
166 gc.setForeground(topleft);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
167 gc.drawLine(x, y, x + w - 1, y);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
168 gc.drawLine(x, y, x, y + h - 1);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
169 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
170
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
171
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
172 private void drawCloseImage(GC gc, Point size, int pOff)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
173 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
174 gc.drawLine(pOff+leftOff+4, pOff+5, pOff+size.x-leftOff-rightOff-6, pOff+size.y-7);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
175 gc.drawLine(pOff+leftOff+5, pOff+5, pOff+size.x-leftOff-rightOff-5, pOff+size.y-7);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
176 gc.drawLine(pOff+leftOff+4, pOff+size.y-7, pOff+size.x-leftOff-rightOff-6, pOff+5);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
177 gc.drawLine(pOff+leftOff+5, pOff+size.y-7, pOff+size.x-leftOff-rightOff-5, pOff+5);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
178 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
179
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
180
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
181 private void drawRestoreImage(GC gc, Point size, int pOff)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
182 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
183 gc.drawRectangle(pOff+leftOff+3, pOff+7, size.x-leftOff-rightOff-11, size.y-13);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
184 gc.drawLine(pOff+leftOff+4, pOff+8, pOff+size.x-leftOff-rightOff-9, pOff+8);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
185 gc.drawLine(pOff+leftOff+6, pOff+5, pOff+size.x-leftOff-rightOff-7, pOff+5);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
186 gc.drawLine(pOff+leftOff+5, pOff+4, pOff+size.x-leftOff-rightOff-6, pOff+4);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
187 gc.drawLine(pOff+size.x-leftOff-rightOff-7, pOff+size.y-9, pOff+size.x-leftOff-rightOff-6, pOff+size.y-9);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
188 gc.drawLine(pOff+size.x-leftOff-rightOff-6, pOff+size.y-10, pOff+size.x-leftOff-rightOff-6, pOff+5);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
189 gc.drawLine(pOff+leftOff+5, pOff+5, pOff+leftOff+5, pOff+6);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
190 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
191
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
192
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
193 private void drawMaximizeImage(GC gc, Point size, int pOff)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
194 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
195 gc.drawRectangle(pOff+leftOff+3, pOff+4, size.x-leftOff-rightOff-8, size.y-10);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
196 gc.drawLine(pOff+leftOff+4, pOff+5, pOff+size.x-leftOff-rightOff-6, pOff+5);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
197 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
198
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
199
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
200 private void drawMinimizeImage(GC gc, Point size, int pOff)
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
201 {
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
202 gc.drawLine(pOff+leftOff+4, pOff+size.y-6, pOff+size.x-leftOff-rightOff-5, pOff+size.y-6);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
203 gc.drawLine(pOff+leftOff+4, pOff+size.y-7, pOff+size.x-leftOff-rightOff-5, pOff+size.y-7);
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
204 }
df4e66472aff novocode line endings, indention
Frank Benoit <benoit@tionex.de>
parents: 189
diff changeset
205 }