epoc32/include/gdi.inl
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
--- a/epoc32/include/gdi.inl	Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/gdi.inl	Wed Mar 31 12:33:34 2010 +0100
@@ -1,9 +1,9 @@
 // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
-// 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
+// under the terms of "Eclipse Public License v1.0"
 // which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
 //
 // Initial Contributors:
 // Nokia Corporation - initial contribution.
@@ -21,21 +21,27 @@
 	/**  Constructs a TRgb initialised to KRgbWhite.*/
 	{}
 
- 
+
 inline TRgb::TRgb(TUint32 aValue):
 	iValue(((aValue & 0xff0000) >> 16) | (aValue & 0x00ff00) | ((aValue & 0x0000ff) << 16) | (0xff000000 - (aValue & 0xff000000)))
 /** Constructs a TRgb directly from a single 32-bit integer.
 
-The integer is of the form 0xaabbggrr, where bb is the hex number of blue, 
-gg is the hex number for green, and rr is the hex number for red, aa is the hex number of 
-alpha (0 means opaque, 255 means transparent). 
+The integer is of the form 0xaabbggrr, where bb is the hex number for blue,
+gg is the hex number for green, rr is the hex number for red, and aa is the hex number for
+"transparency" alpha (0 means opaque, 255 means transparent).
+
+This constructor is deprecated. The byte order of Red ,Green and Blue
+does not match other constructors and methods in this class,
+and the meaning of alpha is reversed compared to current convention.
 
-For example, TRgb(2,4,8) using the 3 colour constructor is equal to TRgb(0x00080402) using 
-this constructor.
+For example, TRgb(0x00080402) using this constructor
+can be replaced with the 3 colour constructor TRgb(2,4,8).
+The equivalent explicit alpha constructors are TRgb(0x020408,0xff) and TRgb(2,4,8,255).
+The equivalent call to SetInternal is SetInternal(0xff020408).
 
-The constructor is deprecated. Use others constructor or SetInternal() instead.
+This constructor is deprecated. Use other constructors or SetInternal() instead.
 
-@param aValue Integer representing colour value. Takes form 0x00bbggrr. 
+@param aValue Integer representing colour value. Takes form 0x00bbggrr.
 @deprecated  */
 	{}
 
@@ -43,15 +49,16 @@
 	iValue((aInternalValue & 0x00ffffff) | (aAlpha << 24))
 /** Constructs a TRgb from a 32-bit integer (which corresponds to a colour) and from an alpha value.
 
-The first parameter is of the form 0x00rrggbb, where rr is the hex number for red, 
-gg is the hex number for green, and bb is the hex number of blue. 
+The first parameter is of the form 0x00rrggbb, where rr is the hex number for red,
+gg is the hex number for green, and bb is the hex number for blue.
 
 The second parameter corresponds to an alpha channel (0 means transparent, 255 means opaque).
 
-For example, TRgb(2,4,8,255) using the 3 colour constructor is equal to TRgb(0x00020408, 255) using 
+For example, TRgb(2,4,8,255) using the 3 colour+alpha constructor is equal to TRgb(0x00020408, 255) using
 this constructor.
 
-The constructor is a replacement for TRgb(TUint32 aValue).
+This constructor, which implements alpha in the conventional way,
+replaces TRgb( TUint32 aValue ) which is deprecated.
 
 @param aInternalValue	Integer representing a colour value, which takes the form 0x00rrggbb.
 @param aAlpha		Alpha component of the colour (0 - 255).*/
@@ -63,9 +70,10 @@
 /** Constructs a TRgb from its three component colours.
 
 Each colour has a value between 0 and 255.
+The alpha component is always set to opaque (255)
 
-@param aRed Red component of the colour (0 - 255). 
-@param aGreen Green component of the colour (0 -  255). 
+@param aRed Red component of the colour (0 - 255).
+@param aGreen Green component of the colour (0 -  255).
 @param aBlue Blue component of the colour (0 - 255). */
 	{}
 
@@ -74,6 +82,9 @@
 Each component has a value between 0 and 255.
 The fourth parameter corresponds to an alpha channel (0 means transparent, 255 means opaque).
 
+This constructor, which implements alpha in the conventional way,
+replaces TRgb( TUint32 aValue ) which is deprecated.
+
 @param aRed Red component of the colour (0 - 255). 
 @param aGreen Green component of the colour (0 -  255). 
 @param aBlue Blue component of the colour (0 - 255).
@@ -173,30 +184,33 @@
 @return First operand  contains result of logical Exclusive OR. */
 	{iValue^=aColor.iValue;iValue^=0xff000000; return(*this);}
 
