Skip to content

Commit cc4c178

Browse files
committed
[gtk] Make standard colors static final
Currently the standard colors are created for each device even though they no longer need a device for a while. This makes the colors static final and only create them once.
1 parent f5b173b commit cc4c178

File tree

2 files changed

+26
-28
lines changed

2 files changed

+26
-28
lines changed

bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,30 @@ public abstract class Device implements Drawable {
8888
* Programmer's Reference as the colors in the default
8989
* palette.
9090
*/
91-
Color COLOR_BLACK, COLOR_DARK_RED, COLOR_DARK_GREEN, COLOR_DARK_YELLOW, COLOR_DARK_BLUE;
92-
Color COLOR_DARK_MAGENTA, COLOR_DARK_CYAN, COLOR_GRAY, COLOR_DARK_GRAY, COLOR_RED, COLOR_TRANSPARENT;
93-
Color COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE, COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE;
91+
static final Color COLOR_BLACK, COLOR_DARK_RED, COLOR_DARK_GREEN, COLOR_DARK_YELLOW, COLOR_DARK_BLUE;
92+
static final Color COLOR_DARK_MAGENTA, COLOR_DARK_CYAN, COLOR_GRAY, COLOR_DARK_GRAY, COLOR_RED, COLOR_TRANSPARENT;
93+
static final Color COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE, COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE;
94+
95+
static {
96+
/* Create the standard colors */
97+
COLOR_TRANSPARENT = new Color (0xFF, 0xFF,0xFF,0);
98+
COLOR_BLACK = new Color (0, 0,0);
99+
COLOR_DARK_RED = new Color (0x80, 0,0);
100+
COLOR_DARK_GREEN = new Color (0, 0x80,0);
101+
COLOR_DARK_YELLOW = new Color (0x80, 0x80,0);
102+
COLOR_DARK_BLUE = new Color (0, 0,0x80);
103+
COLOR_DARK_MAGENTA = new Color (0x80, 0,0x80);
104+
COLOR_DARK_CYAN = new Color (0, 0x80,0x80);
105+
COLOR_GRAY = new Color (0xC0, 0xC0,0xC0);
106+
COLOR_DARK_GRAY = new Color (0x80, 0x80,0x80);
107+
COLOR_RED = new Color (0xFF, 0,0);
108+
COLOR_GREEN = new Color (0, 0xFF,0);
109+
COLOR_YELLOW = new Color (0xFF, 0xFF,0);
110+
COLOR_BLUE = new Color (0, 0,0xFF);
111+
COLOR_MAGENTA = new Color (0xFF, 0,0xFF);
112+
COLOR_CYAN = new Color (0, 0xFF,0xFF);
113+
COLOR_WHITE = new Color (0xFF, 0xFF,0xFF);
114+
}
94115

95116
/* System Font */
96117
Font systemFont;
@@ -662,25 +683,6 @@ protected void init () {
662683
}
663684
}
664685

665-
/* Create the standard colors */
666-
COLOR_TRANSPARENT = new Color (0xFF, 0xFF,0xFF,0);
667-
COLOR_BLACK = new Color (0, 0,0);
668-
COLOR_DARK_RED = new Color (0x80, 0,0);
669-
COLOR_DARK_GREEN = new Color (0, 0x80,0);
670-
COLOR_DARK_YELLOW = new Color (0x80, 0x80,0);
671-
COLOR_DARK_BLUE = new Color (0, 0,0x80);
672-
COLOR_DARK_MAGENTA = new Color (0x80, 0,0x80);
673-
COLOR_DARK_CYAN = new Color (0, 0x80,0x80);
674-
COLOR_GRAY = new Color (0xC0, 0xC0,0xC0);
675-
COLOR_DARK_GRAY = new Color (0x80, 0x80,0x80);
676-
COLOR_RED = new Color (0xFF, 0,0);
677-
COLOR_GREEN = new Color (0, 0xFF,0);
678-
COLOR_YELLOW = new Color (0xFF, 0xFF,0);
679-
COLOR_BLUE = new Color (0, 0,0xFF);
680-
COLOR_MAGENTA = new Color (0xFF, 0,0xFF);
681-
COLOR_CYAN = new Color (0, 0xFF,0xFF);
682-
COLOR_WHITE = new Color (0xFF, 0xFF,0xFF);
683-
684686
emptyTab = OS.pango_tab_array_new(1, false);
685687
if (emptyTab == 0) SWT.error(SWT.ERROR_NO_HANDLES);
686688
OS.pango_tab_array_set_tab(emptyTab, 0, OS.PANGO_TAB_LEFT, 1);
@@ -980,10 +982,6 @@ protected void release () {
980982
if (systemFont != null) systemFont.dispose ();
981983
systemFont = null;
982984

983-
COLOR_BLACK = COLOR_DARK_RED = COLOR_DARK_GREEN = COLOR_DARK_YELLOW = COLOR_DARK_BLUE =
984-
COLOR_DARK_MAGENTA = COLOR_DARK_CYAN = COLOR_GRAY = COLOR_DARK_GRAY = COLOR_RED =
985-
COLOR_GREEN = COLOR_YELLOW = COLOR_BLUE = COLOR_MAGENTA = COLOR_CYAN = COLOR_WHITE = null;
986-
987985
if (emptyTab != 0) OS.pango_tab_array_free(emptyTab);
988986
emptyTab = 0;
989987

bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1449,8 +1449,8 @@ public long internal_new_GC (GCData data) {
14491449
}
14501450
}
14511451
data.device = device;
1452-
data.foregroundRGBA = device.COLOR_BLACK.handle;
1453-
data.backgroundRGBA = device.COLOR_WHITE.handle;
1452+
data.foregroundRGBA = Device.COLOR_BLACK.handle;
1453+
data.backgroundRGBA = Device.COLOR_WHITE.handle;
14541454
data.font = device.systemFont;
14551455
data.image = this;
14561456
}

0 commit comments

Comments
 (0)