fontservices/fontstore/tfs/T_fontsessioncacheproc.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 16:35:09 +0300
branchRCL_3
changeset 69 09b5fcf47b30
parent 55 336bee5c2d35
permissions -rw-r--r--
Revision: 201021 Kit: 201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
     2
* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
12
5390220f13c1 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 5
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
12
5390220f13c1 Revision: 201009
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 5
diff changeset
    14
* Description: 
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
*
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
/**
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
 @file
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
 @test
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
 @internalComponent - Internal Symbian test code
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
*/
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    24
#include <e32base.h>
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    25
#include <e32cons.h>
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    26
#include <e32test.h>
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    27
#include <e32std.h>
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    28
#include <e32debug.h>
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "FNTSTORE.H"
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    30
#include "FNTBODY.H"
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    31
#include "FNTSTD.H"
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    32
#include <fbs.h>
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    33
#include <bitstd.h>
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    34
#include <bitdev.h>
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include <e32math.h>
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
_LIT(KOpenFont, "DejaVu Sans Condensed");
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
#ifdef __WINSCW__
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
//this is used for winscw breakpoints
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#define BR _asm( int 3);
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
#endif
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
const TInt KTimeOut = 1000 * 1000;
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    45
//make sure that the font is large enough to ensure that the session
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    46
//cache is used.
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    47
const TInt KTextHight = 220;
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    49
/* it is expected that the main in this file will be called to test multiple 
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    50
process output at the same time a process is being deleted (font and bitmap server
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    51
disconnection.  There are  normally two instances of this process.  Two virtually
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    52
identical processes are required to ensure that the session ID is the same.
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    53
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    54
The first is with aThirdProcess set. This sets output to run in a loop until
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    55
the timeout is completed.  These values  are input via program arguments.
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    56
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    57
If aThirdProcess is false then only one font creation, draw text,
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    58
font deletion cycle is completed. The test code will then repeatedly run
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    59
this process with aThirdProcess set to false.
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
*/
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    62
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    63
class TRunProc: public CBase
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
    {
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
public:
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    66
    static TRunProc* NewL();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
    void RunTestL();
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    68
    ~TRunProc();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
private:
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    70
    TRunProc(){};
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    71
    void ConstructL();
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    72
    void DrawText();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
    void CreateFontL();
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
private:
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    76
    RFbsSession* iFbs;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    77
    CFbsBitGc* iGc;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    78
    CFbsScreenDevice* iDev;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    79
    CFbsFont   *iFbsFont;
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
    };
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    82
TRunProc::~TRunProc()
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
    {
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    84
    delete iGc;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    85
    delete iDev;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    86
    iFbs->Disconnect();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
    }
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    89
void TRunProc::ConstructL()
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
    {
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    91
    TInt err = RFbsSession::Connect();
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    92
    User::LeaveIfError(err);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    93
    iFbs = RFbsSession::GetSession();
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    94
    User::LeaveIfNull(iFbs);
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
    
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    96
    const TInt KDisplayMode = 3;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    97
    TDisplayMode mode[KDisplayMode];
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    98
    mode[0] = EColor16MA;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
    99
    mode[1] = EColor16MU;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   100
    mode[2] = EColor64K;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   101
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   102
    TInt count;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   103
    for (count = 0; count < KDisplayMode; count++)
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   104
        {
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   105
        TRAP(err, iDev = CFbsScreenDevice::NewL(KNullDesC, mode[count]));
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   106
        if (err != KErrNotSupported)
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   107
            {
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   108
            break;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   109
            }
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   110
        }
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   111
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   112
    User::LeaveIfNull(iDev);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   113
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   114
    if(err == KErrNone)
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   115
        {
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   116
        iDev->ChangeScreenDevice(NULL);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   117
        iDev->SetAutoUpdate(ETrue);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   118
        iDev->CreateContext(iGc);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   119
        }
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   120
    User::LeaveIfNull(iGc);
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   121
    }
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   122
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   123
TRunProc* TRunProc::NewL()
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   124
    {
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   125
    TRunProc *ptr = new (ELeave) TRunProc;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   126
    CleanupStack::PushL(ptr);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   127
    ptr->ConstructL();
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   128
    CleanupStack::Pop();
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   129
    return ptr;
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
    }
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   132
void TRunProc::CreateFontL()
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   133
    {
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   134
    TOpenFontSpec openFontSpec;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   135
    openFontSpec.SetName(KOpenFont);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   136
    openFontSpec.SetHeight(KTextHight);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   137
    openFontSpec.SetItalic(EFalse);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   138
    openFontSpec.SetBold(EFalse);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   139
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   140
    TTypeface Typeface;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   141
    Typeface.iName = KOpenFont;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   142
    TFontSpec fs;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   143
    fs.iTypeface = Typeface;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   144
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   145
    fs.iHeight = KTextHight;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   146
    CFbsFont* font = NULL;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   147
    TInt err = iDev->GetNearestFontToDesignHeightInPixels(font, fs);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   148
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   149
    User::LeaveIfNull(font);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   150
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   151
    // Use the font
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   152
    iFbsFont = font;
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   153
    iGc->UseFont(font);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   154
    iGc->Clear();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   155
    }
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   157
void TRunProc::RunTestL()
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
    {
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   159
    TTime theTime;
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
    theTime.UniversalTime();
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
    TInt64 randSeed(theTime.Int64());
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
    TInt random(Math::Rand(randSeed) % (1000 * 1000));
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
    User::After(random);
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   164
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
    RTimer timer;
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
    timer.CreateLocal();
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
    TRequestStatus timerStatus = KRequestPending;
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    TTimeIntervalMicroSeconds32 timeout(KTimeOut);
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
    timer.After(timerStatus, timeout);
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   171
    CreateFontL();
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   172
    RDebug::Print(_L("DrawText()random=%d"), random);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   173
    DrawText();
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   174
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
    TText ch;
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   176
    const TUint8 *bitmap;
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
    TSize bitmapsize;
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   178
    TOpenFontCharMetrics Metrics;
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    do
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
        {
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   181
        for (ch = 'A'; ch <= 'Z'; ch++)
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
            {
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   183
            iFbsFont->GetCharacterData((TInt) ch, Metrics, bitmap,bitmapsize);
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
            }
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
        }
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
    while (timerStatus == KRequestPending);
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   188
    timer.Cancel();
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   189
    iGc->DiscardFont();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   190
    timer.Close();
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   191
    }
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   192
    
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   193
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   194
void TRunProc::DrawText()
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   195
    {
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   196
    TText ch[2];
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   197
    ch[1] = '\0';
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   198
    for (ch[0] = 'A';ch[0] <= 'Z';ch[0]++)
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   199
        {
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   200
        TBufC<2> buf(ch);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   201
        iGc->DrawText(buf,TPoint(10,100));
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   202
        }
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   203
    for (ch[0] = 'a';ch[0] <= 'z';ch[0]++)
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   204
        {
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   205
        TBufC<2> buf(ch);
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   206
        iGc->DrawText(buf,TPoint(10,100));
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   207
        }
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   208
    }
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   209
    
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   210
  
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
void MainL()
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
    {
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   214
    TRunProc* test = TRunProc::NewL();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
    CleanupStack::PushL(test);
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
    RDebug::Print(_L("T_fontsessioncacheproc MainL()"));
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    test->RunTestL();
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   219
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   220
    CleanupStack::PopAndDestroy();
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
    }
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
// Cleanup stack harness
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
GLDEF_C TInt E32Main()
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
    {
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
    __UHEAP_MARK;
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
    CTrapCleanup* cleanupStack = CTrapCleanup::New();
55
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   228
    TRAPD(error, MainL());
336bee5c2d35 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 54
diff changeset
   229
    _LIT(KTCacheDeletionProcess,"T_fontsessioncacheproc");
5
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
    __ASSERT_ALWAYS(!error, User::Panic(KTCacheDeletionProcess, error));
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
    delete cleanupStack;
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
    __UHEAP_MARKEND;
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
    return 0;
e96e8a131979 Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
    }