00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef INCL_PLANYBMP
00012 #define INCL_PLANYBMP
00013
00014 #ifndef INCL_PLBITMAP
00015 #include "plbitmap.h"
00016 #endif
00017
00022 class PLAnyBmp : public PLBmp
00023 {
00024
00025 public:
00027 PLAnyBmp
00028 ();
00029
00031 virtual ~PLAnyBmp
00032 ();
00033
00035 PLAnyBmp
00036 ( const PLBmp &Orig
00037 );
00038
00040 PLAnyBmp
00041 ( const PLAnyBmp &Orig
00042 );
00043
00045 PLAnyBmp &operator=
00046 ( const PLBmp &Orig
00047 );
00048
00050 PLAnyBmp &operator=
00051 ( const PLAnyBmp &Orig
00052 );
00053
00054
00055
00057 long GetMemUsed
00058 ();
00059
00061 long GetBytesPerLine
00062 ();
00063
00064
00065
00066
00068 static long GetMemNeeded
00069 ( PLLONG width,
00070 PLLONG height,
00071 PLWORD BitsPerPixel
00072 );
00073
00075 static long GetBitsMemNeeded
00076 ( PLLONG width,
00077 PLLONG height,
00078 PLWORD BitsPerPixel
00079 );
00080
00081
00082 protected:
00083
00084
00085
00086
00087 virtual void internalCreate
00088 ( PLLONG Width,
00089 PLLONG Height,
00090 PLWORD BitsPerPixel,
00091 bool bAlphaChannel
00092 );
00093
00094
00095 virtual void freeMembers
00096 ();
00097
00098
00099 virtual void initLineArray
00100 ();
00101
00102 PLBYTE * m_pBits;
00103 };
00104
00105
00106
00107
00108 inline PLAnyBmp::PLAnyBmp
00109 ( const PLAnyBmp &Orig
00110 )
00111 : PLBmp ()
00112 {
00113 internalCopy (Orig);
00114 }
00115
00116 inline PLAnyBmp::PLAnyBmp
00117 ( const PLBmp &Orig
00118 )
00119 : PLBmp ()
00120 {
00121 internalCopy (Orig);
00122 }
00123
00124 inline PLAnyBmp & PLAnyBmp::operator=
00125 ( const PLBmp &Orig
00126 )
00127 {
00128 PLBmp::operator=(Orig);
00129 return *this;
00130 }
00131
00132 inline PLAnyBmp & PLAnyBmp::operator=
00133 ( const PLAnyBmp &Orig
00134 )
00135 {
00136 PLBmp::operator=(Orig);
00137 return *this;
00138 }
00139
00140
00141 #endif
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184