sysd/include/delta.h

Go to the documentation of this file.
00001 /**
00002  * File Name  : delta.h
00003  *
00004  * Description: Delta driver for iOn platform
00005  */
00006 
00007 /*
00008  * This file is part of sysd.
00009  *
00010  * sysd is free software: you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation, either version 2 of the License, or
00013  * (at your option) any later version.
00014  *
00015  * sysd is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00018  * GNU General Public License for more details.
00019  *
00020  * You should have received a copy of the GNU General Public License
00021  * along with this program. If not, see <http://www.gnu.org/licenses/>.
00022  */
00023 
00024 /**
00025  * Copyright (C) 2008 iRex Technologies B.V.
00026  * All rights reserved.
00027  */
00028 
00029 #include <linux/ioctl.h>
00030 
00031 #define WAVEFORM_SIZE      (128*1024)
00032 
00033 #define DEPTH_1BPP      (1)
00034 #define DEPTH_2BPP         (2)
00035 #define DEPTH_4BPP      (4)
00036 
00037 #define WAVEFORM_4BPP_IMAGE   (1)
00038 #define WAVEFORM_DRAW           (4)
00039 
00040 struct display_update_info 
00041 {
00042     int waveform;
00043     int color;
00044 };
00045 
00046 struct point_info
00047 {
00048     unsigned short x;
00049     unsigned short y;
00050     unsigned char  size;
00051     unsigned char  color;
00052     unsigned char  pen_down;
00053 };
00054 
00055 struct wave_info
00056 {
00057     int wave_type;
00058     unsigned long size;
00059     char *wave;
00060 };    
00061 
00062 #define PIXELBUFSIZE 25
00063 struct transfer_buffer 
00064 {
00065         unsigned int count;
00066         struct point_info point_list [PIXELBUFSIZE];
00067 };
00068 
00069 struct brush_draw_info
00070 {
00071         /* Parameters refering to the brush source picture, as stored in the DELTA SRAM */
00072         unsigned short sourcex;
00073         unsigned short sourcey;
00074         unsigned short sizex;
00075         unsigned short sizey;
00076         /* Parameters refering to the destination position of the brush on the screen. */
00077         unsigned short destx;
00078         unsigned short desty;
00079         /* Parameter that specifies the two LSB's of the brush. 
00080          * The MSB's are specified by the brush image as stored in the DELTA SRAM 
00081          */
00082         unsigned short brushlsb;
00083 };
00084 
00085 struct busy_info
00086 {
00087     unsigned short delay;
00088     unsigned short x;
00089     unsigned short y;
00090 };
00091 
00092 #define FBIO_DELTA_BASE                   'v'
00093 #define FBIO_DELTA_UPDATE_DISPLAY         _IOW(FBIO_DELTA_BASE, 1, struct display_update_info)
00094 #define FBIO_DELTA_ERASE                  _IOW(FBIO_DELTA_BASE, 2, struct display_update_info)
00095 #define FBIO_DELTA_DRAWMODE_PIXELS        _IOW(FBIO_DELTA_BASE, 3, struct transfer_buffer)
00096 #define FBIO_DELTA_BUSY                _IOW(FBIO_DELTA_BASE, 4, struct busy_info) 
00097 #define FBIO_DELTA_PROGRESS            _IOW(FBIO_DELTA_BASE, 5, int)
00098 #define FBIO_DRAW_BRUSH_GENERIC         _IOW(FBIO_DELTA_BASE, 9, struct brush_draw_info)
00099 #define FBIO_DELTA_REDRAW              _IOW(FBIO_DELTA_BASE, 10, struct display_update_info)
00100 /* Temporary experimental IOCTLs */
00101 #define FBIO_DELTA_UPLOADWAVES          _IOW(FBIO_DELTA_BASE, 1001, struct wave_info)
00102 #define FBIO_DETA_VCOM_SET              _IOW(FBIO_DELTA_BASE, 1002, signed long)
00103 #define FBIO_DELTA_INIT                 _IOR(FBIO_DELTA_BASE, 1004, int)
Generated by  doxygen 1.6.2-20100208