X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Ftpl_drv_video.h;h=b84a97e2d86ffcac8154eb35fc449830356c3300;hb=391af300bd045791b8aaf50cf44b2d503c763213;hp=23d3907ad55729558b832400b560de2abab0c373;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/include/tpl_drv_video.h b/Kernel/include/tpl_drv_video.h index 23d3907a..b84a97e2 100644 --- a/Kernel/include/tpl_drv_video.h +++ b/Kernel/include/tpl_drv_video.h @@ -37,6 +37,8 @@ enum eTplVideo_IOCtl { VIDEO_IOCTL_FINDMODE, //! \brief Get mode info - (tVideo_IOCtl_Mode *info) VIDEO_IOCTL_MODEINFO, + //! \brief Sets the cursor position (tVideo_IOCtl_Pos *pos) + VIDEO_IOCTL_SETCURSOR, //! \brief Request access to Framebuffer - (void *dest), Return Boolean Success VIDEO_IOCTL_REQLFB }; @@ -49,9 +51,24 @@ struct sVideo_IOCtl_Mode { short id; //!< Mide ID Uint16 width; //!< Width Uint16 height; //!< Height - Uint16 bpp; //!< Bits per Pixel + Uint8 bpp; //!< Bits per Pixel + Uint8 flags; //!< Mode Flags }; typedef struct sVideo_IOCtl_Mode tVideo_IOCtl_Mode; //!< Mode Type +/** + * \brief Text Mode Flag + * \note A text mode should have the ::sVideo_IOCtl_Mode.bpp set to 12 + */ +#define VIDEO_FLAG_TEXT 0x1 +#define VIDEO_FLAG_SLOW 0x2 //!< Non-accelerated mode + +typedef struct sVideo_IOCtl_Pos tVideo_IOCtl_Pos; //!< Position Type +/** + */ +struct sVideo_IOCtl_Pos { + Sint16 x; //!< X Coordinate + Sint16 y; //!< Y Coordinate +}; /** * \struct sVT_Char @@ -74,4 +91,9 @@ typedef struct sVT_Char tVT_Char; #define VT_COL_LTGREY 0x0CCC #define VT_COL_WHITE 0x0FFF +extern int giVT_CharWidth; +extern int giVT_CharHeight; +extern void VT_Font_Render(Uint32 Codepoint, void *Buffer, int Pitch, Uint32 BGC, Uint32 FGC); +extern Uint32 VT_Colour12to24(Uint16 Col12); + #endif