author | Gareth Stockwell <gareth.stockwell@accenture.com> |
Fri, 22 Oct 2010 11:38:29 +0100 | |
branch | bug235_bringup_0 |
changeset 206 | c170e304623f |
parent 0 | 5d03bc08d59c |
permissions | -rw-r--r-- |
// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available // at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. // // Contributors: // // Description: // #ifndef DIRECTGDIEXTENSIONINTERFACES_H #define DIRECTGDIEXTENSIONINTERFACES_H #include <e32cmn.h> #include <gdi.h> /** An interface used for testing the VGImage cache in the VG DirectGDI adaptation. @internalTechnology */ class MVgImageCache { public: virtual TBool IsInCache(TInt64 aSerialNumberList) = 0; virtual TInt TouchCount(TInt64 aSerialNumberList) = 0; virtual TInt NumEntries() const = 0; virtual void GetOrderedCacheEntries(TInt64& aSerialNumberList, TInt aListSize) = 0; virtual TInt CacheSizeInBytes() const = 0; virtual TInt MaxCacheSize() const = 0; virtual void ResetCache() = 0; }; const TUint32 KDirectGdiVgImageCacheUid = 0x10285A74; /** An interface for retrieving images from the storage and obtaining various glyph cache parameters . Many functions are intended to be used by test code only to exersize glyph image cache implementation. @internalTechnology */ class MFontGlyphImageStorage { public: virtual TInt GlyphImage(TUint32 aFontId, TChar aGlyphCode, TGlyphBitmapType aGlyphBitmapType, const TUint8* aGlyphImage, const TSize& aGlyphImageSize, TAny* aImageForeground, TAny* aImageShadow, TAny* aImageOutline) = 0; //for test purpose //current glyph cache size in bytes virtual TInt GlyphCacheSize() const = 0; //max glyph cache size in bytes virtual TInt MaxGlyphCacheSize() const = 0; //mainly for OOM testing //delete all VG Images from the cache virtual void CleanGlyphImageCache() = 0; //Fills aFontListId parameter with font Id in order from most to least usable. virtual TInt FontIdInOrder(RArray<TUint32> & aFontListId) const = 0; //Enforce to emulate OOM condition. The system will use pre-allocated buffers. virtual void EnforceOOMFailure(TBool aEnforce) = 0; }; const TUint32 KDirectGdiGetGlyphStorageUid = 0x10285A75; /** Interface intended for implementation by CDirectGdiDriverInternal to allow clients control over the maximum sizes used by an image cache and a glyph cache. @internalTechnology */ class MDirectGdiDriverCacheSize { public: /** Sets the maximum size of the image cache used by the driver implementation. @param aSize The maximum size in bytes that the image cache should use. @return KErrNone if the maximum cache size was set successfully, KErrNotSupported if this method is not supported. */ virtual TInt SetMaxImageCacheSize(TInt aSize) = 0; /** Gets the maximum size of the driver's image cache. @return The current maximum size in bytes of the driver's image cache. */ virtual TInt MaxImageCacheSize() const = 0; /** Sets the maximum size of the glyph cache used by the driver implementation. @param aSize The maximum size in bytes that the glyph cache should use. @return KErrNone if the maximum cache size was set successfully, KErrNotSupported if this method is not supported. */ virtual TInt SetMaxGlyphCacheSize(TInt aSize) = 0; /** Gets the maximum size of the driver's glyph cache. @return The current maximum size in bytes of the driver's glyph cache. */ virtual TInt MaxGlyphCacheSize() const = 0; }; const TUint32 KDirectGdiDriverCacheSizeUid = 0x10286A32; #endif /*DIRECTGDIEXTENSIONINTERFACES_H*/