mirror of https://github.com/fltk/fltk
Can draw xpm pixmaps with spaces in the color names (such as the ones in
/usr/X11/include/X11/icons). Esc closes the modal window, not the window the cursor is in, if a modal window is up. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@632 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
df045b0e36
commit
f7e0e7627f
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// "$Id: Fl.cxx,v 1.24.2.10 1999/07/22 21:37:03 bill Exp $"
|
||||
// "$Id: Fl.cxx,v 1.24.2.11 1999/07/27 17:24:13 bill Exp $"
|
||||
//
|
||||
// Main event handling code for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
|
@ -508,7 +508,8 @@ int Fl::handle(int event, Fl_Window* window)
|
|||
|
||||
// make Escape key close windows:
|
||||
if (event_key()==FL_Escape) {
|
||||
window->do_callback();
|
||||
w = modal(); if (!w) w = window;
|
||||
w->do_callback();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -694,5 +695,5 @@ int fl_old_shortcut(const char* s) {
|
|||
}
|
||||
|
||||
//
|
||||
// End of "$Id: Fl.cxx,v 1.24.2.10 1999/07/22 21:37:03 bill Exp $".
|
||||
// End of "$Id: Fl.cxx,v 1.24.2.11 1999/07/27 17:24:13 bill Exp $".
|
||||
//
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// "$Id: fl_draw_pixmap.cxx,v 1.4 1999/01/07 19:17:38 mike Exp $"
|
||||
// "$Id: fl_draw_pixmap.cxx,v 1.4.2.1 1999/07/27 17:24:13 bill Exp $"
|
||||
//
|
||||
// Pixmap drawing code for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
|
@ -181,9 +181,6 @@ int fl_draw_pixmap(/*const*/char*const* data, int x, int y, Fl_Color bg) {
|
|||
previous_word = p;
|
||||
while (*p && !isspace(*p)) p++;
|
||||
}
|
||||
// copy the color name and look it up:
|
||||
char name[256];
|
||||
char *q; for (q = name; *p && !isspace(*p); *q++ = *p++); *q++ = 0;
|
||||
uchar *c = (uchar *)&d.colors[index&255];
|
||||
#ifdef U64
|
||||
*(U64*)c = 0;
|
||||
|
@ -192,10 +189,10 @@ int fl_draw_pixmap(/*const*/char*const* data, int x, int y, Fl_Color bg) {
|
|||
#endif
|
||||
#endif
|
||||
#ifdef WIN32
|
||||
if (fl_parse_color(name, c[0], c[1], c[2])) {;
|
||||
if (fl_parse_color(p, c[0], c[1], c[2])) {;
|
||||
#else
|
||||
XColor x;
|
||||
if (XParseColor(fl_display, fl_colormap, name, &x)) {
|
||||
if (XParseColor(fl_display, fl_colormap, p, &x)) {
|
||||
c[0] = x.red>>8; c[1] = x.green>>8; c[2] = x.blue>>8;
|
||||
#endif
|
||||
} else { // assumme "None" or "#transparent" for any errors
|
||||
|
@ -244,5 +241,5 @@ int fl_draw_pixmap(/*const*/char*const* data, int x, int y, Fl_Color bg) {
|
|||
}
|
||||
|
||||
//
|
||||
// End of "$Id: fl_draw_pixmap.cxx,v 1.4 1999/01/07 19:17:38 mike Exp $".
|
||||
// End of "$Id: fl_draw_pixmap.cxx,v 1.4.2.1 1999/07/27 17:24:13 bill Exp $".
|
||||
//
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
//
|
||||
// "$Id: pixmap_browser.cxx,v 1.5 1999/01/07 19:18:00 mike Exp $"
|
||||
// "$Id: pixmap_browser.cxx,v 1.5.2.1 1999/07/27 17:24:14 bill Exp $"
|
||||
//
|
||||
// Another pixmap test program for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
|
@ -61,16 +61,17 @@ int load_file(const char *name) {
|
|||
if (data) {
|
||||
for (int i=numlines; i--;) delete[] data[i];
|
||||
}
|
||||
char buffer[1024];
|
||||
#define BUFSIZE 2048
|
||||
char buffer[BUFSIZE];
|
||||
int i = 0;
|
||||
while (fgets(buffer,1024,f)) {
|
||||
while (fgets(buffer, BUFSIZE, f)) {
|
||||
if (buffer[0] != '\"') continue;
|
||||
char *p = buffer;
|
||||
char *q = buffer+1;
|
||||
while (*q != '\"') {
|
||||
if (*q == '\\') switch (*++q) {
|
||||
case '\n':
|
||||
fgets(q,(buffer+1024)-q,f); break;
|
||||
fgets(q,(buffer+BUFSIZE)-q,f); break;
|
||||
case 0:
|
||||
break;
|
||||
case 'x': {
|
||||
|
@ -164,5 +165,5 @@ int main(int argc, char **argv) {
|
|||
}
|
||||
|
||||
//
|
||||
// End of "$Id: pixmap_browser.cxx,v 1.5 1999/01/07 19:18:00 mike Exp $".
|
||||
// End of "$Id: pixmap_browser.cxx,v 1.5.2.1 1999/07/27 17:24:14 bill Exp $".
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue