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
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
//! \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
* 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