diff -r 000000000000 -r bde4ae8d615e os/graphics/graphicsdeviceinterface/directgdiadaptation/cmnsrc/directgdiadapter.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/graphics/graphicsdeviceinterface/directgdiadaptation/cmnsrc/directgdiadapter.h Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,259 @@ +// 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 DIRECTGDIADAPTER_H +#define DIRECTGDIADAPTER_H + +/** +@file +@internalComponent +*/ + +#include + +_LIT(KComponentPanicCategory, "DGDIAdapter"); +#define SYMBIAN_PANIC_CATEGORY KComponentPanicCategory + +#include "directgditypes.h" +#include + + +/** +Enumeration of DirectGDI panic codes. These should be used in conjunction with +the ASSERT_ALWAYS and ASSERT_DEBUG macros defined below. +*/ +enum TDirectGdiAdapterPanicCode + { + /** The requested functionality has not been implemented - do not use. + */ + EDirectGdiPanicNotImplemented = 1, + + /** An unexpected error has occured. + */ + EDirectGdiPanicUnexpectedError = 2, + + /** Invalid reference count to DirectGDI driver. + */ + EDirectGdiPanicDriverInvalidRefCount = 6, + + /** NULL bitmap specified. + */ + EDirectGdiPanicInvalidBitmap = 7, + + /** Invalid region passed into function. + */ + EDirectGdiPanicInvalidRegion = 8, + + /** An attempt has been made to use a patterned brush style when a patterned brush has not been set. + */ + EDirectGdiPanicPatternedBrushNotSet = 12, + + /** Unable to bind a rendering API. + */ + EDirectGdiPanicBindApi = 23, + + /** No drawing surface configurations are available. + */ + EDirectGdiPanicNoAvailableConfigs = 24, + + /** No available drawing surface configurations match specific attributes. + */ + EDirectGdiPanicNoMatchingConfig = 25, + + /** CVgEngine::DrawPolygon() was passed an invalid fill-rule. + */ + EDirectGdiPanicInvalidFillRule = 26, + + /** An array defining a polyline/polygon has too few points. + */ + EDirectGdiPanicInvalidPointArray = 27, + + /** RSgImage::GetPixelFormats() returns pixel count = 0. + */ + EDirectGdiPanicNoValidPixelFormats = 29, + + /** Open count error in CDirectGdiDrawableRef::Close(). + */ + EDirectGdiPanicDrawableRefCountError = 30, + + /** Attempt to get a handle to a drawable resource using CDirectGdiDriverImpl::GetImageTargetFromHandle(), + * CDirectGdiDriverImpl::GetImageSourceFromHandle(), CDirectGdiDriverImpl::GetDrawableSourceFromHandle() + * or CSwDirectGdiDriverImpl::FindImageTargetImpl() failed. + */ + EDirectGdiPanicResourceHandleNotFound = 32, + + /** Driver Process State has not been initialised. + */ + EDirectGdiPanicProcessStateNotInitialized = 33, + + /** Attempt to activate a target in CVgEngine::Activate() or CSwDirectGdiEngine::Activate() with a NULL handle. + */ + EDirectGdiPanicActivateWithNullHandle = 34, + + /** Unable to initialise a display. + */ + EDirectGdiPanicInitializeDisplay = 35, + + /** No display to which graphics are drawn. + */ + EDirectGdiPanicNoDisplay = 36, + + /** Unable to close a drawable handle. + */ + EDirectGdiPanicCloseDrawableHandleFailure = 37, + + /** Attempt to destroy a NULL engine in CDirectGdiDriverImpl::DestroyEngine(). + */ + EDirectGdiPanicDestroyNullEngine = 38, + + /** Attempt to activate a NULL target in CDirectGdiDriverImpl::Activate(). + */ + EDirectGdiPanicNullTargetActivate = 39, + + /** Failed to find a config for a particular pixel type. + */ + EDirectGdiPanicNoConfigFound = 41, + + /** Failed to create a drawing surface. + */ + EDirectGdiPanicNoDrawingSurface = 42, + + /** Failed to create a drawing context. + */ + EDirectGdiPanicNoContext = 43, + + /** Attempt to delete a CDirectGdiDrawableRef object when its reference count is non-zero. + */ + EDirectGdiPanicDrawableRefDestructorError = 44, + + /** A driver was closed while some drawable items were still in the drawable array. + */ + EDirectGdiPanicItemsLeftInImageArray = 45, + + /** Inconsistency in internal data of glyph cache structure. + */ + EDirectGdiPanicGlyphCacheDataInconsistent = 46, + + /** Valid reference to image source not found. + */ + EDirectGdiPanicImageSourceNotFound = 47, + + /** An invalid image handle was passed to the CImageSourceData constructor. + */ + EDirectGdiPanicImageSourceDataConstructorError = 48, + + /** The reference count was not zero in the destructor of CImageSourceData. + */ + EDirectGdiPanicImageSourceDataRefCountError = 49, + + /** The instance count was not zero in the destructor of CDirectGdiDriverProcessState. + */ + EDirectGdiPanicProcessStateInstanceCountError = 50, + + /** The image count was not zero in the destructor of CDirectGdiDriverProcessState. + */ + EDirectGdiPanicProcessStateImageCountError = 51, + + /** This panic only occurs when _DEBUG_DIRECTGDI is defined. One of the methods in + CDirectGdiDriverProcessState was called without the image's mutex being held. + */ + EDirectGdiPanicImageMutexError = 52, + + /** Attempt to activate a target in CSwDirectGdiEngine::Activate() with a NULL draw device. + */ + EDirectGdiPanicActivateWithNullDrawDevice = 53, + + /** Attempt to deactive a NULL target in CDirectGdiDriverImpl. + */ + EDirectGdiPanicNullTargetDeactivate = 55, + + /** This panic occurs when DrawGlyph is called on an unsupported glyph bitmap type. + */ + EDirectGdiPanicInvalidGlyphBitmapType = 56, + + /** Attempt to create a new image source/drawable source using a handle that already has + an image source/drawable source associated with it. + */ + EDirectGdiPanicSourceHandleNotNull = 57, + + /** Attempt to create a new image target using a handle that is already has an image target associated with it. + */ + EDirectGdiPanicTargetHandleNotNull = 58, + + /** An egl Api returned a failure. The actual egl error code is reported in the log. + */ + EEglApiFailure = 59, + + /** In a call to DestroyEngine(), the engine could not be found in the internal list of engines. + */ + EDirectGdiPanicEngineNotFound = 60, + + /** Glyph image storage was not created. + */ + EDirectGdiPanicGlyphImageStorageNotCreated = 61, + + /** Pen end cap style expected to be rounded, but found not to be. + */ + EDirectGdiPanicPenEndCapStyleNotRound = 62, + + /** eglWaitClient error. + */ + EDirectGdiPanicFinish = 63, + + /** An error code from vgGetError which is caused by incorrect usage of OpenVG. + */ + EDirectGdiPanicVgError = 64, + + /** Whilst performing a Clear() the clear-brush is not a recognised paint brush. + */ + EDirectGdiPanicClearBrushInvalid = 65, + + /** Panic codes corresponding to the old BitGdi codes (+1000). + Any more panic codes from BitGDI generic DirectGDI should be added in this section. + */ + EDirectGdiPanicInvalidParameter = 1006, + EDirectGdiPanicInvalidDisplayMode = 1009, + + /** Attempt to draw outside of clipping region. + */ + EDirectGdiPanicOutOfBounds = 1013, + EDirectGdiPanicPolygonFiller = 1015, + EDirectGdiPanicZeroLength = 1016, + EDirectGdiPanicInvalidPointer = 1018, + EDirectGdiPanicInvalidArg = 1021, + EDirectGdiPanicNegativeShift = 1022, + + /** + This panic may occur if MOutlineAndShadowBlend interface is not implemented, or + the MSgImage_Sw interface is not implemented on RSgImage. + */ + EDirectGdiPanicInvalidInterfaceHandle = 1023, + // End of panic codes corresponding to the old BitGDI codes. + }; + +/** +Log current eglGetError() to the debug stream, along with line number and source file name. +This must be #defined so that we retain the line and source file information at the +point in which LogEglError() is invoked. +*/ +#ifdef _DEBUG +#define LogEglError() {TBuf16<256> message; message.Format(_L16("EGL Error: %x\n"), eglGetError()); GRAPHICS_LOGD_DEBUG(message);} +#else +#define LogEglError() {} +#endif //_DEBUG + +#endif /*DIRECTGDIADAPTER_H*/ + +