mirror of
https://github.com/fltk/fltk.git
synced 2026-06-01 23:06:54 +08:00
Compiling with -DBOXX_BUGS will work around some problems with the newest
X drivers that BoXX delivers, the problems all affect use of Overlays for normal X drawing and OpenGL drawing. Normal compilation is unchanged. The file chooser buttons use user_data() rather than the label to decide what to do, allowing the label to be somewhat cleaner. Selection color on X changed to blue, to match what happens on Windows now. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1452 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
+19
-2
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Gl_Overlay.cxx,v 1.5.2.17 2001/03/20 18:02:52 spitzak Exp $"
|
// "$Id: Fl_Gl_Overlay.cxx,v 1.5.2.18 2001/05/05 23:39:01 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// OpenGL overlay code for the Fast Light Tool Kit (FLTK).
|
// OpenGL overlay code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@@ -66,6 +66,7 @@ extern unsigned long fl_transparent_pixel;
|
|||||||
extern uchar fl_overlay;
|
extern uchar fl_overlay;
|
||||||
|
|
||||||
class _Fl_Gl_Overlay : public Fl_Gl_Window {
|
class _Fl_Gl_Overlay : public Fl_Gl_Window {
|
||||||
|
void flush();
|
||||||
void draw();
|
void draw();
|
||||||
public:
|
public:
|
||||||
void show();
|
void show();
|
||||||
@@ -75,6 +76,22 @@ public:
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void _Fl_Gl_Overlay::flush() {
|
||||||
|
make_current();
|
||||||
|
#ifdef BOXX_BUGS
|
||||||
|
// The BoXX overlay is broken and you must not call swap-buffers. This
|
||||||
|
// code will make it work, but we lose because machines that do support
|
||||||
|
// double-buffered overlays will blink when they don't have to
|
||||||
|
glDrawBuffer(GL_FRONT);
|
||||||
|
draw();
|
||||||
|
#else
|
||||||
|
draw();
|
||||||
|
swap_buffers();
|
||||||
|
#endif
|
||||||
|
glFlush();
|
||||||
|
valid(1);
|
||||||
|
}
|
||||||
|
|
||||||
void _Fl_Gl_Overlay::draw() {
|
void _Fl_Gl_Overlay::draw() {
|
||||||
if (!valid_) glClearIndex((GLfloat)fl_transparent_pixel);
|
if (!valid_) glClearIndex((GLfloat)fl_transparent_pixel);
|
||||||
if (damage() != FL_DAMAGE_EXPOSE) glClear(GL_COLOR_BUFFER_BIT);
|
if (damage() != FL_DAMAGE_EXPOSE) glClear(GL_COLOR_BUFFER_BIT);
|
||||||
@@ -214,5 +231,5 @@ void Fl_Gl_Window::hide_overlay() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Gl_Overlay.cxx,v 1.5.2.17 2001/03/20 18:02:52 spitzak Exp $".
|
// End of "$Id: Fl_Gl_Overlay.cxx,v 1.5.2.18 2001/05/05 23:39:01 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: Fl_Overlay_Window.cxx,v 1.7.2.5 2001/01/22 15:13:40 easysw Exp $"
|
// "$Id: Fl_Overlay_Window.cxx,v 1.7.2.6 2001/05/05 23:39:01 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// Overlay window code for the Fast Light Tool Kit (FLTK).
|
// Overlay window code for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@@ -43,6 +43,15 @@ void Fl_Overlay_Window::hide() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Fl_Overlay_Window::flush() {
|
void Fl_Overlay_Window::flush() {
|
||||||
|
#ifdef BOXX_BUGS
|
||||||
|
if (overlay_ && overlay_ != this && overlay_->shown()) {
|
||||||
|
// all drawing to windows hidden by overlay windows is ignored, fix this
|
||||||
|
XUnmapWindow(fl_display, fl_xid(overlay_));
|
||||||
|
Fl_Double_Window::flush(0);
|
||||||
|
XMapWindow(fl_display, fl_xid(overlay_));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
int erase_overlay = (damage()&FL_DAMAGE_OVERLAY);
|
int erase_overlay = (damage()&FL_DAMAGE_OVERLAY);
|
||||||
clear_damage(damage()&~FL_DAMAGE_OVERLAY);
|
clear_damage(damage()&~FL_DAMAGE_OVERLAY);
|
||||||
Fl_Double_Window::flush(erase_overlay);
|
Fl_Double_Window::flush(erase_overlay);
|
||||||
@@ -140,5 +149,5 @@ void Fl_Overlay_Window::redraw_overlay() {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: Fl_Overlay_Window.cxx,v 1.7.2.5 2001/01/22 15:13:40 easysw Exp $".
|
// End of "$Id: Fl_Overlay_Window.cxx,v 1.7.2.6 2001/05/05 23:39:01 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
|||||||
+10
-6
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: cmap.cxx,v 1.4.2.5 2001/01/22 15:13:40 easysw Exp $"
|
// "$Id: cmap.cxx,v 1.4.2.6 2001/05/05 23:39:01 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// Colormap generation program for the Fast Light Tool Kit (FLTK).
|
// Colormap generation program for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@@ -59,7 +59,11 @@ static short cmap[256][3] = {
|
|||||||
{113,113,198}, // pale blue
|
{113,113,198}, // pale blue
|
||||||
{142, 56,142}, // purple, orchid, pale magenta
|
{142, 56,142}, // purple, orchid, pale magenta
|
||||||
{ 56,142,142}, // cadet blue, aquamarine, pale cyan
|
{ 56,142,142}, // cadet blue, aquamarine, pale cyan
|
||||||
{170,170,170}, // 2/3 gray (FL_SELECTION_COLOR location)
|
// The next location is used for FL_SELECTION_COLOR. It formerly was 2/3 gray
|
||||||
|
// but this is changed to be the Windows blue color. This allows the default
|
||||||
|
// behavior on both X and Windows to match:
|
||||||
|
{ 0, 0,128},
|
||||||
|
//{170,170,170}, // old 2/3 gray color
|
||||||
// These next 16 are the FL_FREE_COLOR area. In some versions of fltk
|
// These next 16 are the FL_FREE_COLOR area. In some versions of fltk
|
||||||
// these were filled with random colors that a Irix 5.3 machine placed
|
// these were filled with random colors that a Irix 5.3 machine placed
|
||||||
// in these locations. Other versions of fltk filled this with the 1/3
|
// in these locations. Other versions of fltk filled this with the 1/3
|
||||||
@@ -146,10 +150,10 @@ int main() {
|
|||||||
|
|
||||||
// fill in the gray ramp:
|
// fill in the gray ramp:
|
||||||
background(0xc0, 0xc0, 0xc0); // microsoft colors
|
background(0xc0, 0xc0, 0xc0); // microsoft colors
|
||||||
// background(cmap[15][0],cmap[15][1],cmap[15][2]); // old fltk colors
|
// background(170, 170, 170); // old fltk colors
|
||||||
// copy the 1/3 and 2/3 gray to the closest locations in gray ramp:
|
// copy the 1/3 and 2/3 gray to the closest locations in gray ramp:
|
||||||
cmap[39][0] = cmap[39][1] = cmap[39][2] = cmap[8][0];
|
cmap[39][0] = cmap[39][1] = cmap[39][2] = 85;
|
||||||
cmap[47][0] = cmap[47][1] = cmap[47][2] = cmap[15][0];
|
cmap[47][0] = cmap[47][1] = cmap[47][2] = 170;
|
||||||
|
|
||||||
// fill in the color cube
|
// fill in the color cube
|
||||||
i = 56;
|
i = 56;
|
||||||
@@ -171,5 +175,5 @@ int main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: cmap.cxx,v 1.4.2.5 2001/01/22 15:13:40 easysw Exp $".
|
// End of "$Id: cmap.cxx,v 1.4.2.6 2001/05/05 23:39:01 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@
|
|||||||
0x7171c600,
|
0x7171c600,
|
||||||
0x8e388e00,
|
0x8e388e00,
|
||||||
0x388e8e00,
|
0x388e8e00,
|
||||||
0xaaaaaa00,
|
0x00008000,
|
||||||
0xa8a89800,
|
0xa8a89800,
|
||||||
0xe8e8d800,
|
0xe8e8d800,
|
||||||
0x68685800,
|
0x68685800,
|
||||||
|
|||||||
+31
-30
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: fl_file_chooser.cxx,v 1.10.2.9 2001/03/14 17:20:02 spitzak Exp $"
|
// "$Id: fl_file_chooser.cxx,v 1.10.2.10 2001/05/05 23:39:01 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// File chooser widget for the Fast Light Tool Kit (FLTK).
|
// File chooser widget for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@@ -435,8 +435,8 @@ static void input_cb(Fl_Widget*, void* v) {
|
|||||||
w->browser.set(buf);
|
w->browser.set(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void up_cb(Fl_Widget*, void* v) { // the .. button
|
static void up_cb(Fl_Widget*wd, void*) { // the .. button
|
||||||
FCW* w = (FCW*)v;
|
FCW* w = (FCW*)(wd->window());
|
||||||
char* p;
|
char* p;
|
||||||
const char* newname;
|
const char* newname;
|
||||||
char buf[FL_PATH_MAX];
|
char buf[FL_PATH_MAX];
|
||||||
@@ -462,18 +462,16 @@ static void up_cb(Fl_Widget*, void* v) { // the .. button
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void dir_cb(Fl_Widget* obj, void* v) { // directory buttons
|
static void dir_cb(Fl_Widget* obj, void* v) { // directory buttons
|
||||||
FCW* w = (FCW*)v;
|
FCW* w = (FCW*)(obj->window());
|
||||||
const char* p = obj->label(); if (*p=='&') p++;
|
|
||||||
char buf[FL_PATH_MAX];
|
char buf[FL_PATH_MAX];
|
||||||
char* q; for (q=buf; *p && *p!=' '; *q++ = *p++); *q = 0;
|
filename_expand(buf, (const char*)v);
|
||||||
filename_expand(buf, buf);
|
|
||||||
w->input.value(buf);
|
w->input.value(buf);
|
||||||
w->input.position(10000);
|
w->input.position(10000);
|
||||||
w->browser.set(buf);
|
w->browser.set(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void working_cb(Fl_Widget*, void* v) { // directory buttons
|
static void working_cb(Fl_Widget* obj, void*) { // directory buttons
|
||||||
FCW*w = (FCW*)v;
|
FCW* w = (FCW*)(obj->window());
|
||||||
char buf[FL_PATH_MAX];
|
char buf[FL_PATH_MAX];
|
||||||
filename_absolute(buf, "");
|
filename_absolute(buf, "");
|
||||||
w->input.value(buf);
|
w->input.value(buf);
|
||||||
@@ -482,15 +480,11 @@ static void working_cb(Fl_Widget*, void* v) { // directory buttons
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void files_cb(Fl_Widget* obj, void* v) { // file pattern buttons
|
static void files_cb(Fl_Widget* obj, void* v) { // file pattern buttons
|
||||||
FCW* w = (FCW*)v;
|
FCW* w = (FCW*)(obj->window());
|
||||||
char buf[FL_PATH_MAX];
|
char buf[FL_PATH_MAX];
|
||||||
strcpy(buf, w->input.value());
|
strcpy(buf, w->input.value());
|
||||||
char* q = buf+w->browser.dirend;
|
char* q = buf+w->browser.dirend;
|
||||||
if (obj != w->normal_button) { // tack on first word of label
|
if (v) strcpy(q, (char*)v); else *q = 0;
|
||||||
const char* p = obj->label(); if (*p=='&') p++;
|
|
||||||
for (; *p && *p!=' '; *q++ = *p++);
|
|
||||||
}
|
|
||||||
*q = 0;
|
|
||||||
w->input.value(buf);
|
w->input.value(buf);
|
||||||
w->input.position(10000, w->browser.dirend);
|
w->input.position(10000, w->browser.dirend);
|
||||||
w->browser.set(buf);
|
w->browser.set(buf);
|
||||||
@@ -517,7 +511,9 @@ int FCW::handle(int event) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// set this to make extra directory-jumping button:
|
// set this to make extra directory-jumping button:
|
||||||
|
static Fl_Button* extra_button;
|
||||||
const char* fl_file_chooser_button;
|
const char* fl_file_chooser_button;
|
||||||
|
const char* fl_file_chooser_data;
|
||||||
extern const char* fl_ok;
|
extern const char* fl_ok;
|
||||||
extern const char* fl_cancel;
|
extern const char* fl_cancel;
|
||||||
|
|
||||||
@@ -544,41 +540,41 @@ FCW::FCW() : Fl_Window(WIDTH_BOX, HEIGHT_BOX),
|
|||||||
cancel_button->shortcut("^[");
|
cancel_button->shortcut("^[");
|
||||||
|
|
||||||
obj=new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT, "&Up one directory");
|
obj=new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT, "&Up one directory");
|
||||||
obj->callback(up_cb, this);
|
obj->callback(up_cb);
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
obj = new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "&~/ Home");
|
obj = new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "&~ Home");
|
||||||
obj->callback(dir_cb, this);
|
obj->callback(dir_cb, (void*)"~/");
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
obj = new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "&/ Root");
|
obj = new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "&/ Root");
|
||||||
obj->callback(dir_cb, this);
|
obj->callback(dir_cb, (void*)"/");
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
obj=new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "&Current dir");
|
obj=new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "&Current dir");
|
||||||
obj->callback(working_cb, this);
|
obj->callback(working_cb);
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
if (fl_file_chooser_button) {
|
if (fl_file_chooser_button) {
|
||||||
obj=new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT,fl_file_chooser_button);
|
obj = extra_button = new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT,fl_file_chooser_button);
|
||||||
obj->callback(dir_cb, this);
|
obj->callback(dir_cb, (void*)fl_file_chooser_button);
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
normal_button = new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "");
|
normal_button = new Fl_Button(WIDTH_SPC, but_y, WIDTH_BUT, HEIGHT_BUT, "");
|
||||||
normal_button->callback(files_cb, this);
|
normal_button->callback(files_cb, 0);
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
obj = new Fl_Button(WIDTH_SPC,but_y, WIDTH_BUT, HEIGHT_BUT, "* &All files");
|
obj = new Fl_Button(WIDTH_SPC,but_y, WIDTH_BUT, HEIGHT_BUT, "&All files");
|
||||||
obj->callback(files_cb, this);
|
obj->callback(files_cb, (void*)"*");
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
obj = new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT, ". &Hidden files");
|
obj = new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT, "&Hidden files");
|
||||||
obj->callback(files_cb, this);
|
obj->callback(files_cb, (void*)".");
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
obj = new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT, "*/ &Directories");
|
obj = new Fl_Button(WIDTH_SPC,but_y,WIDTH_BUT,HEIGHT_BUT, "&Directories");
|
||||||
obj->callback(files_cb, this);
|
obj->callback(files_cb, (void*)"*/");
|
||||||
but_y += HEIGHT_BUT;
|
but_y += HEIGHT_BUT;
|
||||||
|
|
||||||
resizable(new Fl_Box(browser.x(), but_y,
|
resizable(new Fl_Box(browser.x(), but_y,
|
||||||
@@ -594,6 +590,10 @@ char* fl_file_chooser(const char* message, const char* pat, const char* fname)
|
|||||||
static FCW* f; if (!f) f = new FCW();
|
static FCW* f; if (!f) f = new FCW();
|
||||||
f->ok_button->label(fl_ok);
|
f->ok_button->label(fl_ok);
|
||||||
f->cancel_button->label(fl_cancel);
|
f->cancel_button->label(fl_cancel);
|
||||||
|
if (extra_button) {
|
||||||
|
extra_button->label(fl_file_chooser_button);
|
||||||
|
extra_button->user_data((void*)(fl_file_chooser_data ? fl_file_chooser_data : fl_file_chooser_button));
|
||||||
|
}
|
||||||
|
|
||||||
if (pat && !*pat) pat = 0;
|
if (pat && !*pat) pat = 0;
|
||||||
if (fname && *fname) {
|
if (fname && *fname) {
|
||||||
@@ -607,6 +607,7 @@ char* fl_file_chooser(const char* message, const char* pat, const char* fname)
|
|||||||
}
|
}
|
||||||
f->browser.pattern = pat;
|
f->browser.pattern = pat;
|
||||||
f->normal_button->label(pat ? pat : "visible files");
|
f->normal_button->label(pat ? pat : "visible files");
|
||||||
|
f->normal_button->user_data((void*)(pat ? pat : 0));
|
||||||
f->browser.set(f->input.value());
|
f->browser.set(f->input.value());
|
||||||
f->input.position(10000, f->browser.dirend);
|
f->input.position(10000, f->browser.dirend);
|
||||||
|
|
||||||
@@ -632,5 +633,5 @@ char* fl_file_chooser(const char* message, const char* pat, const char* fname)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: fl_file_chooser.cxx,v 1.10.2.9 2001/03/14 17:20:02 spitzak Exp $".
|
// End of "$Id: fl_file_chooser.cxx,v 1.10.2.10 2001/05/05 23:39:01 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: fl_overlay_visual.cxx,v 1.4.2.3 2001/01/22 15:13:41 easysw Exp $"
|
// "$Id: fl_overlay_visual.cxx,v 1.4.2.4 2001/05/05 23:39:01 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// X overlay support for the Fast Light Tool Kit (FLTK).
|
// X overlay support for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@@ -75,8 +75,8 @@ XVisualInfo *fl_find_overlay_visual() {
|
|||||||
templt.visualid = overlayInfo[i].overlay_visual;
|
templt.visualid = overlayInfo[i].overlay_visual;
|
||||||
int num;
|
int num;
|
||||||
XVisualInfo *v1=XGetVisualInfo(fl_display, VisualIDMask, &templt, &num);
|
XVisualInfo *v1=XGetVisualInfo(fl_display, VisualIDMask, &templt, &num);
|
||||||
if (v1->screen == fl_screen &&
|
if (v1->screen == fl_screen && v1->c_class == PseudoColor
|
||||||
!v1->red_mask && (!v || v1->depth >= v->depth && v1->depth <= 8)) {
|
&& (!v || v1->depth >= v->depth && v1->depth <= 8)) {
|
||||||
if (v) XFree((char*)v);
|
if (v) XFree((char*)v);
|
||||||
v = v1;
|
v = v1;
|
||||||
fl_transparent_pixel = overlayInfo[i].value;
|
fl_transparent_pixel = overlayInfo[i].value;
|
||||||
@@ -92,12 +92,12 @@ XVisualInfo *fl_find_overlay_visual() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
XFree((char*)overlayInfo);
|
XFree((char*)overlayInfo);
|
||||||
// printf("overlay visual %d selected\n", fl_overlay_visual->visualid);
|
//printf("overlay visual %ld selected\n", fl_overlay_visual->visualid);
|
||||||
return fl_overlay_visual;
|
return fl_overlay_visual;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: fl_overlay_visual.cxx,v 1.4.2.3 2001/01/22 15:13:41 easysw Exp $".
|
// End of "$Id: fl_overlay_visual.cxx,v 1.4.2.4 2001/05/05 23:39:01 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
|||||||
+3
-2
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// "$Id: input.cxx,v 1.5.2.3 2001/01/22 15:13:41 easysw Exp $"
|
// "$Id: input.cxx,v 1.5.2.4 2001/05/05 23:39:01 spitzak Exp $"
|
||||||
//
|
//
|
||||||
// Input field test program for the Fast Light Tool Kit (FLTK).
|
// Input field test program for the Fast Light Tool Kit (FLTK).
|
||||||
//
|
//
|
||||||
@@ -107,6 +107,7 @@ int main(int argc, char **argv) {
|
|||||||
b->color(input[0]->color()); b->callback(color_cb, (void*)0);
|
b->color(input[0]->color()); b->callback(color_cb, (void*)0);
|
||||||
b = new Fl_Button(220,y1,100,25,"selection_color"); y1 += 25;
|
b = new Fl_Button(220,y1,100,25,"selection_color"); y1 += 25;
|
||||||
b->color(input[0]->selection_color()); b->callback(color_cb, (void*)1);
|
b->color(input[0]->selection_color()); b->callback(color_cb, (void*)1);
|
||||||
|
b->labelcolor(contrast(FL_BLACK,b->color()));
|
||||||
b = new Fl_Button(220,y1,100,25,"textcolor"); y1 += 25;
|
b = new Fl_Button(220,y1,100,25,"textcolor"); y1 += 25;
|
||||||
b->color(input[0]->textcolor()); b->callback(color_cb, (void*)2);
|
b->color(input[0]->textcolor()); b->callback(color_cb, (void*)2);
|
||||||
b->labelcolor(contrast(FL_BLACK,b->color()));
|
b->labelcolor(contrast(FL_BLACK,b->color()));
|
||||||
@@ -117,5 +118,5 @@ int main(int argc, char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// End of "$Id: input.cxx,v 1.5.2.3 2001/01/22 15:13:41 easysw Exp $".
|
// End of "$Id: input.cxx,v 1.5.2.4 2001/05/05 23:39:01 spitzak Exp $".
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user