00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00021
00022 #ifndef header_sprite2
00023 #define header_sprite2
00024
00025 #include "generic_surfaceprovider.h"
00026 #include "../../Core/IOData/inputsource.h"
00027 #include "../../Core/IOData/inputsource_provider.h"
00028 #include "../Display/pixelformat.h"
00029
00030 class CL_Sprite2Provider : public CL_SurfaceProvider_Generic
00031 {
00032 protected:
00033 std::string surface_id;
00034 void *surface_data;
00035 int width, height, no_sprs, transcol;
00036 CL_Palette *palette;
00037 EPixelFormat pixelformat;
00038 unsigned int red_mask, green_mask, blue_mask, alpha_mask;
00039 unsigned int bpp;
00040 bool m_is_indexed;
00041
00042 void load_data(CL_InputSource *datafile);
00043
00044 public:
00045 CL_Sprite2Provider(CL_InputSource *source);
00046 CL_Sprite2Provider(
00047 CL_SurfaceProvider *src,
00048 int x, int y, int width, int height,
00049 int *tcols, int tcols_num);
00050 virtual ~CL_Sprite2Provider();
00051
00052 virtual unsigned int get_width() const;
00053
00054
00055 virtual unsigned int get_height() const;
00056
00057
00058 virtual unsigned int get_pitch() const;
00059
00060
00061 virtual unsigned int get_num_frames() const;
00062
00063
00064
00065
00066
00067 virtual CL_Palette *get_palette() const;
00068
00069
00070
00071 virtual bool uses_src_colorkey() const;
00072 virtual unsigned int get_src_colorkey() const;
00073
00074
00075 virtual bool is_indexed() const;
00076 virtual unsigned int get_red_mask() const;
00077 virtual unsigned int get_green_mask() const;
00078 virtual unsigned int get_blue_mask() const;
00079 virtual unsigned int get_alpha_mask() const;
00080 virtual unsigned int get_depth() const;
00081
00082 virtual void *get_data() const;
00083
00084
00085
00086 virtual void perform_lock();
00087
00088
00089
00090 virtual void perform_unlock();
00091
00092
00093 };
00094
00095 #endif