Go to the documentation of this file.00001
00002 #ifndef vgui_image_tableau_h_
00003 #define vgui_image_tableau_h_
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <vgui/vgui_tableau.h>
00020 #include <vgui/vgui_image_tableau_sptr.h>
00021 #include <vgui/vgui_range_map_params_sptr.h>
00022 class vgui_image_renderer;
00023 class vil1_image;
00024 #include <vil/vil_image_resource_sptr.h>
00025
00026 class vgui_vil_image_renderer;
00027 #include <vil/vil_image_view_base.h>
00028
00029
00030 struct vgui_image_tableau_new;
00031
00032
00033 class vgui_image_tableau
00034 : public vgui_tableau
00035 {
00036 protected:
00037 vcl_string name_;
00038 bool pixels_centered_;
00039 vgui_range_map_params_sptr rmp_;
00040 vgui_image_renderer* renderer_;
00041 vgui_vil_image_renderer* vil_renderer_;
00042
00043 public:
00044
00045 vcl_string type_name() const;
00046
00047
00048
00049
00050 vcl_string file_name() const;
00051
00052
00053
00054 void set_file_name( const vcl_string & fn ) { name_ = fn; }
00055
00056
00057 vcl_string pretty_name() const;
00058
00059
00060 virtual vil1_image get_image() const;
00061
00062
00063 virtual vil_image_view_base_sptr get_image_view() const;
00064
00065
00066 virtual vil_image_resource_sptr get_image_resource() const;
00067
00068
00069 virtual void set_image( vil1_image const &img,
00070 vgui_range_map_params_sptr const& rmp);
00071
00072
00073 virtual void set_image_view( vil_image_view_base const& img,
00074 vgui_range_map_params_sptr const& rmp);
00075
00076
00077 virtual void set_image_resource( vil_image_resource_sptr const& img,
00078 vgui_range_map_params_sptr const& rmp);
00079
00080
00081 virtual void set_image( vil1_image const &img);
00082
00083
00084 virtual void set_image_view( vil_image_view_base const& img);
00085
00086
00087 virtual void set_image_resource( vil_image_resource_sptr const& img);
00088
00089
00090
00091
00092 virtual void set_image_view( char const* filename,
00093 vgui_range_map_params_sptr const& rmp = 0);
00094
00095
00096
00097
00098 virtual void set_image( char const* filename,
00099 vgui_range_map_params_sptr const& rmp = 0);
00100
00101
00102 virtual void reread_image();
00103
00104
00105 virtual unsigned width() const;
00106
00107
00108 virtual unsigned height() const;
00109
00110
00111 virtual bool get_bounding_box( float low[3], float high[3] ) const;
00112
00113
00114
00115
00116 void center_pixels( bool v = true ) { pixels_centered_ = v; }
00117
00118
00119
00120
00121
00122
00123
00124
00125 virtual void set_mapping(vgui_range_map_params_sptr const& rmp);
00126
00127 vgui_range_map_params_sptr map_params(){return rmp_;}
00128
00129
00130
00131
00132 virtual bool handle( vgui_event const& e );
00133
00134
00135
00136 virtual void get_popup(const vgui_popup_params&, vgui_menu &m);
00137
00138 protected:
00139 friend struct vgui_image_tableau_new;
00140
00141
00142
00143 vgui_image_tableau();
00144
00145
00146
00147 vgui_image_tableau( vil1_image const& img, vgui_range_map_params_sptr const& rmp = 0);
00148
00149
00150
00151 vgui_image_tableau( vil_image_view_base const& img,
00152 vgui_range_map_params_sptr const& rmp = 0);
00153
00154
00155
00156 vgui_image_tableau( vil_image_resource_sptr const& img,
00157 vgui_range_map_params_sptr const& rmp = 0);
00158
00159
00160
00161
00162 vgui_image_tableau( char const* filename,
00163 vgui_range_map_params_sptr const& rmp = 0);
00164
00165 protected:
00166
00167 virtual ~vgui_image_tableau();
00168 };
00169
00170
00171 struct vgui_image_tableau_new
00172 : public vgui_image_tableau_sptr
00173 {
00174
00175 vgui_image_tableau_new()
00176 : vgui_image_tableau_sptr( new vgui_image_tableau )
00177 { }
00178
00179
00180 vgui_image_tableau_new( vil1_image const &t,
00181 vgui_range_map_params_sptr const& rmp = 0 )
00182 : vgui_image_tableau_sptr( new vgui_image_tableau(t, rmp) )
00183 { }
00184
00185
00186 vgui_image_tableau_new( vil_image_view_base const& t,
00187 vgui_range_map_params_sptr const& rmp = 0 )
00188 : vgui_image_tableau_sptr( new vgui_image_tableau(t, rmp) )
00189 { }
00190
00191
00192 vgui_image_tableau_new( vil_image_resource_sptr const& t,
00193 vgui_range_map_params_sptr const& rmp = 0 )
00194 : vgui_image_tableau_sptr( new vgui_image_tableau(t, rmp) )
00195 { }
00196
00197
00198
00199
00200 vgui_image_tableau_new(char const *f,
00201 vgui_range_map_params_sptr const& rmp = 0)
00202 : vgui_image_tableau_sptr( new vgui_image_tableau(f, rmp) )
00203 { }
00204 };
00205
00206 #endif // vgui_image_tableau_h_