Lots of work on the AcessNative kernel
[tpg/acess2.git] / Kernel / include / tpl_drv_video.h
index 89bdbfd..bf67e59 100644 (file)
@@ -15,8 +15,6 @@
  * Writes to the driver's file while in component colour modes\r
  * must correspond to a change of the contents of the screen. The framebuffer\r
  * must start at offset 0 in the file.\r
- * In pallete colour modes the LFB is preceded by a 1024 byte pallete (allowing\r
- * room for 256 entries of 32-bits each)\r
  * Reading from the screen must either return zero, or read from the\r
  * framebuffer.\r
  * \r
@@ -104,6 +102,7 @@ enum eTplVideo_IOCtl {
         */\r
        VIDEO_IOCTL_REQLFB\r
 };\r
+#define DRV_VIDEO_IOCTLNAMES   "getset_mode", "find+mode", "mode_info", "set_buf_format", "set_cursor", "request_framebuffer"\r
 \r
 /**\r
  * \brief Mode Structure used in IOCtl Calls\r
@@ -160,7 +159,9 @@ enum eTplVideo_BufFormats
 };\r
 \r
 /**\r
- * \brief \r
+ * \brief 2D Accellerated Video Commands\r
+ * \r
+ * Commands passed in the command stream for ::VIDEO_BUFFMT_2DSTREAM\r
  */\r
 enum eTplVideo_2DCommands\r
 {\r
@@ -188,6 +189,17 @@ enum eTplVideo_2DCommands
         */\r
        VIDEO_2DOP_BLIT,\r
 \r
+\r
+       /**\r
+        * \brief Copy a region from video memory to the framebuffer\r
+        */\r
+       VIDEO_2DOP_BLITBUF,\r
+\r
+       /**\r
+        * \brief Copy and scale a region from video memory to the framebuffer\r
+        */\r
+       VIDEO_2DOP_BLITSCALEBUF,\r
+\r
        NUM_VIDEO_2DOPS\r
 };\r
 \r
@@ -254,17 +266,46 @@ extern void       VT_Font_Render(Uint32 Codepoint, void *Buffer, int Pitch, Uint32 BGC
 extern Uint32  VT_Colour12to24(Uint16 Col12);\r
 \r
 /**\r
- * \r
+ * \brief Handlers for eTplVideo_2DCommands\r
  */\r
 typedef struct sDrvUtil_Video_2DHandlers\r
 {\r
+       /**\r
+        * \brief No Operation, Ignored\r
+        * \see VIDEO_2DOP_NOP\r
+        */\r
        void    *Nop;\r
+       /**\r
+        * \brief Fill a buffer region\r
+        * \param X     Lefthand edge\r
+        * \param Y     Top edge\r
+        * \param W     Width\r
+        * \param H     Height\r
+        * \param Colour        Colour to fill with\r
+        * \see VIDEO_2DOP_FILL\r
+        */\r
        void    (*Fill)(void *Ent, Uint16 X, Uint16 Y, Uint16 W, Uint16 H, Uint32 Colour);\r
+       /**\r
+        * \brief Fill a buffer region\r
+        * \param DestX Lefthand edge of destination\r
+        * \param DestY Top edge of destination\r
+        * \param SrcX  Lefthand edge of source\r
+        * \param SrcY  Top edge of source\r
+        * \param W     Width\r
+        * \param H     Height\r
+        * \see VIDEO_2DOP_BLIT\r
+        */\r
        void    (*Blit)(void *Ent, Uint16 DestX, Uint16 DestY, Uint16 SrcX, Uint16 SrcY, Uint16 W, Uint16 H);\r
 }      tDrvUtil_Video_2DHandlers;\r
 \r
 /**\r
- * \brief \r
+ * \brief Handle a 2D operation stream for a driver\r
+ * \param Ent  Value to pass to handlers\r
+ * \param Buffer       Stream buffer\r
+ * \param Length       Length of stream\r
+ * \param Handlers     Handlers to use for the stream\r
+ * \param SizeofHandlers       Size of \a tDrvUtil_Video_2DHandlers according\r
+ *        to the driver. Used as version control and error avoidence.\r
  */\r
 extern Uint64  DrvUtil_Video_2DStream(void *Ent, void *Buffer, int Length,\r
        tDrvUtil_Video_2DHandlers *Handlers, int SizeofHandlers);\r

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