cgv
|
implements the image reader interface for bmp files More...
#include <bmp_reader.h>
Public Member Functions | |
bmp_reader () | |
default constructor | |
~bmp_reader () | |
close file in destructor | |
std::string | get_type_name () const |
overload to return the type name of this object | |
abst_image_reader * | clone () const |
construct a copy of the reader | |
const std::string & | get_last_error () const |
return a reference to the last error message | |
bool | read_palette (unsigned int i, const cgv::data::data_view &dv) |
read the i-th palette in case of a paletted file format, the standard implementation returns false | |
const char * | get_supported_extensions () const |
return a string containing a colon separated list of extensions that can be read with this reader | |
bool | open (const std::string &file_name, cgv::data::data_format &df, std::vector< cgv::data::data_format > *palette_formats) |
open the file and read the image header in order to determine the data format | |
bool | supports_per_line_read () const |
whether the reader supports per line reading (only valid after successful opening an image file | |
bool | read_line (const cgv::data::data_format &df, const cgv::data::data_view &dv) |
read the next line into the given data pointer, set data format if not yet specified and allocate the data ptr if not yet done | |
bool | read_image (const cgv::data::data_format &df, const cgv::data::data_view &dv) |
read the whole image into the given data pointer, set data format if not yet specified and allocate the data ptr if not yet done. If image file has not been opened yet, open it and close it after reading | |
bool | close () |
close the image file | |
![]() | |
virtual bool | supports_multiple_images () const |
whether the file can contain several images | |
virtual unsigned | get_nr_images () const |
return the number of images in the file, what can cause the whole file to be scanned | |
virtual float | get_image_duration () const |
return the duration of the current image in seconds, if returned value is 0, no duration is available | |
virtual unsigned | get_current_image () const |
return the index of the current image | |
virtual bool | seek_image (unsigned idx) |
jump to a specific image and return whether this was successful | |
![]() | |
virtual std::string | get_default_options () const |
overload to provide default options for registration | |
std::string | get_name_or_type_name () const |
determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name() | |
virtual void | on_register () |
overload to handle register events that is sent after the instance has been registered | |
virtual void | unregister () |
overload to handle unregistration of instances | |
virtual bool | on_exit_request () |
overload to handle the appication exit request, return true if exiting is allowed and false otherwise | |
virtual void | stream_stats (std::ostream &) |
overload to show the content of this object | |
virtual data::ref_ptr< named, true > | get_named () |
perform downcast to named | |
virtual data::ref_ptr< node, true > | get_node () |
perform downcast to node | |
virtual data::ref_ptr< group, true > | get_group () |
perform downcast to group | |
virtual data::ref_ptr< const named, true > | get_named_const () const |
perform downcast to const named | |
virtual data::ref_ptr< const node, true > | get_node_const () const |
perform downcast to const node | |
virtual data::ref_ptr< const group, true > | get_group_const () const |
perform downcast to const group | |
template<class T > | |
data::ref_ptr< T, true > | cast () |
cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
data::ref_ptr< const T, true > | cast_const () |
const cast to arbitrary class, but use the casts to named, node and group from the interface | |
template<class T > | |
T * | get_interface () |
use dynamic type cast to check for the given interface | |
template<class T > | |
const T * | get_const_interface () const |
use dynamic type cast to check for the given interface | |
virtual void | update () |
this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty. | |
virtual void * | get_user_data () const |
this virtual method allows to pass application specific data for internal purposes | |
virtual bool | self_reflect (cgv::reflect::reflection_handler &) |
used for simple self reflection | |
virtual std::string | get_property_declarations () |
return a semicolon separated list of property declarations | |
virtual bool | set_void (const std::string &property, const std::string &value_type, const void *value_ptr) |
abstract interface for the setter of a dynamic property. | |
virtual void | on_set (void *member_ptr) |
this callback is called when the set_void method has changed a member and can be overloaded in derived class | |
virtual bool | get_void (const std::string &property, const std::string &value_type, void *value_ptr) |
abstract interface for the getter of a dynamic property. | |
virtual bool | call_void (const std::string &method, const std::vector< std::string > ¶m_value_types, const std::vector< const void * > ¶m_value_ptrs, const std::string &result_type="", void *result_value_ptr=0) |
abstract interface to call an action | |
void | set (const std::string &property, const char *value) |
specialization of set method to support const char* as strings | |
template<typename T > | |
void | set (const std::string &property, const T &value) |
set a property of the element to the given value and perform standard conversions if necessary. | |
template<typename T > | |
T | get (const std::string &property) |
query a property of the element and perform standard conversions if necessary. | |
void | multi_set (const std::string &property_assignments, bool report_error=true) |
set several properties | |
bool | is_property (const std::string &property_name, std::string *type_name=0) |
check if the given name specifies a property. | |
void * | find_member_ptr (const std::string &property_name, std::string *type_name=0) |
find a member pointer by name. | |
![]() | |
int | get_ref_count () const |
read access to current count | |
Protected Attributes | |
FILE * | fp |
std::string | last_error |
std::vector< unsigned char > | palette |
Additional Inherited Members | |
![]() | |
virtual | ~base () |
make destructor virtual and not accessible from outside | |
![]() | |
ref_counted () | |
constructor initializes the count to 0 | |
void | set_ref_count (int c) const |
write access is also const to allow ref counted pointers to const instances | |
![]() | |
template<class T > | |
static data::ref_ptr< T, true > | cast_dynamic (base *b) |
use dynamic cast for upcast to given class | |
implements the image reader interface for bmp files
Definition at line 13 of file bmp_reader.h.
cgv::media::image::bmp_reader::bmp_reader | ( | ) |
cgv::media::image::bmp_reader::~bmp_reader | ( | ) |
close file in destructor
Definition at line 22 of file bmp_reader.cxx.
|
virtual |
construct a copy of the reader
Implements cgv::media::image::abst_image_reader.
Definition at line 36 of file bmp_reader.cxx.
References bmp_reader().
|
virtual |
close the image file
Implements cgv::media::image::abst_image_reader.
Definition at line 221 of file bmp_reader.cxx.
Referenced by open().
|
virtual |
return a reference to the last error message
Implements cgv::media::image::abst_image_reader.
Definition at line 42 of file bmp_reader.cxx.
|
virtual |
return a string containing a colon separated list of extensions that can be read with this reader
Implements cgv::media::image::abst_image_reader.
Definition at line 48 of file bmp_reader.cxx.
|
virtual |
overload to return the type name of this object
Reimplemented from cgv::base::base.
Definition at line 30 of file bmp_reader.cxx.
|
virtual |
open the file and read the image header in order to determine the data format
Implements cgv::media::image::abst_image_reader.
Definition at line 58 of file bmp_reader.cxx.
References cgv::data::CF_RGB, close(), cgv::base::open_data_file(), and cgv::type::info::TI_UINT8.
|
virtual |
read the whole image into the given data pointer, set data format if not yet specified and allocate the data ptr if not yet done. If image file has not been opened yet, open it and close it after reading
Implements cgv::media::image::abst_image_reader.
Definition at line 213 of file bmp_reader.cxx.
References cgv::data::data_format::get_height(), and read_line().
|
virtual |
read the next line into the given data pointer, set data format if not yet specified and allocate the data ptr if not yet done
Implements cgv::media::image::abst_image_reader.
Definition at line 175 of file bmp_reader.cxx.
References cgv::data::data_view_base::get_format(), cgv::data::component_format::get_nr_components(), cgv::data::data_view_impl< D, P >::get_ptr(), and cgv::data::data_format::get_width().
Referenced by read_image().
|
virtual |
read the i-th palette in case of a paletted file format, the standard implementation returns false
Reimplemented from cgv::media::image::abst_image_reader.
Definition at line 155 of file bmp_reader.cxx.
References cgv::data::data_view_impl< D, P >::get_ptr().
|
virtual |
whether the reader supports per line reading (only valid after successful opening an image file
Implements cgv::media::image::abst_image_reader.
Definition at line 170 of file bmp_reader.cxx.
|
protected |
Definition at line 16 of file bmp_reader.h.
|
protected |
Definition at line 17 of file bmp_reader.h.
|
protected |
Definition at line 18 of file bmp_reader.h.