fontservices/textbase/inc/gdiinline.inl
author hgs
Mon, 12 Jul 2010 14:38:26 +0800
changeset 45 662fa7de7023
permissions -rw-r--r--
201024_05
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45
662fa7de7023 201024_05
hgs
parents:
diff changeset
     1
// Copyright (c) 1998-2010 Nokia Corporation and/or its subsidiary(-ies).
662fa7de7023 201024_05
hgs
parents:
diff changeset
     2
// All rights reserved.
662fa7de7023 201024_05
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
662fa7de7023 201024_05
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
662fa7de7023 201024_05
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
662fa7de7023 201024_05
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
662fa7de7023 201024_05
hgs
parents:
diff changeset
     7
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
     8
// Initial Contributors:
662fa7de7023 201024_05
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
662fa7de7023 201024_05
hgs
parents:
diff changeset
    10
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
    11
// Contributors:
662fa7de7023 201024_05
hgs
parents:
diff changeset
    12
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
    13
// Description:
662fa7de7023 201024_05
hgs
parents:
diff changeset
    14
// Contains the inline functions IsAlphaChannel, QuoteOrBracketPair and IsIgnoredCharacterForLocalisedProcFunc.
662fa7de7023 201024_05
hgs
parents:
diff changeset
    15
// 
662fa7de7023 201024_05
hgs
parents:
diff changeset
    16
//
662fa7de7023 201024_05
hgs
parents:
diff changeset
    17
#ifndef GDIINLINE_INL
662fa7de7023 201024_05
hgs
parents:
diff changeset
    18
#define GDIINLINE_INL
662fa7de7023 201024_05
hgs
parents:
diff changeset
    19
662fa7de7023 201024_05
hgs
parents:
diff changeset
    20
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
    21
/** Utility function to check if a display mode has Alpha channel information
662fa7de7023 201024_05
hgs
parents:
diff changeset
    22
@param aDisplayMode - the display mode being queried
662fa7de7023 201024_05
hgs
parents:
diff changeset
    23
@return ETrue if display mode contains Alpha information.
662fa7de7023 201024_05
hgs
parents:
diff changeset
    24
@internalTechnology
662fa7de7023 201024_05
hgs
parents:
diff changeset
    25
@released
662fa7de7023 201024_05
hgs
parents:
diff changeset
    26
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
    27
inline TBool IsAlphaChannel(TDisplayMode aDisplayMode)
662fa7de7023 201024_05
hgs
parents:
diff changeset
    28
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
    29
	if(aDisplayMode == EColor16MAP || aDisplayMode == EColor16MA) 
662fa7de7023 201024_05
hgs
parents:
diff changeset
    30
		return ETrue;
662fa7de7023 201024_05
hgs
parents:
diff changeset
    31
	else
662fa7de7023 201024_05
hgs
parents:
diff changeset
    32
		return EFalse;
662fa7de7023 201024_05
hgs
parents:
diff changeset
    33
	}
662fa7de7023 201024_05
hgs
parents:
diff changeset
    34
662fa7de7023 201024_05
hgs
parents:
diff changeset
    35
/**
662fa7de7023 201024_05
hgs
parents:
diff changeset
    36
@internalTechnology
662fa7de7023 201024_05
hgs
parents:
diff changeset
    37
@released
662fa7de7023 201024_05
hgs
parents:
diff changeset
    38
*/
662fa7de7023 201024_05
hgs
parents:
diff changeset
    39
inline TUint QuoteOrBracketPair(TUint code)
662fa7de7023 201024_05
hgs
parents:
diff changeset
    40
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
    41
	// given the opening/closing quote or bracket, return the corresponding closing/opening quote or bracket
662fa7de7023 201024_05
hgs
parents:
diff changeset
    42
	switch(code)
