25 static const char *
const extensions_bmp[] = {
28 static const int num_extensions_bmp =
sizeof(extensions_bmp) /
sizeof(
const char *);
42 string PNMFileTypeBMP::
52 get_num_extensions()
const {
53 return num_extensions_bmp;
60 string PNMFileTypeBMP::
61 get_extension(
int n)
const {
62 nassertr(n >= 0 && n < num_extensions_bmp,
string());
63 return extensions_bmp[n];
70 string PNMFileTypeBMP::
71 get_suggested_extension()
const {
80 has_magic_number()
const {
90 matches_magic_number(
const string &magic_number)
const {
91 nassertr(magic_number.size() >= 2,
false);
92 return (magic_number.substr(0, 2) ==
"BM");
101 make_reader(std::istream *file,
bool owns_file,
const string &magic_number) {
103 return new Reader(
this, file, owns_file, magic_number);
112 make_writer(std::ostream *file,
bool owns_file) {
114 return new Writer(
this, file, owns_file);
121 void PNMFileTypeBMP::
122 register_with_read_factory() {
124 register_factory(get_class_type(), make_PNMFileTypeBMP);
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
Base class for objects that can be written to and read from Bam files.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
static PNMFileTypeRegistry * get_global_ptr()
Returns a pointer to the global PNMFileTypeRegistry object.
An instance of this class is passed to the Factory when requesting it to do its business and construc...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PNMFileType * get_type_by_handle(TypeHandle handle) const
Returns the PNMFileType instance stored in the registry for the given TypeHandle, e....
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
This is an abstract base class that defines the interface for reading image files of various types.
This is an abstract base class that defines the interface for writing image files of various types.
static WritableFactory * get_factory()
Returns the global WritableFactory for generating TypedWritable objects.
TypeHandle is the identifier used to differentiate C++ class types.