VIDEO_IOCTL_FINDMODE,\r
//! \brief Get mode info - (tVideo_IOCtl_Mode *info)\r
VIDEO_IOCTL_MODEINFO,\r
+ //! \brief Sets the cursor position (tVideo_IOCtl_Pos *pos)\r
+ VIDEO_IOCTL_SETCURSOR,\r
//! \brief Request access to Framebuffer - (void *dest), Return Boolean Success\r
VIDEO_IOCTL_REQLFB\r
};\r
\r
/**\r
- \struct sVideo_IOCtl_Mode\r
- \brief Mode Structure used in IOCtl Calls\r
-*/\r
+ * \brief Mode Structure used in IOCtl Calls\r
+ */\r
struct sVideo_IOCtl_Mode {\r
short id; //!< Mide ID\r
Uint16 width; //!< Width\r
Uint16 height; //!< Height\r
- Uint16 bpp; //!< Bits per Pixel\r
+ Uint8 bpp; //!< Bits per Pixel\r
+ Uint8 flags; //!< Mode Flags\r
};\r
typedef struct sVideo_IOCtl_Mode tVideo_IOCtl_Mode; //!< Mode Type\r
\r
+//! \name Video Mode flags\r
+//! \{\r
+/**\r
+ * \brief Text Mode Flag\r
+ * \note A text mode should have the ::sVideo_IOCtl_Mode.bpp set to 12\r
+ */\r
+#define VIDEO_FLAG_TEXT 0x1\r
+/**\r
+ * \brief Slow (non-accellerated mode)\r
+ */\r
+#define VIDEO_FLAG_SLOW 0x2\r
+//! \}\r
+\r
+/**\r
+ * \brief Describes a position in the video framebuffer\r
+ */\r
+typedef struct sVideo_IOCtl_Pos tVideo_IOCtl_Pos;\r
+struct sVideo_IOCtl_Pos {\r
+ Sint16 x; //!< X Coordinate\r
+ Sint16 y; //!< Y Coordinate\r
+};\r
+\r
/**\r
- * \struct sVT_Char\r
* \brief Virtual Terminal Representation of a character\r
*/\r
+typedef struct sVT_Char tVT_Char;\r
struct sVT_Char {\r
- Uint32 Ch;\r
+ Uint32 Ch; //!< UTF-32 Character\r
union {\r
struct {\r
- Uint16 BGCol;\r
- Uint16 FGCol;\r
+ Uint16 BGCol; //!< 12-bit Foreground Colour\r
+ Uint16 FGCol; //!< 12-bit Background Colour\r
};\r
- Uint32 Colour;\r
+ Uint32 Colour; //!< Compound colour for ease of access\r
};\r
};\r
-typedef struct sVT_Char tVT_Char;\r
\r
+/**\r
+ * \name Basic builtin colour definitions\r
+ * \{\r
+ */\r
#define VT_COL_BLACK 0x0000\r
#define VT_COL_GREY 0x0888\r
#define VT_COL_LTGREY 0x0CCC\r
#define VT_COL_WHITE 0x0FFF\r
+/**\r
+ * \}\r
+ */\r
+\r
+//! \brief Defines the width of a rendered character\r
+extern int giVT_CharWidth;\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 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 BGC 32-bit Background Colour\r
+ * \param FGC 32-bit Foreground Colour\r
+ */\r
+extern void VT_Font_Render(Uint32 Codepoint, void *Buffer, int Pitch, Uint32 BGC, Uint32 FGC);\r
+/**\r
+ * \fn Uint32 VT_Colour12to24(Uint16 Col12)\r
+ * \brief Converts a colour from 12bpp to 32bpp\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
#endif\r