sl@0: // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of the License "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: //
sl@0: 
sl@0: /**
sl@0:  @file
sl@0:  @publishedPartner
sl@0:  @released
sl@0: */
sl@0: 
sl@0: #ifndef __VIDEODRIVER_H__
sl@0: #define __VIDEODRIVER_H__
sl@0: 
sl@0: #include <e32cmn.h>
sl@0: 
sl@0: struct SRectOpInfo
sl@0: 	{
sl@0: 	TInt	iX;
sl@0: 	TInt	iY;
sl@0: 	TInt	iWidth;
sl@0: 	TInt	iHeight;
sl@0: 	TInt	iSrcX;
sl@0: 	TInt	iSrcY;
sl@0: 	TUint32	iColor;
sl@0: 	};
sl@0: 
sl@0: 
sl@0: /**
sl@0: Encapsulates information about the screen display mode.
sl@0: 
sl@0: An object of this type is passed, via a TPckgBuf, to the HAL handler
sl@0: that deals with the HAL group,function-id pair:
sl@0: - EHalGroupDisplay, EDisplayHalCurrentModeInfo;
sl@0: - EHalGroupDisplay, EDisplayHalSpecifiedModeInfo;
sl@0: 
sl@0: @see EDisplayHalCurrentModeInfo
sl@0: @see EDisplayHalSpecifiedModeInfo
sl@0: @see TDisplayHalFunction
sl@0: @see EHalGroupDisplay
sl@0: @see TPckgBuf
sl@0: */
sl@0: class TVideoInfoV01
sl@0: 	{
sl@0: public:
sl@0: 	TSize	iSizeInPixels;				/**< The visible width/height of the display in pixels. */
sl@0: 	TSize	iSizeInTwips;				/**< The visible width/height of the display in twips. */
sl@0: 	TBool	iIsMono;					/**< True if display is monochrome; false otherwise. */
sl@0: 	TBool	iIsPalettized;				/**< True if display is palettized (in current display mode); false otherwise. */
sl@0: 	TInt	iBitsPerPixel;				/**< The number of bits in one pixel. */
sl@0: 	TInt	iVideoAddress;				/**< The virtual address of screen memory. */
sl@0: 	TInt	iOffsetToFirstPixel;		/**< Number of bytes from iVideoAddress for the first displayed pixel. */
sl@0: 	TInt	iOffsetBetweenLines;		/**< Number of bytes between start of one line and start of next. */
sl@0: 	TBool	iIsPixelOrderRGB;			/**< The orientation of sub pixels on the screen; True if RBG, False if BGR. */
sl@0: 	TBool	iIsPixelOrderLandscape;		/**< True if display pixels are landscape. */
sl@0: 	TInt	iDisplayMode;				/**< The current display mode. */
sl@0: 	};
sl@0: 
sl@0: 
sl@0: /**
sl@0: Package buffer for a TVideoInfoV01 object.
sl@0: 
sl@0: @see TVideoInfoV01
sl@0: */
sl@0: typedef TPckgBuf<TVideoInfoV01> TVideoInfoV01Buf;
sl@0: 
sl@0: 
sl@0: #endif