00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _FL_LABELTYPE_H_
00023 #define _FL_LABELTYPE_H_
00024
00025 #include "Fl_Color.h"
00026 #include "Fl_Flags.h"
00027
00029 class FL_API Fl_Labeltype_ {
00030 public:
00031 Fl_Labeltype_(const char* n) : name(n), next(first) { first = this; }
00032
00033 virtual void draw(const char*, int,int,int,int, Fl_Color, Fl_Flags) const;
00034
00035 const char* name;
00036 const Fl_Labeltype_* next;
00037 static const Fl_Labeltype_* first;
00038 static const Fl_Labeltype_* find(const char* name);
00039 };
00040
00041 typedef const Fl_Labeltype_* Fl_Labeltype;
00042
00043 extern FL_API Fl_Labeltype_ fl_normal_label;
00044 #define FL_NORMAL_LABEL (&fl_normal_label)
00045
00046 class FL_API Fl_No_Label : public Fl_Labeltype_ {
00047 public:
00048 Fl_No_Label(const char * n) : Fl_Labeltype_(n) {}
00049 virtual void draw(const char*, int,int,int,int, Fl_Color, Fl_Flags) const;
00050 };
00051 extern FL_API Fl_No_Label fl_no_label;
00052 #define FL_NO_LABEL (&fl_no_label)
00053
00054 class FL_API Fl_Symbol_Label : public Fl_Labeltype_ {
00055 public:
00056 Fl_Symbol_Label(const char * n) : Fl_Labeltype_(n) {}
00057 virtual void draw(const char*, int,int,int,int, Fl_Color, Fl_Flags) const;
00058 };
00059 extern FL_API const Fl_Symbol_Label fl_symbol_label;
00060 #define FL_SYMBOL_LABEL (&fl_symbol_label)
00061
00062 class FL_API Fl_Engraved_Label : public Fl_Labeltype_ {
00063 const int* data;
00064 public:
00065 Fl_Engraved_Label(const char * n, const int p[][3]) : Fl_Labeltype_(n), data((const int*)p) { }
00066 virtual void draw(const char*, int,int,int,int, Fl_Color, Fl_Flags) const;
00067 };
00068 extern FL_API const Fl_Engraved_Label fl_shadow_label;
00069 #define FL_SHADOW_LABEL (&fl_shadow_label)
00070 extern FL_API const Fl_Engraved_Label fl_engraved_label;
00071 #define FL_ENGRAVED_LABEL (&fl_engraved_label)
00072 extern FL_API const Fl_Engraved_Label fl_embossed_label;
00073 #define FL_EMBOSSED_LABEL (&fl_embossed_label)
00074
00075 #endif