diff --git a/Kernel/include/tpl_drv_video.h b/Kernel/include/tpl_drv_video.h index 1be4f2b7a2f9f098be0c46e464b040f999e14f6e..f518e74a4de842d1960b9750a562f92556e9faed 100644 --- a/Kernel/include/tpl_drv_video.h +++ b/Kernel/include/tpl_drv_video.h @@ -90,19 +90,15 @@ enum eTplVideo_IOCtl { VIDEO_IOCTL_SETCURSOR, /** - * ioctl(..., tVAddr MapTo) - * \brief Request access to Framebuffer - * \return Boolean Success - * - * Requests the driver to allow the user direct access to the - * framebuffer by mapping it to the supplied address. - * If the driver does not allow this boolean FALSE (0) is returned, - * else if the call succeeds (and the framebuffer ends up mapped) boolean - * TRUE (1) is returned. + * ioctl(..., tVideo_IOCtl_Bitmap *Image) + * \brief Sets the cursor image + * \return Boolean success + * + * Sets the graphics mode cursor image */ - VIDEO_IOCTL_REQLFB + VIDEO_IOCTL_SETCURSORBITMAP }; -#define DRV_VIDEO_IOCTLNAMES "getset_mode", "find+mode", "mode_info", "set_buf_format", "set_cursor", "request_framebuffer" +#define DRV_VIDEO_IOCTLNAMES "getset_mode", "find+mode", "mode_info", "set_buf_format", "set_cursor", "set_cursor_bitmap" /** * \brief Mode Structure used in IOCtl Calls @@ -212,6 +208,18 @@ typedef struct sVideo_IOCtl_Pos Sint16 y; //!< Y Coordinate } tVideo_IOCtl_Pos; +/** + * \brief Bitmap object (out of band image) + */ +typedef struct sVideo_IOCtl_Bitmap +{ + Sint16 W; //!< Width of image + Sint16 H; //!< Height of image + Sint16 XOfs; //!< X Offset of center + Sint16 YOfs; //!< Y Offset of center + Uint32 Data[]; //!< Image data (ARGB array) +} tVideo_IOCtl_Bitmap; + /** * \brief Virtual Terminal Representation of a character */ diff --git a/Modules/Display/BochsGA/bochsvbe.c b/Modules/Display/BochsGA/bochsvbe.c index 87c1d73418a2ce2c346db62cf80b8585b595afb2..df4072b3c946399c0d549bdf36808d48fe7ba460 100644 --- a/Modules/Display/BochsGA/bochsvbe.c +++ b/Modules/Display/BochsGA/bochsvbe.c @@ -280,9 +280,9 @@ int BGA_Ioctl(tVFS_Node *Node, int ID, void *Data) break; // Request Access to LFB - case VIDEO_IOCTL_REQLFB: - ret = BGA_int_MapFB( *(void**)Data ); - break; +// case VIDEO_IOCTL_REQLFB: +// ret = BGA_int_MapFB( *(void**)Data ); +// break; default: LEAVE('i', -2); diff --git a/Modules/Display/VESA/main.c b/Modules/Display/VESA/main.c index 04e339ba288658ea515c3bed675a315c033287a3..848351a03a3f45540e8975e11d603b65b499e76a 100644 --- a/Modules/Display/VESA/main.c +++ b/Modules/Display/VESA/main.c @@ -430,8 +430,8 @@ int Vesa_Ioctl(tVFS_Node *Node, int ID, void *Data) //Log_Debug("VESA", "Cursor position (%i,%i) Timer %i", giVesaCursorX, giVesaCursorY, giVesaCursorTimer); return 0; - case VIDEO_IOCTL_REQLFB: // Request Linear Framebuffer - return 0; +// case VIDEO_IOCTL_REQLFB: // Request Linear Framebuffer +// return 0; } return 0; }