lafagnosticuifoundation/cone/src/COEFONT.cpp
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/cone/src/COEFONT.cpp	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,162 @@
+// Copyright (c) 1997-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:
+//
+
+
+#include <coefont.h>
+
+// 
+// class TCoeFont 
+// 
+
+
+/** constructor
+
+@publishedAll
+@released
+*/
+EXPORT_C TCoeFont::TCoeFont(TLogicalSize aSize, TInt aStyle, TInt aFlags) : 
+                iLogicalSize(aSize), iHeightInPixels(0), iStyle(aStyle), iFlags(aFlags) 
+        { 
+        ASSERT(!(iStyle&ESuper && iStyle&ESub));        // Super and sub not allowed at once!         
+        } 
+        
+
+/** constructor
+
+@publishedAll
+@released
+*/
+EXPORT_C TCoeFont::TCoeFont(TInt aHeightInPixels, TInt aStyle, TInt aFlags) : 
+                iLogicalSize(EUndefinedSize), iHeightInPixels(aHeightInPixels), iStyle(aStyle), iFlags(aFlags) 
+        {
+        ASSERT(!(iStyle&ESuper && iStyle&ESub));        // Super and sub not allowed at once!
+        }         
+
+/** Copy constructor
+
+@publishedAll
+@released
+*/
+EXPORT_C TCoeFont::TCoeFont(const TCoeFont& aFont) 
+    { 
+    iLogicalSize = aFont.iLogicalSize; 
+    iHeightInPixels = aFont.iHeightInPixels; 
+    iStyle = aFont.iStyle; 
+    iFlags = aFont.iFlags; 
+    iTypeface = aFont.iTypeface;         
+    iSpare = aFont.iSpare; 
+    } 
+
+EXPORT_C TCoeFont::TCoeFont() 
+		: iLogicalSize(EUndefinedSize)
+		{
+		}
+
+/** Return a default "normal" font
+
+@publishedAll
+@released
+*/
+EXPORT_C TCoeFont TCoeFont::NormalFont(TInt aFlags) 
+        { 
+        return TCoeFont(EMedium, EPlain, aFlags);
+        } 
+        
+/** Return a default "legend" font
+
+@publishedAll
+@released
+*/
+EXPORT_C TCoeFont TCoeFont::LegendFont(TInt aFlags) 
+        { 
+        return TCoeFont(EMedium, EBold, aFlags);
+        } 
+        
+/** Return a default "annotation" font
+
+@publishedAll
+@released
+*/
+EXPORT_C TCoeFont TCoeFont::AnnotationFont(TInt aFlags) 
+        { 
+        return TCoeFont(ESmall, EPlain, aFlags);
+        } 
+        
+/** Return a default "title" font
+
+@publishedAll
+@released
+*/
+EXPORT_C TCoeFont TCoeFont::TitleFont(TInt aFlags) 
+        { 
+        return TCoeFont(ELarge, EBold, aFlags);
+        } 
+
+/** Return this font's logical size
+*/
+EXPORT_C TCoeFont::TLogicalSize TCoeFont::LogicalSize() const 
+        { 
+        return iLogicalSize; 
+        } 
+
+/** Return this font's height in pixels
+
+@publishedAll
+@released
+*/
+EXPORT_C TInt TCoeFont::HeightInPixels() const 
+        { 
+        return iHeightInPixels;         
+        } 
+        
+/** Return this font's style
+
+@publishedAll
+@released
+*/
+EXPORT_C TFontStyle TCoeFont::Style() const 
+        { 
+        return TFontStyle((iStyle&EItalic ? EPostureItalic : EPostureUpright), 
+                                                (iStyle&EBold ? EStrokeWeightBold : EStrokeWeightNormal), 
+                                                (iStyle&ESuper ? EPrintPosSuperscript : (iStyle&ESub ? EPrintPosSubscript : EPrintPosNormal))); 
+        } 
+
+/** Says whether this font can be zoomed or not
+
+@publishedAll
+@released
+*/
+EXPORT_C TBool TCoeFont::IsNonZooming() const 
+        { 
+        return (iFlags & ENonZooming); 
+        } 
+
+/** Compare two TCoeFont objects
+*/
+TInt TCoeFont::Compare(const TCoeFont& aFirst, const TCoeFont& aSecond) 
+    { 
+    if(aFirst.iStyle - aSecond.iStyle) 
+    	return (aFirst.iStyle - aSecond.iStyle); 
+        
+    if(aFirst.iLogicalSize - aSecond.iLogicalSize) 
+        return (aFirst.iLogicalSize - aSecond.iLogicalSize); 
+        
+    if(aFirst.iHeightInPixels - aSecond.iHeightInPixels) 
+        return (aFirst.iHeightInPixels - aSecond.iHeightInPixels); 
+                        
+    return (aFirst.iFlags - aSecond.iFlags); 
+    } 
+	
+