mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 19:36:35 +08:00
Add DM320 framebuffer driver
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1306 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -580,4 +580,8 @@
|
|||||||
second argument of the standard listen() API. Hooks are provided to support poll()/select()
|
second argument of the standard listen() API. Hooks are provided to support poll()/select()
|
||||||
waiting for connections, with a subsequent call to accept() to use the backlogged connection.
|
waiting for connections, with a subsequent call to accept() to use the backlogged connection.
|
||||||
* Fixed a minor bug in accept(). It should allow the address and addresslen values to be NULL
|
* Fixed a minor bug in accept(). It should allow the address and addresslen values to be NULL
|
||||||
* Added first-cut definition for a framebuffer interface
|
* Added first-cut definition for a framebuffer interface (and simulated framebuffer for testing
|
||||||
|
purposes only)
|
||||||
|
* Added fixed precision math support
|
||||||
|
* Added some color converson routines into what may become a real graphics library someday.
|
||||||
|
* Added a framebuffer driver for the DM320 (untested on initial check-in)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<tr align="center" bgcolor="#e4e4e4">
|
<tr align="center" bgcolor="#e4e4e4">
|
||||||
<td>
|
<td>
|
||||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
||||||
<p>Last Updated: November 23, 2008</p>
|
<p>Last Updated: November 25, 2008</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -1216,7 +1216,11 @@ nuttx-0.3.19 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
|||||||
second argument of the standard listen() API. Hooks are provided to support poll()/select()
|
second argument of the standard listen() API. Hooks are provided to support poll()/select()
|
||||||
waiting for connections, with a subsequent call to accept() to use the backlogged connection.
|
waiting for connections, with a subsequent call to accept() to use the backlogged connection.
|
||||||
* Fixed a minor bug in accept(). It should allow the address and addresslen values to be NULL
|
* Fixed a minor bug in accept(). It should allow the address and addresslen values to be NULL
|
||||||
* Added first-cut definition for a framebuffer interface
|
* Added first-cut definition for a framebuffer interface (and simulated framebuffer for testing
|
||||||
|
purposes only)
|
||||||
|
* Added fixed precision math support
|
||||||
|
* Added some color converson routines into what may become a real graphics library someday.
|
||||||
|
* Added a framebuffer driver for the DM320 (untested on initial check-in)
|
||||||
|
|
||||||
pascal-0.1.3 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
pascal-0.1.3 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ CMN_CSRCS = up_assert.c up_blocktask.c up_copystate.c up_createstack.c \
|
|||||||
|
|
||||||
CHIP_ASRCS = dm320_lowputc.S dm320_restart.S
|
CHIP_ASRCS = dm320_lowputc.S dm320_restart.S
|
||||||
CHIP_CSRCS = dm320_allocateheap.c dm320_boot.c dm320_decodeirq.c \
|
CHIP_CSRCS = dm320_allocateheap.c dm320_boot.c dm320_decodeirq.c \
|
||||||
dm320_irq.c dm320_serial.c dm320_timerisr.c
|
dm320_irq.c dm320_serial.c dm320_timerisr.c dm320_framebuffer.c
|
||||||
|
|
||||||
ifeq ($(CONFIG_USBDEV),y)
|
ifeq ($(CONFIG_USBDEV),y)
|
||||||
CHIP_CSRCS += dm320_usbdev.c
|
CHIP_CSRCS += dm320_usbdev.c
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,118 @@
|
|||||||
|
/************************************************************************************
|
||||||
|
* dm320/dm320_osd.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2008 Gregory Nutt. All rights reserved.
|
||||||
|
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
* 3. Neither the name NuttX nor the names of its contributors may be
|
||||||
|
* used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||||
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||||
|
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __ARCH_ARM_SRC_DM320_DM320_OSD_H
|
||||||
|
#define __ARCH_ARM_SRC_DM320_DM320_OSD_H
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Included Files
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLY__
|
||||||
|
# include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Definitions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
/* On Screen Display Register Map (OSD) *********************************************/
|
||||||
|
|
||||||
|
#define DM320_OSD_OSDMODE (DM320_OSD_REGISTER_BASE+0x0000) /* OSD Mode Setup */
|
||||||
|
#define DM320_OSD_VIDWINMD (DM320_OSD_REGISTER_BASE+0x0002) /* Video Window Mode Setup */
|
||||||
|
#define DM320_OSD_OSDWIN0MD (DM320_OSD_REGISTER_BASE+0x0004) /* OSD Window 0 Mode Setup */
|
||||||
|
#define DM320_OSD_OSDWIN1MD (DM320_OSD_REGISTER_BASE+0x0006) /* OSD Window 1 Mode Setup */
|
||||||
|
#define DM320_OSD_OSDATRMD (DM320_OSD_REGISTER_BASE+0x0006) /* OSD Attribute Window Mode Setup */
|
||||||
|
#define DM320_OSD_RECTCUR (DM320_OSD_REGISTER_BASE+0x0008) /* Rectangular Cursor Setup */
|
||||||
|
#define DM320_OSD_VIDWIN0OFST (DM320_OSD_REGISTER_BASE+0x000c) /* Video Window 0 Offset */
|
||||||
|
#define DM320_OSD_VIDWIN1OFST (DM320_OSD_REGISTER_BASE+0x000e) /* Video Window 1 Offset */
|
||||||
|
#define DM320_OSD_OSDWIN0OFST (DM320_OSD_REGISTER_BASE+0x0010) /* OSD Window 0 Offset */
|
||||||
|
#define DM320_OSD_OSDWIN1OFST (DM320_OSD_REGISTER_BASE+0x0012) /* OSD Window 1 Offset */
|
||||||
|
#define DM320_OSD_VIDWINADH (DM320_OSD_REGISTER_BASE+0x0014) /* Video Window 0/1 Address - High */
|
||||||
|
#define DM320_OSD_VIDWIN0ADL (DM320_OSD_REGISTER_BASE+0x0016) /* Video Window 0 Address - Low */
|
||||||
|
#define DM320_OSD_VIDWIN1ADL (DM320_OSD_REGISTER_BASE+0x0018) /* Video Window 1 Address - Low */
|
||||||
|
#define DM320_OSD_OSDWINADH (DM320_OSD_REGISTER_BASE+0x001a) /* OSD Window 0/1 Address - High */
|
||||||
|
#define DM320_OSD_OSDWIN0ADL (DM320_OSD_REGISTER_BASE+0x001c) /* OSD Window 0 Address - Low */
|
||||||
|
#define DM320_OSD_OSDWIN1ADL (DM320_OSD_REGISTER_BASE+0x001e) /* OSD Window 1 Address - Low */
|
||||||
|
#define DM320_OSD_BASEPX (DM320_OSD_REGISTER_BASE+0x0020) /* Base Pixel X */
|
||||||
|
#define DM320_OSD_BASEPY (DM320_OSD_REGISTER_BASE+0x0022) /* Base Pixel Y */
|
||||||
|
#define DM320_OSD_VIDWIN0XP (DM320_OSD_REGISTER_BASE+0x0024) /* Video Window 0 X-Position */
|
||||||
|
#define DM320_OSD_VIDWIN0YP (DM320_OSD_REGISTER_BASE+0x0026) /* Video Window 0 Y-Position */
|
||||||
|
#define DM320_OSD_VIDWIN0XL (DM320_OSD_REGISTER_BASE+0x0028) /* Video Window 0 X-Size */
|
||||||
|
#define DM320_OSD_VIDWIN0YL (DM320_OSD_REGISTER_BASE+0x002a) /* Video Window 0 Y-Size */
|
||||||
|
#define DM320_OSD_VIDWIN1XP (DM320_OSD_REGISTER_BASE+0x002c) /* Video Window 1 X-Position */
|
||||||
|
#define DM320_OSD_VIDWIN1YP (DM320_OSD_REGISTER_BASE+0x002e) /* Video Window 1 Y-Position */
|
||||||
|
#define DM320_OSD_VIDWIN1XL (DM320_OSD_REGISTER_BASE+0x0030) /* Video Window 1 X-Size */
|
||||||
|
#define DM320_OSD_VIDWIN1YL (DM320_OSD_REGISTER_BASE+0x0032) /* Video Window 1 Y-Size */
|
||||||
|
#define DM320_OSD_OSDWIN0XP (DM320_OSD_REGISTER_BASE+0x0034) /* OSD Bitmap Window 0 X-Position */
|
||||||
|
#define DM320_OSD_OSDWIN0YP (DM320_OSD_REGISTER_BASE+0x0036) /* OSD Bitmap Window 0 Y-Position */
|
||||||
|
#define DM320_OSD_OSDWIN0XL (DM320_OSD_REGISTER_BASE+0x0038) /* OSD Bitmap Window 0 X-Size */
|
||||||
|
#define DM320_OSD_OSDWIN0YL (DM320_OSD_REGISTER_BASE+0x003a) /* OSD Bitmap Window 0 Y-Size */
|
||||||
|
#define DM320_OSD_OSDWIN1XP (DM320_OSD_REGISTER_BASE+0x003c) /* OSD Bitmap Window 1 X-Position */
|
||||||
|
#define DM320_OSD_OSDWIN1YP (DM320_OSD_REGISTER_BASE+0x003e) /* OSD Bitmap Window 1 Y-Position */
|
||||||
|
#define DM320_OSD_OSDWIN1XL (DM320_OSD_REGISTER_BASE+0x0040) /* OSD Bitmap Window 1 X-Size */
|
||||||
|
#define DM320_OSD_OSDWIN1YL (DM320_OSD_REGISTER_BASE+0x0042) /* OSD Bitmap Window 1 Y-Size */
|
||||||
|
#define DM320_OSD_CURXP (DM320_OSD_REGISTER_BASE+0x0044) /* Rectangular Cursor Window X-Position */
|
||||||
|
#define DM320_OSD_CURYP (DM320_OSD_REGISTER_BASE+0x0046) /* Rectangular Cursor Window Y-Position */
|
||||||
|
#define DM320_OSD_CURXL (DM320_OSD_REGISTER_BASE+0x0048) /* Rectangular Cursor Window X-Size */
|
||||||
|
#define DM320_OSD_CURYL (DM320_OSD_REGISTER_BASE+0x004a) /* Rectangular Cursor Window Y-Size */
|
||||||
|
#define DM320_OSD_W0BMP01 (DM320_OSD_REGISTER_BASE+0x0050) /* Window 0 Bitmap Value to Palette Map 0/1 */
|
||||||
|
#define DM320_OSD_W0BMP23 (DM320_OSD_REGISTER_BASE+0x0052) /* Window 0 Bitmap Value to Palette Map 2/3 */
|
||||||
|
#define DM320_OSD_W0BMP45 (DM320_OSD_REGISTER_BASE+0x0054) /* Window 0 Bitmap Value to Palette Map 4/5 */
|
||||||
|
#define DM320_OSD_W0BMP67 (DM320_OSD_REGISTER_BASE+0x0056) /* Window 0 Bitmap Value to Palette Map 6/7 */
|
||||||
|
#define DM320_OSD_W0BMP89 (DM320_OSD_REGISTER_BASE+0x0058) /* Window 0 Bitmap Value to Palette Map 8/9 */
|
||||||
|
#define DM320_OSD_W0BMPAB (DM320_OSD_REGISTER_BASE+0x005a) /* Window 0 Bitmap Value to Palette Map A/B */
|
||||||
|
#define DM320_OSD_W0BMPCD (DM320_OSD_REGISTER_BASE+0x005c) /* Window 0 Bitmap Value to Palette Map C/D */
|
||||||
|
#define DM320_OSD_W0BMPEF (DM320_OSD_REGISTER_BASE+0x005e) /* Window 0 Bitmap Value to Palette Map E/F */
|
||||||
|
#define DM320_OSD_W1BMP01 (DM320_OSD_REGISTER_BASE+0x0060) /* Window 1 Bitmap Value to Palette Map 0/1 */
|
||||||
|
#define DM320_OSD_W1BMP23 (DM320_OSD_REGISTER_BASE+0x0062) /* Window 1 Bitmap Value to Palette Map 2/3 */
|
||||||
|
#define DM320_OSD_W1BMP45 (DM320_OSD_REGISTER_BASE+0x0064) /* Window 1 Bitmap Value to Palette Map 4/5 */
|
||||||
|
#define DM320_OSD_W1BMP67 (DM320_OSD_REGISTER_BASE+0x0066) /* Window 1 Bitmap Value to Palette Map 6/7 */
|
||||||
|
#define DM320_OSD_W1BMP89 (DM320_OSD_REGISTER_BASE+0x0068) /* Window 1 Bitmap Value to Palette Map 8/9 */
|
||||||
|
#define DM320_OSD_W1BMPAB (DM320_OSD_REGISTER_BASE+0x006a) /* Window 1 Bitmap Value to Palette Map A/B */
|
||||||
|
#define DM320_OSD_W1BMPCD (DM320_OSD_REGISTER_BASE+0x006c) /* Window 1 Bitmap Value to Palette Map C/D */
|
||||||
|
#define DM320_OSD_W1BMPEF (DM320_OSD_REGISTER_BASE+0x006e) /* Window 1 Bitmap Value to Palette Map E/F */
|
||||||
|
#define DM320_OSD_MISCCTL (DM320_OSD_REGISTER_BASE+0x0074) /* Miscellaneous Control */
|
||||||
|
#define DM320_OSD_CLUTRAMYCB (DM320_OSD_REGISTER_BASE+0x0076) /* CLUT RAM Y/Cb Setup */
|
||||||
|
#define DM320_OSD_CLUTRAMCR (DM320_OSD_REGISTER_BASE+0x0078) /* CLUT RAM Cr/Mapping Setup */
|
||||||
|
#define DM320_OSD_RSV5 (DM320_OSD_REGISTER_BASE+0x007a) /* CLUT RAM Cr/Mapping Setup */
|
||||||
|
#define DM320_OSD_PPVWIN0ADH (DM320_OSD_REGISTER_BASE+0x007c) /* Ping-Pong Video Window 0 Address (High) */
|
||||||
|
#define DM320_OSD_PPVWIN0ADL (DM320_OSD_REGISTER_BASE+0x007e) /* Ping-Pong Video Window 0 Address (Low) */
|
||||||
|
|
||||||
|
/************************************************************************************
|
||||||
|
* Inline Functions
|
||||||
|
************************************************************************************/
|
||||||
|
|
||||||
|
#endif /* __ARCH_ARM_SRC_DM320_DM320_OSD_H */
|
||||||
@@ -102,9 +102,9 @@ static int up_getplaneinfo(FAR struct fb_vtable_s *vtable, int planeno, FAR stru
|
|||||||
|
|
||||||
/* The following is provided only if the video hardware supports RGB color mapping */
|
/* The following is provided only if the video hardware supports RGB color mapping */
|
||||||
|
|
||||||
#if CONFIG_FB_CMAP
|
#ifdef CONFIG_FB_CMAP
|
||||||
static int up_getcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap);
|
static int up_getcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap);
|
||||||
static int up_putcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap);
|
static int up_putcmap(FAR struct fb_vtable_s *vtable, FAR const struct fb_cmap_s *cmap);
|
||||||
#endif
|
#endif
|
||||||
/* The following is provided only if the video hardware supports a hardware cursor */
|
/* The following is provided only if the video hardware supports a hardware cursor */
|
||||||
|
|
||||||
@@ -141,7 +141,7 @@ static const struct fb_planeinfo_s g_planeinfo =
|
|||||||
|
|
||||||
/* Simulated RGB mapping */
|
/* Simulated RGB mapping */
|
||||||
|
|
||||||
#if CONFIG_FB_CMAP
|
#ifdef CONFIG_FB_CMAP
|
||||||
static struct fb_cmap_s g_cmap;
|
static struct fb_cmap_s g_cmap;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -165,7 +165,7 @@ struct fb_vtable_s g_fbobject =
|
|||||||
{
|
{
|
||||||
.getvideoinfo = up_getvideoinfo,
|
.getvideoinfo = up_getvideoinfo,
|
||||||
.getplaneinfo = up_getplaneinfo,
|
.getplaneinfo = up_getplaneinfo,
|
||||||
#if CONFIG_FB_CMAP
|
#ifdef CONFIG_FB_CMAP
|
||||||
.getcmap = up_getcmap,
|
.getcmap = up_getcmap,
|
||||||
.putcmap = up_putcmap,
|
.putcmap = up_putcmap,
|
||||||
#endif
|
#endif
|
||||||
@@ -221,16 +221,16 @@ static int up_getplaneinfo(FAR struct fb_vtable_s *vtable, int planeno,
|
|||||||
* Name: up_getcmap
|
* Name: up_getcmap
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if CONFIG_FB_CMAP
|
#ifdef CONFIG_FB_CMAP
|
||||||
static int up_getcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap)
|
static int up_getcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap)
|
||||||
{
|
{
|
||||||
|
int len
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
dbg("vtable=%p cmap=%p cmap->len\n", vtable, cmap, cmap->len);
|
dbg("vtable=%p cmap=%p cmap->len\n", vtable, cmap, cmap->len);
|
||||||
if (vtable && cmap)
|
if (vtable && cmap)
|
||||||
{
|
{
|
||||||
cmap->len = 256;
|
for (i = cmap.first, len = 0; i < 256 && len < cmap.len, i++, len++)
|
||||||
for (i = 0; i < 256, i++)
|
|
||||||
{
|
{
|
||||||
cmap->red[i] = i;
|
cmap->red[i] = i;
|
||||||
cmap->green[i] = i;
|
cmap->green[i] = i;
|
||||||
@@ -239,6 +239,7 @@ static int up_getcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap
|
|||||||
cmap->transp[i] = i;
|
cmap->transp[i] = i;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
cmap.len = len;
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
dbg("Returning EINVAL\n");
|
dbg("Returning EINVAL\n");
|
||||||
@@ -250,8 +251,8 @@ static int up_getcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap
|
|||||||
* Name: up_putcmap
|
* Name: up_putcmap
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#if CONFIG_FB_CMAP
|
#ifdef CONFIG_FB_CMAP
|
||||||
static int up_putcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap)
|
static int up_putcmap(FAR struct fb_vtable_s *vtable, FAR const struct fb_cmap_s *cmap)
|
||||||
{
|
{
|
||||||
dbg("vtable=%p cmap=%p cmap->len\n", vtable, cmap, cmap->len);
|
dbg("vtable=%p cmap=%p cmap->len\n", vtable, cmap, cmap->len);
|
||||||
if (vtable && cmap)
|
if (vtable && cmap)
|
||||||
|
|||||||
+8
-7
@@ -206,12 +206,13 @@ struct fb_planeinfo_s
|
|||||||
* that mapping.
|
* that mapping.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if CONFIG_FB_CMAP
|
#ifdef CONFIG_FB_CMAP
|
||||||
struct fb_cmap_s
|
struct fb_cmap_s
|
||||||
{
|
{
|
||||||
uint16 len; /* Number of color entries */
|
uint16 first; /* Offset offset first color entry in tables */
|
||||||
|
uint16 len; /* Number of color entries in tables */
|
||||||
|
|
||||||
/* Each color component. Any may be NULL if not used */
|
/* Tables of color component. Any may be NULL if not used */
|
||||||
|
|
||||||
ubyte *red; /* Table of 8-bit red values */
|
ubyte *red; /* Table of 8-bit red values */
|
||||||
ubyte *green; /* Table of 8-bit green values */
|
ubyte *green; /* Table of 8-bit green values */
|
||||||
@@ -264,7 +265,7 @@ struct fb_cursorattrib_s
|
|||||||
#ifdef CONFIG_FB_HWCURSORIMAGE
|
#ifdef CONFIG_FB_HWCURSORIMAGE
|
||||||
ubyte fmt; /* Video format of cursor */
|
ubyte fmt; /* Video format of cursor */
|
||||||
#endif
|
#endif
|
||||||
struct fb_cursorpos_s pos; /* Current cursor position */
|
struct fb_cursorpos_s pos; /* Current cursor position */
|
||||||
#ifdef CONFIG_FB_HWCURSORSIZE
|
#ifdef CONFIG_FB_HWCURSORSIZE
|
||||||
struct fb_cursorsize_s mxsize; /* Maximum cursor size */
|
struct fb_cursorsize_s mxsize; /* Maximum cursor size */
|
||||||
struct fb_cursorsize_s size; /* Current size */
|
struct fb_cursorsize_s size; /* Current size */
|
||||||
@@ -299,15 +300,15 @@ struct fb_vtable_s
|
|||||||
|
|
||||||
/* The following is provided only if the video hardware supports RGB color mapping */
|
/* The following is provided only if the video hardware supports RGB color mapping */
|
||||||
|
|
||||||
#if CONFIG_FB_CMAP
|
#ifdef CONFIG_FB_CMAP
|
||||||
int (*getcmap)(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap);
|
int (*getcmap)(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap);
|
||||||
int (*putcmap)(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *cmap);
|
int (*putcmap)(FAR struct fb_vtable_s *vtable, FAR const struct fb_cmap_s *cmap);
|
||||||
#endif
|
#endif
|
||||||
/* The following is provided only if the video hardware supports a hardware cursor */
|
/* The following is provided only if the video hardware supports a hardware cursor */
|
||||||
|
|
||||||
#ifdef CONFIG_FB_HWCURSOR
|
#ifdef CONFIG_FB_HWCURSOR
|
||||||
int (*getcursor)(FAR struct fb_vtable_s *vtable, FAR struct fb_cursorattrib_s *attrib);
|
int (*getcursor)(FAR struct fb_vtable_s *vtable, FAR struct fb_cursorattrib_s *attrib);
|
||||||
int (*setcursor)(FAR struct fb_vtable_s *vtable, FAR struct fb_setcursor_s *setttings);
|
int (*setcursor)(FAR struct fb_vtable_s *vtable, FAR struct fb_setcursor_s *settings);
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user