662fa7de7023 201024_05
hgs
parents:
diff changeset
    43
		{
662fa7de7023 201024_05
hgs
parents:
diff changeset
    44
		case 0x0022: return 0x0022; // "..."
662fa7de7023 201024_05
hgs
parents:
diff changeset
    45
		case 0x0027: return 0x0027; // '...'
662fa7de7023 201024_05
hgs
parents:
diff changeset
    46
		case 0x0028: return 0x0029; // (...)
662fa7de7023 201024_05
hgs
parents:
diff changeset
    47
		case 0x003c: return 0x003e; // <...>
662fa7de7023 201024_05
hgs
parents:
diff changeset
    48
		case 0x005b: return 0x005d; // [...]
662fa7de7023 201024_05
hgs
parents:
diff changeset
    49
		case 0x007b: return 0x007d; // {...}
662fa7de7023 201024_05
hgs
parents:
diff changeset
    50
		case 0x2018: return 0x2019; // Single quotation marks
662fa7de7023 201024_05
hgs
parents:
diff changeset
    51
		case 0x201b: return 0x2019; // Single high-reversed-9 quotation mark
662fa7de7023 201024_05
hgs
parents:
diff changeset
    52
		case 0x201c: return 0x201d; // Double quotation marks
662fa7de7023 201024_05
hgs
parents:
diff changeset
    53
		case 0x201f: return 0x201d; // Double high-reversed-9 quotation mark
662fa7de7023 201024_05
hgs
parents:
diff changeset
    54
		case 0x2035: return 0x2032; // Single primes
662fa7de7023 201024_05
hgs
parents:
diff changeset
    55
		case 0x2036: return 0x2033; // Double primes
662fa7de7023 201024_05
hgs
parents:
diff changeset
    56
		case 0x2037: return 0x2034; // Triple primes
662fa7de7023 201024_05
hgs
parents:
diff changeset
    57
		case 0x2039: return 0x203a; // Single left/right-pointing angle quotation marks
662fa7de7023 201024_05
hgs
parents:
diff changeset
    58
		case 0x2045: return 0x2046; // Square brackets with quill
662fa7de7023 201024_05
hgs
parents:
diff changeset
    59
		
662fa7de7023 201024_05
hgs
parents:
diff changeset
    60
		case 0x0029: return 0x0028; // (...)
662fa7de7023 201024_05
hgs
parents:
diff changeset
    61
		case 0x003e: return 0x003c; // <...>
662fa7de7023 201024_05
hgs
parents:
diff changeset
    62
		case 0x005d: return 0x005b; // [...]
662fa7de7023 201024_05
hgs
parents:
diff changeset
    63
		case 0x007d: return 0x007b; // {...}
662fa7de7023 201024_05
hgs
parents:
diff changeset
    64
		case 0x2019: return 0x2018; // Single quotation marks
662fa7de7023 201024_05
hgs
parents:
diff changeset
    65
		case 0x201d: return 0x201c; // Double quotation marks
662fa7de7023 201024_05
hgs
parents:
diff changeset
    66
		case 0x2032: return 0x2035; // Single primes
662fa7de7023 201024_05
hgs
parents:
diff changeset
    67
		case 0x2033: return 0x2036; // Double primes
662fa7de7023 201024_05
hgs
parents:
diff changeset
    68
		case 0x2034: return 0x2037; // Triple primes
662fa7de7023 201024_05
hgs
parents:
diff changeset
    69
		case 0x203a: return 0x2039; // Single left/right-pointing angle quotation marks
662fa7de7023 201024_05
hgs
parents:
diff changeset
    70
		case 0x2046: return 0x2045; // Square brackets with quill
662fa7de7023 201024_05
hgs
parents:
diff changeset
    71
				
662fa7de7023 201024_05
hgs
parents:
diff changeset
    72
		default: return 0;
662fa7de7023 201024_05
hgs
parents:
diff changeset
    73
		}
662fa7de7023 201024_05
hgs
parents:
diff changeset
    74
	}
662fa7de7023 201024_05
hgs
parents:
diff changeset
    75
662fa7de7023 201024_05
hgs
parents:
diff changeset
    76
/**
662fa7de7023 201024_05
hgs
parents:
diff changeset
    77
@internalTechnology
662fa7de7023 201024_05
hgs
parents:
diff changeset
    78
@released
662fa7de7023 201024_05
hgs
parents:
diff changeset
    79
*/	
662fa7de7023 201024_05
hgs
parents:
diff changeset
    80
inline TBool IsIgnoredCharacterForLocalisedProcFunc(TChar aCode)
662fa7de7023 201024_05
hgs
parents:
diff changeset
    81
	{
662fa7de7023 201024_05
hgs
parents:
diff changeset
    82
	TChar::TBdCategory cat = aCode.GetBdCategory();
662fa7de7023 201024_05
hgs
parents:
diff changeset
    83
662fa7de7023 201024_05
hgs
parents:
diff changeset
    84
	if ((cat == TChar::ELeftToRight ||
662fa7de7023 201024_05
hgs
parents:
diff changeset
    85
		cat == TChar::ERightToLeft ||
662fa7de7023 201024_05
hgs
parents:
diff changeset
    86
		cat == TChar::ERightToLeftArabic) && aCode != 0 && aCode != 0xFFFF)
662fa7de7023 201024_05
hgs
parents:
diff changeset
    87
		return EFalse;
662fa7de7023 201024_05
hgs
parents:
diff changeset
    88
	
662fa7de7023 201024_05
hgs
parents:
diff changeset
    89
	return ETrue;
662fa7de7023 201024_05
hgs
parents:
diff changeset
    90
	}
662fa7de7023 201024_05
hgs
parents:
diff changeset
    91
662fa7de7023 201024_05
hgs
parents:
diff changeset
    92
662fa7de7023 201024_05
hgs
parents:
diff changeset
    93
662fa7de7023 201024_05
hgs
parents:
diff changeset
    94
662fa7de7023 201024_05
hgs
parents:
diff changeset
    95
#endif /* GDIINLINE_INL */