sdkcreationmw/sdkexamples/cppexamples/S60Ex/helperfunctions/bitmapmethods.h
author rajpuroh
Mon, 08 Mar 2010 12:09:11 +0530
changeset 0 b26acd06ea60
permissions -rw-r--r--
First Contribution of SDK components
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     1
/*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     2
* Copyright (c) 2004, 2006 Nokia Corporation and/or its subsidiary(-ies).
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     3
* All rights reserved.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     8
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     9
* Initial Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    11
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    12
* Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    13
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    14
* Description: 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    15
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    16
*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    17
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    18
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    19
#ifndef __BITMAPMETHODS__
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    20
#define __BITMAPMETHODS__
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    21
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    22
#define KColourDepth EColor4K
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    23
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    24
//Ensure these libraries are linked against:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    25
//LIBRARY bitgdi.lib
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    26
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    27
// INCLUDES
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    28
#include <e32base.h>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    29
#include <gdi.h>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    30
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    31
// FORWARD DECLARATIONS
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    32
class CFbsBitGc;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    33
class CFbsBitmapDevice;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    34
class CWsBitmap;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    35
class CFbsBitmap;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    36
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    37
// CLASS DECLARATION
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    38
/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    39
* NBitmapMethods
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    40
* A set of functions to make bitmap manipulation easier
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    41
*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    42
namespace NBitmapMethods
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    43
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    44
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    45
    * CreateGraphicsContextLC
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    46
    * Create a graphics context and leave it on the cleanup stack
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    47
    * @param aBitmapDevice a reference to a bitmap device
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    48
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    49
    CFbsBitGc* CreateGraphicsContextLC( CFbsBitmapDevice& aBitmapDevice );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    50
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    51
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    52
    * CreateGraphicsContextL
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    53
    * Create a graphics context
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    54
    * @param aBitmapDevice a reference to a bitmap device
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    55
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    56
    CFbsBitGc* CreateGraphicsContextL( CFbsBitmapDevice& aBitmapDevice );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    57
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    58
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    59
    * CreateBitmapDeviceLC
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    60
    * Create a bitmap device and leave it on the cleanup stack
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    61
    * @param aBitmap a reference to a bitmap
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    62
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    63
    CFbsBitmapDevice* CreateBitmapDeviceLC( CFbsBitmap& aBitmap );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    64
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    65
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
    * CreateBitmapDeviceL
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
    * Create a bitmap device
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    68
    * @param aBitmap a reference to a bitmap
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
    CFbsBitmapDevice* CreateBitmapDeviceL( CFbsBitmap& aBitmap );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
    * CreateBitmapLC
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
    * Create a bitmap and leave it on the cleanup stack
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    75
    * @param aSizeInPixels the size of the bitmap to be created
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
    * @param aDispMode the display mode of the bitmap
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
    CFbsBitmap* CreateBitmapLC( TSize aSizeInPixels, TDisplayMode aDispMode );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    79
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
    * CreateBitmapL
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
    * Create a bitmap
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
    * @param aSizeInPixels the size of the bitmap to be created
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    84
    * @param aDispMode the display mode of the bitmap
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    85
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    86
    CFbsBitmap* CreateBitmapL( TSize aSizeInPixels, TDisplayMode aDispMode );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    87
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    88
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    89
    * CreateBitmapLC
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    90
    * Create a bitmap from an mbm file bitmap and leave it on the cleanup stack
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    91
    * @param aFileName the name of an mbm file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    92
    * @param aId the position of the bitmap in the mbm file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    93
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    94
    CFbsBitmap* CreateBitmapLC( const TDesC& aFileName, TInt aId );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    95
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    96
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    97
    * CreateBitmapLC
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    98
    * Create a bitmap from an mbm file bitmap
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    99
    * @param aFileName the name of an mbm file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   100
    * @param aId the position of the bitmap in the mbm file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   101
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   102
    CFbsBitmap* CreateBitmapL( const TDesC& aFileName, TInt aId );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   103
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   104
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   105
    * BitBltMaskedEntireBitmap
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   106
    * Blit the entire of a bitmap with a mask onto a gc
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   107
    * @param aTargetGc gc to blit onto
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   108
    * @param aTopLeft the position at which the top left of the
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   109
    * bitmap will be placed on the gc
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   110
    * @param aBitmap the bitmap to blit
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   111
    * @param aBitMask the mask
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   112
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   113
    void BitBltMaskedEntireBitmap( CFbsBitGc& aTargetGc,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   114
                                   TPoint aTopLeft,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   115
                                   const CFbsBitmap& aBitmap,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   116
                                   const CFbsBitmap& aBitMask );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   117
    /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   118
    * PartialReset
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   119
    * Reset a gc so that it is in a sensible state.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   120
    * Not all settings are reset, just some of the more useful ones
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   121
    * @param aGc the gc to reset
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   122
    */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   123
    void PartialReset( CFbsBitGc& aGc );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   124
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   125
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   126
#endif //__BITMAPMETHODS__
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   127
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   128
// End of File