patch-1.3.96 linux/include/linux/fb.h
Next file: linux/include/linux/genhd.h
Previous file: linux/include/linux/console.h
Back to the patch index
Back to the overall index
- Lines: 162
- Date:
Fri Apr 26 12:12:24 1996
- Orig file:
v1.3.95/linux/include/linux/fb.h
- Orig date:
Tue Apr 23 13:57:13 1996
diff -u --recursive --new-file v1.3.95/linux/include/linux/fb.h linux/include/linux/fb.h
@@ -3,11 +3,6 @@
/* Definitions of frame buffers */
-#ifdef __KERNEL__
-#include <linux/config.h>
-#include <linux/fs.h>
-#endif
-
/* ioctls
0x46 is 'F' */
#define FBIOGET_VSCREENINFO 0x4600
@@ -39,7 +34,8 @@
u_short xpanstep; /* zero if no hardware panning */
u_short ypanstep; /* zero if no hardware panning */
u_short ywrapstep; /* zero if no hardware ywrap */
- short reserved[11]; /* Reserved for future compatibility */
+ u_long line_length; /* length of a line in bytes */
+ short reserved[9]; /* Reserved for future compatibility */
};
struct fb_bitfield {
@@ -78,6 +74,8 @@
#define FB_VMODE_MASK 255
#define FB_VMODE_YWRAP 256 /* ywrap instead of panning */
+#define FB_VMODE_SMOOTH_XPAN 512 /* smooth xpan possible (internally used) */
+#define FB_VMODE_CONUPDATE 512 /* don't update x/yoffset */
struct fb_var_screeninfo {
int xres; /* visible resolution */
@@ -128,12 +126,14 @@
#ifdef __KERNEL__
+#include <linux/fs.h>
+
struct fb_ops {
- /* get non setable parameters */
+ /* get non settable parameters */
int (*fb_get_fix) (struct fb_fix_screeninfo *, int);
- /* get setable parameters */
+ /* get settable parameters */
int (*fb_get_var) (struct fb_var_screeninfo *, int);
- /* set setable parameters */
+ /* set settable parameters */
int (*fb_set_var) (struct fb_var_screeninfo *, int);
/* get colormap */
int (*fb_get_cmap) (struct fb_cmap *, int, int);
@@ -156,43 +156,6 @@
*/
struct display {
-/*
- * As long as the old Amiga screen driver is being used, we have to
- * include these old parameters.
- */
-#if defined(CONFIG_AMIGA)
- ushort scr_max_height; /* screen dimensions */
- ushort scr_max_width;
- ushort scr_height;
- ushort scr_width;
- ushort scr_depth;
- int bytes_per_row; /* offset to one line below */
-
- ulong crsrcol;
-
- ushort scroll_latch; /* Vblank support for hardware scroll */
- ushort y_wrap;
- ushort cursor_latch; /* Hardware cursor */
- ushort *cursor, *dummy;
- ushort cursor_flash;
- ushort cursor_visible;
-
- /* Some chipreg values we need to rebuild copper lists */
- ushort diwstrt_v, diwstrt_h; /* display window control */
- ushort diwstop_v, diwstop_h;
- ushort bplcon0; /* display mode */
- ushort htotal;
-
- u_char *bitplane[8]; /* pointers to display bitplanes */
- ulong plane_size;
-
- ushort *coplist1hdr; /* List 1 static component */
- ushort *coplist1dyn; /* List 1 dynamic component */
- ushort *coplist2hdr; /* List 2 static component */
- ushort *coplist2dyn; /* List 2 dynamic component */
-
-#endif
-
/* Filled in by the frame buffer device */
struct fb_var_screeninfo var; /* variable infos. yoffset and vmode */
@@ -204,6 +167,7 @@
int type_aux; /* Interleave for interleaved Planes */
u_short ypanstep; /* zero if no hardware ypan */
u_short ywrapstep; /* zero if no hardware ywrap */
+ u_long line_length; /* length of a line in bytes */
u_short can_soft_blank; /* zero if no hardware blanking */
u_short inverse; /* != 0 text black on white as default */
@@ -216,6 +180,7 @@
/* Filled in by the low-level console driver */
struct vc_data *conp; /* pointer to console data */
+ int vrows; /* number of virtual rows */
int cursor_x; /* current cursor position */
int cursor_y;
int fgcol; /* text colors */
@@ -225,6 +190,7 @@
u_char *fontdata; /* Font associated to this display */
int fontheight;
int fontwidth;
+ int userfont; /* != 0 if fontdata kmalloc()ed */
struct display_switch *dispsw; /* low level operations */
u_short scrollmode; /* Scroll Method */
short yscroll; /* Hardware scrolling */
@@ -274,7 +240,11 @@
};
struct fb_var_cursorinfo {
- u_long data[256]; /* max. 64x64 (ilbm, 2 planes) */
+ u_short width;
+ u_short height;
+ u_short xspot;
+ u_short yspot;
+ u_char data[1]; /* field with [height][width] */
};
struct fb_cursorstate {
@@ -286,6 +256,31 @@
#define FB_CURSOR_OFF 0
#define FB_CURSOR_ON 1
#define FB_CURSOR_FLASH 2
+
+#define FBCMD_DRAWLINE 0x4621
+#define FBCMD_MOVE 0x4622
+
+#define FB_LINE_XOR 1
+#define FB_LINE_BOX 2
+#define FB_LINE_FILLED 4
+
+struct fb_line {
+ int start_x;
+ int start_y;
+ int end_x;
+ int end_y;
+ int color;
+ int option;
+};
+
+struct fb_move {
+ int src_x;
+ int src_y;
+ int dest_x;
+ int dest_y;
+ int height;
+ int width;
+};
#endif /* Preliminary */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this