Modules/SB16 - Stub driver, nowhere near complete
[tpg/acess2.git] / Kernel / include / tpl_drv_video.h
index 1c00c5e..f518e74 100644 (file)
@@ -90,18 +90,15 @@ enum eTplVideo_IOCtl {
        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
-       VIDEO_IOCTL_REQLFB\r
+       VIDEO_IOCTL_SETCURSORBITMAP\r
 };\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
@@ -211,6 +208,18 @@ typedef struct sVideo_IOCtl_Pos
        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
@@ -243,11 +252,11 @@ extern int        giVT_CharWidth;
 //! \brief Defines the height of a rendered character\r
 extern int     giVT_CharHeight;\r
 /**\r
- * \fn void VT_Font_Render(Uint32 Codepoint, void *Buffer, int Pitch, Uint32 BGC, Uint32 FGC)\r
  * \brief Driver helper that renders a character to a buffer\r
  * \param Codepoint    Unicode character to render\r
- * \param Buffer       Buffer to render to (32-bpp)\r
- * \param Pitch        Number of DWords per line\r
+ * \param Buffer       Buffer to render to\r
+ * \param Depth        Bit depth of the destination buffer\r
+ * \param Pitch        Number of bytes per line\r
  * \param BGC  32-bit Background Colour\r
  * \param FGC  32-bit Foreground Colour\r
  * \r
@@ -255,14 +264,33 @@ extern int        giVT_CharHeight;
  * text mode by keeping the character rendering abstracted from the driver,\r
  * easing the driver development and reducing code duplication.\r
  */\r
-extern void    VT_Font_Render(Uint32 Codepoint, void *Buffer, int Pitch, Uint32 BGC, Uint32 FGC);\r
+extern void    VT_Font_Render(Uint32 Codepoint, void *Buffer, int Depth, int Pitch, Uint32 BGC, Uint32 FGC);\r
 /**\r
  * \fn Uint32 VT_Colour12to24(Uint16 Col12)\r
- * \brief Converts a colour from 12bpp to 32bpp\r
+ * \brief Converts a colour from 12bpp to 24bpp\r
  * \param Col12        12-bpp input colour\r
  * \return Expanded 32-bpp (24-bit colour) version of \a Col12\r
  */\r
 extern Uint32  VT_Colour12to24(Uint16 Col12);\r
+/**\r
+ * \brief Converts a colour from 12bpp to 14bpp\r
+ * \param Col12        12-bpp input colour\r
+ * \return 15 bits per pixel value\r
+ */\r
+extern Uint16  VT_Colour12to15(Uint16 Col12);\r
+/**\r
+ * \brief Converts a colour from 12bpp to 32bpp\r
+ * \param Col12        12-bpp input colour\r
+ * \param Depth        Desired bit depth\r
+ * \return \a Depth bit number, denoting Col12\r
+ * \r
+ * Expands the source colour into a \a Depth bits per pixel representation.\r
+ * The colours are expanded with preference to Green, Blue and Red in that order\r
+ * (so, green gets the first spare pixel, blue gets the next, and red never gets\r
+ * the spare). \n\r
+ * The final bit of each component is used to fill the lower bits of the output.\r
+ */\r
+extern Uint32  VT_Colour12toN(Uint16 Col12, int Depth);\r
 \r
 /**\r
  * \brief Handlers for eTplVideo_2DCommands\r

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