Go to the documentation of this file.00001
00002 #ifndef vgui_text_tableau_h_
00003 #define vgui_text_tableau_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <vcl_string.h>
00026 #include <vgui/vgui_tableau.h>
00027 #include <vgui/vgui_text_tableau_sptr.h>
00028
00029
00030
00031
00032
00033
00034
00035
00036 class vgui_text_tableau : public vgui_tableau
00037 {
00038 public:
00039
00040
00041 vgui_text_tableau();
00042
00043
00044 void clear();
00045
00046
00047 unsigned size() const;
00048
00049
00050 vcl_string type_name() const;
00051
00052
00053 int add(float x, float y, char const *text);
00054
00055
00056 int add(float x, float y, vcl_string const &text) { return add(x,y,text.c_str()); }
00057
00058
00059 void set_colour(float r, float g, float b);
00060
00061
00062
00063
00064 void set_size( unsigned sz );
00065
00066
00067 float get_posx(int hndl) const;
00068
00069
00070 float get_posy(int hndl) const;
00071
00072
00073 vcl_string const &get_text(int hndl) const;
00074
00075
00076 void move(int hndl, float nx, float ny);
00077
00078
00079 void change(int hndl, char const *ntext);
00080
00081
00082 void change(int hndl, vcl_string const &ntext) { change(hndl, ntext.c_str()); }
00083
00084
00085 void remove(int hndl);
00086
00087
00088
00089 bool handle(vgui_event const &);
00090
00091 protected:
00092
00093 ~vgui_text_tableau() { }
00094
00095 private:
00096 vcl_vector<float> xs;
00097 vcl_vector<float> ys;
00098 vcl_vector<float> r_, g_, b_;
00099 vcl_vector<vcl_string> ts;
00100 vcl_vector<unsigned> sz_;
00101
00102 float cur_r_, cur_g_, cur_b_;
00103 unsigned cur_sz_;
00104
00105
00106 unsigned first_empty;
00107 };
00108
00109
00110 struct vgui_text_tableau_new : public vgui_text_tableau_sptr
00111 {
00112 typedef vgui_text_tableau_sptr base;
00113
00114
00115 vgui_text_tableau_new() : base(new vgui_text_tableau()) { }
00116 };
00117
00118 #endif // vgui_text_tableau_h_