graphlcd-base/glcddrivers/framebuffer.h
author root@rika
Wed, 06 Feb 2008 17:32:55 +0000
changeset 4 df6a40031aa5
permissions -rw-r--r--
added graphlcd-base
     1 /*
     2  * GraphLCD driver library
     3  *
     4  * framebuffer.h  -  framebuffer device
     5  *                   Output goes to a framebuffer device
     6  *
     7  * This file is released under the GNU General Public License. Refer
     8  * to the COPYING file distributed with this package.
     9  *
    10  * (c) 2004 Stephan Skrodzki
    11  */
    12 
    13 #ifndef _GLCDDRIVERS_FRAMEBUFFER_H_
    14 #define _GLCDDRIVERS_FRAMEBUFFER_H_
    15 
    16 #include "driver.h"
    17 #include <linux/fb.h>
    18 
    19 
    20 namespace GLCD
    21 {
    22 
    23 class cDriverConfig;
    24 
    25 class cDriverFramebuffer : public cDriver
    26 {
    27 private:
    28     unsigned char ** LCD;
    29     cDriverConfig * config;
    30     cDriverConfig * oldConfig;
    31     char *offbuff;
    32     int fbfd;
    33     struct fb_var_screeninfo vinfo;
    34     struct fb_fix_screeninfo finfo;
    35     long int screensize;
    36     void *fbp;
    37     int zoom;
    38 
    39     int CheckSetup();
    40     void SetPixel(int x, int y);
    41 
    42 public:
    43     cDriverFramebuffer(cDriverConfig * config);
    44     virtual ~cDriverFramebuffer();
    45 
    46     virtual int Init();
    47     virtual int DeInit();
    48 
    49     virtual void Clear();
    50     virtual void Set8Pixels(int x, int y, unsigned char data);
    51     virtual void Refresh(bool refreshAll = false);
    52 };
    53 
    54 } // end of namespace
    55 
    56 #endif