⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pvrdispconfig.h

📁 Lido PXA270平台开发板的最新BSP,包括源代码
💻 H
字号:
/*******************************************************************************
* Name         : PVRDispConfig.h
* Title        : Marathon display configuration defines
* Author       : Dave Bartlett
* Created      : 18th Sept 2003
*
* Copyright    : 2003 by Imagination Technologies Limited.
*                All rights reserved.  No part of this software, either
*                material or conceptual may be copied or distributed,
*                transmitted, transcribed, stored in a retrieval system 
*                or translated into any human or computer language in any
*                form by any means, electronic, mechanical, manual or
*                other-wise, or disclosed to third parties without the
*                express written permission of Imagination Technologies
*                Limited, Unit 8, HomePark Industrial Estate, 
*                King's Langley, Hertfordshire, WD4 8LZ, U.K.
*
* Description  : Defines to control the Marathon display configuration system
*
* Platform     : Marathon/WinCE
*
* Modifications:-
* $Log: pvrdispconfig.h $
*
*  --- Revision Logs Removed --- 
*
*  --- Revision Logs Removed --- 
***************************************************************************/

#ifndef __PVRDISPCONFIG_H__
#define __PVRDISPCONFIG_H__

#include "img_types.h"

/*****************************************************************************
    Display Configuration Driver Escape codes : Usable by applications 
*****************************************************************************/

#define DRVESC_DUALDISPLAY_BASE (100000 + 1000)

#define DRVESC_CONFIG_DISPLAYSYSTEM					(DRVESC_DUALDISPLAY_BASE+0)
#define DRVESC_CREATE_OFFSCREENSURFACE				(DRVESC_DUALDISPLAY_BASE+1)
#define DRVESC_GET_SURFACEINFO						(DRVESC_DUALDISPLAY_BASE+2)
#define DRVESC_DIRTY								(DRVESC_DUALDISPLAY_BASE+3)
#define DRVESC_FORCE_EXTERNAL_SECONDARY_FULLSCREEN	(DRVESC_DUALDISPLAY_BASE+4)
#define DRVESC_ACQUIRE_DUALDISPLAY					(DRVESC_DUALDISPLAY_BASE+5)

/*****************************************************************************
    Display Configuration Control structures : Usable by applications 
*****************************************************************************/

typedef enum _PVR_DISPLAY_SURFACE_
{
    PVR_DESKTOP,			/* Desktop surface */
    PVR_SECONDARYSURFACE,   /* Seconadary display surface */

} PVR_DISPLAY_SURFACE;


/* Describes the surface the PDP is connected to. */
typedef struct _PVR_CONNECT_SURFACE_
{
    PVR_DISPLAY_SURFACE     eSurface;           /* Surface to connect to PDP */

    /* Border Colour & Refresh Rate fields only valid if surface PVR_SECONDARYSURFACE */
    IMG_UINT32              ui32BorderColour;   /* Border colour if required */
    IMG_UINT32              ui32RefreshRate;    /* Recommendation only */
	IMG_UINT32				ui32PhysRotation;	/* orination of primary Display, in degrees */

} PVR_CONNECT_SURFACE;

/************************************************ Controlling the LCD switch */

typedef enum _PVR_LCD_SOURCE_
{
    PVR_SOURCE_PDP,
    PVR_SOURCE_HOST,
    PVR_SOURCE_NOT_APPLICABLE,

} PVR_LCD_SOURCE;


/* Format of pixels feed into the host port of the LCD_SWITCH */
typedef enum _PVR_LCD_HOST_FORMAT_
{
    PVR_LCD_HOST_555,
    PVR_LCD_HOST_556,
    PVR_LCD_HOST_565,
    PVR_LCD_HOST_655,
    PVR_LCD_HOST_665,
    PVR_LCD_HOST_666,
    
    PVR_FORMAT_NOT_APPLICABLE,		/* Format not applicable when PDP is source */

} PVR_LCD_HOST_FORMAT;

/* Controls configuration of a LCD_SWITCH port */
typedef struct _PVR_SWITCH_LCD_
{   
    IMG_BOOL                bValid;			/* TRUE - program switch with following params, FALSE - do not */
        
    IMG_BOOL                bActivate;		/* Enable/Disable the LCD output */  
    PVR_LCD_SOURCE          eLcdSource;		
    PVR_LCD_HOST_FORMAT     eHostFormat;    /* Only valid if eLcdSource == PVR_SOURCE_HOST */

} PVR_SWITCH_LCD;


typedef struct _DRVESC_CONFIG_DISPLAY_SYSTEM_
{
    IMG_BOOL                bSet;				/* Get/Set Parameters in this structure */

    PVR_SWITCH_LCD          sLcdInternal;	
    PVR_SWITCH_LCD          sLcdExternal;

    PVR_CONNECT_SURFACE     sConnectSurface;	/* Surface to connect to PDP */

} DRVESC_CONFIG_DISPLAY_SYSTEM;

/********************************* Create/destroy off-screen display surface */

typedef struct _DRVESC_CREATE_SURFACE_
{
	WORD wWidth;
	WORD wHeight;
} DRVESC_CREATE_SURFACE;

/************************************ Get information on the desktop surface */


/* Return information on the physical construction of the surface : Physical View */
typedef struct _SURFACE_PHYSICAL_VIEW_
{
    IMG_UINT32  ui32PhysAddress;                /* Physical address */

    IMG_UINT32  ui32Width;                      /* Width in pixels */
    IMG_UINT32  ui32Height;                     /* Height in pixels */
    IMG_UINT32  ui32Stride;                     /* Stride in bytes */
    IMG_UINT32  ui32Bpp;                        /* Bits Per Pixel */
  
    /* This bool indicates the driver has changed the shape and orientation
	   of the frame buffer. The driver does this so that the frame buffer is correctly 
	   aligned for displaying to an external display. */

    IMG_BOOL    bDriverRealigned;
    IMG_INT32   int32PhysicalRotation;          /* Rotation angle of the frame buffer contents. */

} SURFACE_PHYSICAL_VIEW;


typedef struct _DRVESC_GET_SURFACE_INFO_
{
    PVR_DISPLAY_SURFACE     eDisplaySurface;		/* Surface to return information on */
    SURFACE_PHYSICAL_VIEW   sPhysSurfaceInfo;		/* Surface information */

} DRVESC_GET_SURFACE_INFO;

typedef struct _DRVESC_FORCE_SECONDARY_EXT_
{
	BOOL bGet;										/* Is this a get or a set */
	BOOL bState;									/* The state of the m_bForceSecondaryExtFullscreen variable */
    IMG_UINT32 ui32RotationAngle;                    /* The angle of the secondary surface when in forced mode */
} DRVESC_FORCE_SECONDARY_EXT;


/* Acquireing this interface is only required for calls to set the state */
typedef struct _DRVESC_ACQUIRE_LOCK_
{
	BOOL bAcquire;									/* We are trying to acquire the interface */
	BOOL bRelease;									/* We are releasing the interface */
	BOOL bSuccess;									/* The returned succes or error */

} DRVESC_ACQUIRE_LOCK;



#endif /* __PVRDISPCONFIG_H__ */

/*-------------------------------------- end of file ---------------------------*/


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -