svgtopt/VGRenderer/SWVG/inc/swopenvgtargetsurfaceimpl.h
author hgs
Wed, 09 Jun 2010 11:15:09 +0300
changeset 26 796196dd6e68
permissions -rw-r--r--
201023_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
796196dd6e68 201023_01
hgs
parents:
diff changeset
     1
/*
796196dd6e68 201023_01
hgs
parents:
diff changeset
     2
 * Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
796196dd6e68 201023_01
hgs
parents:
diff changeset
     3
 * All rights reserved.
796196dd6e68 201023_01
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
796196dd6e68 201023_01
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
796196dd6e68 201023_01
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
796196dd6e68 201023_01
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
796196dd6e68 201023_01
hgs
parents:
diff changeset
     8
 *
796196dd6e68 201023_01
hgs
parents:
diff changeset
     9
 * Initial Contributors:
796196dd6e68 201023_01
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
796196dd6e68 201023_01
hgs
parents:
diff changeset
    11
 *
796196dd6e68 201023_01
hgs
parents:
diff changeset
    12
 * Contributors:
796196dd6e68 201023_01
hgs
parents:
diff changeset
    13
 *
796196dd6e68 201023_01
hgs
parents:
diff changeset
    14
 * Description:  CSWVGTargetSurfaceImpl header file
796196dd6e68 201023_01
hgs
parents:
diff changeset
    15
 *
796196dd6e68 201023_01
hgs
parents:
diff changeset
    16
*/
796196dd6e68 201023_01
hgs
parents:
diff changeset
    17
796196dd6e68 201023_01
hgs
parents:
diff changeset
    18
#ifndef SWOPENVGTARGETSURFACEIMPL_H_
796196dd6e68 201023_01
hgs
parents:
diff changeset
    19
#define SWOPENVGTARGETSURFACEIMPL_H_
796196dd6e68 201023_01
hgs
parents:
diff changeset
    20
796196dd6e68 201023_01
hgs
parents:
diff changeset
    21
#include "SWVG.h"
796196dd6e68 201023_01
hgs
parents:
diff changeset
    22
#include "MVGSurfaceImpl.h"
796196dd6e68 201023_01
hgs
parents:
diff changeset
    23
796196dd6e68 201023_01
hgs
parents:
diff changeset
    24
#include <displaymode.h>
796196dd6e68 201023_01
hgs
parents:
diff changeset
    25
796196dd6e68 201023_01
hgs
parents:
diff changeset
    26
class CSvgtBitmap;
796196dd6e68 201023_01
hgs
parents:
diff changeset
    27
796196dd6e68 201023_01
hgs
parents:
diff changeset
    28
class CSWVGTargetSurfaceImpl : public CBase, public MVGSurfaceImpl
796196dd6e68 201023_01
hgs
parents:
diff changeset
    29
{
796196dd6e68 201023_01
hgs
parents:
diff changeset
    30
public:
796196dd6e68 201023_01
hgs
parents:
diff changeset
    31
    static CSWVGTargetSurfaceImpl* NewL();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    32
    static CSWVGTargetSurfaceImpl* NewLC();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    33
    
796196dd6e68 201023_01
hgs
parents:
diff changeset
    34
    virtual ~CSWVGTargetSurfaceImpl();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    35
796196dd6e68 201023_01
hgs
parents:
diff changeset
    36
    virtual TInt InitializeSurface(TSize aSize, TInt aColorSpace);
796196dd6e68 201023_01
hgs
parents:
diff changeset
    37
    
796196dd6e68 201023_01
hgs
parents:
diff changeset
    38
    virtual TInt CreateSurface(TInt /*aDisplayMode*/, RWindow */*aSurface*/, CFbsBitmap */*aBitmap*/);
796196dd6e68 201023_01
hgs
parents:
diff changeset
    39
    virtual TInt CreateSurface(TInt aDisplayMode, RWindow *aSurface, CSvgtBitmap *aBitmap);
796196dd6e68 201023_01
hgs
parents:
diff changeset
    40
    
796196dd6e68 201023_01
hgs
parents:
diff changeset
    41
    virtual TInt ResizeSurface(TSize aSize);
796196dd6e68 201023_01
hgs
parents:
diff changeset
    42
    
796196dd6e68 201023_01
hgs
parents:
diff changeset
    43
    virtual void SetConfiguration(TInt aOption, const TAny* aValue);
796196dd6e68 201023_01
hgs
parents:
diff changeset
    44
    
796196dd6e68 201023_01
hgs
parents:
diff changeset
    45
    virtual TInt CopyBitmap(TInt /*aDisplayMode*/, TInt /*aMaskMode*/, CFbsBitmap */*aBitmap*/, CFbsBitmap */*aMask*/, TSize /*aSize*/ = TSize(0,0));
796196dd6e68 201023_01
hgs
parents:
diff changeset
    46
    virtual TInt CopyBitmap(TInt aDisplayMode,TInt aMaskMode,CSvgtBitmap *aBitmap, CSvgtBitmap *aMask, TSize aSize = TSize(0,0));
796196dd6e68 201023_01
hgs
parents:
diff changeset
    47
796196dd6e68 201023_01
hgs
parents:
diff changeset
    48
    virtual TInt PrepareToBindClientBuffer();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    49
    virtual TInt BindClientBuffer(TInt buffer);
796196dd6e68 201023_01
hgs
parents:
diff changeset
    50
      
796196dd6e68 201023_01
hgs
parents:
diff changeset
    51
    virtual TInt UnBindClientBuffer();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    52
796196dd6e68 201023_01
hgs
parents:
diff changeset
    53
    virtual void TerminateSurface();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    54
    
796196dd6e68 201023_01
hgs
parents:
diff changeset
    55
    TInt MapSymbianDisplayModeToOpenVG( TDisplayMode aMode) const;
796196dd6e68 201023_01
hgs
parents:
diff changeset
    56
    TInt MapOpenVGErrorToSymbianError( TInt aError ) const;
796196dd6e68 201023_01
hgs
parents:
diff changeset
    57
796196dd6e68 201023_01
hgs
parents:
diff changeset
    58
private:
796196dd6e68 201023_01
hgs
parents:
diff changeset
    59
    CSWVGTargetSurfaceImpl();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    60
    void ConstructL();
796196dd6e68 201023_01
hgs
parents:
diff changeset
    61
    TSize   iSize;
796196dd6e68 201023_01
hgs
parents:
diff changeset
    62
};
796196dd6e68 201023_01
hgs
parents:
diff changeset
    63
796196dd6e68 201023_01
hgs
parents:
diff changeset
    64
#endif /* SWOPENVGTARGETSURFACEIMPL_H_ */