--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/svgtopt/VGRenderer/PseudoVG/inc/NVGIconHeader.h Thu Jan 07 16:19:02 2010 +0200
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2003 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: NvgIconHeader header file
+ *
+*/
+
+
+#ifndef _NVGICONHEADER_H_
+#define _NVGICONHEADER_H_
+
+#include <e32std.h>
+
+/**
+* TNVGHeaderData
+*
+* Datastructure to hold NVG Icon Header information
+*/
+struct TNVGHeaderData // be aware of padding!
+{
+ TUint16 sign;
+ TUint8 version;
+ TUint8 headerSize;
+ TUint32 reserved1;
+ TUint16 reserved2;
+ TUint8 reserved3;
+ TUint8 reserved4:4; // flag
+ TUint8 isMarginCorrection:1; // flag
+ TUint8 isMask:1; // flag
+ TUint8 aspectRatio:2; // flag
+ TInt32 rotation;
+ TInt32 iconColor;
+ TInt32 bitmapid;
+};
+
+
+
+// CONSTANTS
+static const TInt KIconHeaderLength = sizeof(TNVGHeaderData);
+
+// FIXME: find an appropriate place for me.
+
+/**
+* Class TNVGIconHeader
+*
+* Class to hold NVG Icon Header information & operations
+*/
+class TNVGIconHeader
+ {
+
+public:
+ /**
+ * Constructor
+ *
+ * @param aData Descriptor to store the icon header data
+ */
+ inline TNVGIconHeader(TDes8 &aData)
+ {
+ __ASSERT_ALWAYS(aData.Length() >= KIconHeaderLength, User::Panic(_L("not sufficient size"), KErrBadDescriptor));
+ iHeader = (TNVGHeaderData *)(aData.LeftTPtr(KIconHeaderLength).Ptr());
+ }
+
+ /**
+ * Initializes icon header before writing any data
+ *
+ * @param None
+ */
+ inline void Initialize()
+ {
+ Mem::FillZ(iHeader,KIconHeaderLength);
+ iHeader->headerSize = KIconHeaderLength;
+ }
+
+
+ /**
+ * Set the mask flag in icon header
+ *
+ * @param isMask Flag to turn mask on/off
+ */
+ inline void SetIsMask(TBool isMask)
+ {
+ iHeader->isMask = isMask;
+ }
+
+ /**
+ * Get the mask flag from icon header
+ *
+ * @param None
+ */
+ inline TBool IsMask() const
+ {
+ return iHeader->isMask;
+ }
+
+private:
+
+ TNVGHeaderData *iHeader;
+ };
+
+#endif
+