diff options
| author | James Simmons <jsimmons@maxwell.earthlink.net> | 2002-10-16 07:06:36 -0700 |
|---|---|---|
| committer | James Simmons <jsimmons@maxwell.earthlink.net> | 2002-10-16 07:06:36 -0700 |
| commit | 0733e4dd69028d03cfa22cd78fa0016beb7ade51 (patch) | |
| tree | 3faa2072b7aa2a1d5e926d72daeb571ac8e7311f /include/linux/fb.h | |
| parent | 32705156ef67653fa7e63821fbdbc8fd3ea57d8d (diff) | |
The last of the console code inside the frmaebuffer layer. I also moved all the graphics related code into the drivers/video directory.
Diffstat (limited to 'include/linux/fb.h')
| -rw-r--r-- | include/linux/fb.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/include/linux/fb.h b/include/linux/fb.h index d6ba52c1e461..b049028f6891 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -18,6 +18,7 @@ #define FBIOGETCMAP 0x4604 #define FBIOPUTCMAP 0x4605 #define FBIOPAN_DISPLAY 0x4606 +#define FBIO_CURSOR _IOWR('F', 0x08, struct fbcursor) /* 0x4607-0x460B are defined below */ /* #define FBIOGET_MONITORSPEC 0x460C */ /* #define FBIOPUT_MONITORSPEC 0x460D */ @@ -258,6 +259,32 @@ struct fb_vblank { __u32 reserved[4]; /* reserved for future compatibility */ }; +/* + * hardware cursor control + */ + +#define FB_CUR_SETCUR 0x01 +#define FB_CUR_SETPOS 0x02 +#define FB_CUR_SETHOT 0x04 +#define FB_CUR_SETCMAP 0x08 +#define FB_CUR_SETSHAPE 0x10 +#define FB_CUR_SETALL 0x1F + +struct fbcurpos { + __u16 x, y; +}; + +struct fbcursor { + __u16 set; /* what to set */ + __u16 enable; /* cursor on/off */ + struct fbcurpos pos; /* cursor position */ + struct fbcurpos hot; /* cursor hot spot */ + struct fb_cmap cmap; /* color map info */ + struct fbcurpos size; /* cursor bit map size */ + char *image; /* cursor image bits */ + char *mask; /* cursor mask bits */ +}; + /* Internal HW accel */ #define ROP_COPY 0 #define ROP_XOR 1 @@ -324,6 +351,8 @@ struct fb_ops { int (*fb_check_var)(struct fb_var_screeninfo *var, struct fb_info *info); /* set the video mode according to par */ int (*fb_set_par)(struct fb_info *info); + /* cursor control */ + int (*fb_cursor)(struct fb_info *info, struct fbcursor *cursor); /* set color register */ int (*fb_setcolreg)(unsigned regno, unsigned red, unsigned green, unsigned blue, unsigned transp, struct fb_info *info); @@ -358,12 +387,12 @@ struct fb_info { struct fb_var_screeninfo var; /* Current var */ struct fb_fix_screeninfo fix; /* Current fix */ struct fb_monspecs monspecs; /* Current Monitor specs */ + struct fbcursor cursor; /* Current cursor */ struct fb_cmap cmap; /* Current cmap */ struct fb_ops *fbops; char *screen_base; /* Virtual address */ struct vc_data *display_fg; /* Console visible on this display */ int currcon; /* Current VC. */ - char fontname[40]; /* default font name */ devfs_handle_t devfs_handle; /* Devfs handle for new name */ devfs_handle_t devfs_lhandle; /* Devfs handle for compat. symlink */ void *pseudo_palette; /* Fake palette of 16 colors and |
