summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x]ChangeLog18
-rw-r--r--generic/tkBind.c20
-rw-r--r--generic/tkFocus.c8
-rw-r--r--generic/tkMenuDraw.c29
-rw-r--r--generic/tkStubInit.c6
-rw-r--r--library/menu.tcl167
-rw-r--r--library/tk.tcl4
-rw-r--r--win/tkWinWm.c17
-rwxr-xr-xxlib/xcolors.c132
9 files changed, 195 insertions, 206 deletions
diff --git a/ChangeLog b/ChangeLog
index cdfcd5b..2823b44 100755..100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2012-05-05 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * library/menu.tcl: [Bug 2768586]: Only do menu correction on Windows < Win7
+ * xlib/xcolors.c: Single "const" addition
+ * generic/tkWindow.c: If tk.dll loaded in cygwin, don't use the win32 file dialogs
+
+2012-05-04 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * library/menu.tcl: [Bug 2768586]: Menu posting problem on dual monitors
+
+2012-05-02 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * library/tk.tcl: [Bug 533519]: Window placement with multiple screens
+ * generic/tkBind.c:
+ * generic/tkFocus.c:
+ * generic/tkMenuDraw.c:
+ * generic/tkWinWm.c:
+
2012-04-26 Donal K. Fellows <dkf@users.sf.net>
* generic/tkStubInit.c (Tk_GetHINSTANCE): Ensure that this is defined
diff --git a/generic/tkBind.c b/generic/tkBind.c
index 7e8d823..3003f18 100644
--- a/generic/tkBind.c
+++ b/generic/tkBind.c
@@ -2625,33 +2625,13 @@ ExpandPercents(winPtr, before, eventPtr, keySym, dsPtr)
}
case 'X':
if (flags & KEY_BUTTON_MOTION_CROSSING) {
- Tk_Window tkwin;
- int x, y;
- int width, height;
-
number = eventPtr->xkey.x_root;
- tkwin = Tk_IdToWindow(eventPtr->xany.display,
- eventPtr->xany.window);
- if (tkwin != NULL) {
- Tk_GetVRootGeometry(tkwin, &x, &y, &width, &height);
- number -= x;
- }
goto doNumber;
}
goto doString;
case 'Y':
if (flags & KEY_BUTTON_MOTION_CROSSING) {
- Tk_Window tkwin;
- int x, y;
- int width, height;
-
number = eventPtr->xkey.y_root;
- tkwin = Tk_IdToWindow(eventPtr->xany.display,
- eventPtr->xany.window);
- if (tkwin != NULL) {
- Tk_GetVRootGeometry(tkwin, &x, &y, &width, &height);
- number -= y;
- }
goto doNumber;
}
goto doString;
diff --git a/generic/tkFocus.c b/generic/tkFocus.c
index aad1305..93e1617 100644
--- a/generic/tkFocus.c
+++ b/generic/tkFocus.c
@@ -737,7 +737,7 @@ TkFocusKeyEvent(winPtr, eventPtr)
{
DisplayFocusInfo *displayFocusPtr;
TkWindow *focusWinPtr;
- int focusX, focusY, vRootX, vRootY, vRootWidth, vRootHeight;
+ int focusX, focusY;
displayFocusPtr = FindDisplayFocusInfo(winPtr->mainPtr, winPtr->dispPtr);
focusWinPtr = displayFocusPtr->focusWinPtr;
@@ -770,11 +770,9 @@ TkFocusKeyEvent(winPtr, eventPtr)
eventPtr->xkey.x = -1;
eventPtr->xkey.y = -1;
} else {
- Tk_GetVRootGeometry((Tk_Window) focusWinPtr, &vRootX, &vRootY,
- &vRootWidth, &vRootHeight);
Tk_GetRootCoords((Tk_Window) focusWinPtr, &focusX, &focusY);
- eventPtr->xkey.x = eventPtr->xkey.x_root - vRootX - focusX;
- eventPtr->xkey.y = eventPtr->xkey.y_root - vRootY - focusY;
+ eventPtr->xkey.x = eventPtr->xkey.x_root - focusX;
+ eventPtr->xkey.y = eventPtr->xkey.y_root - focusY;
}
eventPtr->xkey.window = focusWinPtr->window;
return focusWinPtr;
diff --git a/generic/tkMenuDraw.c b/generic/tkMenuDraw.c
index 33dadc1..7c69548 100644
--- a/generic/tkMenuDraw.c
+++ b/generic/tkMenuDraw.c
@@ -857,7 +857,7 @@ TkPostTearoffMenu(interp, menuPtr, x, y)
* are posting */
{
int vRootX, vRootY, vRootWidth, vRootHeight;
- int tmp, result;
+ int result;
TkActivateMenuEntry(menuPtr, -1);
TkRecomputeMenu(menuPtr);
@@ -892,32 +892,21 @@ TkPostTearoffMenu(interp, menuPtr, x, y)
* 2. The menu may not have been mapped yet, so its current size
* might be the default 1x1. To compute how much space it
* needs, use its requested size, not its actual size.
- *
- * Note that this code assumes square screen regions and all
- * positive coordinates. This does not work on a Mac with
- * multiple monitors. But then again, Tk has other problems
- * with this.
*/
Tk_GetVRootGeometry(Tk_Parent(menuPtr->tkwin), &vRootX, &vRootY,
&vRootWidth, &vRootHeight);
- x += vRootX;
- y += vRootY;
- tmp = WidthOfScreen(Tk_Screen(menuPtr->tkwin))
- - Tk_ReqWidth(menuPtr->tkwin);
- if (x > tmp) {
- x = tmp;
+ if (x > vRootX + vRootWidth) {
+ x = vRootX + vRootWidth;
}
- if (x < 0) {
- x = 0;
+ if (x < vRootX) {
+ x = vRootX;
}
- tmp = HeightOfScreen(Tk_Screen(menuPtr->tkwin))
- - Tk_ReqHeight(menuPtr->tkwin);
- if (y > tmp) {
- y = tmp;
+ if (y > vRootY + vRootHeight) {
+ y = vRootY + vRootHeight;
}
- if (y < 0) {
- y = 0;
+ if (y < vRootY) {
+ y = vRootY;
}
Tk_MoveToplevelWindow(menuPtr->tkwin, x, y);
if (!Tk_IsMapped(menuPtr->tkwin)) {
diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c
index 6b36f7b..22334bc 100644
--- a/generic/tkStubInit.c
+++ b/generic/tkStubInit.c
@@ -96,6 +96,12 @@ static void *Tk_GetHINSTANCE()
(const char *) &tkIntStubs, &hInstance);
return hInstance;
}
+ /* TODO: To be implemented for Cygwin */
+# define Tk_AttachHWND 0
+# define Tk_GetHWND 0
+# define Tk_HWNDToWindow 0
+# define Tk_PointerEvent 0
+# define Tk_TranslateWinEvent 0
# else /* !__CYGWIN__ */
# define TkPutImage 0
diff --git a/library/menu.tcl b/library/menu.tcl
index ed8182e..782a726 100644
--- a/library/menu.tcl
+++ b/library/menu.tcl
@@ -60,7 +60,7 @@
# This file is tricky because there are five different ways that menus
# can be used:
#
-# 1. As a pulldown from a menubutton. In this style, the variable
+# 1. As a pulldown from a menubutton. In this style, the variable
# tk::Priv(postedMb) identifies the posted menubutton.
# 2. As a torn-off menu copied from some other menu. In this style
# tk::Priv(postedMb) is empty, and menu's type is "tearoff".
@@ -280,81 +280,81 @@ proc ::tk::MbPost {w {x {}} {y {}}} {
update idletasks
if {[catch {
switch [$w cget -direction] {
- above {
- set x [winfo rootx $w]
- set y [expr {[winfo rooty $w] - [winfo reqheight $menu]}]
+ above {
+ set x [winfo rootx $w]
+ set y [expr {[winfo rooty $w] - [winfo reqheight $menu]}]
# if we go offscreen to the top, show as 'below'
- if {$y < 0} {
- set y [expr {[winfo rooty $w] + [winfo height $w]}]
+ if {$y < [winfo vrooty $w]} {
+ set y [expr {[winfo vrooty $w] + [winfo rooty $w] + [winfo reqheight $w]}]
}
PostOverPoint $menu $x $y
- }
- below {
- set x [winfo rootx $w]
- set y [expr {[winfo rooty $w] + [winfo height $w]}]
+ }
+ below {
+ set x [winfo rootx $w]
+ set y [expr {[winfo rooty $w] + [winfo height $w]}]
# if we go offscreen to the bottom, show as 'above'
set mh [winfo reqheight $menu]
- if {($y + $mh) > [winfo screenheight $w]} {
- set y [expr {[winfo rooty $w] - $mh}]
+ if {($y + $mh) > ([winfo vrooty $w] + [winfo vrootheight $w])} {
+ set y [expr {[winfo vrooty $w] + [winfo vrootheight $w] + [winfo rooty $w] - $mh}]
}
PostOverPoint $menu $x $y
- }
- left {
- set x [expr {[winfo rootx $w] - [winfo reqwidth $menu]}]
- set y [expr {(2 * [winfo rooty $w] + [winfo height $w]) / 2}]
- set entry [MenuFindName $menu [$w cget -text]]
- if {[$w cget -indicatoron]} {
+ }
+ left {
+ set x [expr {[winfo rootx $w] - [winfo reqwidth $menu]}]
+ set y [expr {(2 * [winfo rooty $w] + [winfo height $w]) / 2}]
+ set entry [MenuFindName $menu [$w cget -text]]
+ if {[$w cget -indicatoron]} {
if {$entry == [$menu index last]} {
- incr y [expr {-([$menu yposition $entry] \
- + [winfo reqheight $menu])/2}]
+ incr y [expr {-([$menu yposition $entry] \
+ + [winfo reqheight $menu])/2}]
} else {
- incr y [expr {-([$menu yposition $entry] \
+ incr y [expr {-([$menu yposition $entry] \
+ [$menu yposition [expr {$entry+1}]])/2}]
}
- }
+ }
PostOverPoint $menu $x $y
if {$entry ne "" \
&& [$menu entrycget $entry -state] ne "disabled"} {
- $menu activate $entry
+ $menu activate $entry
GenerateMenuSelect $menu
- }
- }
- right {
- set x [expr {[winfo rootx $w] + [winfo width $w]}]
- set y [expr {(2 * [winfo rooty $w] + [winfo height $w]) / 2}]
- set entry [MenuFindName $menu [$w cget -text]]
- if {[$w cget -indicatoron]} {
+ }
+ }
+ right {
+ set x [expr {[winfo rootx $w] + [winfo width $w]}]
+ set y [expr {(2 * [winfo rooty $w] + [winfo height $w]) / 2}]
+ set entry [MenuFindName $menu [$w cget -text]]
+ if {[$w cget -indicatoron]} {
if {$entry == [$menu index last]} {
- incr y [expr {-([$menu yposition $entry] \
- + [winfo reqheight $menu])/2}]
+ incr y [expr {-([$menu yposition $entry] \
+ + [winfo reqheight $menu])/2}]
} else {
- incr y [expr {-([$menu yposition $entry] \
+ incr y [expr {-([$menu yposition $entry] \
+ [$menu yposition [expr {$entry+1}]])/2}]
}
- }
+ }
PostOverPoint $menu $x $y
if {$entry ne "" \
&& [$menu entrycget $entry -state] ne "disabled"} {
- $menu activate $entry
+ $menu activate $entry
GenerateMenuSelect $menu
- }
- }
- default {
- if {[$w cget -indicatoron]} {
+ }
+ }
+ default {
+ if {[$w cget -indicatoron]} {
if {$y eq ""} {
set x [expr {[winfo rootx $w] + [winfo width $w]/2}]
set y [expr {[winfo rooty $w] + [winfo height $w]/2}]
- }
+ }
PostOverPoint $menu $x $y [MenuFindName $menu [$w cget -text]]
} else {
PostOverPoint $menu [winfo rootx $w] [expr {[winfo rooty $w]+[winfo height $w]}]
- }
- }
+ }
+ }
}
} msg]} {
# Error posting menu (e.g. bogus -postcommand). Unpost it and
# reflect the error.
-
+
set savedInfo $errorInfo
MenuUnpost {}
error $msg $savedInfo
@@ -363,7 +363,7 @@ proc ::tk::MbPost {w {x {}} {y {}}} {
set Priv(tearoff) $tearoff
if {$tearoff != 0} {
- focus $menu
+ focus $menu
if {[winfo viewable $w]} {
SaveGrabInfo $w
grab -global $w
@@ -443,8 +443,8 @@ proc ::tk::MenuUnpost menu {
}
if {($Priv(tearoff) != 0) || $Priv(menuBar) ne ""} {
- # Release grab, if any, and restore the previous grab, if there
- # was one.
+ # Release grab, if any, and restore the previous grab, if there
+ # was one.
if {$menu ne ""} {
set grab [grab current $menu]
if {$grab ne ""} {
@@ -584,7 +584,7 @@ proc ::tk::MenuButtonDown menu {
set menu [winfo parent $menu]
}
- if {$Priv(menuBar) eq ""} {
+ if {$Priv(menuBar) eq {}} {
set Priv(menuBar) $menu
set Priv(cursor) [$menu cget -cursor]
$menu configure -cursor arrow
@@ -625,7 +625,8 @@ proc ::tk::MenuLeave {menu rootx rooty state} {
return
}
if {[$menu type active] eq "cascade" \
- && [winfo containing $rootx $rooty] eq [$menu entrycget active -menu]} {
+ && [winfo containing $rootx $rooty] eq \
+ [$menu entrycget active -menu]} {
return
}
$menu activate none
@@ -669,7 +670,7 @@ proc ::tk::MenuInvoke {w buttonRelease} {
set isCascade [string equal [$w type $active] "cascade"]
# Only de-activate the active item if it's a cascade; this prevents
- # the annoying "activation flicker" you otherwise get with
+ # the annoying "activation flicker" you otherwise get with
# checkbuttons/commands/etc. on menubars
if { $isCascade } {
@@ -779,7 +780,8 @@ proc ::tk::MenuNextMenu {menu direction} {
} else {
set parent [winfo parent $menu]
while {$parent ne "."} {
- if {[winfo class $parent] eq "Menu" && [$parent cget -type] eq "menubar"} {
+ if {[winfo class $parent] eq "Menu" \
+ && [$parent cget -type] eq "menubar"} {
tk_menuSetFocus $parent
MenuNextEntry $parent 1
return
@@ -803,16 +805,14 @@ proc ::tk::MenuNextMenu {menu direction} {
}
}
- # Can't traverse into or out of a cascaded menu. Go to the next
+ # Can't traverse into or out of a cascaded menu. Go to the next
# or previous menubutton, if that makes sense.
set m2 [winfo parent $menu]
- if {[winfo class $m2] eq "Menu"} {
- if {[$m2 cget -type] eq "menubar"} {
- tk_menuSetFocus $m2
- MenuNextEntry $m2 -1
- return
- }
+ if {[winfo class $m2] eq "Menu" && [$m2 cget -type] eq "menubar"} {
+ tk_menuSetFocus $m2
+ MenuNextEntry $m2 -1
+ return
}
set w $Priv(postedMb)
@@ -932,7 +932,8 @@ proc ::tk::MenuFind {w char} {
if {[winfo toplevel $w] ne [winfo toplevel $child]} {
continue
}
- if {[winfo class $child] eq "Menu" && [$child cget -type] eq "menubar"} {
+ if {[winfo class $child] eq "Menu" && \
+ [$child cget -type] eq "menubar"} {
if {$char eq ""} {
return $child
}
@@ -957,7 +958,7 @@ proc ::tk::MenuFind {w char} {
if {[winfo toplevel $w] ne [winfo toplevel $child]} {
continue
}
- switch [winfo class $child] {
+ switch -- [winfo class $child] {
Menubutton {
set char2 [string index [$child cget -text] \
[$child cget -underline]]
@@ -1112,15 +1113,14 @@ proc ::tk::MenuFirstEntry menu {
}
for {set i 0} {$i <= $last} {incr i} {
if {([catch {set state [$menu entrycget $i -state]}] == 0) \
- && $state ne "disabled" \
- && [$menu type $i] ne "tearoff"} {
+ && $state ne "disabled" && [$menu type $i] ne "tearoff"} {
$menu activate $i
GenerateMenuSelect $menu
# Only post the cascade if the current menu is a menubar;
# otherwise, if the first entry of the cascade is a cascade,
# we can get an annoying cascading effect resulting in a bunch of
# menus getting posted (bug 676)
- if {[$menu type $i] eq "cascade" && [$menu cget -type] eq "menubar"} {
+ if {[$menu type $i] eq "cascade" && [$menu cget -type] eq "menubar"} {
set cascade [$menu entrycget $i -menu]
if {$cascade ne ""} {
$menu postcascade $i
@@ -1177,7 +1177,7 @@ proc ::tk::MenuFindName {menu s} {
proc ::tk::PostOverPoint {menu x y {entry {}}} {
global tcl_platform
-
+
if {$entry ne ""} {
if {$entry == [$menu index last]} {
incr y [expr {-([$menu yposition $entry] \
@@ -1188,24 +1188,34 @@ proc ::tk::PostOverPoint {menu x y {entry {}}} {
}
incr x [expr {-[winfo reqwidth $menu]/2}]
}
+
if {$tcl_platform(platform) eq "windows"} {
+ # osVersion is not available in safe interps
+ set ver 5
+ if {[info exists tcl_platform(osVersion)]} {
+ scan $tcl_platform(osVersion) %d ver
+ }
+
# We need to fix some problems with menu posting on Windows,
# where, if the menu would overlap top or bottom of screen,
# Windows puts it in the wrong place for us. We must also
# subtract an extra amount for half the height of the current
# entry. To be safe we subtract an extra 10.
- set yoffset [expr {[winfo screenheight $menu] \
- - $y - [winfo reqheight $menu] - 10}]
- if {$yoffset < 0} {
- # The bottom of the menu is offscreen, so adjust upwards
- incr y $yoffset
- if {$y < 0} { set y 0 }
- }
- # If we're off the top of the screen (either because we were
- # originally or because we just adjusted too far upwards),
- # then make the menu popup on the top edge.
- if {$y < 0} {
- set y 0
+ # NOTE: this issue appears to have been resolved in the Window
+ # manager provided with Vista and Windows 7.
+ if {$ver < 6} {
+ set yoffset [expr {[winfo screenheight $menu] \
+ - $y - [winfo reqheight $menu] - 10}]
+ if {$yoffset < [winfo vrooty $menu]} {
+ # The bottom of the menu is offscreen, so adjust upwards
+ incr y [expr {$yoffset - [winfo vrooty $menu]}]
+ }
+ # If we're off the top of the screen (either because we were
+ # originally or because we just adjusted too far upwards),
+ # then make the menu popup on the top edge.
+ if {$y < [winfo vrooty $menu]} {
+ set y [winfo vrooty $menu]
+ }
}
}
$menu post $x $y
@@ -1239,11 +1249,11 @@ proc ::tk::RestoreOldGrab {} {
variable ::tk::Priv
if {$Priv(oldGrab) ne ""} {
- # Be careful restoring the old grab, since it's window may not
+ # Be careful restoring the old grab, since it's window may not
# be visible anymore.
catch {
- if {$Priv(grabStatus) eq "global"} {
+ if {$Priv(grabStatus) eq "global"} {
grab set -global $Priv(oldGrab)
} else {
grab set $Priv(oldGrab)
@@ -1264,7 +1274,8 @@ proc ::tk_menuSetFocus {menu} {
proc ::tk::GenerateMenuSelect {menu} {
variable ::tk::Priv
- if {$Priv(activeMenu) eq $menu && $Priv(activeItem) eq [$menu index active]} {
+ if {$Priv(activeMenu) eq $menu \
+ && $Priv(activeItem) eq [$menu index active]} {
return
}
diff --git a/library/tk.tcl b/library/tk.tcl
index 90a4d0c..57525f1 100644
--- a/library/tk.tcl
+++ b/library/tk.tcl
@@ -106,10 +106,6 @@ proc ::tk::PlaceWindow {w {place ""} {anchor ""}} {
set windowingsystem [tk windowingsystem]
- if {$windowingsystem eq "win32"} {
- # Bug 533519: win32 multiple desktops may produce negative geometry.
- set checkBounds 0
- }
if {$checkBounds} {
if {$x < [winfo vrootx $w]} {
set x [winfo vrootx $w]
diff --git a/win/tkWinWm.c b/win/tkWinWm.c
index 2097938..59287c8 100644
--- a/win/tkWinWm.c
+++ b/win/tkWinWm.c
@@ -5994,19 +5994,10 @@ Tk_GetVRootGeometry(tkwin, xPtr, yPtr, widthPtr, heightPtr)
* here. */
int *widthPtr, *heightPtr; /* Store dimensions of virtual root here. */
{
- TkWindow *winPtr = (TkWindow *) tkwin;
-
- /*
- * XXX: This is not correct for multiple monitors. There may be many
- * changes required to get this right, and it may effect existing
- * applications that don't consider possible <0 vroot. See
- * http://msdn.microsoft.com/library/en-us/gdi/monitor_3lrn.asp
- * for more info.
- */
- *xPtr = 0;
- *yPtr = 0;
- *widthPtr = DisplayWidth(winPtr->display, winPtr->screenNum);
- *heightPtr = DisplayHeight(winPtr->display, winPtr->screenNum);
+ *xPtr = GetSystemMetrics(SM_XVIRTUALSCREEN);
+ *yPtr = GetSystemMetrics(SM_YVIRTUALSCREEN);
+ *widthPtr = GetSystemMetrics(SM_CXVIRTUALSCREEN);
+ *heightPtr = GetSystemMetrics(SM_CYVIRTUALSCREEN);
}
/*
diff --git a/xlib/xcolors.c b/xlib/xcolors.c
index 87d58f9..497f251 100755
--- a/xlib/xcolors.c
+++ b/xlib/xcolors.c
@@ -17,8 +17,8 @@
* Index array. For each of the characters 'a'-'y', this table gives the first color
* starting with that character in the xColors table.
*/
-static unsigned char az[] = {0, 4, 12, 19, 43, 44, 47, 57, 59, 61, 62, 63, 86, 101,
- 104, 109, 120, 121, 124, 137, 141, 142, 144, 147, 148, 150};
+static const unsigned char az[] = {0, 4, 12, 19, 43, 44, 47, 57, 59, 61,
+ 62, 63, 86, 101, 104, 109, 120, 121, 124, 137, 141, 142, 144, 147, 148, 150};
/*
* Define an array that defines the mapping from color names to RGB values.
@@ -41,17 +41,17 @@ typedef char elem[32];
static const elem xColors[] = {
/* Colors starting with 'a' */
- "liceBlue\0 \360\370\377\0",
+ "liceBlue\0 \360\370\377",
"ntiqueWhite\0 \213\203\170\315\300\260\356\337\314\377\357\333\372\353\327\4",
"quamarine\0 \105\213\164\146\315\252\166\356\306\177\377\324\177\377\324\4",
"zure\0 \203\213\213\301\315\315\340\356\356\360\377\377\360\377\377\4",
/* Colors starting with 'b' */
- "eige\0 \365\365\334\0",
+ "eige\0 \365\365\334",
"isque\0 \213\175\153\315\267\236\356\325\267\377\344\304\377\344\304\4",
- "lack\0 \000\000\000\0",
- "lanchedAlmond\0 \377\353\315\0",
+ "lack\0 \000\000\000",
+ "lanchedAlmond\0 \377\353\315",
"lue\0 \000\000\213\000\000\315\000\000\356\000\000\377\000\000\377\4",
- "lueViolet\0 \212\053\342\0",
+ "lueViolet\0 \212\053\342",
"rown\0 \213\043\043\315\063\063\356\073\073\377\100\100\245\052\052\4",
"urlywood\0 \213\163\125\315\252\175\356\305\221\377\323\233\336\270\207\4",
/* Colors starting with 'c' */
@@ -59,53 +59,53 @@ static const elem xColors[] = {
"hartreuse\0 \105\213\000\146\315\000\166\356\000\177\377\000\177\377\000\4",
"hocolate\0 \213\105\023\315\146\035\356\166\041\377\177\044\322\151\036\4",
"oral\0 \213\076\057\315\133\105\356\152\120\377\162\126\377\177\120\4",
- "ornflowerBlue\0 \144\225\355\0",
+ "ornflowerBlue\0 \144\225\355",
"ornsilk\0 \213\210\170\315\310\261\356\350\315\377\370\334\377\370\334\4",
"yan\0 \000\213\213\000\315\315\000\356\356\000\377\377\000\377\377\4",
/* Colors starting with 'd' */
- "arkBlue\0 \000\000\213\0",
- "arkCyan\0 \000\213\213\0",
+ "arkBlue\0 \000\000\213",
+ "arkCyan\0 \000\213\213",
"arkGoldenrod\0 \213\145\010\315\225\014\356\255\016\377\271\017\270\206\013\4",
- "arkGray\0 \251\251\251\0",
- "arkGreen\0 \000\144\000\0",
- "arkGrey\0 \251\251\251\0",
- "arkKhaki\0 \275\267\153\0",
- "arkMagenta\0 \213\000\213\0",
+ "arkGray\0 \251\251\251",
+ "arkGreen\0 \000\144\000",
+ "arkGrey\0 \251\251\251",
+ "arkKhaki\0 \275\267\153",
+ "arkMagenta\0 \213\000\213",
"arkOliveGreen\0 \156\213\075\242\315\132\274\356\150\312\377\160\125\153\057\4",
"arkOrange\0 \213\105\000\315\146\000\356\166\000\377\177\000\377\214\000\4",
"arkOrchid\0 \150\042\213\232\062\315\262\072\356\277\076\377\231\062\314\4",
- "arkRed\0 \213\000\000\0",
- "arkSalmon\0 \351\226\172\0",
+ "arkRed\0 \213\000\000",
+ "arkSalmon\0 \351\226\172",
"arkSeaGreen\0 \151\213\151\233\315\233\264\356\264\301\377\301\217\274\217\4",
- "arkSlateBlue\0 \110\075\213\0",
+ "arkSlateBlue\0 \110\075\213",
"arkSlateGray\0 \122\213\213\171\315\315\215\356\356\227\377\377\057\117\117\4",
- "arkSlateGrey\0 \057\117\117\0",
- "arkTurquoise\0 \000\316\321\0",
- "arkViolet\0 \224\000\323\0",
+ "arkSlateGrey\0 \057\117\117",
+ "arkTurquoise\0 \000\316\321",
+ "arkViolet\0 \224\000\323",
"eepPink\0 \213\012\120\315\020\166\356\022\211\377\024\223\377\024\223\4",
"eepSkyBlue\0 \000\150\213\000\232\315\000\262\356\000\277\377\000\277\377\4",
- "imGray\0 \151\151\151\0",
- "imGrey\0 \151\151\151\0",
+ "imGray\0 \151\151\151",
+ "imGrey\0 \151\151\151",
"odgerBlue\0 \020\116\213\030\164\315\034\206\356\036\220\377\036\220\377\4",
/* Colors starting with 'e' */
"\377" /* placeholder */,
/* Colors starting with 'f' */
"irebrick\0 \213\032\032\315\046\046\356\054\054\377\060\060\262\042\042\4",
- "loralWhite\0 \377\372\360\0",
- "orestGreen\0 \042\213\042\0",
+ "loralWhite\0 \377\372\360",
+ "orestGreen\0 \042\213\042",
/* Colors starting with 'g' */
- "ainsboro\0 \334\334\334\0",
- "hostWhite\0 \370\370\377\0",
+ "ainsboro\0 \334\334\334",
+ "hostWhite\0 \370\370\377",
"old\0 \213\165\000\315\255\000\356\311\000\377\327\000\377\327\000\4",
"oldenrod\0 \213\151\024\315\233\035\356\264\042\377\301\045\332\245\040\4",
"ray\0\024\024\024\022\022\022\017\017\017\015\015\015\012\012\012"
"\010\010\010\005\005\005\003\003\003\276\276\276\10",
- "ray0\0 \000\000\000\0",
+ "ray0\0 \000\000\000",
"reen\0 \000\213\000\000\315\000\000\356\000\000\377\000\000\377\000\4",
- "reenYellow\0 \255\377\057\0",
+ "reenYellow\0 \255\377\057",
"rey\0\024\024\024\022\022\022\017\017\017\015\015\015\012\012\012"
"\010\010\010\005\005\005\003\003\003\276\276\276\10",
- "rey0\0 \000\000\000\0",
+ "rey0\0 \000\000\000",
/* Colors starting with 'h' */
"oneydew\0 \203\213\203\301\315\301\340\356\340\360\377\360\360\377\360\4",
"otPink\0 \213\072\142\315\140\220\356\152\247\377\156\264\377\151\264\4",
@@ -117,66 +117,66 @@ static const elem xColors[] = {
/* Colors starting with 'k' */
"haki\0 \213\206\116\315\306\163\356\346\205\377\366\217\360\346\214\4",
/* Colors starting with 'l' */
- "avender\0 \346\346\372\0",
+ "avender\0 \346\346\372",
"avenderBlush\0 \213\203\206\315\301\305\356\340\345\377\360\365\377\360\365\4",
- "awnGreen\0 \174\374\000\0",
+ "awnGreen\0 \174\374\000",
"emonChiffon\0 \213\211\160\315\311\245\356\351\277\377\372\315\377\372\315\4",
"ightBlue\0 \150\203\213\232\300\315\262\337\356\277\357\377\255\330\346\4",
- "ightCoral\0 \360\200\200\0",
+ "ightCoral\0 \360\200\200",
"ightCyan\0 \172\213\213\264\315\315\321\356\356\340\377\377\340\377\377\4",
"ightGoldenrod\0 \213\201\114\315\276\160\356\334\202\377\354\213\356\335\202\4",
- "ightGoldenrodYellow\0 \372\372\322\0",
- "ightGray\0 \323\323\323\0",
- "ightGreen\0 \220\356\220\0",
- "ightGrey\0 \323\323\323\0",
+ "ightGoldenrodYellow\0 \372\372\322",
+ "ightGray\0 \323\323\323",
+ "ightGreen\0 \220\356\220",
+ "ightGrey\0 \323\323\323",
"ightPink\0 \213\137\145\315\214\225\356\242\255\377\256\271\377\266\301\4",
"ightSalmon\0 \213\127\102\315\201\142\356\225\162\377\240\172\377\240\172\4",
- "ightSeaGreen\0 \040\262\252\0",
+ "ightSeaGreen\0 \040\262\252",
"ightSkyBlue\0 \140\173\213\215\266\315\244\323\356\260\342\377\207\316\372\4",
- "ightSlateBlue\0 \204\160\377\0",
- "ightSlateGray\0 \167\210\231\0",
- "ightSlateGrey\0 \167\210\231\0",
+ "ightSlateBlue\0 \204\160\377",
+ "ightSlateGray\0 \167\210\231",
+ "ightSlateGrey\0 \167\210\231",
"ightSteelBlue\0 \156\173\213\242\265\315\274\322\356\312\341\377\260\304\336\4",
"ightYellow\0 \213\213\172\315\315\264\356\356\321\377\377\340\377\377\340\4",
- "imeGreen\0 \062\315\062\0",
- "inen\0 \372\360\346\0",
+ "imeGreen\0 \062\315\062",
+ "inen\0 \372\360\346",
/* Colors starting with 'm' */
"agenta\0 \213\000\213\315\000\315\356\000\356\377\000\377\377\000\377\4",
"aroon\0 \213\034\142\315\051\220\356\060\247\377\064\263\260\060\140\4",
- "ediumAquamarine\0 \146\315\252\0",
- "ediumBlue\0 \000\000\315\0",
+ "ediumAquamarine\0 \146\315\252",
+ "ediumBlue\0 \000\000\315",
"ediumOrchid\0 \172\067\213\264\122\315\321\137\356\340\146\377\272\125\323\4",
"ediumPurple\0 \135\107\213\211\150\315\237\171\356\253\202\377\223\160\333\4",
- "ediumSeaGreen\0 \074\263\161\0",
- "ediumSlateBlue\0 \173\150\356\0",
- "ediumSpringGreen\0 \000\372\232\0",
- "ediumTurquoise\0 \110\321\314\0",
- "ediumVioletRed\0 \307\025\205\0",
- "idnightBlue\0 \031\031\160\0",
- "intCream\0 \365\377\372\0",
+ "ediumSeaGreen\0 \074\263\161",
+ "ediumSlateBlue\0 \173\150\356",
+ "ediumSpringGreen\0 \000\372\232",
+ "ediumTurquoise\0 \110\321\314",
+ "ediumVioletRed\0 \307\025\205",
+ "idnightBlue\0 \031\031\160",
+ "intCream\0 \365\377\372",
"istyRose\0 \213\175\173\315\267\265\356\325\322\377\344\341\377\344\341\4",
- "occasin\0 \377\344\265\0",
+ "occasin\0 \377\344\265",
/* Colors starting with 'n' */
"avajoWhite\0 \213\171\136\315\263\213\356\317\241\377\336\255\377\336\255\4",
- "avy\0 \000\000\200\0",
- "avyBlue\0 \000\000\200\0",
+ "avy\0 \000\000\200",
+ "avyBlue\0 \000\000\200",
/* Colors starting with 'o' */
- "ldLace\0 \375\365\346\0",
+ "ldLace\0 \375\365\346",
"liveDrab\0 \151\213\042\232\315\062\263\356\072\300\377\076\153\216\043\4",
"range\0 \213\132\000\315\205\000\356\232\000\377\245\000\377\245\000\4",
"rangeRed\0 \213\045\000\315\067\000\356\100\000\377\105\000\377\105\000\4",
"rchid\0 \213\107\211\315\151\311\356\172\351\377\203\372\332\160\326\4",
/* Colors starting with 'p' */
- "aleGoldenrod\0 \356\350\252\0",
+ "aleGoldenrod\0 \356\350\252",
"aleGreen\0 \124\213\124\174\315\174\220\356\220\232\377\232\230\373\230\4",
"aleTurquoise\0 \146\213\213\226\315\315\256\356\356\273\377\377\257\356\356\4",
"aleVioletRed\0 \213\107\135\315\150\211\356\171\237\377\202\253\333\160\223\4",
- "apayaWhip\0 \377\357\325\0",
+ "apayaWhip\0 \377\357\325",
"eachPuff\0 \213\167\145\315\257\225\356\313\255\377\332\271\377\332\271\4",
- "eru\0 \315\205\077\0",
+ "eru\0 \315\205\077",
"ink\0 \213\143\154\315\221\236\356\251\270\377\265\305\377\300\313\4",
"lum\0 \213\146\213\315\226\315\356\256\356\377\273\377\335\240\335\4",
- "owderBlue\0 \260\340\346\0",
+ "owderBlue\0 \260\340\346",
"urple\0 \125\032\213\175\046\315\221\054\356\233\060\377\240\040\360\4",
/* Colors starting with 'q' */
"\377" /* placeholder */,
@@ -185,16 +185,16 @@ static const elem xColors[] = {
"osyBrown\0 \213\151\151\315\233\233\356\264\264\377\301\301\274\217\217\4",
"oyalBlue\0 \047\100\213\072\137\315\103\156\356\110\166\377\101\151\341\4",
/* Colors starting with 's' */
- "addleBrown\0 \213\105\023\0",
+ "addleBrown\0 \213\105\023",
"almon\0 \213\114\071\315\160\124\356\202\142\377\214\151\372\200\162\4",
- "andyBrown\0 \364\244\140\0",
+ "andyBrown\0 \364\244\140",
"eaGreen\0 \056\213\127\103\315\200\116\356\224\124\377\237\056\213\127\4",
"eashell\0 \213\206\202\315\305\277\356\345\336\377\365\356\377\365\356\4",
"ienna\0 \213\107\046\315\150\071\356\171\102\377\202\107\240\122\055\4",
"kyBlue\0 \112\160\213\154\246\315\176\300\356\207\316\377\207\316\353\4",
"lateBlue\0 \107\074\213\151\131\315\172\147\356\203\157\377\152\132\315\4",
"lateGray\0 \154\173\213\237\266\315\271\323\356\306\342\377\160\200\220\4",
- "lateGrey\0 \160\200\220\0",
+ "lateGrey\0 \160\200\220",
"now\0 \213\211\211\315\311\311\356\351\351\377\372\372\377\372\372\4",
"pringGreen\0 \000\213\105\000\315\146\000\356\166\000\377\177\000\377\177\4",
"teelBlue\0 \066\144\213\117\224\315\134\254\356\143\270\377\106\202\264\4",
@@ -206,12 +206,12 @@ static const elem xColors[] = {
/* Colors starting with 'u' */
"\377" /* placeholder */,
/* Colors starting with 'v' */
- "iolet\0 \356\202\356\0",
+ "iolet\0 \356\202\356",
"ioletRed\0 \213\042\122\315\062\170\356\072\214\377\076\226\320\040\220\4",
/* Colors starting with 'w' */
"heat\0 \213\176\146\315\272\226\356\330\256\377\347\272\365\336\263\4",
- "hite\0 \377\377\377\0",
- "hiteSmoke\0 \365\365\365\0",
+ "hite\0 \377\377\377",
+ "hiteSmoke\0 \365\365\365",
/* Colors starting with 'x' */
"\377" /* placeholder */,
/* Colors starting with 'y' */