os/textandloc/fontservices/fontstore/src/linkedfontsprivate.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2 * Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description: 
    15 *
    16 */
    17 
    18 
    19 #ifndef LINKEDFONTSPRIVATE_H__
    20 #define LINKEDFONTSPRIVATE_H__
    21 #include <linkedfonts.h>
    22 #include "FNTSTD.H"
    23 
    24 class CFontStore;
    25 class COpenFontLinkedTypefaceElementSpec;
    26 
    27 /**
    28 * A type for a single element in a linked typeface description -
    29 * Internal technology - this is used for client server calls -
    30 * class basically the same as CLinkedTypefaceElement, but a T class.
    31 */
    32 
    33 typedef TBufC<KMaxTypefaceNameLength>  TTypefaceName;
    34 
    35 /* Internal technology - data body for CLinkedTypefaceSpecification */
    36 class CLinkedTypefaceSpecificationBody : public CBase
    37 	{
    38 friend class CLinkedTypefaceSpecification;
    39 friend class CFont;
    40 friend class CFontStore;
    41 private:
    42 	CLinkedTypefaceSpecificationBody();
    43 	~CLinkedTypefaceSpecificationBody();
    44 private:
    45 	RPointerArray <CLinkedTypefaceElementSpec> iTypefaces;
    46 	RPointerArray <CLinkedTypefaceGroup> iGroups;
    47 	HBufC* iLinkedTypefaceName;
    48 	};
    49 
    50 /* Internal technology - data body for COpenFontLinkedTypefaceSpecification */
    51 class COpenFontLinkedTypefaceSpecificationBody : public CBase
    52 	{
    53 friend class COpenFontLinkedTypefaceSpecification;
    54 friend class CFont;
    55 friend class CFontStore;
    56 private:
    57 	COpenFontLinkedTypefaceSpecificationBody();
    58 	~COpenFontLinkedTypefaceSpecificationBody();
    59 private:
    60 	RPointerArray <COpenFontLinkedTypefaceElementSpec> iTypefaces;
    61 	HBufC* iLinkedTypefaceName;
    62 	TInt iId;
    63 	TInt iSession; //Not owned
    64 	TInt iUsageCounter; //
    65 
    66 
    67 	const COpenFontGlyph* GlyphLinked(TInt aCode,TInt*& aNode);
    68 	void RasterizeL(TInt aCode,TOpenFontGlyphData* aGlyphData);
    69 	};
    70 
    71 #endif //LINKEDFONTSPRIVATE_H__
    72