- 
-inline TUint32 TRgb::Value() const
-/** Gets the 32-bit value of the TRgb as an integer. 
-This function is deprecated. Use Internal() instead.
 
-@return The 32 bit value of the TRgb. Has the form 0xaabbggrr, where bb is the hex number of blue, 
-gg is the hex number for green, rr is the hex number for red and aa is the hex number of 
-alpha (0 means opaque, 255 means transparent). 
-@deprecated */			
+inline TUint32 TRgb::Value() const
+/** Gets the 32-bit value of the TRgb as an integer.
+This function is deprecated. Use Internal() instead.
+Note: the order of Red, Green and Blue components returned by this method
+is reversed compared to all other methods. The alpha value is also reversed in meaning
+compared to current convention, such that 0 represents opaque and 0xff represents transparent.
+
+@return The 32 bit value of the TRgb. Has the form 0xaabbggrr, where bb is the hex number for blue,
+gg is the hex number for green, rr is the hex number for red, and aa is the hex number for
+"transparency" alpha (0 means opaque, 255 means transparent).
+@deprecated */
 		//					rr							gg						bb								aa
 		{return (((iValue & 0xff0000) >> 16) | (iValue & 0x00ff00) | ((iValue & 0x0000ff) << 16) | (0xff000000 - (iValue & 0xff000000)));}
 
 inline TUint32 TRgb::Internal() const
-/** Gets the 32-bit value of the TRgb as an integer. 
+/** Gets the 32-bit value of the TRgb as an integer.
 
 @return The 32 bit value of the TRgb. Has the form 0xaarrggbb. */
 		{return (iValue);}
 
 inline void TRgb::SetInternal(TUint32 aInternal)
 /** Sets the 32-bit value of the TRgb as a 32-bit integer.
-@param aInternal Colour internal representation. Has the form 0xaarrggbb. 
+@param aInternal Colour internal representation. Has the form 0xaarrggbb.
 */
 		{iValue = aInternal;}
- 
+
 inline TRgb TRgb::operator~() const
 /** Bitwise logical inversion operator.
 
@@ -638,81 +652,4 @@
 	{
 	return FontMaxAscent() + FontMaxDescent();
 	}
-	
-/** Utility function to check if a display mode has Alpha channel information
-@param aDisplayMode - the display mode being queried
-@return ETrue if display mode contains Alpha information.
-@internalTechnology
-@released
-*/
-inline TBool IsAlphaChannel(TDisplayMode aDisplayMode)
-	{
-	if(aDisplayMode == EColor16MAP || aDisplayMode == EColor16MA) 
-		return ETrue;
-	else
-		return EFalse;
-	}
 
-/**
-@internalTechnology
-@released
-*/
-inline TUint QuoteOrBracketPair(TUint code)
-	{
-	// given the opening/closing quote or bracket, return the corresponding closing/opening quote or bracket
-	switch(code)
-		{
-		case 0x0022: return 0x0022; // "..."
-		case 0x0027: return 0x0027; // '...'
-		case 0x0028: return 0x0029; // (...)
-		case 0x003c: return 0x003e; // <...>
-		case 0x005b: return 0x005d; // [...]
-		case 0x007b: return 0x007d; // {...}
-		case 0x2018: return 0x2019; // Single quotation marks
-		case 0x201b: return 0x2019; // Single high-reversed-9 quotation mark
-		case 0x201c: return 0x201d; // Double quotation marks
-		case 0x201f: return 0x201d; // Double high-reversed-9 quotation mark
-		case 0x2035: return 0x2032; // Single primes
-		case 0x2036: return 0x2033; // Double primes
-		case 0x2037: return 0x2034; // Triple primes
-		case 0x2039: return 0x203a; // Single left/right-pointing angle quotation marks
-		case 0x2045: return 0x2046; // Square brackets with quill
-		
-		case 0x0029: return 0x0028; // (...)
-		case 0x003e: return 0x003c; // <...>
-		case 0x005d: return 0x005b; // [...]
-		case 0x007d: return 0x007b; // {...}
-		case 0x2019: return 0x2018; // Single quotation marks
-		case 0x201d: return 0x201c; // Double quotation marks
-		case 0x2032: return 0x2035; // Single primes
-		case 0x2033: return 0x2036; // Double primes
-		case 0x2034: return 0x2037; // Triple primes
-		case 0x203a: return 0x2039; // Single left/right-pointing angle quotation marks
-		case 0x2046: return 0x2045; // Square brackets with quill
-				
-		default: return 0;
-		}
-	}
-
-/**
-@internalTechnology
-@released
-*/	
-inline TBool IsIgnoredCharacterForLocalisedProcFunc(TChar aCode)
-	{
-	// All Devanagari characters should be ignored until DrawTextWithContext is implemented
-	// The current GDI only implementation for localised punctuation only works for some
-	// Devanagari characters. Hence this function 'blocks' all Devanagari characters, for now.
-	if (aCode >= 0x0900 && aCode <= 0x0965)
-		return ETrue;
-	
-	TChar::TBdCategory cat = aCode.GetBdCategory();
-
-	if ((cat == TChar::ELeftToRight ||
-		cat == TChar::ERightToLeft ||
-		cat == TChar::ERightToLeftArabic))
-		return EFalse;
-	
-	return ETrue;
-	
-	}