The Socrates Gameboy Advance Development Engine
The SGADE is a development library for the Nintendo Gameboy
Advance. It's free for all uses and is distributed without guarantees.
For more information visit
the SGADE page.
00001 // ---------------------------------------------------------------------------- 00013 // ---------------------------------------------------------------------------- 00014 00015 #ifndef SO_RENDERER_H 00016 #define SO_RENDERER_H 00017 00018 #ifdef __cplusplus 00019 extern "C" { 00020 #endif 00021 00022 00023 // ---------------------------------------------------------------------------- //! @{ 00033 // ---------------------------------------------------------------------------- 00034 00035 // ---------------------------------------------------------------------------- 00036 // Includes 00037 // ---------------------------------------------------------------------------- 00038 00039 #include "SoSystem.h" 00040 #include "SoMode4PolygonRasterizer.h" 00041 #include "SoFont.h" 00042 00043 // -------------------------------------------------------------------------- 00044 // Functions implemented in C (documentation in .C file). 00045 // -------------------------------------------------------------------------- 00046 00047 void SoMode4RendererEnable( void ); 00048 00049 void SoMode4RendererFlip( void ); 00050 00051 void SoMode4RendererClearFrontAndBackBuffer( void ); 00052 00053 void* SoMode4RendererGetBuffer( void ); 00054 00055 void SoMode4RendererDrawImage( const SoImage* a_Image ); 00056 void SoMode4RendererDrawTransparentImage( const SoImage* a_Image ); 00057 void SoMode4RendererDrawCrossFadeImage( const SoImage* a_Image0, const SoImage* a_Image1, u32 a_Fade ); 00058 00059 void SoMode4RendererDrawPixel( u32 a_X, u32 a_Y, u32 a_PalIndex ); 00060 00061 void SoMode4RendererDrawNumber( u32 a_LeftX, u32 a_RightX, u32 a_TopY, s32 a_Number, const SoImage* a_Font ); 00062 void SoMode4RendererDrawString( u32 a_LeftX, u32 a_RightX, u32 a_TopY, char* a_String, const SoImage* a_Font ); 00063 00064 00065 // -------------------------------------------------------------------------- 00066 // Functions implemented in assembly (documentation over here 00067 // cause Doxygen doesn't like assembly). 00068 // -------------------------------------------------------------------------- 00069 00070 // -------------------------------------------------------------------------- 00077 // -------------------------------------------------------------------------- 00078 void SoMode4RendererClear( void ); 00079 00080 // -------------------------------------------------------------------------- 00081 // EOF; 00082 // -------------------------------------------------------------------------- 00083 00084 00086 00087 #ifdef __cplusplus 00088 } // extern "C" 00089 #endif 00090 00091 #endif