epoc32/include/graphicsaccelerator.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     7 //
     8 // Initial Contributors:
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
     9 // Nokia Corporation - initial contribution.
    10 //
    10 //
    11 // Contributors:
    11 // Contributors:
    40 @released
    40 @released
    41 */
    41 */
    42 class TAcceleratedBitmapInfo
    42 class TAcceleratedBitmapInfo
    43 	{
    43 	{
    44 public:
    44 public:
    45 
    45 	/** The display mode of the bitmap. */
    46     /** The bitmap's display mode. */
       
    47 	TDisplayMode	iDisplayMode;
    46 	TDisplayMode	iDisplayMode;
    48 
    47 
    49 	/** The address of the start of the bitmap. */
    48 	/** The address of the start of the bitmap. */
    50 	TUint8*			iAddress;
    49 	TUint8*			iAddress;
    51 	
    50 	
    52 	/** The width and height of the bitmap in pixels. */
    51 	/** The width and height of the bitmap in pixels. */
    53 	TSize			iSize;
    52 	TSize			iSize;
    54 	
    53 	
    55 	/** The address offset (in bytes) between successive lines in a bitmap. */
    54 	/** The address offset (in bytes) between successive lines in a bitmap.
       
    55 	If the bitmap is compressed the line pitch has no meaning so this data
       
    56 	member is set to the negation of the compression type. In the case of
       
    57 	an extended bitmap it is -EProprietaryCompression. */
    56 	TInt			iLinePitch;
    58 	TInt			iLinePitch;
    57 	
    59 	
    58 	/** The shift required to obtain the number of bits needed to represent one pixel in the bitmap.
    60 	/** The shift required to obtain the number of bits needed to represent one pixel
    59 	The number of bits per pixel is calculated as 1 << iPixelShift */
    61 	in the bitmap. The number of bits per pixel is calculated as 1 << iPixelShift.
       
    62 	In the case of an extended bitmap this data member is set to the bitmap type UID. */
    60 	TInt			iPixelShift;
    63 	TInt			iPixelShift;
    61 	
    64 	
    62 	/** The physical address of the start of the bitmap. This is the address which a 
    65 	union
    63 	hardware graphics accelerator will use and is zero if the bitmap is not accessible 
    66 		{
    64 	to hardware graphics accelerators. */
    67 		/** The physical address of the start of the bitmap. This is the address which a
    65 	TUint8*			iPhysicalAddress;
    68 		hardware graphics accelerator will use and is zero if the bitmap is not accessible
       
    69 		to hardware graphics accelerators. Invalid in the case of an extended bitmap. */
       
    70 		TUint8*		iPhysicalAddress;
       
    71 		/** In the case of an extended bitmap, the size of the raw bitmap data. */
       
    72 		TInt		iDataSize;
       
    73 		};
    66 	};
    74 	};
    67 
    75 
    68 /**
    76 /**
    69 The interface to a hardware bitmap.
    77 The interface to a hardware bitmap.
    70 
    78 
   429 	/** All areas with a winding number greater than zero are filled.
   437 	/** All areas with a winding number greater than zero are filled.
   430 	
   438 	
   431 	@see CGraphicsContext::TFillRule */
   439 	@see CGraphicsContext::TFillRule */
   432 		EPolygonFillWinding = 2,
   440 		EPolygonFillWinding = 2,
   433 		};
   441 		};
   434 		
   442 
       
   443 	 		
   435 /** Bit flags for the specifying the supported rendering orientations. 
   444 /** Bit flags for the specifying the supported rendering orientations. 
   436 @see  CFbsBitGc::TGraphicsOrientation */
   445 @see  CFbsBitGc::TGraphicsOrientation */
   437 	enum TOrientationCaps
   446  	enum TOrientationCaps
   438 		{
   447  		{
   439 		/** Normal orientation is supported. */
   448  		/** Normal orientation is supported. */
   440 		EOrientationCapNormal = 1,
   449  		EOrientationCapNormal = 1,
   441 		/** A 90 degree rotation is supported. */
   450  		/** A 90 degree rotation is supported. */
   442 		EOrientationCapRotated90 = 2,
   451  		EOrientationCapRotated90 = 2,
   443 		/** A 180 degree rotation is supported. */
   452  		/** A 180 degree rotation is supported. */
   444 		EOrientationCapRotated180 = 4,
   453  		EOrientationCapRotated180 = 4,
   445 		/** A 270 degree rotation is supported. */
   454  		/** A 270 degree rotation is supported. */
   446 		EOrientationCapRotated270 = 8,
   455  		EOrientationCapRotated270 = 8,
   447 		/** All orientations are supported. */ 
   456  		/** All orientations are supported. */ 
   448 		EOrientationCapAll = EOrientationCapNormal|EOrientationCapRotated90|EOrientationCapRotated180|EOrientationCapRotated270,
   457  		EOrientationCapAll = EOrientationCapNormal|EOrientationCapRotated90|EOrientationCapRotated180|EOrientationCapRotated270
   449 		};
   458  		};
   450 
   459 
   451 	/** The size of this class in bytes. */
   460  	/** The size of this class in bytes. */
   452 	TInt			iStructureSize;	// The size of this class
   461 	TInt			iStructureSize;	// The size of this class
   453 	
   462 	
   454 	/** The version number of the API. */
   463 	/** The version number of the API. */
   455 	TInt			iVersion;		// == 1 to specify current API
   464 	TInt			iVersion;		// == 1 to specify current API
   456 	
   465 	
   519 	for each TPolygonCaps supported.
   528 	for each TPolygonCaps supported.
   520 	
   529 	
   521 	@see TPolygonCaps */
   530 	@see TPolygonCaps */
   522 	TUint			iPolygon;		// TPolygonCaps bit flags
   531 	TUint			iPolygon;		// TPolygonCaps bit flags
   523 	
   532 	
   524 	/** 
   533  	/** 
   525 	iReserved[0] specifies the supported rendering orientations.Uses a bit flags
   534  	iReserved[0] specifies the supported rendering orientations.Uses a bit flags
   526 	for each TOrientationCaps supported.	
   535  	for each TOrientationCaps supported.	
   527 	@see TOrientationCaps 
   536  	@see TOrientationCaps 
   528 	iReserved[1]-iReserved[3] are reserved for future use. All should be set to zero.
   537  	iReserved[1]-iReserved[3] are reserved for future use. All should be set to zero.
   529 	*/
   538  	*/
   530 	TUint			iReserved[4];
   539  	TUint			iReserved[4];
   531 	};
   540 	};
   532 
   541 
   533 
   542 
   534 //
   543 //
   535 // TGraphicsOperation
   544 // TGraphicsOperation