00001
00008 #ifndef __RenderingEngine_hpp__
00009 #define __RenderingEngine_hpp__
00010
00011 #include "global.hpp"
00012 #include "SDL.h"
00013 #ifdef WIN32
00014 #else
00015 #include <qmutex.h>
00016 #endif
00017
00018 class RenderingEngine {
00019
00020 public:
00021 typedef enum { UP_AND_DOWN, SIDE_BY_SIDE } Layout;
00022
00023 RenderingEngine(int x, int y, long yBO, long uBO, long vBO, long yS,
00024 long uvS, bool two = false, Layout l = UP_AND_DOWN);
00025
00026 void show(char *buffer, int delay = 0);
00027 void show(char *buffer1, char *buffer2, int delay = 0);
00028 ~RenderingEngine() {
00029 };
00030
00031 private:
00032 int width;
00033 int height;
00034
00035 Layout layout;
00036
00037 long ySize;
00038 long uvSize;
00039 long bufOffsetY;
00040 long bufOffsetU;
00041 long bufOffsetV;
00042
00043 int video_bpp;
00044 const SDL_VideoInfo *video_info;
00045 SDL_Rect m_dstrect;
00046 SDL_Overlay *m_image;
00047 SDL_Surface *m_screen;
00048 };
00049
00050
00051 #endif