rasdaman API
bmp.hh
Go to the documentation of this file.
1 /*
2 * This file is part of rasdaman community.
3 *
4 * Rasdaman community is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
8 *
9 * Rasdaman community is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
18 rasdaman GmbH.
19 *
20 * For more information please see <http://www.rasdaman.org>
21 * or contact Peter Baumann via <baumann@rasdaman.com>.
22 /
36 #ifndef _R_CONV_BMP_HH_
37 #define _R_CONV_BMP_HH_
38 
39 #include "conversion/convertor.hh"
40 
41 
42 
43 //@ManMemo: Module {\bf conversion}
44 
45 /*@Doc:
46  BMP convertor class.
47  Completely native implementation, doesn't use external libs.
48  memfs is used differently here, therefore the class is derived
49  directly from r_Convertor rather than r_Convert_Memory.
50 
51  Supported parameters are
52 
53  \begin{tabular}{lcl}
54  compress && int && Use compression (8bpp only)
55  \end{tabular}
56 */
57 
58 class r_Conv_BMP : public r_Convertor
59 {
60 public:
62  r_Conv_BMP( const char *src, const r_Minterval &interv, const r_Type *tp ) throw(r_Error);
64  r_Conv_BMP( const char *src, const r_Minterval &interv, int tp ) throw(r_Error);
66  ~r_Conv_BMP( void );
67 
69  virtual r_convDesc &convertTo( const char *options=NULL ) throw(r_Error);
71  virtual r_convDesc &convertFrom( const char *options=NULL ) throw(r_Error);
73  virtual r_Convertor *clone( void ) const;
75  virtual const char *get_name( void ) const;
76  virtual r_Data_Format get_data_format( void ) const;
77 
78 
79 private:
81  void initBMP( void );
83  unsigned char *flushLiterals(int numLit, int pixelAdd, unsigned char *dest, const unsigned char *lastLit, const unsigned char *mapColours);
84 
85  memFSContext *memFS;
86 
88  int compress;
89 };
90 
91 #endif
Definition: error.hh:88
Definition: type.hh:56
Definition: convertor.hh:111
virtual const char * get_name(void) const
identification
Definition: bmp.hh:58
virtual r_convDesc & convertTo(const char *options=NULL)
convert to BMP
virtual r_Data_Format get_data_format(void) const
~r_Conv_BMP(void)
destructor
r_Data_Format
Definition: mddtypes.hh:133
virtual r_Convertor * clone(void) const
cloning
r_Conv_BMP(const char *src, const r_Minterval &interv, const r_Type *tp)
constructor using an r_Type object
virtual r_convDesc & convertFrom(const char *options=NULL)
convert from BMP
Definition: memfs.h:48
Definition: convertor.hh:56
Definition: minterval.hh:249