00001
00002 #ifndef vil1_block_cache_image_impl_h_
00003 #define vil1_block_cache_image_impl_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011 #include <vil1/vil1_image_impl.h>
00012 #include <vil1/vil1_image.h>
00013 #include <vcl_string.h>
00014
00015
00016 class vil1_block_cache_image_impl : public vil1_image_impl
00017 {
00018 public:
00019
00020
00021 vil1_block_cache_image_impl(vil1_image , unsigned blocksizex, unsigned blocksizey);
00022
00023
00024 ~vil1_block_cache_image_impl();
00025
00026
00027 int planes() const { return base.planes(); }
00028
00029
00030 int width() const { return base.width(); }
00031
00032
00033 int height() const { return base.height(); }
00034
00035
00036 int components() const { return base.components(); }
00037
00038
00039 int bits_per_component() const { return base.bits_per_component(); }
00040
00041
00042 vil1_component_format component_format() const { return base.component_format(); }
00043
00044
00045 vil1_image get_plane(unsigned int p) const;
00046
00047
00048 bool get_section(void *buf, int x0, int y0, int w, int h) const;
00049
00050
00051 bool put_section(void const *buf, int x0, int y0, int w, int h);
00052
00053
00054 bool get_property(char const *tag, void *property_value_out = 0) const;
00055
00056
00057 virtual vcl_string is_a() const;
00058
00059
00060 virtual bool is_class(vcl_string const&) const;
00061
00062 private:
00063
00064 vil1_image base;
00065
00066
00067 unsigned block_size_x;
00068 unsigned block_size_y;
00069 };
00070
00071
00072
00073 #endif // vil1_block_cache_image_impl_h_