summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2001-10-29 03:44:33 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2001-10-29 03:44:33 +0000
commit079082ef7c67377f8e24fcec6cadaa4c49e3af2b (patch)
tree6967ed6788ff20429fd5fd9c132517c676cb942f /src
parenta00b52a6760c83414a518a69d91761389d9db322 (diff)
32-bit color (RGB0 or 000I), a la FLTK 2.0, including fl_rgb_color()
function to generate an RGB Fl_Color value. Sort button names in FLUID. Fix focus and scroll problems in Fl_Text_Display/Editor. Fix radio/button demo. Removed D2 menubar.H header... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1663 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Adjuster.cxx6
-rw-r--r--src/Fl_Browser.cxx8
-rw-r--r--src/Fl_Browser_.cxx6
-rw-r--r--src/Fl_Chart.cxx10
-rw-r--r--src/Fl_Check_Browser.cxx6
-rw-r--r--src/Fl_Counter.cxx8
-rw-r--r--src/Fl_File_Browser.cxx8
-rw-r--r--src/Fl_File_Icon.cxx155
-rw-r--r--src/Fl_Input_.cxx8
-rw-r--r--src/Fl_Menu.cxx12
-rw-r--r--src/Fl_Progress.cxx6
-rw-r--r--src/Fl_Scrollbar.cxx6
-rw-r--r--src/Fl_Text_Display.cxx6
-rw-r--r--src/Fl_Tooltip.cxx6
-rw-r--r--src/Fl_Value_Output.cxx6
-rw-r--r--src/Fl_Value_Slider.cxx6
-rw-r--r--src/Fl_get_system_colors.cxx6
-rw-r--r--src/fl_color.cxx53
-rw-r--r--src/fl_color_win32.cxx31
-rw-r--r--src/fl_labeltype.cxx6
20 files changed, 194 insertions, 165 deletions
diff --git a/src/Fl_Adjuster.cxx b/src/Fl_Adjuster.cxx
index b591ed0c3..0abc9916f 100644
--- a/src/Fl_Adjuster.cxx
+++ b/src/Fl_Adjuster.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Adjuster.cxx,v 1.5.2.3.2.1 2001/08/05 14:00:15 easysw Exp $"
+// "$Id: Fl_Adjuster.cxx,v 1.5.2.3.2.2 2001/10/29 03:44:32 easysw Exp $"
//
// Adjuster widget for the Fast Light Tool Kit (FLTK).
//
@@ -54,7 +54,7 @@ void Fl_Adjuster::draw() {
if (active_r())
fl_color(selection_color());
else
- fl_color(inactive(selection_color()));
+ fl_color(fl_inactive(selection_color()));
fastarrow.draw(x()+(W-fastarrow_width)/2,
y()+2*dy+(H-fastarrow_height)/2, W, H);
mediumarrow.draw(x()+dx+(W-mediumarrow_width)/2,
@@ -158,5 +158,5 @@ Fl_Adjuster::Fl_Adjuster(int x, int y, int w, int h, const char* l)
}
//
-// End of "$Id: Fl_Adjuster.cxx,v 1.5.2.3.2.1 2001/08/05 14:00:15 easysw Exp $".
+// End of "$Id: Fl_Adjuster.cxx,v 1.5.2.3.2.2 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Browser.cxx b/src/Fl_Browser.cxx
index 35fd98aaf..78a7d716f 100644
--- a/src/Fl_Browser.cxx
+++ b/src/Fl_Browser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Browser.cxx,v 1.9.2.12 2001/01/22 15:13:39 easysw Exp $"
+// "$Id: Fl_Browser.cxx,v 1.9.2.12.2.1 2001/10/29 03:44:32 easysw Exp $"
//
// Browser widget for the Fast Light Tool Kit (FLTK).
//
@@ -370,8 +370,8 @@ void Fl_Browser::item_draw(void* v, int x, int y, int w, int h) const {
BREAK:
fl_font(font, size);
if (((FL_BLINE*)v)->flags & SELECTED)
- lcol = contrast(lcol, selection_color());
- if (!active_r()) lcol = inactive(lcol);
+ lcol = fl_contrast(lcol, selection_color());
+ if (!active_r()) lcol = fl_inactive(lcol);
fl_color(lcol);
fl_draw(str, x+3, y, w1-6, h, e ? Fl_Align(align|FL_ALIGN_CLIP) : align);
if (!e) break; // no more fields...
@@ -493,5 +493,5 @@ int Fl_Browser::value() const {
}
//
-// End of "$Id: Fl_Browser.cxx,v 1.9.2.12 2001/01/22 15:13:39 easysw Exp $".
+// End of "$Id: Fl_Browser.cxx,v 1.9.2.12.2.1 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Browser_.cxx b/src/Fl_Browser_.cxx
index df69a9963..6bb40fab9 100644
--- a/src/Fl_Browser_.cxx
+++ b/src/Fl_Browser_.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.6 2001/09/29 22:59:45 easysw Exp $"
+// "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.7 2001/10/29 03:44:32 easysw Exp $"
//
// Base Browser widget class for the Fast Light Tool Kit (FLTK).
//
@@ -309,7 +309,7 @@ J1:
if (hh <= 0) continue;
if ((damage()&(FL_DAMAGE_SCROLL|FL_DAMAGE_ALL)) || l == redraw1 || l == redraw2) {
if (item_selected(l)) {
- fl_color(active_r() ? selection_color() : inactive(selection_color()));
+ fl_color(active_r() ? selection_color() : fl_inactive(selection_color()));
fl_rectf(X, yy+Y, W, hh);
} else if (!(damage()&FL_DAMAGE_ALL)) {
fl_color(color());
@@ -713,5 +713,5 @@ void Fl_Browser_::item_select(void*, int) {}
int Fl_Browser_::item_selected(void* l) const {return l==selection_;}
//
-// End of "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.6 2001/09/29 22:59:45 easysw Exp $".
+// End of "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.7 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Chart.cxx b/src/Fl_Chart.cxx
index 916ca698d..daa5a2645 100644
--- a/src/Fl_Chart.cxx
+++ b/src/Fl_Chart.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Chart.cxx,v 1.5.2.6 2001/01/22 15:13:39 easysw Exp $"
+// "$Id: Fl_Chart.cxx,v 1.5.2.6.2.1 2001/10/29 03:44:32 easysw Exp $"
//
// Forms-compatible chart widget for the Fast Light Tool Kit (FLTK).
//
@@ -298,7 +298,7 @@ void Fl_Chart::clear() {
redraw();
}
-void Fl_Chart::add(double val, const char *str, uchar col) {
+void Fl_Chart::add(double val, const char *str, unsigned col) {
/* Allocate more entries if required */
if (numb >= sizenumb) {
sizenumb += FL_CHART_MAX;
@@ -321,7 +321,7 @@ void Fl_Chart::add(double val, const char *str, uchar col) {
redraw();
}
-void Fl_Chart::insert(int index, double val, const char *str, uchar col) {
+void Fl_Chart::insert(int index, double val, const char *str, unsigned col) {
int i;
if (index < 1 || index > numb+1) return;
/* Allocate more entries if required */
@@ -344,7 +344,7 @@ void Fl_Chart::insert(int index, double val, const char *str, uchar col) {
redraw();
}
-void Fl_Chart::replace(int index,double val, const char *str, uchar col) {
+void Fl_Chart::replace(int index,double val, const char *str, unsigned col) {
if (index < 1 || index > numb) return;
entries[index-1].val = float(val);
entries[index-1].col = col;
@@ -378,5 +378,5 @@ void Fl_Chart::maxsize(int m) {
}
//
-// End of "$Id: Fl_Chart.cxx,v 1.5.2.6 2001/01/22 15:13:39 easysw Exp $".
+// End of "$Id: Fl_Chart.cxx,v 1.5.2.6.2.1 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Check_Browser.cxx b/src/Fl_Check_Browser.cxx
index ffc5ec55f..d785fbbb2 100644
--- a/src/Fl_Check_Browser.cxx
+++ b/src/Fl_Check_Browser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Check_Browser.cxx,v 1.1.2.1 2001/08/18 23:42:36 easysw Exp $"
+// "$Id: Fl_Check_Browser.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $"
//
// Fl_Check_Browser header file for the Fast Light Tool Kit (FLTK).
//
@@ -131,7 +131,7 @@ void Fl_Check_Browser::item_draw(void *v, int x, int y, int, int) const {
}
fl_font(textfont(), size);
if (i->selected) {
- col = contrast(col, selection_color());
+ col = fl_contrast(col, selection_color());
}
fl_color(col);
fl_draw(s, x + CHECK_SIZE + 8, y + size - 1);
@@ -259,5 +259,5 @@ void Fl_Check_Browser::check_none() {
//
-// End of "$Id: Fl_Check_Browser.cxx,v 1.1.2.1 2001/08/18 23:42:36 easysw Exp $".
+// End of "$Id: Fl_Check_Browser.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Counter.cxx b/src/Fl_Counter.cxx
index 7be74038b..08a40cf24 100644
--- a/src/Fl_Counter.cxx
+++ b/src/Fl_Counter.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Counter.cxx,v 1.8.2.3.2.2 2001/10/18 23:41:04 easysw Exp $"
+// "$Id: Fl_Counter.cxx,v 1.8.2.3.2.3 2001/10/29 03:44:32 easysw Exp $"
//
// Counter widget for the Fast Light Tool Kit (FLTK).
//
@@ -56,7 +56,7 @@ void Fl_Counter::draw() {
draw_box(boxtype[0], xx[0], y(), ww[0], h(), FL_WHITE);
fl_font(textfont(), textsize());
- fl_color(active_r() ? textcolor() : inactive(textcolor()));
+ fl_color(active_r() ? textcolor() : fl_inactive(textcolor()));
char str[128]; format(str);
fl_draw(str, xx[0], y(), ww[0], h(), FL_ALIGN_CENTER);
if (Fl::focus() == this) draw_focus(boxtype[0], xx[0], y(), ww[0], h());
@@ -65,7 +65,7 @@ void Fl_Counter::draw() {
if (active_r())
selcolor = labelcolor();
else
- selcolor = inactive(labelcolor());
+ selcolor = fl_inactive(labelcolor());
if (type() == FL_NORMAL_COUNTER) {
draw_box(boxtype[1], xx[1], y(), ww[1], h(), color());
@@ -186,5 +186,5 @@ Fl_Counter::Fl_Counter(int x, int y, int w, int h, const char* l)
}
//
-// End of "$Id: Fl_Counter.cxx,v 1.8.2.3.2.2 2001/10/18 23:41:04 easysw Exp $".
+// End of "$Id: Fl_Counter.cxx,v 1.8.2.3.2.3 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_File_Browser.cxx b/src/Fl_File_Browser.cxx
index d1a5af82f..0fc8c54a0 100644
--- a/src/Fl_File_Browser.cxx
+++ b/src/Fl_File_Browser.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_File_Browser.cxx,v 1.1.2.1 2001/09/29 14:38:59 easysw Exp $"
+// "$Id: Fl_File_Browser.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $"
//
// Fl_File_Browser routines.
//
@@ -273,7 +273,7 @@ Fl_File_Browser::item_draw(void *p, // I - List item data
fl_font(textfont(), textsize());
if (line->flags & SELECTED)
- c = contrast(textcolor(), selection_color());
+ c = fl_contrast(textcolor(), selection_color());
else
c = textcolor();
@@ -316,7 +316,7 @@ Fl_File_Browser::item_draw(void *p, // I - List item data
if (active_r())
fl_color(c);
else
- fl_color(inactive(c));
+ fl_color(fl_inactive(c));
for (text = line->txt, ptr = fragment; *text != '\0'; text ++)
if (*text == '\n')
@@ -566,5 +566,5 @@ Fl_File_Browser::filter(const char *pattern) // I - Pattern string
//
-// End of "$Id: Fl_File_Browser.cxx,v 1.1.2.1 2001/09/29 14:38:59 easysw Exp $".
+// End of "$Id: Fl_File_Browser.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_File_Icon.cxx b/src/Fl_File_Icon.cxx
index 5c711235a..92426ba4f 100644
--- a/src/Fl_File_Icon.cxx
+++ b/src/Fl_File_Icon.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_File_Icon.cxx,v 1.1.2.1 2001/09/29 14:38:59 easysw Exp $"
+// "$Id: Fl_File_Icon.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $"
//
// Fl_File_Icon routines.
//
@@ -104,9 +104,9 @@ static char *get_kde_val(char *str, const char *key);
//
Fl_File_Icon::Fl_File_Icon(const char *p, /* I - Filename pattern */
- int t, /* I - File type */
- int nd, /* I - Number of data values */
- short *d) /* I - Data values */
+ int t, /* I - File type */
+ int nd, /* I - Number of data values */
+ short *d) /* I - Data values */
{
// Initialize the pattern and type...
pattern_ = p;
@@ -166,10 +166,10 @@ Fl_File_Icon::~Fl_File_Icon()
// 'Fl_File_Icon::add()' - Add data to an icon.
//
-short * // O - Pointer to new data value
+short * // O - Pointer to new data value
Fl_File_Icon::add(short d) // I - Data to add
{
- short *dptr; // Pointer to new data value
+ short *dptr; // Pointer to new data value
// Allocate/reallocate memory as needed
@@ -201,8 +201,8 @@ Fl_File_Icon::add(short d) // I - Data to add
//
Fl_File_Icon * // O - Matching file icon or NULL
-Fl_File_Icon::find(const char *filename, // I - Name of file */
- int filetype) // I - Enumerated file type
+Fl_File_Icon::find(const char *filename,// I - Name of file */
+ int filetype) // I - Enumerated file type
{
Fl_File_Icon *current; // Current file in list
struct stat fileinfo; // Information on file
@@ -247,14 +247,15 @@ Fl_File_Icon::find(const char *filename, // I - Name of file */
//
void
-Fl_File_Icon::draw(int x, // I - Upper-lefthand X
- int y, // I - Upper-lefthand Y
- int w, // I - Width of bounding box
- int h, // I - Height of bounding box
- Fl_Color ic, // I - Icon color...
- int active) // I - Active or inactive?
+Fl_File_Icon::draw(int x, // I - Upper-lefthand X
+ int y, // I - Upper-lefthand Y
+ int w, // I - Width of bounding box
+ int h, // I - Height of bounding box
+ Fl_Color ic, // I - Icon color...
+ int active) // I - Active or inactive?
{
- Fl_Color c; // Current color
+ Fl_Color c, // Current color
+ oc; // Outline color
short *d; // Pointer to data
short *prim; // Pointer to start of primitive...
double scale; // Scale of icon
@@ -280,7 +281,7 @@ Fl_File_Icon::draw(int x, // I - Upper-lefthand X
if (active)
fl_color(c);
else
- fl_color(inactive(c));
+ fl_color(fl_inactive(c));
while (*d != END || prim)
switch (*d)
@@ -303,24 +304,26 @@ Fl_File_Icon::draw(int x, // I - Upper-lefthand X
case OUTLINEPOLYGON :
fl_end_polygon();
+ oc = (Fl_Color)((((unsigned short *)prim)[1] << 16) |
+ ((unsigned short *)prim)[2]);
if (active)
{
- if (prim[1] == 256)
+ if (oc == FL_ICON_COLOR)
fl_color(ic);
else
- fl_color((Fl_Color)prim[1]);
+ fl_color(oc);
}
else
{
- if (prim[1] == 256)
- fl_color(inactive(ic));
+ if (oc == FL_ICON_COLOR)
+ fl_color(fl_inactive(ic));
else
- fl_color(inactive((Fl_Color)prim[1]));
+ fl_color(fl_inactive(oc));
}
fl_begin_loop();
- prim += 2;
+ prim += 3;
while (*prim == VERTEX)
{
fl_vertex(prim[1] * 0.0001, prim[2] * 0.0001);
@@ -337,16 +340,17 @@ Fl_File_Icon::draw(int x, // I - Upper-lefthand X
break;
case COLOR :
- if (d[1] == 256)
+ c = (Fl_Color)((((unsigned short *)d)[1] << 16) |
+ ((unsigned short *)d)[2]);
+
+ if (c == FL_ICON_COLOR)
c = ic;
- else
- c = (Fl_Color)d[1];
if (!active)
- c = inactive(c);
+ c = fl_inactive(c);
fl_color(c);
- d += 2;
+ d += 3;
break;
case LINE :
@@ -399,24 +403,26 @@ Fl_File_Icon::draw(int x, // I - Upper-lefthand X
case OUTLINEPOLYGON :
fl_end_polygon();
+ oc = (Fl_Color)((((unsigned short *)prim)[1] << 16) |
+ ((unsigned short *)prim)[2]);
if (active)
{
- if (prim[1] == 256)
+ if (oc == FL_ICON_COLOR)
fl_color(ic);
else
- fl_color((Fl_Color)prim[1]);
+ fl_color(oc);
}
else
{
- if (prim[1] == 256)
- fl_color(inactive(ic));
+ if (oc == FL_ICON_COLOR)
+ fl_color(fl_inactive(ic));
else
- fl_color(inactive((Fl_Color)prim[1]));
+ fl_color(fl_inactive(oc));
}
fl_begin_loop();
- prim += 2;
+ prim += 3;
while (*prim == VERTEX)
{
fl_vertex(prim[1] * 0.0001, prim[2] * 0.0001);
@@ -451,11 +457,11 @@ Fl_File_Icon::label(Fl_Widget *w) // I - Widget to label
void
Fl_File_Icon::labeltype(const Fl_Label *o, // I - Label data
- int x, // I - X position of label
- int y, // I - Y position of label
- int w, // I - Width of label
- int h, // I - Height of label
- Fl_Align a) // I - Label alignment (not used)
+ int x, // I - X position of label
+ int y, // I - Y position of label
+ int w, // I - Width of label
+ int h, // I - Height of label
+ Fl_Align a) // I - Label alignment (not used)
{
Fl_File_Icon *icon; // Pointer to icon data
@@ -475,7 +481,7 @@ Fl_File_Icon::labeltype(const Fl_Label *o, // I - Label data
void
Fl_File_Icon::load(const char *f) // I - File to read from
{
- const char *ext; // File extension
+ const char *ext; // File extension
if ((ext = filename_ext(f)) == NULL)
@@ -488,10 +494,8 @@ Fl_File_Icon::load(const char *f) // I - File to read from
load_fti(f);
else if (strcmp(ext, ".xpm") == 0)
load_xpm(f);
-#if 0
- else if (strcmp(ext, ".png") == 0)
- load_png(f);
-#endif /* 0 */
+// else if (strcmp(ext, ".png") == 0)
+// load_png(f);
else
{
fprintf(stderr, "Fl_File_Icon::load(): Unknown file type for \"%s\".\n", f);
@@ -613,18 +617,19 @@ Fl_File_Icon::load_fti(const char *fti) // I - File to read from
//
// name FLTK color
// ------------- ----------
- // iconcolor 256; mapped to the icon color in Fl_File_Icon::draw()
+ // iconcolor FL_ICON_COLOR; mapped to the icon color in
+ // Fl_File_Icon::draw()
// shadowcolor FL_DARK3
// outlinecolor FL_BLACK
if (strcmp(params, "iconcolor") == 0)
- add_color(256);
+ add_color(FL_ICON_COLOR);
else if (strcmp(params, "shadowcolor") == 0)
add_color(FL_DARK3);
else if (strcmp(params, "outlinecolor") == 0)
add_color(FL_BLACK);
else
{
- short c = atoi(params); // Color value
+ int c = atoi(params); // Color value
if (c < 0)
@@ -635,7 +640,7 @@ Fl_File_Icon::load_fti(const char *fti) // I - File to read from
(Fl_Color)(c & 15), 0.5));
}
else
- add_color(c);
+ add_color((Fl_Color)c);
}
}
else if (strcmp(command, "bgnline") == 0)
@@ -648,31 +653,38 @@ Fl_File_Icon::load_fti(const char *fti) // I - File to read from
{
add(OUTLINEPOLYGON);
outline = add(0) - data_;
+ add(0);
}
else if (strcmp(command, "endoutlinepolygon") == 0 && outline)
{
+ unsigned cval; // Color value
+
// Set the outline color; see above for valid values...
if (strcmp(params, "iconcolor") == 0)
- data_[outline] = 256;
+ cval = FL_ICON_COLOR;
else if (strcmp(params, "shadowcolor") == 0)
- data_[outline] = FL_DARK3;
+ cval = FL_DARK3;
else if (strcmp(params, "outlinecolor") == 0)
- data_[outline] = FL_BLACK;
+ cval = FL_BLACK;
else
{
- short c = atoi(params); // Color value
+ int c = atoi(params); // Color value
if (c < 0)
{
// Composite color; compute average...
c = -c;
- data_[outline] = fl_color_average((Fl_Color)(c >> 4), (Fl_Color)(c & 15), 0.5);
+ cval = fl_color_average((Fl_Color)(c >> 4), (Fl_Color)(c & 15), 0.5);
}
else
- data_[outline] = c;
+ cval = c;
}
+ // Store outline color...
+ data_[outline] = cval >> 16;
+ data_[outline + 1] = cval;
+
outline = 0;
add(END);
}
@@ -725,7 +737,7 @@ Fl_File_Icon::load_xpm(const char *xpm) // I - File to read from
int startx; // Starting X coord
int width, height; // Width and height of image
int ncolors; // Number of colors
- short colors[256]; // Colors
+ Fl_Color colors[256]; // Colors
int red, green, blue; // Red, green, and blue values
@@ -828,12 +840,7 @@ Fl_File_Icon::load_xpm(const char *xpm) // I - File to read from
break;
}
- if (red == green && green == blue)
- colors[ch] = FL_GRAY_RAMP + (FL_NUM_GRAY - 1) * red / 255;
- else
- colors[ch] = fl_color_cube((FL_NUM_RED - 1) * red / 255,
- (FL_NUM_GREEN - 1) * green / 255,
- (FL_NUM_BLUE - 1) * blue / 255);
+ colors[ch] = fl_rgb_color(red, green, blue);
}
else
{
@@ -921,13 +928,13 @@ Fl_File_Icon::load_system_icons(void)
static int init = 0; // Have the icons been initialized?
static short plain[] = // Plain file icon
{
- COLOR, 256, OUTLINEPOLYGON, FL_GRAY,
+ COLOR, -1, -1, OUTLINEPOLYGON, 0, FL_GRAY,
VERTEX, 2000, 1000, VERTEX, 2000, 9000,
VERTEX, 6000, 9000, VERTEX, 8000, 7000,
- VERTEX, 8000, 1000, END, OUTLINEPOLYGON, FL_GRAY,
+ VERTEX, 8000, 1000, END, OUTLINEPOLYGON, 0, FL_GRAY,
VERTEX, 6000, 9000, VERTEX, 6000, 7000,
VERTEX, 8000, 7000, END,
- COLOR, FL_BLACK, LINE, VERTEX, 6000, 7000,
+ COLOR, 0, FL_BLACK, LINE, VERTEX, 6000, 7000,
VERTEX, 8000, 7000, VERTEX, 8000, 1000,
VERTEX, 2000, 1000, END, LINE, VERTEX, 3000, 7000,
VERTEX, 5000, 7000, END, LINE, VERTEX, 3000, 6000,
@@ -940,26 +947,26 @@ Fl_File_Icon::load_system_icons(void)
};
static short image[] = // Image file icon
{
- COLOR, 256, OUTLINEPOLYGON, FL_GRAY,
+ COLOR, -1, -1, OUTLINEPOLYGON, 0, FL_GRAY,
VERTEX, 2000, 1000, VERTEX, 2000, 9000,
VERTEX, 6000, 9000, VERTEX, 8000, 7000,
- VERTEX, 8000, 1000, END, OUTLINEPOLYGON, FL_GRAY,
+ VERTEX, 8000, 1000, END, OUTLINEPOLYGON, 0, FL_GRAY,
VERTEX, 6000, 9000, VERTEX, 6000, 7000,
VERTEX, 8000, 7000, END,
- COLOR, FL_BLACK, LINE, VERTEX, 6000, 7000,
+ COLOR, 0, FL_BLACK, LINE, VERTEX, 6000, 7000,
VERTEX, 8000, 7000, VERTEX, 8000, 1000,
VERTEX, 2000, 1000, END,
- COLOR, FL_RED, POLYGON, VERTEX, 3500, 2500,
+ COLOR, 0, FL_RED, POLYGON, VERTEX, 3500, 2500,
VERTEX, 3000, 3000, VERTEX, 3000, 4000,
VERTEX, 3500, 4500, VERTEX, 4500, 4500,
VERTEX, 5000, 4000, VERTEX, 5000, 3000,
VERTEX, 4500, 2500, END,
- COLOR, FL_GREEN, POLYGON, VERTEX, 5500, 2500,
+ COLOR, 0, FL_GREEN, POLYGON, VERTEX, 5500, 2500,
VERTEX, 5000, 3000, VERTEX, 5000, 4000,
VERTEX, 5500, 4500, VERTEX, 6500, 4500,
VERTEX, 7000, 4000, VERTEX, 7000, 3000,
VERTEX, 6500, 2500, END,
- COLOR, FL_BLUE, POLYGON, VERTEX, 4500, 3500,
+ COLOR, 0, FL_BLUE, POLYGON, VERTEX, 4500, 3500,
VERTEX, 4000, 4000, VERTEX, 4000, 5000,
VERTEX, 4500, 5500, VERTEX, 5500, 5500,
VERTEX, 6000, 5000, VERTEX, 6000, 4000,
@@ -968,16 +975,16 @@ Fl_File_Icon::load_system_icons(void)
};
static short dir[] = // Directory icon
{
- COLOR, 256, POLYGON, VERTEX, 1000, 1000,
+ COLOR, -1, -1, POLYGON, VERTEX, 1000, 1000,
VERTEX, 1000, 7500, VERTEX, 9000, 7500,
VERTEX, 9000, 1000, END,
POLYGON, VERTEX, 1000, 7500, VERTEX, 2500, 9000,
VERTEX, 5000, 9000, VERTEX, 6500, 7500, END,
- COLOR, FL_WHITE, LINE, VERTEX, 1500, 1500,
+ COLOR, 0, FL_WHITE, LINE, VERTEX, 1500, 1500,
VERTEX, 1500, 7000, VERTEX, 9000, 7000, END,
- COLOR, FL_BLACK, LINE, VERTEX, 9000, 7500,
+ COLOR, 0, FL_BLACK, LINE, VERTEX, 9000, 7500,
VERTEX, 9000, 1000, VERTEX, 1000, 1000, END,
- COLOR, FL_GRAY, LINE, VERTEX, 1000, 1000,
+ COLOR, 0, FL_GRAY, LINE, VERTEX, 1000, 1000,
VERTEX, 1000, 7500, VERTEX, 2500, 9000,
VERTEX, 5000, 9000, VERTEX, 6500, 7500,
VERTEX, 9000, 7500, END,
@@ -1221,5 +1228,5 @@ get_kde_val(char *str,
//
-// End of "$Id: Fl_File_Icon.cxx,v 1.1.2.1 2001/09/29 14:38:59 easysw Exp $".
+// End of "$Id: Fl_File_Icon.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Input_.cxx b/src/Fl_Input_.cxx
index f3fa112f2..25ba45a18 100644
--- a/src/Fl_Input_.cxx
+++ b/src/Fl_Input_.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Input_.cxx,v 1.21.2.11.2.1 2001/09/29 22:59:45 easysw Exp $"
+// "$Id: Fl_Input_.cxx,v 1.21.2.11.2.2 2001/10/29 03:44:32 easysw Exp $"
//
// Common input widget routines for the Fast Light Tool Kit (FLTK).
//
@@ -231,7 +231,7 @@ void Fl_Input_::drawtext(int X, int Y, int W, int H) {
}
fl_clip(X, Y, W, H);
- Fl_Color color = active_r() ? textcolor() : inactive(textcolor());
+ Fl_Color color = active_r() ? textcolor() : fl_inactive(textcolor());
p = value();
// visit each line and draw it:
@@ -276,7 +276,7 @@ void Fl_Input_::drawtext(int X, int Y, int W, int H) {
else offset2 = strlen(buf);
fl_color(selection_color());
fl_rectf(X+int(x1+.5), Y+ypos, int(x2-x1), height);
- fl_color(contrast(textcolor(), selection_color()));
+ fl_color(fl_contrast(textcolor(), selection_color()));
fl_draw(buf+offset1, offset2-offset1, X+x1, Y+ypos+desc);
if (pp < e) {
fl_color(color);
@@ -821,5 +821,5 @@ Fl_Input_::~Fl_Input_() {
}
//
-// End of "$Id: Fl_Input_.cxx,v 1.21.2.11.2.1 2001/09/29 22:59:45 easysw Exp $".
+// End of "$Id: Fl_Input_.cxx,v 1.21.2.11.2.2 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx
index 000e7d706..511c13bda 100644
--- a/src/Fl_Menu.cxx
+++ b/src/Fl_Menu.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Menu.cxx,v 1.18.2.12.2.3 2001/09/04 13:13:29 easysw Exp $"
+// "$Id: Fl_Menu.cxx,v 1.18.2.12.2.4 2001/10/29 03:44:32 easysw Exp $"
//
// Menu code for the Fast Light Tool Kit (FLTK).
//
@@ -132,21 +132,21 @@ void Fl_Menu_Item::draw(int x, int y, int w, int h, const Fl_Menu_* m,
l.font = labelsize_ ? labelfont_ : uchar(m ? m->textfont() : FL_HELVETICA);
l.size = labelsize_ ? labelsize_ : m ? m->textsize() : FL_NORMAL_SIZE;
l.color = labelcolor_ ? labelcolor_ : m ? m->textcolor() : int(FL_BLACK);
- if (!active()) l.color = inactive((Fl_Color)l.color);
+ if (!active()) l.color = fl_inactive((Fl_Color)l.color);
Fl_Color color = m ? m->color() : FL_GRAY;
if (selected) {
Fl_Color r = m ? m->selection_color() : FL_SELECTION_COLOR;
Fl_Boxtype b = m && m->down_box() ? m->down_box() : FL_FLAT_BOX;
- if (contrast(r,color)!=r) { // back compatability boxtypes
+ if (fl_contrast(r,color)!=r) { // back compatability boxtypes
if (selected == 2) { // menu title
r = color;
b = m ? m->box() : FL_UP_BOX;
} else {
r = (Fl_Color)(FL_COLOR_CUBE-1); // white
- l.color = contrast((Fl_Color)labelcolor_, r);
+ l.color = fl_contrast((Fl_Color)labelcolor_, r);
}
} else {
- l.color = contrast((Fl_Color)labelcolor_, r);
+ l.color = fl_contrast((Fl_Color)labelcolor_, r);
}
if (selected == 2) { // menu title
fl_draw_box(b, x, y, w, h, r);
@@ -752,5 +752,5 @@ const Fl_Menu_Item* Fl_Menu_Item::test_shortcut() const {
}
//
-// End of "$Id: Fl_Menu.cxx,v 1.18.2.12.2.3 2001/09/04 13:13:29 easysw Exp $".
+// End of "$Id: Fl_Menu.cxx,v 1.18.2.12.2.4 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Progress.cxx b/src/Fl_Progress.cxx
index d8406aff7..30300b70c 100644
--- a/src/Fl_Progress.cxx
+++ b/src/Fl_Progress.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Progress.cxx,v 1.1.2.1 2001/08/11 14:49:51 easysw Exp $"
+// "$Id: Fl_Progress.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $"
//
// Progress bar widget routines.
//
@@ -73,7 +73,7 @@ void Fl_Progress::draw()
{
fl_clip(x() + bx, y() + by, w() - bw, h() - bh);
- fl_color(active_r() ? color2() : inactive(color2()));
+ fl_color(active_r() ? color2() : fl_inactive(color2()));
fl_polygon(x() + bx, y() + by,
x() + bx, y() + h() - by,
x() + 3 + progress - h() / 4, y() + h() - by,
@@ -104,5 +104,5 @@ Fl_Progress::Fl_Progress(int x, int y, int w, int h, const char* l)
//
-// End of "$Id: Fl_Progress.cxx,v 1.1.2.1 2001/08/11 14:49:51 easysw Exp $".
+// End of "$Id: Fl_Progress.cxx,v 1.1.2.2 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Scrollbar.cxx b/src/Fl_Scrollbar.cxx
index c252dc2b7..29272853d 100644
--- a/src/Fl_Scrollbar.cxx
+++ b/src/Fl_Scrollbar.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Scrollbar.cxx,v 1.7.2.14.2.2 2001/08/05 14:00:15 easysw Exp $"
+// "$Id: Fl_Scrollbar.cxx,v 1.7.2.14.2.3 2001/10/29 03:44:32 easysw Exp $"
//
// Scroll bar widget for the Fast Light Tool Kit (FLTK).
//
@@ -202,7 +202,7 @@ void Fl_Scrollbar::draw() {
if (active_r())
fl_color(labelcolor());
else
- fl_color(inactive(labelcolor()));
+ fl_color(fl_inactive(labelcolor()));
int w1 = (H-4)/3; if (w1 < 1) w1 = 1;
int x1 = X+(H-w1-1)/2;
int y1 = Y+(H-2*w1-1)/2;
@@ -244,5 +244,5 @@ Fl_Scrollbar::Fl_Scrollbar(int X, int Y, int W, int H, const char* L)
}
//
-// End of "$Id: Fl_Scrollbar.cxx,v 1.7.2.14.2.2 2001/08/05 14:00:15 easysw Exp $".
+// End of "$Id: Fl_Scrollbar.cxx,v 1.7.2.14.2.3 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Text_Display.cxx b/src/Fl_Text_Display.cxx
index fb9242be5..efa519c41 100644
--- a/src/Fl_Text_Display.cxx
+++ b/src/Fl_Text_Display.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Text_Display.cxx,v 1.12.2.2 2001/08/06 23:51:39 easysw Exp $"
+// "$Id: Fl_Text_Display.cxx,v 1.12.2.3 2001/10/29 03:44:32 easysw Exp $"
//
// Copyright Mark Edel. Permission to distribute under the LGPL for
// the FLTK library granted by Mark Edel.
@@ -1591,6 +1591,7 @@ void Fl_Text_Display::update_v_scrollbar() {
bar maximum value is chosen to generally represent the size of the whole
buffer, with minor adjustments to keep the scroll bar widget happy */
mVScrollBar->value(mTopLineNum, mNVisibleLines, 1, mNBufferLines+2);
+ mVScrollBar->linesize(1);
}
/*
@@ -1877,6 +1878,7 @@ int Fl_Text_Display::handle(int event) {
switch (event) {
case FL_PUSH: {
+ Fl::focus(this); // Take focus from any child widgets...
if (Fl::event_state()&FL_SHIFT) return handle(FL_DRAG);
dragging = 1;
int pos = xy_to_position(Fl::event_x(), Fl::event_y(), CURSOR_POS);
@@ -1948,5 +1950,5 @@ int Fl_Text_Display::handle(int event) {
//
-// End of "$Id: Fl_Text_Display.cxx,v 1.12.2.2 2001/08/06 23:51:39 easysw Exp $".
+// End of "$Id: Fl_Text_Display.cxx,v 1.12.2.3 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Tooltip.cxx b/src/Fl_Tooltip.cxx
index 5baabf8da..7248a4a3b 100644
--- a/src/Fl_Tooltip.cxx
+++ b/src/Fl_Tooltip.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Tooltip.cxx,v 1.38.2.3 2001/10/18 18:53:20 easysw Exp $"
+// "$Id: Fl_Tooltip.cxx,v 1.38.2.4 2001/10/29 03:44:32 easysw Exp $"
//
// Tooltip source file for the Fast Light Tool Kit (FLTK).
//
@@ -42,7 +42,7 @@ Fl_TooltipBox *Fl_Tooltip::box = 0;
Fl_Menu_Window *Fl_Tooltip::window = 0;
Fl_Widget *Fl_Tooltip::widget = 0;
int Fl_Tooltip::shown = 0;
-uchar Fl_Tooltip::color_ = fl_color_cube(FL_NUM_RED - 1,
+unsigned Fl_Tooltip::color_ = fl_color_cube(FL_NUM_RED - 1,
FL_NUM_GREEN - 1,
FL_NUM_BLUE - 2);
int Fl_Tooltip::font_ = FL_HELVETICA;
@@ -189,5 +189,5 @@ Fl_Tooltip::tooltip_timeout(void *v) {
//
-// End of "$Id: Fl_Tooltip.cxx,v 1.38.2.3 2001/10/18 18:53:20 easysw Exp $".
+// End of "$Id: Fl_Tooltip.cxx,v 1.38.2.4 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Value_Output.cxx b/src/Fl_Value_Output.cxx
index 5d4b64a6a..4f8e6d635 100644
--- a/src/Fl_Value_Output.cxx
+++ b/src/Fl_Value_Output.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Value_Output.cxx,v 1.6.2.3 2001/01/22 15:13:40 easysw Exp $"
+// "$Id: Fl_Value_Output.cxx,v 1.6.2.3.2.1 2001/10/29 03:44:32 easysw Exp $"
//
// Value output widget for the Fast Light Tool Kit (FLTK).
//
@@ -45,7 +45,7 @@ void Fl_Value_Output::draw() {
}
char buf[128];
format(buf);
- fl_color(active_r() ? textcolor() : inactive(textcolor()));
+ fl_color(active_r() ? textcolor() : fl_inactive(textcolor()));
fl_font(textfont(), textsize());
fl_draw(buf,X+3,Y,W-6,H,FL_ALIGN_LEFT);
}
@@ -94,5 +94,5 @@ Fl_Value_Output::Fl_Value_Output(int x,int y,int w,int h,const char *l)
}
//
-// End of "$Id: Fl_Value_Output.cxx,v 1.6.2.3 2001/01/22 15:13:40 easysw Exp $".
+// End of "$Id: Fl_Value_Output.cxx,v 1.6.2.3.2.1 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_Value_Slider.cxx b/src/Fl_Value_Slider.cxx
index 9185f7ed6..23105658f 100644
--- a/src/Fl_Value_Slider.cxx
+++ b/src/Fl_Value_Slider.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_Value_Slider.cxx,v 1.5.2.4 2001/01/22 15:13:40 easysw Exp $"
+// "$Id: Fl_Value_Slider.cxx,v 1.5.2.4.2.1 2001/10/29 03:44:32 easysw Exp $"
//
// Value slider widget for the Fast Light Tool Kit (FLTK).
//
@@ -53,7 +53,7 @@ void Fl_Value_Slider::draw() {
char buf[128];
format(buf);
fl_font(textfont(), textsize());
- fl_color(active_r() ? textcolor() : inactive(textcolor()));
+ fl_color(active_r() ? textcolor() : fl_inactive(textcolor()));
fl_draw(buf, bxx, byy, bww, bhh, FL_ALIGN_CLIP);
}
@@ -72,5 +72,5 @@ int Fl_Value_Slider::handle(int event) {
}
//
-// End of "$Id: Fl_Value_Slider.cxx,v 1.5.2.4 2001/01/22 15:13:40 easysw Exp $".
+// End of "$Id: Fl_Value_Slider.cxx,v 1.5.2.4.2.1 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/Fl_get_system_colors.cxx b/src/Fl_get_system_colors.cxx
index 5904d84d0..7fde64290 100644
--- a/src/Fl_get_system_colors.cxx
+++ b/src/Fl_get_system_colors.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_get_system_colors.cxx,v 1.6.2.7 2001/03/20 18:02:52 spitzak Exp $"
+// "$Id: Fl_get_system_colors.cxx,v 1.6.2.7.2.1 2001/10/29 03:44:32 easysw Exp $"
//
// System color support for the Fast Light Tool Kit (FLTK).
//
@@ -50,7 +50,7 @@ void Fl::foreground(uchar r, uchar g, uchar b) {
void Fl::background2(uchar r, uchar g, uchar b) {
Fl::set_color(FL_WHITE,r,g,b);
- Fl::set_color(FL_BLACK,get_color(contrast(FL_BLACK,FL_WHITE)));
+ Fl::set_color(FL_BLACK,get_color(fl_contrast(FL_BLACK,FL_WHITE)));
}
// these are set by Fl::args() and override any system colors:
@@ -150,5 +150,5 @@ void Fl::get_system_colors()
#endif
//
-// End of "$Id: Fl_get_system_colors.cxx,v 1.6.2.7 2001/03/20 18:02:52 spitzak Exp $".
+// End of "$Id: Fl_get_system_colors.cxx,v 1.6.2.7.2.1 2001/10/29 03:44:32 easysw Exp $".
//
diff --git a/src/fl_color.cxx b/src/fl_color.cxx
index 8aefae0f9..0915159ed 100644
--- a/src/fl_color.cxx
+++ b/src/fl_color.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fl_color.cxx,v 1.12.2.5.2.1 2001/08/04 12:21:33 easysw Exp $"
+// "$Id: fl_color.cxx,v 1.12.2.5.2.2 2001/10/29 03:44:33 easysw Exp $"
//
// Color functions for the Fast Light Tool Kit (FLTK).
//
@@ -269,8 +269,13 @@ ulong fl_xpixel(Fl_Color i) {
Fl_Color fl_color_;
void fl_color(Fl_Color i) {
- fl_color_ = i;
- XSetForeground(fl_display, fl_gc, fl_xpixel(i));
+ if (i & 0xffffff00) {
+ unsigned rgb = (unsigned)i;
+ fl_color((uchar)(rgb >> 24), (uchar)(rgb >> 16), (uchar)(rgb >> 8));
+ } else {
+ fl_color_ = i;
+ XSetForeground(fl_display, fl_gc, fl_xpixel(i));
+ }
}
void Fl::free_color(Fl_Color i, int overlay) {
@@ -305,38 +310,42 @@ void Fl::set_color(Fl_Color i, unsigned c) {
#endif // end of X-specific code
unsigned Fl::get_color(Fl_Color i) {
- return fl_cmap[i];
+ if (i & 0xffffff00) return (i);
+ else return fl_cmap[i];
}
void Fl::set_color(Fl_Color i, uchar red, uchar green, uchar blue) {
- Fl::set_color(i,
+ Fl::set_color((Fl_Color)(i & 255),
((unsigned)red<<24)+((unsigned)green<<16)+((unsigned)blue<<8));
}
void Fl::get_color(Fl_Color i, uchar &red, uchar &green, uchar &blue) {
- unsigned c = fl_cmap[i];
+ unsigned c;
+
+ if (i & 0xffffff00) c = (unsigned)i;
+ else c = fl_cmap[i];
+
red = uchar(c>>24);
green = uchar(c>>16);
blue = uchar(c>>8);
}
Fl_Color fl_color_average(Fl_Color color1, Fl_Color color2, float weight) {
- Fl_Color avg;
- unsigned rgb1 = fl_cmap[color1];
- unsigned rgb2 = fl_cmap[color2];
+ unsigned rgb1;
+ unsigned rgb2;
uchar r, g, b;
+ if (color1 & 0xffffff00) rgb1 = color1;
+ else rgb1 = fl_cmap[color1 & 255];
+
+ if (color2 & 0xffffff00) rgb2 = color2;
+ else rgb2 = fl_cmap[color2 & 255];
+
r = (uchar)(((uchar)(rgb1>>24))*weight + ((uchar)(rgb2>>24))*(1-weight));
g = (uchar)(((uchar)(rgb1>>16))*weight + ((uchar)(rgb2>>16))*(1-weight));
b = (uchar)(((uchar)(rgb1>>8))*weight + ((uchar)(rgb2>>8))*(1-weight));
- if (r == g && r == b) { // get it out of gray ramp
- avg = fl_gray_ramp(r*FL_NUM_GRAY/256);
- } else { // get it out of color cube:
- avg = fl_color_cube(r*FL_NUM_RED/256,g*FL_NUM_GREEN/256,b*FL_NUM_BLUE/256);
- }
-
- return avg;
+ return fl_rgb_color(r, g, b);
}
Fl_Color fl_inactive(Fl_Color c) {
@@ -344,8 +353,14 @@ Fl_Color fl_inactive(Fl_Color c) {
}
Fl_Color fl_contrast(Fl_Color fg, Fl_Color bg) {
- int c1 = int(fl_cmap[fg]);
- int c2 = int(fl_cmap[bg]);
+ unsigned c1, c2;
+
+ if (fg & 0xffffff00) c1 = (unsigned)fg;
+ else c1 = fl_cmap[fg];
+
+ if (bg & 0xffffff00) c2 = (unsigned)bg;
+ else c2 = fl_cmap[bg];
+
if ((c1^c2)&0x80800000)
return fg;
else if (c2&0x80800000)
@@ -355,5 +370,5 @@ Fl_Color fl_contrast(Fl_Color fg, Fl_Color bg) {
}
//
-// End of "$Id: fl_color.cxx,v 1.12.2.5.2.1 2001/08/04 12:21:33 easysw Exp $".
+// End of "$Id: fl_color.cxx,v 1.12.2.5.2.2 2001/10/29 03:44:33 easysw Exp $".
//
diff --git a/src/fl_color_win32.cxx b/src/fl_color_win32.cxx
index b0549e91a..d13a9eab8 100644
--- a/src/fl_color_win32.cxx
+++ b/src/fl_color_win32.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fl_color_win32.cxx,v 1.14.2.3.2.1 2001/09/30 12:42:33 easysw Exp $"
+// "$Id: fl_color_win32.cxx,v 1.14.2.3.2.2 2001/10/29 03:44:33 easysw Exp $"
//
// WIN32 color functions for the Fast Light Tool Kit (FLTK).
//
@@ -83,22 +83,27 @@ static void set_xmap(Fl_XMap& xmap, COLORREF c) {
Fl_Color fl_color_;
void fl_color(Fl_Color i) {
- fl_color_ = i;
- Fl_XMap &xmap = fl_xmap[i];
- if (!xmap.pen) {
+ if (i & 0xffffff00) {
+ unsigned rgb = (unsigned)i;
+ fl_color((uchar)(rgb >> 24), (uchar)(rgb >> 16), (uchar)(rgb >> 8));
+ } else {
+ fl_color_ = i;
+ Fl_XMap &xmap = fl_xmap[i];
+ if (!xmap.pen) {
#if USE_COLORMAP
- if (fl_palette) {
- set_xmap(xmap, PALETTEINDEX(i));
- } else {
+ if (fl_palette) {
+ set_xmap(xmap, PALETTEINDEX(i));
+ } else {
#endif
- unsigned c = fl_cmap[i];
- set_xmap(xmap, RGB(uchar(c>>24), uchar(c>>16), uchar(c>>8)));
+ unsigned c = fl_cmap[i];
+ set_xmap(xmap, RGB(uchar(c>>24), uchar(c>>16), uchar(c>>8)));
#if USE_COLORMAP
- }
+ }
#endif
+ }
+ fl_current_xmap = &xmap;
+ SelectObject(fl_gc, (HGDIOBJ)(xmap.pen));
}
- fl_current_xmap = &xmap;
- SelectObject(fl_gc, (HGDIOBJ)(xmap.pen));
}
void fl_color(uchar r, uchar g, uchar b) {
@@ -216,5 +221,5 @@ fl_select_palette(void)
#endif
//
-// End of "$Id: fl_color_win32.cxx,v 1.14.2.3.2.1 2001/09/30 12:42:33 easysw Exp $".
+// End of "$Id: fl_color_win32.cxx,v 1.14.2.3.2.2 2001/10/29 03:44:33 easysw Exp $".
//
diff --git a/src/fl_labeltype.cxx b/src/fl_labeltype.cxx
index 3783c97d6..657bf40b3 100644
--- a/src/fl_labeltype.cxx
+++ b/src/fl_labeltype.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fl_labeltype.cxx,v 1.6.2.3.2.3 2001/09/02 11:23:27 easysw Exp $"
+// "$Id: fl_labeltype.cxx,v 1.6.2.3.2.4 2001/10/29 03:44:33 easysw Exp $"
//
// Label drawing routines for the Fast Light Tool Kit (FLTK).
//
@@ -124,7 +124,7 @@ void Fl_Widget::draw_label(int X, int Y, int W, int H, Fl_Align a) const {
if (flags()&SHORTCUT_LABEL) fl_draw_shortcut = 1;
Fl_Label l1 = label_;
if (!active_r()) {
- l1.color = inactive((Fl_Color)l1.color);
+ l1.color = fl_inactive((Fl_Color)l1.color);
if (l1.deimage) l1.image = l1.deimage;
}
l1.draw(X,Y,W,H,a);
@@ -136,5 +136,5 @@ void Fl_Widget::draw_label(int X, int Y, int W, int H, Fl_Align a) const {
#include <FL/Fl_Input_.H>
//
-// End of "$Id: fl_labeltype.cxx,v 1.6.2.3.2.3 2001/09/02 11:23:27 easysw Exp $".
+// End of "$Id: fl_labeltype.cxx,v 1.6.2.3.2.4 2001/10/29 03:44:33 easysw Exp $".
//