00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef header_target_fbdev
00016 #define header_target_fbdev
00017
00018 #ifdef USE_FBDEV
00019
00020 #include <linux/fb.h>
00021
00022 #include "API/Display/Display/target.h"
00023
00024 class CL_Target_FBDev : public CL_Target
00025 {
00026 public:
00027 CL_Target_FBDev( bool doublebuffer, char *fb, unsigned int width, unsigned int height, fb_var_screeninfo *var, volatile unsigned char *mmioaddr );
00028 virtual ~CL_Target_FBDev();
00029
00030 virtual void lock();
00031 virtual void unlock();
00032
00033 virtual void *get_data() const;
00034
00035 virtual unsigned int get_width() const;
00036 virtual unsigned int get_height() const;
00037 virtual unsigned int get_pitch() const;
00038
00039 virtual bool is_indexed() const;
00040 virtual unsigned int get_depth() const;
00041 virtual unsigned int get_red_mask() const;
00042 virtual unsigned int get_green_mask() const;
00043 virtual unsigned int get_blue_mask() const;
00044 virtual unsigned int get_alpha_mask() const;
00045 virtual unsigned int get_num_frames() const { return 1; }
00046
00047 virtual CL_Palette *get_palette() const;
00048
00049 virtual void put_image();
00050
00051 virtual bool is_video();
00052
00053 protected:
00054 volatile unsigned char *m_mmioaddr;
00055 fb_var_screeninfo* m_var;
00056 bool m_doublebuffer;
00057 int buffer;
00058 unsigned int m_width;
00059 unsigned int m_height;
00060 unsigned int m_skip;
00061 char* m_fb;
00062 char* image_data;
00063 unsigned int image_size;
00064 };
00065
00066 #endif
00067
00068 #endif