2 * \file tpl_drv_video.h
\r
3 * \brief Video Driver Interface Definitions
\r
4 * \note For AcessOS Version 1
\r
6 * Video drivers extend the common driver interface tpl_drv_common.h
\r
7 * and must support _at least_ the IOCtl numbers defined in this file
\r
8 * to be compatable with Acess.
\r
11 * As said, a compatable driver must implement these calls correctly,
\r
12 * but they may choose not to allow direct user access to the framebuffer.
\r
14 * \section Screen Contents
\r
15 * Reads and writes to the driver's file while in component colour modes
\r
16 * must correspond to a change of the contents of the screen. The framebuffer
\r
17 * must start at offset 0 in the file.
\r
18 * In pallete colour modes the LFB is preceded by a 1024 byte pallete (allowing
\r
19 * room for 256 entries of 32-bits each)
\r
21 #ifndef _TPL_VIDEO_H
\r
22 #define _TPL_VIDEO_H
\r
24 #include <tpl_drv_common.h>
\r
27 * \enum eTplVideo_IOCtl
\r
28 * \brief Common Video IOCtl Calls
\r
29 * \extends eTplDrv_IOCtl
\r
31 enum eTplVideo_IOCtl {
\r
32 //! \brief Set Mode - (int mode)
\r
33 VIDEO_IOCTL_SETMODE = 4,
\r
34 //! \brief Get Mode - (int *mode)
\r
35 VIDEO_IOCTL_GETMODE,
\r
36 //! \brief Find a matching mode - (tVideo_IOCtl_Mode *info)
\r
37 VIDEO_IOCTL_FINDMODE,
\r
38 //! \brief Get mode info - (tVideo_IOCtl_Mode *info)
\r
39 VIDEO_IOCTL_MODEINFO,
\r
40 //! \brief Sets the cursor position (tVideo_IOCtl_Pos *pos)
\r
41 VIDEO_IOCTL_SETCURSOR,
\r
42 //! \brief Request access to Framebuffer - (void *dest), Return Boolean Success
\r
47 \struct sVideo_IOCtl_Mode
\r
48 \brief Mode Structure used in IOCtl Calls
\r
50 struct sVideo_IOCtl_Mode {
\r
51 short id; //!< Mide ID
\r
52 Uint16 width; //!< Width
\r
53 Uint16 height; //!< Height
\r
54 Uint16 bpp; //!< Bits per Pixel
\r
56 struct sVideo_IOCtl_Pos {
\r
60 typedef struct sVideo_IOCtl_Mode tVideo_IOCtl_Mode; //!< Mode Type
\r
61 typedef struct sVideo_IOCtl_Pos tVideo_IOCtl_Pos; //!< Mode Type
\r
65 * \brief Virtual Terminal Representation of a character
\r
77 typedef struct sVT_Char tVT_Char;
\r
79 #define VT_COL_BLACK 0x0000
\r
80 #define VT_COL_GREY 0x0888
\r
81 #define VT_COL_LTGREY 0x0CCC
\r
82 #define VT_COL_WHITE 0x0FFF
\r