Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

cardsurface_blitter.h

Go to the documentation of this file.
00001 /*
00002         $Id: cardsurface_blitter.h,v 1.1 2001/03/06 15:09:17 mbn Exp $
00003 
00004         ------------------------------------------------------------------------
00005         ClanLib, the platform independent game SDK.
00006 
00007         This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
00008         version 2. See COPYING for details.
00009 
00010         For a total list of contributers see CREDITS.
00011 
00012         ------------------------------------------------------------------------
00013 */
00014 
00015 #ifndef header_cardsurface_blitter
00016 #define header_cardsurface_blitter
00017 
00018 #include "cardsurface.h"
00019 #include "blitters.h"
00020 class CL_DisplayCard_Generic;
00021 
00022 class CL_CardSurface_Blitter : public CL_CardSurface
00023 {
00024 public:
00025         CL_CardSurface_Blitter(
00026                 CL_DisplayCard_Generic *target,
00027                 CL_SurfaceProvider *provider,
00028                 bool dynamic = false);
00029         virtual ~CL_CardSurface_Blitter();
00030 
00031         virtual bool reload();
00032 
00033         virtual bool can_convert_video();
00034         virtual bool can_convert_system();
00035 
00036         virtual bool convert_video();
00037         virtual bool convert_system();
00038 
00039         virtual void put_screen(
00040                 int x,
00041                 int y,
00042                 int spr_no,
00043                 CL_Target *target);
00044                 
00045         virtual void put_screen(
00046                 int x,
00047                 int y,
00048                 float scale_x,
00049                 float scale_y,
00050                 int spr_no,
00051                 CL_Target *target);
00052 
00053         virtual void put_screen(
00054                 int x,
00055                 int y,
00056                 int size_x,
00057                 int size_y,
00058                 int spr_no,
00059                 CL_Target *target);
00060         
00061         virtual bool is_video();
00062 
00063 protected:
00064         virtual CL_Target *get_target();
00065         virtual CL_ClipRect get_clip_rect();
00066 
00067         int get_width() { return m_width; }
00068         int get_height() { return m_height; }
00069         int get_no_sprs() { return m_no_sprs; }
00070         
00071         bool is_dynamic() { return m_dynamic; }
00072 
00073 private:
00074         void create_sw_blitters();
00075 
00076         CL_Blitters m_blitters;
00077         CL_DisplayCard_Generic *m_target;
00078         
00079         int m_width;
00080         int m_height;
00081         int m_no_sprs;
00082         bool m_dynamic;
00083 };
00084 
00085 #endif

Generated at Wed Apr 4 19:53:59 2001 for ClanLib by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001