📄 pvrdispconfig.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 + -