svgtopt/gfx2d/src/GfxGc/GfxRenderingHints.cpp
author hgs
Wed, 03 Nov 2010 18:56:10 +0200
changeset 46 88edb906c587
permissions -rw-r--r--
201044
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:  Graphics Extension Library source file
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
#include "GfxRenderingHints.h"
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
const TUint32 KCurveQualityMask = 0x00000007;  // bit 0-2
hgs
parents:
diff changeset
    23
const TUint32 KVisibilityMask = 0x00000008;    // bit 3
hgs
parents:
diff changeset
    24
const TUint32 KFontEngineMask = 0x00000010;    // bit 4
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    28
//  TGfxRenderingHints::TGfxRenderingHints()
hgs
parents:
diff changeset
    29
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    30
 TGfxRenderingHints::TGfxRenderingHints()
hgs
parents:
diff changeset
    31
    {
hgs
parents:
diff changeset
    32
    iHintBits = KVisibilityMask;    // Default visibility = visible
hgs
parents:
diff changeset
    33
    iHintBits |= ( KCurveQualityMask & 2 ); // Default Flattening level = 2
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
    // Notes:
hgs
parents:
diff changeset
    36
    //   KFontEngineMask bitp is 0 -> use scalable font as default
hgs
parents:
diff changeset
    37
    }
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
// ==========================================================================
hgs
parents:
diff changeset
    41
// Visibility
hgs
parents:
diff changeset
    42
// ==========================================================================
hgs
parents:
diff changeset
    43
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    44
//  void TGfxRenderingHints::SetVisibility( TBool aVisibility )
hgs
parents:
diff changeset
    45
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    46
 void TGfxRenderingHints::SetVisibility( TBool aVisibility )
hgs
parents:
diff changeset
    47
    {
hgs
parents:
diff changeset
    48
    if ( aVisibility )
hgs
parents:
diff changeset
    49
        {
hgs
parents:
diff changeset
    50
        iHintBits |= KVisibilityMask;
hgs
parents:
diff changeset
    51
        }
hgs
parents:
diff changeset
    52
    else
hgs
parents:
diff changeset
    53
        {
hgs
parents:
diff changeset
    54
        iHintBits &= ~KVisibilityMask;
hgs
parents:
diff changeset
    55
        }
hgs
parents:
diff changeset
    56
    }
hgs
parents:
diff changeset
    57
hgs
parents:
diff changeset
    58
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    59
//  TBool TGfxRenderingHints::Visibility()
hgs
parents:
diff changeset
    60
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    61
 TBool TGfxRenderingHints::Visibility()
hgs
parents:
diff changeset
    62
    {
hgs
parents:
diff changeset
    63
    return ( ( iHintBits & KVisibilityMask ) != 0 );
hgs
parents:
diff changeset
    64
    }
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
// ==========================================================================
hgs
parents:
diff changeset
    67
// Curve quality
hgs
parents:
diff changeset
    68
// ==========================================================================
hgs
parents:
diff changeset
    69
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    70
//  void TGfxRenderingHints::SetCurveQuality( TInt aCurveQuality )
hgs
parents:
diff changeset
    71
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    72
 void TGfxRenderingHints::SetCurveQuality( TInt aCurveQuality )
hgs
parents:
diff changeset
    73
    {
hgs
parents:
diff changeset
    74
    iHintBits &= ~KCurveQualityMask;                    // clear
hgs
parents:
diff changeset
    75
    iHintBits |= ( KCurveQualityMask & aCurveQuality ); // set
hgs
parents:
diff changeset
    76
    }
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    79
//  TInt TGfxRenderingHints::CurveQuality()
hgs
parents:
diff changeset
    80
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    81
 TInt TGfxRenderingHints::CurveQuality()
hgs
parents:
diff changeset
    82
    {
hgs
parents:
diff changeset
    83
    return ( iHintBits & KCurveQualityMask );
hgs
parents:
diff changeset
    84
    }
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
// ==========================================================================
hgs
parents:
diff changeset
    87
// switch rendering engine (Open Font system/bitmap font)
hgs
parents:
diff changeset
    88
// ==========================================================================
hgs
parents:
diff changeset
    89
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
    90
//  void TGfxRenderingHints::SetFastFontRendering( TBool aFastFontRendering )
hgs
parents:
diff changeset
    91
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
 void TGfxRenderingHints::SetFastFontRendering( TBool aFastFontRendering )
hgs
parents:
diff changeset
    93
    {
hgs
parents:
diff changeset
    94
    if ( aFastFontRendering )
hgs
parents:
diff changeset
    95
        {
hgs
parents:
diff changeset
    96
        iHintBits |= KFontEngineMask;
hgs
parents:
diff changeset
    97
        }
hgs
parents:
diff changeset
    98
    else
hgs
parents:
diff changeset
    99
        {
hgs
parents:
diff changeset
   100
        iHintBits &= ~KFontEngineMask;
hgs
parents:
diff changeset
   101
        }
hgs
parents:
diff changeset
   102
    }
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   105
//  TBool TGfxRenderingHints::FastFontRendering()
hgs
parents:
diff changeset
   106
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   107
 TBool TGfxRenderingHints::FastFontRendering()
hgs
parents:
diff changeset
   108
    {
hgs
parents:
diff changeset
   109
    return ( ( iHintBits & KFontEngineMask ) != 0 );
hgs
parents:
diff changeset
   110
    }
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   114
//  void TGfxRenderingHints::SetShapeAntiAliasing( TBool /* aShapeAntiAliasing */ )
hgs
parents:
diff changeset
   115
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   116
 void TGfxRenderingHints::SetShapeAntiAliasing( TBool /* aShapeAntiAliasing */ )
hgs
parents:
diff changeset
   117
    {
hgs
parents:
diff changeset
   118
    }
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   121
//  TBool TGfxRenderingHints::ShapeAntiAliasing()
hgs
parents:
diff changeset
   122
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   123
 TBool TGfxRenderingHints::ShapeAntiAliasing()
hgs
parents:
diff changeset
   124
    {
hgs
parents:
diff changeset
   125
    return EFalse;
hgs
parents:
diff changeset
   126
    }
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   129
//  TGfxImageInterpolation TGfxRenderingHints::ImageInterpolation()
hgs
parents:
diff changeset
   130
// ---------------------------------------------------------------------------
hgs
parents:
diff changeset
   131
 TGfxImageInterpolation TGfxRenderingHints::ImageInterpolation()
hgs
parents:
diff changeset
   132
    {
hgs
parents:
diff changeset
   133
    return EGfxInterpolationNearestNeighbor;
hgs
parents:
diff changeset
   134
    }
hgs
parents:
diff changeset
   135