author | Christian Morlok <symbian.org@christianmorlok.de> |
Sat, 27 Mar 2010 10:22:08 +0100 | |
branch | v5backport |
changeset 37 | 03b332946b95 |
parent 21 | 11157e26c4a7 |
permissions | -rw-r--r-- |
21
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
1 |
/* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
2 |
* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
3 |
* All rights reserved. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
8 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
11 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
12 |
* Contributors: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
13 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
14 |
* Description: Text scrolling functionality. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
15 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
16 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
17 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
18 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
19 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
20 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
21 |
#ifndef AKNMARQUEECONTROL_H |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
22 |
#define AKNMARQUEECONTROL_H |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
23 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
24 |
#include <coecntrl.h> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
25 |
#include <coemain.h> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
26 |
#include <babitflags.h> |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
27 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
28 |
// FORWARD DECLARATIONS |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
29 |
class TAknTextComponentLayout; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
30 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
31 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
32 |
* Marquee control for AVKON |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
33 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
34 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
35 |
NONSHARABLE_CLASS(CAknMarqueeControl) : public CCoeControl, MCoeForegroundObserver |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
36 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
37 |
public: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
38 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
39 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
40 |
* Two-phased constructor. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
41 |
* @param aLoops Max number of loops to be executed |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
42 |
* @param aScrollAmount The amount of pixels scrolled per iteration |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
43 |
* @param aScrollDelay The interval between iterations |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
44 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
45 |
IMPORT_C static CAknMarqueeControl* NewL(const TInt aLoops = 1, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
46 |
const TInt aScrollAmount = 6, const TInt aScrollDelay = 1000000); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
47 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
48 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
49 |
* Two-phased constructor. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
50 |
* @param aLoops Max number of loops to be executed |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
51 |
* @param aScrollAmount The amount of pixels scrolled per iteration |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
52 |
* @param aScrollDelay The interval between iterations |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
53 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
54 |
IMPORT_C static CAknMarqueeControl* NewLC(const TInt aLoops = 1, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
55 |
const TInt aScrollAmount = 6, const TInt aScrollDelay = 1000000); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
56 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
57 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
58 |
* set redraw event callback |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
59 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
60 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
61 |
IMPORT_C void SetRedrawCallBack( TCallBack& aRedrawEventCallback ); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
62 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
63 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
64 |
* Draws text in the current position. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
65 |
* After the marquee object is created calling this should be enough. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
66 |
* @return ETrue = All the loops have been executed, EFalse = There are loops to be executed. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
67 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
68 |
IMPORT_C TBool DrawText( CWindowGc& aGc, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
69 |
const TRect& aTextRect, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
70 |
const TDesC& aText, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
71 |
const TInt aBaselineOffset, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
72 |
const CGraphicsContext::TTextAlign aAlign, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
73 |
const CFont& aFont ); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
74 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
75 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
76 |
* Draws text in the current position. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
77 |
* After the marquee object is created calling this should be enough. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
78 |
* @since S60 3.1 |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
79 |
* @deprecated, use version taking color as last parameter instead |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
80 |
* @param aGc Graphics context. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
81 |
* @param aRect Parent rectangle for the text layout. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
82 |
* @param aTextLayout Text layout that is used to draw the text. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
83 |
* @param aText Text to marquee. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
84 |
* @param aFont Font used in drawing. If this is NULL then the font is |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
85 |
* taken from the aTextLayout. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
86 |
* @return ETrue = All the loops have been executed, EFalse = There are loops to be executed. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
87 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
88 |
IMPORT_C TBool DrawText( CWindowGc& aGc, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
89 |
const TRect& aRect, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
90 |
const TAknTextComponentLayout& aTextLayout, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
91 |
const TDesC& aText, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
92 |
const CFont* aFont ); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
93 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
94 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
95 |
* Draws text in the current position. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
96 |
* After the marquee object is created calling this should be enough. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
97 |
* @since S60 3.1 |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
98 |
* @param aGc Graphics context. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
99 |
* @param aRect Parent rectangle for the text layout. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
100 |
* @param aTextLayout Text layout that is used to draw the text. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
101 |
* @param aText Text to marquee. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
102 |
* @param aFont Font used in drawing. If this is NULL then the font is |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
103 |
* taken from the aTextLayout. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
104 |
* @param aColor Color of the text |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
105 |
* @return ETrue = All the loops have been executed, EFalse = There are loops to be executed. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
106 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
107 |
IMPORT_C TBool DrawText( CWindowGc& aGc, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
108 |
const TRect& aRect, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
109 |
const TAknTextComponentLayout& aTextLayout, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
110 |
const TDesC& aText, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
111 |
const CFont* aFont, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
112 |
TRgb aColor ); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
113 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
114 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
115 |
* Enable or disable logical to visual reordering in text drawing. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
116 |
* By default, it is enabled. This has any effect only when bidirectional text |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
117 |
* is rendered. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
118 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
119 |
* If the text is converted to visual order prior to passing it to DrawText methods |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
120 |
* of this class, then the conversion should be disabled by calling this method. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
121 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
122 |
* @since 3.1 |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
123 |
* @param aUseConversion Enable or disable conversion. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
124 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
125 |
IMPORT_C void UseLogicalToVisualConversion( TBool aUseConversion ); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
126 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
127 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
128 |
* Starts scrolling the text. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
129 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
130 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
131 |
IMPORT_C void Start(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
132 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
133 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
134 |
* Stops scrolling the text. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
135 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
136 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
137 |
IMPORT_C void Stop(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
138 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
139 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
140 |
* Resets the animation data. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
141 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
142 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
143 |
IMPORT_C void Reset(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
144 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
145 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
146 |
* Is marquee on? |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
147 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
148 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
149 |
#ifdef __WINS__ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
150 |
IMPORT_C const TBool IsMarqueeOn(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
151 |
#else |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
152 |
IMPORT_C TBool IsMarqueeOn(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
153 |
#endif // __WINS__ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
154 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
155 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
156 |
* Sets the amount of pixels the text moves per animation loop |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
157 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
158 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
159 |
IMPORT_C void SetSpeedInPixels(TInt aSpeed); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
160 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
161 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
162 |
* Sets the delay between loops. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
163 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
164 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
165 |
IMPORT_C void SetDelay(TInt aDelay); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
166 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
167 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
168 |
* Sets the animation interval (=frames/second) |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
169 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
170 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
171 |
IMPORT_C void SetInterval(TInt aInterval); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
172 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
173 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
174 |
* Sets the maximum number of loops to be executed. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
175 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
176 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
177 |
IMPORT_C void SetLoops(TInt aLoops); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
178 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
179 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
180 |
* Enables / disables marquee feature but does NOT start it yet. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
181 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
182 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
183 |
IMPORT_C void EnableMarquee(TBool aEnable); // ETrue = ON, EFalse = OFF |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
184 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
185 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
186 |
* Destructor |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
187 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
188 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
189 |
virtual ~CAknMarqueeControl(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
190 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
191 |
// from CCoeControl |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
192 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
193 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
194 |
* From @c CCoeControl |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
195 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
196 |
* Handles fade and unfade message for stops and starts scrolling the text. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
197 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
198 |
* @param aType Type of resource change. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
199 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
200 |
void HandleResourceChange( TInt aType ); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
201 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
202 |
protected: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
203 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
204 |
private: |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
205 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
206 |
enum TMarqueeFlags |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
207 |
{ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
208 |
// Is marquee enabled or not |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
209 |
EFlagIsOn, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
210 |
// RTL when the first directional character is LTR character |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
211 |
EFlagIsWestern, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
212 |
// If true, there needs to be a delay before the scrolling starts |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
213 |
EFlagIsBeginningOfLoop, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
214 |
// Is conversion needed |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
215 |
EFlagUseVisualToLogicalConversion, |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
216 |
// In case of two-lined lists etc, this flag is turned on |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
217 |
// when the text has been scrolled all the way to the left/right. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
218 |
EFlagIsWaitingForCallBack |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
219 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
220 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
221 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
222 |
* Default constructor |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
223 |
* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
224 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
225 |
CAknMarqueeControl(const TInt aLoops, const TInt aScrollAmount, const TInt aScrollDelay); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
226 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
227 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
228 |
* By default Symbian 2nd phase constructor is private. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
229 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
230 |
void ConstructL(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
231 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
232 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
233 |
* advance text and issue a callback to parent |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
234 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
235 |
void DoScroll(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
236 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
237 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
238 |
* static callback for periodic timer |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
239 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
240 |
static TInt ScrollEvent(TAny * aPtr); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
241 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
242 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
243 |
* From CCoeControl |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
244 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
245 |
void Draw(const TRect& aRect) const; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
246 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
247 |
private: // Functions from MCoeForegroundObserver |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
248 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
249 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
250 |
* Handles the application coming to the foreground. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
251 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
252 |
void HandleGainingForeground(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
253 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
254 |
/** |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
255 |
* Handles the application going into the background. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
256 |
*/ |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
257 |
void HandleLosingForeground(); |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
258 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
259 |
private: // Data |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
260 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
261 |
CPeriodic* iPeriodicTimer; // creates scrolling events |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
262 |
TInt iDelta; // The difference between the old and new position in pixels |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
263 |
TInt iDelay; // Delay between loops in microseconds |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
264 |
TInt iSpeed; // Amount of pixels the text moves in a frame |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
265 |
TInt iInterval; // The interval between frame updates (= "frames/second") |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
266 |
TCallBack iCallBack; // Callback to parent |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
267 |
TInt iLoops; // Amount of loops executed |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
268 |
TInt iMaxLoops; // Amount of loops *to be executed* |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
269 |
TBitFlags iFlags; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
270 |
TBool iLastCharacter; // It is ETrue if last character has appeared, otherwise. |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
271 |
}; |
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
272 |
|
11157e26c4a7
added dependencies for homescreen package
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff
changeset
|
273 |
#endif // AKNMARQUEECONTROL_H |