Changed Video device spec to implement cursors
authorJohn Hodge <[email protected]>
Thu, 4 Aug 2011 00:13:26 +0000 (08:13 +0800)
committerJohn Hodge <[email protected]>
Thu, 4 Aug 2011 00:13:26 +0000 (08:13 +0800)
Kernel/include/tpl_drv_video.h
Modules/Display/BochsGA/bochsvbe.c
Modules/Display/VESA/main.c

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

UCC git Repository :: git.ucc.asn.au