webengine/wmlengine/src/gdi/include/GDIDevicecontext.h
changeset 74 91031d3aab7d
parent 68 92a765b5b3e7
child 85 e358f2276d3f
--- a/webengine/wmlengine/src/gdi/include/GDIDevicecontext.h	Mon May 03 13:32:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,685 +0,0 @@
-/*
-* Copyright (c) 2003-2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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:  gdi interface
-*
-*/
-
-
-#ifndef _GDIDEVICECONTEXT_H
-#define _GDIDEVICECONTEXT_H
-
-// INCLUDES
-#include <AknUtils.h>
-#include "nw_object_dynamic.h"
-#include "GDIFont.h"
-#include "BrsrTypes.h"
-#include "BrsrStatusCodes.h"
-
-// CONSTANTS
-enum TGDIDeviceContextFontSizeLevel
-  {
-  EGDIDeviceContextFontSizeLevelAllSmall,
-  EGDIDeviceContextFontSizeLevelSmaller,
-  EGDIDeviceContextFontSizeLevelNormal,
-  EGDIDeviceContextFontSizeLevelLarger,    
-  EGDIDeviceContextFontSizeLevelAllLarge
-  };
-
-// fonts to be created : italic12, bold-italic12, plain13, italic13,
-// bold-italic13, plain17, italic17, bold-italic17
-const TInt8 KNumberOfFonts = 8;
-
-// Browser specific font types
-//
-enum TGDIDeviceContextFontNames
-  {
-  ELatinItalic12,
-  ELatinBoldItalic12,
-  ELatinPlain13,
-  ELatinItalic13,
-  ELatinBoldItalic13,
-  ELatinPlain17,
-  ELatinItalic17,
-  ELatinBoldItalic17
-  };
-
-enum TGDISupportedLanguage
-    {
-    EElafLanguage,
-    EThaiLanguage,
-    EJapaneseLanguage,
-    EChinesePRCLanguage,
-    EChinaHKTWLanguage
-    };
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  CGDIDeviceContext
-*  
-*  @lib BrowserEngine.dll
-*  @since 2.1
-*/
-class CGDIDeviceContext : public CBase
-{
-  public:  // Constructors and destructor
-        
-   /**
-    * Two-phased constructor.
-    * @return CGDIDeviceContext*
-	  */
-    static CGDIDeviceContext* NewL( void* aGraphicsContext, CView* aOocEpoc32View );
-
-    /**
-    * Destructor.
-    */
-    virtual ~CGDIDeviceContext();
-
-  public: // New functions
-        
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void DrawImage( const NW_GDI_Point2D_t* aLocation, 
-                    const NW_GDI_Rectangle_t* aRectangle,
-                    NW_GDI_ImageBlock_t* aImageBlock );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode ScaleImage( const NW_GDI_Dimension3D_t* aSize,
-                                   const NW_GDI_ImageBlock_t* aImageBlock,
-                                   NW_GDI_ImageBlock_t* aScaledImageBlock );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void DrawPixel( const NW_GDI_Point2D_t* aLocation );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode DrawPolyline( NW_GDI_Metric_t aNumPoints,
-                                     const NW_GDI_Point2D_t* aPoints,
-                                     TBool aClosed );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void DrawRectangle( const NW_GDI_Rectangle_t* aRectangle );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-
-    TBrowserStatusCode DrawText( const NW_GDI_Point2D_t* aLocation,
-                                 const NW_Text_t* aText,
-                                 CGDIFont* aGDIFont,
-                                 NW_GDI_Metric_t aSpacing,
-                                 NW_GDI_TextDecoration_t aDecoration,
-                                 NW_GDI_FlowDirection_t aDir,
-                                 NW_GDI_Metric_t aWidth );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void FillRectangle( const NW_GDI_Rectangle_t* aRectangle );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode GetColorPalette( NW_GDI_ColorPalette_t* aColPalette );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_Color_t BackgroundColor () const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_Rectangle_t ClipRect () const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    const NW_GDI_Rectangle_t* DisplayBounds () const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TUint8 DisplayDepth() const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_Pattern_t FillPattern() const;
-
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode GetFlowDirection( NW_Text_t* aText, 
-                                         NW_GDI_FlowDirection_t* aFlowDirection) const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_Color_t ForegroundColor() const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_Pattern_t LinePattern() const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_Metric_t LineWidth() const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    const NW_GDI_Point2D_t* Origin() const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_PaintMode_t PaintMode() const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void* GetScaledCFont( CGDIFont* aFont ) const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_TextDirection_t TextDirection() const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode GetTextExtent( const NW_Text_t* aText,
-                                      CGDIFont* aGDIFont,
-                                      NW_GDI_Metric_t aSpacing,
-                                      NW_GDI_FlowDirection_t aFlowDirection,
-                                      NW_GDI_Dimension2D_t* aExtent) const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void PreDraw();
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void PostDraw( TBool aDrawNow );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetBackgroundColor( NW_GDI_Color_t aColor );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetClipRect( const NW_GDI_Rectangle_t* aClipRect );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetFillPattern( NW_GDI_Pattern_t aFillPattern );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetForegroundColor( NW_GDI_Color_t aColor );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetLinePattern( NW_GDI_Pattern_t aLinePattern );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetLineWidth( NW_GDI_Metric_t aLineWidth );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetOrigin( const NW_GDI_Point2D_t* aOrigin );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetPaintMode( NW_GDI_PaintMode_t aPaintMode );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetTextDirection( NW_GDI_TextDirection_t aTextDirection );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetDisplayBounds( const NW_GDI_Rectangle_t* aDisplaybounds );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    CGDIFont* CreateFont( const NW_Text_t* aFamily, 
-                          TGDIFontStyle aStyle, 
-                          TUint8 aSizeInPixels,
-                          TUint16 aWeight, 
-                          TGDIFontVariant aVariant) const;
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void DrawLine( NW_GDI_Point2D_t aStartPoint, NW_GDI_Point2D_t aEndPoint );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBool SetFontSizeLevel();
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void ChangeFontSize( CGDIFont* aFont );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void GetHighlightColor( NW_GDI_Color_t* aColor );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SwitchAgainstBG( NW_GDI_Color_t* aColor );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode SplitText( NW_Text_t* aText,
-                                  CGDIFont* aGDIFont,
-                                  NW_GDI_Metric_t aConstraint,
-                                  NW_GDI_Metric_t aSpacing,
-                                  NW_GDI_FlowDirection_t aFlowDirection,
-                                  NW_Text_Length_t* aLength,
-                                  TUint8 aMode );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode GetSubstringExtent( const NW_Text_t* aText,
-                                           CGDIFont* aGDIFont,
-                                           NW_Text_Length_t aStart,
-                                           NW_Text_Length_t aLength,
-                                           NW_GDI_Metric_t aSpacing,
-                                           NW_GDI_FlowDirection_t aFlowDirection,
-                                           NW_GDI_Dimension2D_t* aExtent );
-
-    /**
-    * This method 
-    * @since 2.1
-    * @param TFontSpec which specifies the font family and the height of the font 
-    *   the caller of this method wishes to find.
-    * @return pointer to a CFont object which will have been found in the iFontCache 
-    *   or have been created if the font was not already in the cache
-    */
-    CFont* FindFont( TFontSpec aFontSpec );
-
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetRemoveNbsp( TBool aFlag );
-
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBool RemoveNbsp();
-
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetGraphicsContext( void* aGraphicsContext );
-
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void SetFontSizeLevel( TGDIDeviceContextFontSizeLevel aFontSizeLevel );
-
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    EVariantFlag VariantFlag();
-
-    /**
-    * This method 
-    * @since 2.x
-    * @param 
-    * @return 
-    */
-    inline CWsScreenDevice*  WsScreenDevice() { return iWsScreenDev; };
-
-    /**
-    * This method 
-    * @since 2.x
-    * @param 
-    * @return 
-    */
-    TGDISupportedLanguage SupportedLanguage();
-
-  private: // New functions
-
-    /**
-    * C++ default constructor.
-    */
-    CGDIDeviceContext();
-
-    /**
-    * By default Symbian 2nd phase constructor is private.
-    */
-    TBrowserStatusCode ConstructL( void* aGraphicsContext, CView* aOocEpoc32View );
-
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    NW_GDI_Color_t SwapColorBytes( NW_GDI_Color_t aColor ); 
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    CBitmapContext* Epoc32GraphicsContext();
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode WordWrap ( NW_Text_t* aText,
-                                  CGDIFont* aGDIFont,
-                                  NW_GDI_Metric_t aConstraint,
-                                  NW_GDI_Metric_t aSpacing,
-                                  NW_GDI_FlowDirection_t aFlowDirection,
-                                  NW_Text_Length_t* aLength );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode SplitAtNewline ( NW_Text_t* aText,
-                                        CGDIFont* aGDIFont,
-                                        NW_GDI_Metric_t aCconstraint,
-                                        NW_GDI_Metric_t aSpacing,
-                                        NW_GDI_FlowDirection_t aFlowDirection,
-                                        NW_Text_Length_t* aLength );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode Truncate ( NW_Text_t* aText,
-                                  CGDIFont* aGDIFont,
-                                  NW_GDI_Metric_t aConstraint,
-                                  NW_GDI_Metric_t aSpacing,
-                                  NW_GDI_FlowDirection_t aFlowDirection,
-                                  NW_Text_Length_t* aLength );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    TBrowserStatusCode ScaleBitmap( CFbsBitmap* aBitmap, 
-                  CFbsBitmap** aScaledBitmap, 
-                  TRect* aRect );
-    
-    /**
-    * This method 
-    * @since 2.1
-    * @param 
-    * @return 
-    */
-    void InitializeGraphicsContext();
-
-    /**
-    * Checks whether or not a line split (word wrap) can occur between the two
-    * characters specified.
-    * @since 2.6
-    * @param aChar1 First character.
-    * @param aChar2 Second character.
-    * @return ETrue if split can occur between the two characters; else, EFalse.
-    */
-    TBool CanSplit(TText16 aChar1, TText16 aChar2);
-
-    /**
-    * Checks whether or not the two consecutive characters are within a single
-    * Thai script "cell".
-    * @since 2.6
-    * @param aChar1 First character.
-    * @param aChar2 Second character.
-    * @return ETrue if is in a single Thai script "cell"; else, EFalse.
-    */
-    TBool
-    IsThaiCell( TText16 aChar1, TText16 aChar2 );
-
-
-  private:    // Data
-
-    //
-    EVariantFlag                          iVariantFlag;
-    //
-    CFontCache*                           iFontCache;
-    //
-    CWsScreenDevice*                      iWsScreenDev;
-    // used for removing nbsp in vertical-layout mode
-    TBool                                 iRemoveNbsp; 
-    // is a CBitmapContext*
-    void*                                 iGraphicsContext; 
-    //
-    NW_GDI_Point2D_t                      iOrigin;
-    //
-    TGDIDeviceContextFontSizeLevel        iFontSizeLevel;
-    //
-    NW_GDI_Pattern_t                      iFillPattern;
-    //
-    NW_GDI_Pattern_t                      iLinePattern;
-    //
-    NW_GDI_Metric_t                       iLineWidth;
-    //
-    NW_GDI_PaintMode_t                    iPaintMode;
-    //
-    NW_GDI_TextDirection_t                iTextDirection;
-    //
-    NW_GDI_Color_t                        iForegroundColor;
-    //
-    NW_GDI_Color_t                        iBackgroundColor;
-    //
-    NW_GDI_Rectangle_t                    iDisplayBounds;
-    //
-    NW_GDI_Rectangle_t                    iClipRect;
-    //
-    CView*                                iOocEpoc32View; 
-    //
-    NW_Int32                              iResourceFileOffset;
-    //
-    TGDISupportedLanguage                 iSupportedLanguage;
-};
-
-#endif // _GDIDEVICECONTEXT_H