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

blit_mga.h

Go to the documentation of this file.
00001 /*
00002         $Id: blit_mga.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 
00016 #ifndef header_blit_mga
00017 #define header_blit_mga
00018 
00019 #ifdef USE_FBDEV
00020 
00021 #include "../Generic/blitters.h"
00022 #include "display_fbdev.h"
00023 
00024 class CL_Blit_AlphaMask_RLE;
00025 
00026 class CL_Blit_MGA :
00027         public CL_Blit_NoClip,
00028         public CL_Blit_Clip,
00029         public CL_Blit_Scale_NoClip,
00030         public CL_Blit_Scale_Clip
00031 {
00032 public:
00033         CL_Blit_MGA(CL_FBDev_DisplayCard *card, CL_SurfaceProvider *provider, volatile unsigned char *mmioaddr);
00034         virtual ~CL_Blit_MGA();
00035 
00036         bool init_surface(CL_Blitters *blitters);
00037 
00038         virtual void blt_noclip(
00039                 CL_Target *target,
00040                 int x,
00041                 int y,
00042                 int spr_no);
00043 
00044         virtual void blt_clip(
00045                 CL_Target *target,
00046                 int x,
00047                 int y,
00048                 int spr_no,
00049                 const CL_ClipRect &clip);
00050         
00051         virtual void blt_scale_noclip(
00052                 CL_Target *target,
00053                 int x,
00054                 int y,
00055                 int dest_width,
00056                 int dest_height,
00057                 int spr_no);
00058 
00059         virtual void blt_scale_clip(
00060                 CL_Target *target,
00061                 int x,
00062                 int y,
00063                 int dest_width,
00064                 int dest_height,
00065                 int spr_no,
00066                 const CL_ClipRect &clip);
00067 
00068         static void reload_all_surfaces();
00069 
00070 private:
00071         CL_FBDev_DisplayCard *m_card;
00072         CL_SurfaceProvider *m_provider;
00073         bool m_transparent;
00074         unsigned int m_transcol;
00075         unsigned int m_width, m_height;
00076         unsigned int m_store, m_size;
00077         
00078         volatile unsigned char *m_mmioaddr;
00079 
00080         CL_Blit_AlphaMask_RLE *m_alphablitter;
00081 
00082         bool reload(bool lock_provider, bool create_surface);
00083 
00084         static std::list<CL_Blit_MGA*> m_loaded_surfaces;
00085 };
00086 
00087 #endif
00088 
00089 #endif

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