717 lines
22 KiB
C
717 lines
22 KiB
C
/* $NetBSD: framebuf.h,v 1.2 1999/02/15 04:36:35 hubertf Exp $ */
|
|
/*
|
|
* Copyright (c) 1992, 1993
|
|
* The Regents of the University of California. All rights reserved.
|
|
*
|
|
* This code is derived from software contributed to Berkeley by
|
|
* Sony Corp. and Kazumasa Utashiro of Software Research Associates, Inc.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
* 3. All advertising materials mentioning features or use of this software
|
|
* must display the following acknowledgement:
|
|
* This product includes software developed by the University of
|
|
* California, Berkeley and its contributors.
|
|
* 4. Neither the name of the University nor the names of its contributors
|
|
* may be used to endorse or promote products derived from this software
|
|
* without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
* SUCH DAMAGE.
|
|
*
|
|
* from: $Hdr: framebuf.h,v 4.300 91/06/09 06:42:21 root Rel41 $ SONY
|
|
*
|
|
* @(#)framebuf.h 8.1 (Berkeley) 6/11/93
|
|
*/
|
|
|
|
#ifndef __FRAMEBUF__
|
|
#define __FRAMEBUF__ 1
|
|
|
|
typedef unsigned short Word;
|
|
|
|
#define BitsPerWord 16
|
|
|
|
typedef struct {
|
|
short x, y;
|
|
} sPoint;
|
|
|
|
typedef struct {
|
|
int x, y;
|
|
} lPoint;
|
|
|
|
typedef struct {
|
|
sPoint origin;
|
|
sPoint extent;
|
|
} sRectangle;
|
|
|
|
typedef struct {
|
|
lPoint origin;
|
|
lPoint extent;
|
|
} lRectangle;
|
|
|
|
typedef struct {
|
|
char type; /* BM_FB, BM_MEM, BM_0, BM_1 or BM_LBP */
|
|
char depth; /* bitmap depth */
|
|
unsigned short width; /* width in Words */
|
|
sRectangle rect; /* defined area */
|
|
Word *base; /* for BM_MEM */
|
|
} sBitmap;
|
|
|
|
typedef struct {
|
|
char type; /* BM_FB, BM_MEM, BM_0, BM_1 or BM_LBP */
|
|
char depth; /* bitmap depth */
|
|
unsigned short width; /* width in Words */
|
|
lRectangle rect; /* defined area */
|
|
Word *base; /* for BM_MEM */
|
|
} lBitmap;
|
|
|
|
#define BM_FB 0 /* frame buffer */
|
|
#define BM_MEM 1 /* bitmap in memory (XY format) */
|
|
#define BM_0 2 /* virtual bitmap of data '0' */
|
|
#define BM_1 3 /* virtual bitmap of data '1' */
|
|
#define BM_LBP 4 /* lbp page buffer (future support) */
|
|
|
|
/* 2 operand bitblt */
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
sBitmap srcBitmap; /* source bitmap */
|
|
sRectangle srcRect; /* source rectangle */
|
|
sBitmap destBitmap; /* destination bitmap */
|
|
sRectangle destClip; /* clip rectangle */
|
|
sPoint destPoint; /* destination point */
|
|
} sBitblt;
|
|
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
lBitmap srcBitmap; /* source bitmap */
|
|
lRectangle srcRect; /* source rectangle */
|
|
lBitmap destBitmap; /* destination bitmap */
|
|
lRectangle destClip; /* clip rectangle */
|
|
lPoint destPoint; /* destination point */
|
|
} lBitblt;
|
|
|
|
/* tile 2 operand bitblt */
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
sBitmap ptnBitmap; /* pattern bitmap */
|
|
sRectangle ptnRect; /* pattern rectangle */
|
|
sPoint refPoint; /* reference point */
|
|
sBitmap destBitmap; /* destination bitmap */
|
|
sRectangle destClip; /* clip rectangle */
|
|
sRectangle destRect; /* destination rectangle */
|
|
} sTileBitblt;
|
|
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
lBitmap ptnBitmap; /* pattern bitmap */
|
|
lRectangle ptnRect; /* pattern rectangle */
|
|
lPoint refPoint; /* reference point */
|
|
lBitmap destBitmap; /* destination bitmap */
|
|
lRectangle destClip; /* clip rectangle */
|
|
lRectangle destRect; /* destination rectangle */
|
|
} lTileBitblt;
|
|
|
|
/* 3 operand bitblt */
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
sBitmap ptnBitmap; /* pattern bitmap */
|
|
sRectangle ptnRect; /* pattern rectangle */
|
|
sPoint refPoint; /* reference point */
|
|
sBitmap srcBitmap; /* source bitmap */
|
|
sRectangle srcRect; /* source rectangle */
|
|
sBitmap destBitmap; /* destination bitmap */
|
|
sRectangle destClip; /* clip rectangle */
|
|
sPoint destPoint; /* destination point */
|
|
} sBitblt3;
|
|
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
lBitmap ptnBitmap; /* pattern bitmap */
|
|
lRectangle ptnRect; /* pattern rectangle */
|
|
lPoint refPoint; /* reference point */
|
|
lBitmap srcBitmap; /* source bitmap */
|
|
lRectangle srcRect; /* source rectangle */
|
|
lBitmap destBitmap; /* destination bitmap */
|
|
lRectangle destClip; /* clip rectangle */
|
|
lPoint destPoint; /* destination point */
|
|
} lBitblt3;
|
|
|
|
typedef struct {
|
|
sRectangle srcRect; /* source rectangle */
|
|
sPoint destPoint; /* destination point */
|
|
} sSrcDest;
|
|
|
|
typedef struct {
|
|
lRectangle srcRect; /* source rectangle */
|
|
lPoint destPoint; /* destination point */
|
|
} lSrcDest;
|
|
|
|
/*
|
|
* batch bitblt
|
|
*/
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
sBitmap srcBitmap; /* source bitmap */
|
|
sBitmap destBitmap; /* destination bitmap */
|
|
sRectangle destClip; /* clip rectangle */
|
|
int nSrcDest; /* number of src-dest in list */
|
|
sSrcDest *srcDestList; /* pointer to src-dest spec */
|
|
} sBatchBitblt;
|
|
|
|
typedef struct {
|
|
unsigned char func; /* function code */
|
|
char transp; /* transparency */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
lBitmap srcBitmap; /* source bitmap */
|
|
lBitmap destBitmap; /* destination bitmap */
|
|
lRectangle destClip; /* clip rectangle */
|
|
int nSrcDest; /* number of src-dest in list */
|
|
lSrcDest *srcDestList; /* pointer to src-dest spec */
|
|
} lBatchBitblt;
|
|
|
|
#define MAX_BATCHBITBLT 1024 /* max number in src-dest list */
|
|
|
|
/*
|
|
* set screen mode
|
|
*/
|
|
|
|
#define BLACK_ON_WHITE 0 /* white - 0, black - 1 (default) */
|
|
#define WHITE_ON_BLACK 1 /* white - 1, black - 0 */
|
|
|
|
/*
|
|
* graphic primitive drawing
|
|
*/
|
|
|
|
/* scan line array */
|
|
typedef struct {
|
|
short y;
|
|
short x0, x1; /* x0 <= x1 */
|
|
} sScanl;
|
|
|
|
typedef struct {
|
|
int y;
|
|
int x0, x1; /* x0 <= x1 */
|
|
} lScanl;
|
|
|
|
/* line */
|
|
typedef struct {
|
|
unsigned int lptn; /* line pattern */
|
|
short np; /* number of points */
|
|
sPoint *plist; /* point list */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
char dlpf; /* draw last point flag */
|
|
sRectangle clip; /* clip rectangle */
|
|
sBitmap drawBM; /* drawing bitmap */
|
|
} sPrimLine;
|
|
|
|
typedef struct {
|
|
unsigned int lptn; /* line pattern */
|
|
short np; /* number of points */
|
|
lPoint *plist; /* point list */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
char dlpf; /* draw last point flag */
|
|
lRectangle clip; /* clip rectangle */
|
|
lBitmap drawBM; /* drawing bitmap */
|
|
} lPrimLine;
|
|
|
|
/* rectangle filling */
|
|
typedef struct {
|
|
sRectangle rect; /* rectangle */
|
|
sPoint refPoint; /* fill reference point */
|
|
sRectangle ptnRect; /* pattern rectangle */
|
|
sBitmap ptnBM; /* pattern bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
sRectangle clip; /* clip rectangle */
|
|
sBitmap drawBM; /* drawing bitmap */
|
|
} sPrimRect;
|
|
|
|
typedef struct {
|
|
lRectangle rect; /* rectangle */
|
|
lPoint refPoint; /* fill reference point */
|
|
lRectangle ptnRect; /* pattern rectangle */
|
|
lBitmap ptnBM; /* pattern bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
lRectangle clip; /* clip rectangle */
|
|
lBitmap drawBM; /* drawing bitmap */
|
|
} lPrimRect;
|
|
|
|
/* pattern filling */
|
|
typedef struct {
|
|
short nscan; /* number of scan element */
|
|
sScanl *scan; /* scan line data */
|
|
sPoint refPoint; /* fill reference point */
|
|
sRectangle ptnRect; /* pattern rectangle */
|
|
sBitmap ptnBM; /* pattern bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
sRectangle clip; /* clip rectangle */
|
|
sBitmap drawBM; /* drawing bitmap */
|
|
} sPrimFill;
|
|
|
|
typedef struct {
|
|
short nscan; /* number of scan element */
|
|
lScanl *scan; /* scan line data */
|
|
lPoint refPoint; /* fill reference point */
|
|
lRectangle ptnRect; /* pattern rectangle */
|
|
lBitmap ptnBM; /* pattern bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
lRectangle clip; /* clip rectangle */
|
|
lBitmap drawBM; /* drawing bitmap */
|
|
} lPrimFill;
|
|
|
|
/* marker */
|
|
typedef struct {
|
|
short np; /* number of points */
|
|
sPoint *plist; /* point list */
|
|
sRectangle ptnRect; /* pattern rectangle */
|
|
sBitmap ptnBM; /* pattern bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
sRectangle clip; /* clip rectangle */
|
|
sBitmap drawBM; /* drawing bitmap */
|
|
} sPrimMarker;
|
|
|
|
typedef struct {
|
|
short np; /* number of points */
|
|
lPoint *plist; /* point list */
|
|
lRectangle ptnRect; /* pattern rectangle */
|
|
lBitmap ptnBM; /* pattern bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
lRectangle clip; /* clip rectangle */
|
|
lBitmap drawBM; /* drawing bitmap */
|
|
} lPrimMarker;
|
|
|
|
/* text */
|
|
#define MAX_STRING 1024
|
|
|
|
typedef struct {
|
|
char type; /* ROM-font, etc */
|
|
short len; /* string length (byte) */
|
|
unsigned char *str; /* string */
|
|
sPoint p;
|
|
int dx, dy; /* vector (16bit left shifted) */
|
|
char ex_factor; /* expansion factor */
|
|
sPoint fp; /* bitmap font upper-left */
|
|
short width, height; /* font width, font height */
|
|
short column; /* number of characters in a row */
|
|
unsigned short first_chr; /* first character code */
|
|
unsigned short last_chr; /* last character code */
|
|
sBitmap fontBM; /* font bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
sRectangle clip; /* clip rectangle */
|
|
sBitmap drawBM; /* drawing bitmap */
|
|
} sPrimText;
|
|
|
|
typedef struct {
|
|
int dx, dy; /* vector (16bit left shifted) */
|
|
lPoint fp; /* bitmap font upper-left */
|
|
short width, height; /* font width, font height */
|
|
short column; /* number of characters in a row */
|
|
unsigned short first_chr; /* first character code */
|
|
unsigned short last_chr; /* last character code */
|
|
lBitmap fontBM; /* font bitmap */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
lBitmap drawBM; /* drawing bitmap */
|
|
lRectangle clip; /* clip rectangle */
|
|
lPoint p; /* output position */
|
|
unsigned char *str; /* string */
|
|
short len; /* string length (byte) */
|
|
char type; /* ROM-font, etc */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
char ex_factor; /* expansion factor */
|
|
} lPrimText;
|
|
|
|
/* dot */
|
|
typedef struct {
|
|
short np; /* number of points */
|
|
sPoint *plist; /* point list */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
sRectangle clip; /* clip rectangle */
|
|
sBitmap drawBM; /* drawing bitmap */
|
|
} sPrimDot;
|
|
|
|
typedef struct {
|
|
short np; /* number of points */
|
|
lPoint *plist; /* point list */
|
|
int fore_color; /* foreground color */
|
|
int aux_color; /* auxiliary color */
|
|
int planemask; /* select plane */
|
|
char transp; /* transparency */
|
|
unsigned char func; /* rop function code */
|
|
lRectangle clip; /* clip rectangle */
|
|
lBitmap drawBM; /* drawing bitmap */
|
|
} lPrimDot;
|
|
|
|
/*
|
|
* screen type
|
|
*/
|
|
typedef struct {
|
|
short colorwidth; /* palette color width */
|
|
short plane; /* number of planes */
|
|
sRectangle bufferrect; /* framebuffer region */
|
|
sRectangle visiblerect; /* visible screen region */
|
|
} sScrType;
|
|
|
|
typedef struct {
|
|
short colorwidth; /* palette color width */
|
|
short plane; /* number of planes */
|
|
char type; /* device type */
|
|
char unit; /* unit no */
|
|
lRectangle bufferrect; /* framebuffer region */
|
|
lRectangle visiblerect; /* visible screen region */
|
|
} lScrType;
|
|
|
|
/* device type */
|
|
#define FB_NWB512 1 /* fb is B/W bitmap display (816x1024) */
|
|
#define FB_NWB225 2 /* fb is color bitmap display (1280x1024) */
|
|
#define FB_POPM 3 /* fb is B/W bitmap display (816x1024) */
|
|
#define FB_POPC 4 /* fb is color bitmap display (1024x768) */
|
|
#define FB_NWB514 5 /* fb is GrayScale bitmap display (1280x1280) */
|
|
#define FB_NWB251 6 /* fb is New color bitmap display (1280x1024) */
|
|
#define FB_LCDM 7 /* fb is lcd bitmap (1120x780) */
|
|
#define FB_LCDC 8 /* fb is LCD color bitmap display (?) */
|
|
#define FB_NWB518 9 /* fb is B/W bitmap display (1024x768) */
|
|
#define FB_NWB252 10 /* fb is color bitmap display (1024x768) */
|
|
#define FB_NWB253 11 /* fb is B/W bitmap display (816x1024) */
|
|
#define FB_NWB254 12 /* fb is color bitmap display (1024x768) */
|
|
#define FB_NWB255 13 /* fb is B/W bitmap display (1280x1280) */
|
|
#define FB_SLB101 14 /* fb is color bitmap display (1920x1035) */
|
|
#define FB_NWB256 15 /* fb is 3D-Rendaring Board (1280x1024) */
|
|
#define FB_NWB257 16 /* fb is color bitmap display (1280x1024) */
|
|
|
|
#define FB_NWB240 200 /* fb is A3 LPB/IR interface (3136x4516) */
|
|
#define FB_NWB241 201 /* fb is A4 LBP/IR interface (3904x5600) */
|
|
#define FB_NWB242 202 /* fb is A3 Image Processor (3136x4516) */
|
|
|
|
#define FB_FB2015 254 /* fb is full color big display (2048x1536) */
|
|
#define FB_FB2020 255 /* fb is full color big display (2048x2048) */
|
|
|
|
#define FB_MONO0 1 /* fb is B/W (compat-3.0) */
|
|
#define FB_COLOR0 2 /* fb is color (compat-3.0) */
|
|
|
|
/*
|
|
* color
|
|
*/
|
|
typedef struct {
|
|
short index; /* palette number */
|
|
struct {
|
|
short r, g, b;
|
|
} rgb;
|
|
} sPalette;
|
|
|
|
typedef struct {
|
|
int count;
|
|
sPalette *palette;
|
|
} lPalette;
|
|
|
|
/*
|
|
* cursor
|
|
*/
|
|
typedef struct {
|
|
unsigned char func;
|
|
char cursor_color;
|
|
char mask_color;
|
|
sPoint hot;
|
|
sPoint size;
|
|
sRectangle cursorRect; /* Cursor Pattern rea */
|
|
sRectangle maskRect; /* Mask Pattern Area */
|
|
sRectangle saveRect; /* Save Pattern Area */
|
|
sRectangle moveArea;
|
|
} sCursor;
|
|
|
|
typedef struct {
|
|
unsigned char func;
|
|
char cursor_color;
|
|
char mask_color;
|
|
lPoint hot;
|
|
lPoint size;
|
|
lRectangle cursorRect; /* Cursor Pattern Area */
|
|
lRectangle maskRect; /* Mask Pattern Area */
|
|
lRectangle saveRect; /* Save Pattern Area */
|
|
lRectangle moveArea;
|
|
} lCursor;
|
|
|
|
typedef struct {
|
|
unsigned char func;
|
|
int cursor_color;
|
|
int mask_color;
|
|
lPoint hot;
|
|
lPoint size;
|
|
lRectangle cursorRect; /* Cursor Pattern Area */
|
|
lRectangle maskRect; /* Mask Pattern Area */
|
|
lRectangle saveRect; /* Save Pattern Area */
|
|
lRectangle moveArea;
|
|
} lCursor2;
|
|
|
|
typedef struct {
|
|
int request;
|
|
lPoint sp;
|
|
lPoint dp;
|
|
lPoint size;
|
|
int refresh_rate;
|
|
int func;
|
|
int planemask;
|
|
} lVideoCtl;
|
|
|
|
typedef struct {
|
|
int request;
|
|
int mode;
|
|
int status;
|
|
lRectangle vframe;
|
|
int refresh_rate;
|
|
int func;
|
|
int planemask;
|
|
} lVideoStatus;
|
|
|
|
/* Video Control Request */
|
|
#define VIDEO_RESET 0x01
|
|
#define VIDEO_RUN 0x02
|
|
#define VIDEO_STOP 0x04
|
|
#define VIDEO_CONT 0x08
|
|
#define VIDEO_FRAME 0x10
|
|
#define VIDEO_ROP 0x20
|
|
|
|
/* Video Status */
|
|
#define VIDEO_STATUS 0x01
|
|
|
|
#define VIDEO_SIG_NTSC 0x01
|
|
#define VIDEO_SIG_PAL 0x02
|
|
|
|
#define VIDEO_STATUS_RUN 1
|
|
#define VIDEO_STATUS_STOP 2
|
|
#define VIDEO_STATUS_ERROR 4
|
|
|
|
#define VIDEO_ERROR_SIZE 0x100
|
|
#define VIDEO_ERROR_POINT 0x200
|
|
#define VIDEO_ERROR_PARAM 0x400
|
|
|
|
typedef struct {
|
|
int request;
|
|
int param[8];
|
|
} lFbIoctl;
|
|
|
|
|
|
/* func */
|
|
#define BF_0 0x0 /* 0 */
|
|
#define BF_SDA 0x1 /* Src & Dest */
|
|
#define BF_SDIA 0x2 /* Src & ~Dest */
|
|
#define BF_S 0x3 /* Src */
|
|
#define BF_SIDA 0x4 /* ~Src & Dest */
|
|
#define BF_D 0x5 /* Dest */
|
|
#define BF_SDX 0x6 /* Src ^ Dest */
|
|
#define BF_SDO 0x7 /* Src | Dest */
|
|
#define BF_SDOI 0x8 /* ~(Src | Dest) */
|
|
#define BF_SDXI 0x9 /* ~(Src ^ Dest) */
|
|
#define BF_DI 0xa /* ~Dest */
|
|
#define BF_SDIO 0xb /* Src | ~Dest */
|
|
#define BF_SI 0xc /* ~Src */
|
|
#define BF_SIDO 0xd /* ~Src | Dest */
|
|
#define BF_SDAI 0xe /* ~(Src & Dest) */
|
|
#define BF_1 0xf /* 1 */
|
|
|
|
#define BF_NOP(f) ((f) == BF_D)
|
|
#define BF_INV(f) ((f) == BF_DI)
|
|
#define BF_CON(f) ((f) == BF_0 || (f) == BF_1)
|
|
#define BF_SRC(f) (!BF_NOP(f)&&!BF_INV(f)&&!BF_CON(f))
|
|
|
|
/* Bitmap Font Type */
|
|
#define ROM_ASCII 0
|
|
#define ROM_KANJI 1
|
|
#define ASCII 2
|
|
#define ROM_CONS 3
|
|
|
|
/* Plane Mask */
|
|
#define FB_PLANEALL 0xffffff
|
|
#define FB_PLANE0 0x000001
|
|
#define FB_PLANE1 0x000002
|
|
#define FB_PLANE2 0x000004
|
|
#define FB_PLANE3 0x000008
|
|
#define FB_PLANE4 0x000010
|
|
#define FB_PLANE5 0x000020
|
|
#define FB_PLANE6 0x000040
|
|
#define FB_PLANE7 0x000080
|
|
#define FB_PLANE8 0x000100
|
|
#define FB_PLANE9 0x000200
|
|
#define FB_PLANE10 0x000400
|
|
#define FB_PLANE11 0x000800
|
|
#define FB_PLANE12 0x001000
|
|
#define FB_PLANE13 0x002000
|
|
#define FB_PLANE14 0x004000
|
|
#define FB_PLANE15 0x008000
|
|
#define FB_PLANE16 0x010000
|
|
#define FB_PLANE17 0x020000
|
|
#define FB_PLANE18 0x040000
|
|
#define FB_PLANE19 0x080000
|
|
#define FB_PLANE20 0x100000
|
|
#define FB_PLANE21 0x200000
|
|
#define FB_PLANE22 0x400000
|
|
#define FB_PLANE23 0x800000
|
|
|
|
/* Line Pattern */
|
|
#define LINE_SLD (unsigned)0xffffffff /* solid */
|
|
#define LINE_DSH (unsigned)0xfcfcfcfc /* dash */
|
|
#define LINE_DOT (unsigned)0xcccccccc /* dot */
|
|
#define LINE_DSHDOT (unsigned)0xfff18fff /* dash dot */
|
|
#define LINE_DSHDOTDOT (unsigned)0xff8c63ff /* dash dot dot */
|
|
|
|
/*
|
|
* FB IOCTL
|
|
*/
|
|
#include <sys/ioctl.h>
|
|
|
|
#define FBIOCSETSCR _IOW('F', 0, int)
|
|
#define FBIOCGETSCR _IOR('F', 1, int)
|
|
#define FBIOCSETDIM _IOW('F', 2, int)
|
|
#define FBIOCGETDIM _IOR('F', 3, int)
|
|
#define FBIOCSETSCRMODE _IOW('F', 4, int)
|
|
#define FBIOCGETSCRMODE _IOR('F', 5, int)
|
|
#define FBIOCAUTODIM _IOW('F', 6, int)
|
|
|
|
#define FBIOCBITBLT _IOW('F', 10, sBitblt)
|
|
#define FBIOCBATCHBITBLT _IOW('F', 11, sBatchBitblt)
|
|
#define FBIOCTILEBITBLT _IOW('F', 12, sTileBitblt)
|
|
#define FBIOCBITBLT3 _IOW('F', 13, sBitblt3)
|
|
|
|
#define FBIOCPOLYLINE _IOW('F', 20, sPrimLine)
|
|
#define FBIOCDJPOLYLINE _IOW('F', 21, sPrimLine)
|
|
#define FBIOCPOLYMARKER _IOW('F', 22, sPrimMarker)
|
|
#define FBIOCRECTANGLE _IOW('F', 23, sPrimRect)
|
|
#define FBIOCFILLSCAN _IOW('F', 24, sPrimFill)
|
|
#define FBIOCTEXT _IOW('F', 25, sPrimText)
|
|
#define FBIOCPOLYDOT _IOW('F', 26, sPrimDot)
|
|
|
|
#define FBIOCGETSCRTYPE _IOR('F', 30, sScrType)
|
|
|
|
/* for color display */
|
|
#define FBIOCSETPALETTE _IOW('F', 31, sPalette)
|
|
#define FBIOCGETPALETTE _IOWR('F', 32, sPalette)
|
|
#define FBIOCSETDADDR _IOW('F', 33, int)
|
|
|
|
#define FBIOCENABLE _IO('F', 40)
|
|
#define FBIOCDISABLE _IO('F', 41)
|
|
|
|
#define FBIOCSETCURSOR _IOW('F', 42, sCursor)
|
|
#define FBIOCUNSETCURSOR _IO('F', 43)
|
|
#define FBIOCSHOWCURSOR _IO('F', 44)
|
|
#define FBIOCHIDECURSOR _IO('F', 45)
|
|
#define FBIOCSETXY _IOW('F', 46, sPoint)
|
|
|
|
#define FBIOCNBITBLT _IOW('F', 50, lBitblt)
|
|
#define FBIOCNBATCHBITBLT _IOW('F', 51, lBatchBitblt)
|
|
#define FBIOCNTILEBITBLT _IOW('F', 52, lTileBitblt)
|
|
#define FBIOCNBITBLT3 _IOW('F', 53, lBitblt3)
|
|
|
|
#define FBIOCNPOLYLINE _IOW('F', 60, lPrimLine)
|
|
#define FBIOCNDJPOLYLINE _IOW('F', 61, lPrimLine)
|
|
#define FBIOCNPOLYMARKER _IOW('F', 62, lPrimMarker)
|
|
#define FBIOCNRECTANGLE _IOW('F', 63, lPrimRect)
|
|
#define FBIOCNFILLSCAN _IOW('F', 64, lPrimFill)
|
|
#define FBIOCNTEXT _IOW('F', 65, lPrimText)
|
|
#define FBIOCNPOLYDOT _IOW('F', 66, lPrimDot)
|
|
|
|
#define FBIOCNGETSCRTYPE _IOR('F', 70, lScrType)
|
|
#define FBIOCNSETPALETTE _IOW('F', 71, lPalette)
|
|
#define FBIOCNGETPALETTE _IOWR('F', 72, lPalette)
|
|
#define FBIOCNSETPALETTEMODE _IOW('F', 73, int)
|
|
#define FBIOCNGETPALETTEMODE _IOR('F', 74, int)
|
|
|
|
#define FBIOCNSETCURSOR _IOW('F', 80, lCursor)
|
|
#define FBIOCNUNSETCURSOR _IO('F', 81)
|
|
#define FBIOCNSHOWCURSOR _IO('F', 82)
|
|
#define FBIOCNHIDECURSOR _IO('F', 83)
|
|
#define FBIOCNSETXY _IOW('F', 84, lPoint)
|
|
#define FBIOCNSETCURSOR2 _IOW('F', 85, lCursor2)
|
|
|
|
#define FBIOCNSETVIDEO _IOW('F', 90, lVideoCtl)
|
|
#define FBIOCNGETVIDEO _IOR('F', 91, lVideoStatus)
|
|
|
|
#define FBIOCNIOCTL _IOWR('F', 100, lFbIoctl)
|
|
|
|
#endif /* !__FRAMEBUF__ */
|