summaryrefslogtreecommitdiff
path: root/src/fl_boxtype.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2001-10-27 03:29:25 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2001-10-27 03:29:25 +0000
commit68fb9f79108ef7f2e841f6cd8dc6fb58408d2e29 (patch)
treeb65b4bd6c24b995027724f530b0362032704716c /src/fl_boxtype.cxx
parentd2bfebbb4b2c161822d48a42f4e94c5ad847a547 (diff)
Don't allow extra boxtypes to override user-defined boxtypes.
Change the help link function to get both the widget and pathname. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1659 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/fl_boxtype.cxx')
-rw-r--r--src/fl_boxtype.cxx99
1 files changed, 53 insertions, 46 deletions
diff --git a/src/fl_boxtype.cxx b/src/fl_boxtype.cxx
index 8b9b9eb13..55bc9d472 100644
--- a/src/fl_boxtype.cxx
+++ b/src/fl_boxtype.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: fl_boxtype.cxx,v 1.8.2.4.2.1 2001/08/04 12:21:33 easysw Exp $"
+// "$Id: fl_boxtype.cxx,v 1.8.2.4.2.2 2001/10/27 03:29:25 easysw Exp $"
//
// Box drawing code for the Fast Light Tool Kit (FLTK).
//
@@ -186,46 +186,47 @@ void fl_border_frame(int x, int y, int w, int h, Fl_Color c) {
static struct {
Fl_Box_Draw_F *f;
uchar dx, dy, dw, dh;
+ int set;
} fl_box_table[] = {
// must match list in Enumerations.H!!!
- {fl_no_box, 0,0,0,0},
- {fl_rectf, 0,0,0,0}, // FL_FLAT_BOX
- {fl_up_box, D1,D1,D2,D2},
- {fl_down_box, D1,D1,D2,D2},
- {fl_up_frame, D1,D1,D2,D2},
- {fl_down_frame, D1,D1,D2,D2},
- {fl_thin_up_box, 1,1,2,2},
- {fl_thin_down_box, 1,1,2,2},
- {fl_thin_up_frame, 1,1,2,2},
- {fl_thin_down_frame, 1,1,2,2},
- {fl_engraved_box, 2,2,4,4},
- {fl_embossed_box, 2,2,4,4},
- {fl_engraved_frame, 2,2,4,4},
- {fl_embossed_frame, 2,2,4,4},
- {fl_border_box, 1,1,2,2},
- {fl_border_box, 1,1,2,2}, // _FL_SHADOW_BOX,
- {fl_border_frame, 1,1,2,2},
- {fl_border_frame, 1,1,2,2}, // _FL_SHADOW_FRAME,
- {fl_border_box, 1,1,2,2}, // _FL_ROUNDED_BOX,
- {fl_border_box, 1,1,2,2}, // _FL_RSHADOW_BOX,
- {fl_border_frame, 1,1,2,2}, // _FL_ROUNDED_FRAME
- {fl_rectf, 0,0,0,0}, // _FL_RFLAT_BOX,
- {fl_up_box, 3,3,6,6}, // _FL_ROUND_UP_BOX
- {fl_down_box, 3,3,6,6}, // _FL_ROUND_DOWN_BOX,
- {fl_up_box, 0,0,0,0}, // _FL_DIAMOND_UP_BOX
- {fl_down_box, 0,0,0,0}, // _FL_DIAMOND_DOWN_BOX
- {fl_border_box, 1,1,2,2}, // _FL_OVAL_BOX,
- {fl_border_box, 1,1,2,2}, // _FL_OVAL_SHADOW_BOX,
- {fl_border_frame, 1,1,2,2}, // _FL_OVAL_FRAME
- {fl_rectf, 0,0,0,0}, // _FL_OVAL_FLAT_BOX,
- {fl_up_box, 3,3,6,6}, // FL_FREE_BOX+0
- {fl_down_box, 3,3,6,6}, // FL_FREE_BOX+1
- {fl_up_box, 3,3,6,6}, // FL_FREE_BOX+2
- {fl_down_box, 3,3,6,6}, // FL_FREE_BOX+3
- {fl_up_box, 3,3,6,6}, // FL_FREE_BOX+4
- {fl_down_box, 3,3,6,6}, // FL_FREE_BOX+5
- {fl_up_box, 3,3,6,6}, // FL_FREE_BOX+6
- {fl_down_box, 3,3,6,6}, // FL_FREE_BOX+7
+ {fl_no_box, 0,0,0,0,1},
+ {fl_rectf, 0,0,0,0,1}, // FL_FLAT_BOX
+ {fl_up_box, D1,D1,D2,D2,1},
+ {fl_down_box, D1,D1,D2,D2,1},
+ {fl_up_frame, D1,D1,D2,D2,1},
+ {fl_down_frame, D1,D1,D2,D2,1},
+ {fl_thin_up_box, 1,1,2,2,1},
+ {fl_thin_down_box, 1,1,2,2,1},
+ {fl_thin_up_frame, 1,1,2,2,1},
+ {fl_thin_down_frame, 1,1,2,2,1},
+ {fl_engraved_box, 2,2,4,4,1},
+ {fl_embossed_box, 2,2,4,4,1},
+ {fl_engraved_frame, 2,2,4,4,1},
+ {fl_embossed_frame, 2,2,4,4,1},
+ {fl_border_box, 1,1,2,2,1},
+ {fl_border_box, 1,1,2,2,0}, // _FL_SHADOW_BOX,
+ {fl_border_frame, 1,1,2,2,1},
+ {fl_border_frame, 1,1,2,2,0}, // _FL_SHADOW_FRAME,
+ {fl_border_box, 1,1,2,2,0}, // _FL_ROUNDED_BOX,
+ {fl_border_box, 1,1,2,2,0}, // _FL_RSHADOW_BOX,
+ {fl_border_frame, 1,1,2,2,0}, // _FL_ROUNDED_FRAME
+ {fl_rectf, 0,0,0,0,0}, // _FL_RFLAT_BOX,
+ {fl_up_box, 3,3,6,6,0}, // _FL_ROUND_UP_BOX
+ {fl_down_box, 3,3,6,6,0}, // _FL_ROUND_DOWN_BOX,
+ {fl_up_box, 0,0,0,0,0}, // _FL_DIAMOND_UP_BOX
+ {fl_down_box, 0,0,0,0,0}, // _FL_DIAMOND_DOWN_BOX
+ {fl_border_box, 1,1,2,2,0}, // _FL_OVAL_BOX,
+ {fl_border_box, 1,1,2,2,0}, // _FL_OVAL_SHADOW_BOX,
+ {fl_border_frame, 1,1,2,2,0}, // _FL_OVAL_FRAME
+ {fl_rectf, 0,0,0,0,0}, // _FL_OVAL_FLAT_BOX,
+ {fl_up_box, 3,3,6,6,0}, // FL_FREE_BOX+0
+ {fl_down_box, 3,3,6,6,0}, // FL_FREE_BOX+1
+ {fl_up_box, 3,3,6,6,0}, // FL_FREE_BOX+2
+ {fl_down_box, 3,3,6,6,0}, // FL_FREE_BOX+3
+ {fl_up_box, 3,3,6,6,0}, // FL_FREE_BOX+4
+ {fl_down_box, 3,3,6,6,0}, // FL_FREE_BOX+5
+ {fl_up_box, 3,3,6,6,0}, // FL_FREE_BOX+6
+ {fl_down_box, 3,3,6,6,0}, // FL_FREE_BOX+7
};
int Fl::box_dx(Fl_Boxtype t) {return fl_box_table[t].dx;}
@@ -233,15 +234,21 @@ int Fl::box_dy(Fl_Boxtype t) {return fl_box_table[t].dy;}
int Fl::box_dw(Fl_Boxtype t) {return fl_box_table[t].dw;}
int Fl::box_dh(Fl_Boxtype t) {return fl_box_table[t].dh;}
-void fl_internal_boxtype(Fl_Boxtype t, Fl_Box_Draw_F* f) {fl_box_table[t].f=f;}
+void fl_internal_boxtype(Fl_Boxtype t, Fl_Box_Draw_F* f) {
+ if (!fl_box_table[t].set) {
+ fl_box_table[t].f = f;
+ fl_box_table[t].set = 1;
+ }
+}
void Fl::set_boxtype(Fl_Boxtype t, Fl_Box_Draw_F* f,
uchar a, uchar b, uchar c, uchar d) {
- fl_box_table[t].f=f;
- fl_box_table[t].dx = a;
- fl_box_table[t].dy = b;
- fl_box_table[t].dw = c;
- fl_box_table[t].dh = d;
+ fl_box_table[t].f = f;
+ fl_box_table[t].set = 1;
+ fl_box_table[t].dx = a;
+ fl_box_table[t].dy = b;
+ fl_box_table[t].dw = c;
+ fl_box_table[t].dh = d;
}
void Fl::set_boxtype(Fl_Boxtype t, Fl_Boxtype f) {
@@ -277,5 +284,5 @@ const {
}
//
-// End of "$Id: fl_boxtype.cxx,v 1.8.2.4.2.1 2001/08/04 12:21:33 easysw Exp $".
+// End of "$Id: fl_boxtype.cxx,v 1.8.2.4.2.2 2001/10/27 03:29:25 easysw Exp $".
//