Improved VTerm support
[tpg/acess2.git] / Kernel / include / tpl_drv_video.h
index 23d3907..b84a97e 100644 (file)
@@ -37,6 +37,8 @@ enum eTplVideo_IOCtl {
        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
@@ -49,9 +51,24 @@ struct sVideo_IOCtl_Mode {
        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
+ * \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
+#define VIDEO_FLAG_SLOW        0x2     //!< Non-accelerated mode\r
+\r
+typedef struct sVideo_IOCtl_Pos        tVideo_IOCtl_Pos;       //!< Position Type\r
+/**\r
+ */\r
+struct sVideo_IOCtl_Pos {\r
+       Sint16  x;      //!< X Coordinate\r
+       Sint16  y;      //!< Y Coordinate\r
+};\r
 \r
 /**\r
  * \struct sVT_Char\r
@@ -74,4 +91,9 @@ typedef struct sVT_Char       tVT_Char;
 #define        VT_COL_LTGREY   0x0CCC\r
 #define        VT_COL_WHITE    0x0FFF\r
 \r
+extern int     giVT_CharWidth;\r
+extern int     giVT_CharHeight;\r
+extern void    VT_Font_Render(Uint32 Codepoint, void *Buffer, int Pitch, Uint32 BGC, Uint32 FGC);\r
+extern Uint32  VT_Colour12to24(Uint16 Col12);\r
+\r
 #endif\r

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