author | William Roberts <williamr@symbian.org> |
Tue, 16 Mar 2010 16:12:26 +0000 | |
branch | Symbian2 |
changeset 2 | 2fe1408b6811 |
parent 0 | 061f57f2323e |
child 4 | 837f303aceeb |
permissions | -rw-r--r-- |
2
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1 |
// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
2 |
// All rights reserved. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
3 |
// This component and the accompanying materials are made available |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
4 |
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
5 |
// which accompanies this distribution, and is available |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
6 |
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
7 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
8 |
// Initial Contributors: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
9 |
// Nokia Corporation - initial contribution. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
10 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
11 |
// Contributors: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
12 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
13 |
// Description: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
14 |
// Header for writing animated DLL add ons |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
15 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
16 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
17 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
18 |
#if !defined(__W32ADLL_H__) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
19 |
#define __W32ADLL_H__ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
20 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
21 |
#if !defined(__W32STD_H__) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
22 |
#include <w32std.h> |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
23 |
#endif |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
24 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
25 |
#if !defined(__BITSTD_H__) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
26 |
#include <bitstd.h> |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
27 |
#endif |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
28 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
29 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
30 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
31 |
@deprecated |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
32 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
33 |
const TUint KWservAnimDllUidValue8=268435858; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
34 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
35 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
36 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
37 |
@deprecated |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
38 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
39 |
const TUid KWservAnimDllUid8={KWservAnimDllUidValue8}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
40 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
41 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
42 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
43 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
44 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
45 |
const TUint KWservAnimDllUidValue16=268450594; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
46 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
47 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
48 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
49 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
50 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
51 |
const TUid KWservAnimDllUid16={KWservAnimDllUidValue16}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
52 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
53 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
54 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
55 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
56 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
57 |
const TUint KWservAnimDllUidValue=KWservAnimDllUidValue16; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
58 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
59 |
/** |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
60 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
61 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
62 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
63 |
const TUid KWservAnimDllUid={KWservAnimDllUidValue}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
64 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
65 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
66 |
// Contains functions callable from animated DLLs |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
67 |
// |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
68 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
69 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
70 |
class TWindowInfo |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
71 |
/** Animation window information. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
72 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
73 |
Stores the window position and display mode for the animation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
74 |
During a redraw of the animation window, the redraw regions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
75 |
can be retrieved by calling GetRedrawRegionAndRedrawShadowRegion(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
76 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
77 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
78 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
79 |
@see TWindowInfo::GetRedrawRegionAndRedrawShadowRegion() */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
80 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
81 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
82 |
/** The screen position. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
83 |
TRect iScreenPos; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
84 |
/** The display mode. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
85 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
86 |
This is the minimum display mode that the screen has to be in to display this window. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
87 |
TDisplayMode iMode; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
88 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
89 |
/** Constructs an animation window information object. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
90 |
inline TWindowInfo() : iRegionPair(NULL) {} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
91 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
92 |
/** Stores a pair of region pointers. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
93 |
struct TRegionPair |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
94 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
95 |
const TRegion* iRegion1; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
96 |
const TRegion* iRegion2; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
97 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
98 |
/** Returns the current redraw region and redraw shadow region. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
99 |
This function must only be called from an override of CWindowAnim's pure virtual Redraw function. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
100 |
The region pointers retrieved must not be used beyond the end of the Redraw override. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
101 |
@param aRedrawRegion The redraw region in screen coordinates. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
102 |
@param aRedrawShadowRegion The redraw shadow region in screen coordinates. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
103 |
inline void GetRedrawRegionAndRedrawShadowRegion(const TRegion*& aRedrawRegion, const TRegion*& aRedrawShadowRegion) const |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
104 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
105 |
if (iRegionPair) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
106 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
107 |
aRedrawRegion=iRegionPair->iRegion1; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
108 |
aRedrawShadowRegion=iRegionPair->iRegion2; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
109 |
iRegionPair=NULL; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
110 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
111 |
else |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
112 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
113 |
aRedrawRegion=NULL; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
114 |
aRedrawShadowRegion=NULL; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
115 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
116 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
117 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
118 |
mutable const TRegionPair* iRegionPair; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
119 |
TAny *iFree2; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
120 |
friend class CWsAnim; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
121 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
122 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
123 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
124 |
class MEventHandler |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
125 |
/** Event handler interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
126 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
127 |
The interface provides a function to handle raw events, e.g. key presses, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
128 |
pen events, power buttons etc. Raw events are passed to the OfferRawEvent() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
129 |
function when the MAnimGeneralFunctions::GetRawEvents() function has been |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
130 |
called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
131 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
132 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
133 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
134 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
135 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
136 |
/** Handles raw events. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
137 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
138 |
If the incoming event can be handled, the function should |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
139 |
process it and then return true. If it cannot be processed the function should |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
140 |
return false, and the event will be passed to other event handling code. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
141 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
142 |
This function must be implemented in every animation DLL. If event |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
143 |
handling is not required, the function should simply return false. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
144 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
145 |
@param aRawEvent The raw event to be processed |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
146 |
@return ETrue if the raw event is handled by this function, EFalse if the function |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
147 |
chooses not to process it. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
148 |
virtual TBool OfferRawEvent(const TRawEvent &aRawEvent)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
149 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
150 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
151 |
enum TAnimNotifications |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
152 |
/** Bit flags to be used by anims when registering for notifications */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
153 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
154 |
/** Notify when direct screen access begins or ends.*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
155 |
EDirectScreenAccess = 0x0001, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
156 |
/** Notify when the wserv heartbeat timer starts or stops. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
157 |
EHeartbeatTimer = 0x0002, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
158 |
/** Notify when screen device changes.*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
159 |
EScreenDeviceChange = 0x0004 |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
160 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
161 |
//Forward Declaration. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
162 |
class MAnimGeneralFunctionsWindowExtension; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
163 |
class MAnimGeneralFunctionsEventExtension ; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
164 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
165 |
class MAnimGeneralFunctions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
166 |
/** General animation utility functions interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
167 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
168 |
The interface provides functions to set the animation timing, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
169 |
event functions, and other general functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
170 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
171 |
You do not have to create an object of this type. The class is implemented |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
172 |
by the window server and provides utility functions to all CAnim-derived |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
173 |
classes via the CAnim::iFunctions pointer. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
174 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
175 |
It is not intended for user derivation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
176 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
177 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
178 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
179 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
180 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
181 |
/** Animation synchronisation flags. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
182 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
183 |
The animation can be synchronised to any of these values; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
184 |
the Animate() call will take place at the start of the new unit (day, hour, etc...). */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
185 |
enum TAnimSync |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
186 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
187 |
/** Not synchronised. Animate() is called after some number of flash cycles - |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
188 |
set by SetSync(). */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
189 |
ESyncNone, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
190 |
/** Animate() every flash tick. This occurs twice a second, on the second and after |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
191 |
7/12ths of a second, e.g. the function is called in a flash-on (7/12 seconds) - |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
192 |
flash-off (5/12 seconds) cycle. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
193 |
ESyncFlash, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
194 |
/** Animate() called as soon after every second as system activity allows. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
195 |
ESyncSecond, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
196 |
/** Animate() called as soon after every minute as system activity allows. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
197 |
ESyncMinute, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
198 |
/** Animate() called as soon after midnight every day as system activity allows. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
199 |
ESyncDay, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
200 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
201 |
enum |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
202 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
203 |
ENumberOfExtendedInterfaces=0, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
204 |
EWindowExtensionInterface, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
205 |
EEventExtentionInterface, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
206 |
EInterfaceCount, // Always keep at the end. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
207 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
208 |
//Timing functions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
209 |
/** Calls the DLL's Animate() function then deactivates the graphics context. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
210 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
211 |
This allows users to do drawing from their own active object. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
212 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
213 |
Note: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
214 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
215 |
If the user calls the CAnim-derived classes' Animate() function directly, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
216 |
or otherwise does drawing from their own active object, then this will not |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
217 |
deactivate the graphics context. This causes the window server to panic the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
218 |
client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
219 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
220 |
Alternatively, use CFreeTimerWindowAnim, which allows you to deactivate the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
221 |
graphics context yourself. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
222 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
223 |
@param aDateTime The parameter passed into the animation DLL's Animate() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
224 |
function. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
225 |
virtual void Animate(TDateTime *aDateTime)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
226 |
/** Sets the synchronisation mode. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
227 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
228 |
This determines the time intervals between calls to the Animate() function. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
229 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
230 |
@param aSyncMode The synchronisation mode. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
231 |
virtual void SetSync(TAnimSync aSyncMode)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
232 |
/** Sets the repeat interval. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
233 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
234 |
If the synchronisation mode is TAnimSync::ESyncNone, then the Animate() function |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
235 |
is called at intervals defined by some number of flash ticks. There are two |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
236 |
flash ticks a second, with a 7/12 second - 5/12 second cycle. If the function |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
237 |
is called when the synchronisation mode is not TAnimSync::ESyncNone, then |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
238 |
the window server panics the client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
239 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
240 |
If the new interval is greater than the current countdown, then the call does |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
241 |
not affect the current countdown. For example, if the countdown has 10 flash |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
242 |
ticks remaining, and the interval is set to 20, the new interval does not |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
243 |
apply until the current countdown is complete. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
244 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
245 |
However if the new interval is less the current countdown, then the new interval |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
246 |
applies immediately i.e. the countdown is reset to the interval value. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
247 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
248 |
If the interval is set to zero the countdown stops, and the Animate() function |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
249 |
is no longer called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
250 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
251 |
@param aInterval The number of flash ticks between calls to the Animate() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
252 |
function. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
253 |
virtual void SetInterval(TInt aInterval)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
254 |
/** Sets the next interval. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
255 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
256 |
This function immediately resets the current countdown to the specified number |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
257 |
of flash ticks, irrespective of its current value. After the countdown expires, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
258 |
the interval returns to its usual rate. Note that this may be zero (i.e. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
259 |
not at all). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
260 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
261 |
To call this function, the synchronisation mode must be TAnimSync::ESyncNone, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
262 |
otherwise the window server panics the client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
263 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
264 |
Note: there are two flash ticks a second, with a 7/12 second - 5/12 second cycle. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
265 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
266 |
@param aInterval The interval to the next Animate(). If the value is less |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
267 |
than 1, it automatically gets set to 1. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
268 |
@see SetInterval() */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
269 |
virtual void SetNextInterval(TInt aInterval)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
270 |
/** Gets the system time as it was when Animate() was last called. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
271 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
272 |
@return The system time when Animate() was last called. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
273 |
virtual TDateTime SystemTime() const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
274 |
/** Tests the flash cycle state. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
275 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
276 |
The flash cycle has 2 states: on (7/12 second) or off (5/12 second). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
277 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
278 |
@return ETrue if in the on part of the flash cycle, otherwise EFalse. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
279 |
virtual TBool FlashStateOn() const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
280 |
/** Gets the current synchronisation mode. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
281 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
282 |
@return The current sync mode. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
283 |
virtual TAnimSync Sync() const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
284 |
//Other functions generally useful |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
285 |
/** Gets a pointer to the screen device. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
286 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
287 |
For example, this might be used to gain access to twips to pixel conversion functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
288 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
289 |
@return A pointer to the screen device. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
290 |
virtual const CFbsScreenDevice *ScreenDevice()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
291 |
/** Creates and duplicates a bitmap from a handle. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
292 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
293 |
This function might be used to duplicate client side bitmaps on the server side. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
294 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
295 |
@param aHandle A handle to the bitmap to be duplicated. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
296 |
@return A pointer to the duplicate bitmap. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
297 |
virtual CFbsBitmap *DuplicateBitmapL(TInt aHandle)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
298 |
/** Creates and duplicates a font from a handle. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
299 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
300 |
This function might be used to duplicate client side fonts on the server side. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
301 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
302 |
@param aHandle A handle to the font to be duplicated. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
303 |
@return A pointer to the duplicate font. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
304 |
virtual CFbsFont *DuplicateFontL(TInt aHandle)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
305 |
/** Closes a duplicate font. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
306 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
307 |
@param Pointer to the duplicate font. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
308 |
@see DuplicateFontL() */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
309 |
virtual void CloseFont(CFbsFont *)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
310 |
/** Gets a reference to the calling client's thread. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
311 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
312 |
@return A reference to the calling client's thread. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
313 |
virtual const RThread &Client()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
314 |
virtual void ReplyBuf(const TDesC8 &aDes)=0; // Reply a buffer to the client |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
315 |
virtual void ReplyBuf(const TDesC16 &aDes)=0; // Reply a buffer to the client |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
316 |
/** Panics the client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
317 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
318 |
This will result in the client thread being destroyed. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
319 |
virtual void Panic() const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
320 |
//Event functions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
321 |
/** Switches animation raw event handling on and off. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
322 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
323 |
If raw event handling is switched on, then raw events, e.g. pointer, key, or power events |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
324 |
are all offered to the animation event handling code's MEventHandler::OfferRawEvent(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
325 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
326 |
@param aGetEvents If ETrue, raw events are passed to the animation |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
327 |
event handling code. If EFalse, events are not passed to the animation. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
328 |
virtual void GetRawEvents(TBool aGetEvents) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
329 |
/** Posts a raw event, just as if it had come from the kernel. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
330 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
331 |
@param aRawEvent The raw event */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
332 |
virtual void PostRawEvent(const TRawEvent &aRawEvent) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
333 |
/** Posts a key event. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
334 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
335 |
The function is similar to PostRawEvent() but should be |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
336 |
used for posting key events. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
337 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
338 |
@param aRawEvent The key event. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
339 |
virtual void PostKeyEvent(const TKeyEvent &aRawEvent) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
340 |
/** Get the address of an object which can retrieve information from and send |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
341 |
information to the client-side. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
342 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
343 |
@return A pointer to RMessagePtr2. Complete must be called on the returned object (or a |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
344 |
copy of it) if and only if Message is called from an override of CAnim's CommandReplyL which |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
345 |
has been caused by a client-side RAnim::AsyncCommandReply call. If Message is called outside |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
346 |
an override of CAnim's CommandReplyL or outside an override of CWindowAnim's ConstructL or |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
347 |
CSpriteAnim's ConstructL, the it returns NULL. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
348 |
@see RMessagePtr2 */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
349 |
virtual const RMessagePtr2* Message()=0; // replaces Reserved1 |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
350 |
/**Returns an extension interface, maybe extended further in the future. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
351 |
@param aInterfaceId The ID of the interface to return. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
352 |
@return A pointer to the extension interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
353 |
When aInterface=0 (ENumberOfExtendedInterfaces), the number of interfaces is returned (currently 2). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
354 |
When aInterface=1 (EWindowExtensionInterface), a pointer to the Window Extension interface is returned. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
355 |
When aInterface=2 (EEventExtentionInterface), a pointer to the Event Extension interface is returned. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
356 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
357 |
virtual TAny* ExtendedInterface(TInt aInterface)=0; // replaces Reserved2 |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
358 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
359 |
/** Register to receive notifications. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
360 |
@param aNotifications A bitset of TAnimNotifications values indicating which notifications are required |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
361 |
@return One of the system wide error codes |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
362 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
363 |
virtual TInt RegisterForNotifications(TUint32 aNotifications)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
364 |
/* |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
365 |
Return number of ExtendedInterfaces. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
366 |
inline TInt NumberOfExtendedInterfaces() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
367 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
368 |
return reinterpret_cast<TInt>(ExtendedInterface(ENumberOfExtendedInterfaces)); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
369 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
370 |
/** Gets access to Window Extension utility functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
371 |
@return A pointer to a class containing functions for working with Window. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
372 |
inline MAnimGeneralFunctionsWindowExtension* WindowExtension() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
373 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
374 |
return static_cast<MAnimGeneralFunctionsWindowExtension*>(ExtendedInterface(EWindowExtensionInterface)); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
375 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
376 |
/** Gets access to EventExtension utility functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
377 |
@return A pointer to a class containing functions for working with Event. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
378 |
inline MAnimGeneralFunctionsEventExtension* EventExtension() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
379 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
380 |
return static_cast<MAnimGeneralFunctionsEventExtension*>(ExtendedInterface(EEventExtentionInterface)); |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
381 |
} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
382 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
383 |
virtual void Reserved1() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
384 |
virtual void Reserved2() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
385 |
virtual void Reserved3() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
386 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
387 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
388 |
/* Structure for passing window configuration information. Currently transparancey |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
389 |
related configuration information is supported, though this may be added to, as |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
390 |
apprioriate. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
391 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
392 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
393 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
394 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
395 |
class TWindowConfig |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
396 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
397 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
398 |
/** Transparency flags. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
399 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
400 |
Used to represent transparency configuration of the window. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
401 |
enum |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
402 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
403 |
/** Transparency is enabled on the window. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
404 |
ETransparencyEnabled=0x0001, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
405 |
/** Window transparency uses alpha blending channel. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
406 |
EAlphaBlendedTransparency=0x0002, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
407 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
408 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
409 |
/** Indicate configuration of window, using enumerations defined within this class. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
410 |
TInt iFlags; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
411 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
412 |
TInt iReserved0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
413 |
TInt iReserved1; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
414 |
TInt iReserved2; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
415 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
416 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
417 |
class MAnimGeneralFunctionsWindowExtension |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
418 |
/** General Window utility functions interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
419 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
420 |
The member functions define the interface for querying and manipulating |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
421 |
the window and screen attributes. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
422 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
423 |
You obtain one by calling: iFunctions->ExtendedInterface(MAnimGeneralFunctions::EWindowExtensionInterface) |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
424 |
and casting the result. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
425 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
426 |
It is not intended for user derivation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
427 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
428 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
429 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
430 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
431 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
432 |
/** Class contains the information pertaining to a window group: name, priority, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
433 |
focusability. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
434 |
class TWindowGroupInfo |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
435 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
436 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
437 |
enum |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
438 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
439 |
/** Window is focusable flag. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
440 |
EIsFocusable=0x0001, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
441 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
442 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
443 |
/** Returns whether or not the window is focusable. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
444 |
@return ETrue if focusable, else returns EFalse. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
445 |
inline TBool IsFocusable() const {return iFlags&EIsFocusable;} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
446 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
447 |
/* Window group attributes. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
448 |
TInt iId; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
449 |
TUint32 iFlags; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
450 |
TInt iOrdinalPriority; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
451 |
TInt iNameLength; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
452 |
TInt iParentId; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
453 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
454 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
455 |
/** Returns the total number of screens. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
456 |
@return The total number of screens. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
457 |
virtual TInt Screens() const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
458 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
459 |
/** Returns the number of the screen which is currently in focus. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
460 |
@return The number of the screen which is currently in focus.*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
461 |
virtual TInt FocusScreens() const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
462 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
463 |
/** Changes the focused screen. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
464 |
@param aScreenNo New screen number. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
465 |
virtual void SetFocusScreen(TInt aScreenNo)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
466 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
467 |
/** Returns the number of window groups available for the specified screen. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
468 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
469 |
@param aScreen The screen number. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
470 |
@return The number of window groups. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
471 |
virtual TInt WindowGroups(TInt aScreen) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
472 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
473 |
/** Takes a screen number and an ordinal position and returns the complete window |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
474 |
group information of the specified window. If the window group does not exist, the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
475 |
function returns EFalse. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
476 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
477 |
Note: the ordinal position specified should be the total or full ordinal position |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
478 |
of all group windows of all priorities on that screen. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
479 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
480 |
@param aInfo on return, complete window information. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
481 |
@param aScreen Screen number. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
482 |
@param aFullOrdinalPosition Ordinal position of the window. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
483 |
@return ETrue if window group information exists, EFalse otherwise. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
484 |
virtual TBool WindowGroupInfo(TWindowGroupInfo& aInfo,TInt aScreen,TInt aFullOrdinalPosition) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
485 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
486 |
/** Takes a screen number and an ordinal position and returns the window group name. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
487 |
If the window group does not exist, the function returns false. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
488 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
489 |
Note: the ordinal position specified should be the total or full ordinal position of |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
490 |
all group windows of all priorities on that screen. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
491 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
492 |
Note: if the name does not fit into the descriptor provided then it will be truncated. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
493 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
494 |
@param aWindowName On return, the window group name. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
495 |
@param aScreen The screen number. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
496 |
@param aFullOrdinalPosition The ordinal position of the window. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
497 |
@return ETrue if the window group name exists, EFalse otherwise. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
498 |
virtual TBool WindowGroupName(TPtrC& aWindowName,TInt aScreen,TInt aFullOrdinalPosition) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
499 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
500 |
/** Changes the ordinal position and priority of the window group with the specified ID. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
501 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
502 |
@param aWindowGroupId The window group ID. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
503 |
@param aPos The ordinal position to move the window to. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
504 |
@param aOrdinalPriority The new ordinal priority of the window. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
505 |
@return KErrNotFound if there is no window group with the specified ID, KErrNone otherwise. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
506 |
virtual TInt SetOrdinalPosition(TInt aWindowGroupId,TInt aPos,TInt aOrdinalPriority)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
507 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
508 |
/** Accessor for window configuration. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
509 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
510 |
@param aWindowConfig Gets filled in with window configuration details. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
511 |
virtual void WindowConfig(TWindowConfig& aWindowConfig) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
512 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
513 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
514 |
virtual void Reserved1() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
515 |
virtual void Reserved2() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
516 |
virtual void Reserved3() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
517 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
518 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
519 |
class MAnimGeneralFunctionsEventExtension |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
520 |
/** Event utility functions interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
521 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
522 |
The member functions define the interface for generate repeated key events . |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
523 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
524 |
It is not intended for user derivation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
525 |
*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
526 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
527 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
528 |
/** Posts a key event. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
529 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
530 |
The function is similar to PostKeyEvent() but should be |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
531 |
used for posting repeated key events. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
532 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
533 |
@param aRawEvent The key event. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
534 |
@param aRepeats value */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
535 |
virtual void PostKeyEvent(const TKeyEvent& aRawEvent, TInt aRepeats) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
536 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
537 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
538 |
virtual void Reserved1() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
539 |
virtual void Reserved2() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
540 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
541 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
542 |
class MAnimWindowFunctions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
543 |
/** Window utility functions interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
544 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
545 |
The member functions define the interface for querying and manipulating |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
546 |
the window in which the animation takes place. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
547 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
548 |
You do not have to create an object of this type. The class is implemented |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
549 |
by the window server, and provides these utility functions to all CWindowAnim |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
550 |
and CFreeTimerWindowAnim derived classes via the iWindowFunctions pointer. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
551 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
552 |
It is not intended for user derivation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
553 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
554 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
555 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
556 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
557 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
558 |
/** Activates the graphics context. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
559 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
560 |
This function should be called to enable drawing in the CAnim-derived classes' |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
561 |
Command(), CommandReplyL(), Animate(), or FocusChanged() functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
562 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
563 |
Note: this function is called automatically by the animation DLL framework in the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
564 |
Redraw() function. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
565 |
virtual void ActivateGc()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
566 |
/** Sets the rectangle that this animation is to draw to. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
567 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
568 |
This function must be called as part of the initialisation/construction of |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
569 |
the CAnim-derived object, i.e. in CAnim::ConstructL(). This is so that the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
570 |
window server knows which area the animation is operating in. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
571 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
572 |
@param aRect The rectangle to be drawn to. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
573 |
virtual void SetRect(const TRect &aRect)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
574 |
/** Gets the window size. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
575 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
576 |
@return The window size, in pixels. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
577 |
virtual TSize WindowSize() const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
578 |
/** Tests whether to draw the animation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
579 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
580 |
If the window is completely hidden, there is normally no need to draw |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
581 |
the animation. However in some conditions the animation should be drawn even |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
582 |
if it is obscured. The window server is aware of these cases, and returns |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
583 |
ETrue if it is not safe to draw the animation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
584 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
585 |
@return True if the window is completely hidden and there is no requirement |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
586 |
to continue drawing the animation, otherwise false. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
587 |
virtual TBool IsHidden()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
588 |
/** Sets the visibility of the window the animation is drawing to. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
589 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
590 |
This does the same as RWindowBase::SetVisible(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
591 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
592 |
@param aState True for visible, false otherwise. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
593 |
virtual void SetVisible(TBool aState)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
594 |
/** Forces a redraw of a rectangular part of the window. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
595 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
596 |
The function causes a redraw message on the part of the window specified, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
597 |
which provides a non-immediate way to do drawing. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
598 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
599 |
It can be used to redraw the whole of the window, not just the part used by |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
600 |
the animation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
601 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
602 |
@param aRect The rectangle to be redrawn. These co-ordinates are relative |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
603 |
to the origin of the window. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
604 |
virtual void Invalidate(const TRect &aRect)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
605 |
/** Gets window information. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
606 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
607 |
@param aData The window information. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
608 |
virtual void Parameters(TWindowInfo &aData)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
609 |
/** Gets the visible region. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
610 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
611 |
This region is the area of the visible window which |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
612 |
is currently unshadowed. If there is not enough memory to calculate this region |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
613 |
then aRegion's error flag is set. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
614 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
615 |
@param aRegion The visible region. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
616 |
virtual void VisibleRegion(TRegion& aRegion)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
617 |
//virtual void CopyScreen(CFbsBitGc *aBitmapGc,TRect aRect)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
618 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
619 |
virtual void Reserved() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
620 |
virtual void Reserved1() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
621 |
virtual void Reserved2() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
622 |
virtual void Reserved3() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
623 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
624 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
625 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
626 |
class MAnimFreeTimerWindowFunctions : public MAnimWindowFunctions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
627 |
/** Free timer animation utility functions interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
628 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
629 |
The class inherits functions from MAnimWindowFunctions, and defines the additional |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
630 |
interface required for window operations which support animations with their |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
631 |
own timers. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
632 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
633 |
You do NOT have to create an object of this type. The class is implemented |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
634 |
by the window server, and provides utility functions to all CFreeTimerWindowAnim |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
635 |
derived classes via the WindowFunctions() member. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
636 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
637 |
It is not intended for user derivation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
638 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
639 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
640 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
641 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
642 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
643 |
/** Deactivates the graphics context. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
644 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
645 |
This function is used in the context of a CFreeTimerWindowAnim derived class |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
646 |
when writing animation DLLs with their own timer. Within the timer's RunL(), |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
647 |
the ActivateGc() function should be called prior to drawing to the window. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
648 |
DeactivateGc() should be called after drawing is finished. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
649 |
virtual void DeactivateGc()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
650 |
/** Forces the screen to update. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
651 |
virtual void Update()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
652 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
653 |
virtual void Reserved3() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
654 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
655 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
656 |
class MAnimSpriteFunctions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
657 |
/** Sprite animation utility functions interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
658 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
659 |
The interface includes functions for querying and manipulating a sprite. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
660 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
661 |
You do NOT have to create an object of this type. The class is implemented |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
662 |
by the window server, and provides utility functions to all CSpriteAnim derived |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
663 |
classes via the CSpriteAnim::iSpriteFunctions pointer. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
664 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
665 |
It is not intended for user derivation. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
666 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
667 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
668 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
669 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
670 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
671 |
/** Gets sprite member data. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
672 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
673 |
Each member of the sprite is effectively a bitmap, which is displayed for a |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
674 |
different amount of time. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
675 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
676 |
@param aMember The index of the sprite member for which information is required. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
677 |
@return A pointer to the sprite member. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
678 |
virtual TSpriteMember *GetSpriteMember(TInt aMember) const=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
679 |
/** Redraws part of a sprite. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
680 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
681 |
WSERV1: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
682 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
683 |
The updates a sprite on the screen, possibly after the bitmap for a particular |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
684 |
sprite member has been changed. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
685 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
686 |
Two types of redraw are possible. A full update takes the bitmap off the screen |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
687 |
and then re-draws it. This is 'safe' in that the screen always reflects |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
688 |
the contents of the sprite bitmap. However it can result in flicker. Use the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
689 |
aRect parameter to specify the (small) part of the sprite which has been changed, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
690 |
then any flicker will only occur in this rectangle. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
691 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
692 |
A full update is required if you have removed pixels from the mask, i.e. made |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
693 |
pixels in the sprite transparent when they were not before. If drawing is |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
694 |
additive, e.g. you are using a mask or the draw mode is EDrawModePEN, a partial |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
695 |
update is possible. Otherwise the aFullUpdate argument is ignored and a full |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
696 |
update is always done. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
697 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
698 |
Note: if the sprite member aMember is not visible then there is no need for a change |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
699 |
to the display, so the aRect and aFullUpdate parameters are ignored. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
700 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
701 |
param aMember The index of the sprite member that is to be updated. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
702 |
param aRect The part of the sprite member which has changed. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
703 |
param aFullUpdate ETrue for a full update, EFalse otherwise. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
704 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
705 |
WSERV2: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
706 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
707 |
Updates a sprite on the screen, possibly after the bitmap for a particular |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
708 |
sprite member has been changed. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
709 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
710 |
Use the aRect parameter to specify the (small) part of the sprite which has been changed, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
711 |
then any flicker will only occur in this rectangle. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
712 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
713 |
A full update used to be required if you had removed pixels from the mask, i.e. made |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
714 |
pixels in the sprite transparent when they were not before. If drawing is |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
715 |
additive, e.g. you are using a mask or the draw mode is EDrawModePEN, a partial |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
716 |
update used to be possible. But newer versions of the window-server always do full back to front rendering. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
717 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
718 |
Note: if the sprite member aMember is not visible then there is no need for a change |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
719 |
to the display, so the aRect and aFullUpdate parameters are ignored. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
720 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
721 |
@param aMember The index of the sprite member that is to be updated. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
722 |
@param aRect The part of the sprite member which has changed. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
723 |
@param aFullUpdate Not used. Wserv now always do full back to front rendering. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
724 |
virtual void UpdateMember(TInt aMember,const TRect& aRect,TBool aFullUpdate)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
725 |
/** Turns a sprite on or off. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
726 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
727 |
In effect this makes the sprite bitmap visible. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
728 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
729 |
@param aActive ETrue to turn sprite on. EFalse to turn it off. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
730 |
virtual void Activate(TBool aActive)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
731 |
/** Finishes constructing the sprite. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
732 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
733 |
It also sets the currently displayed sprite member to zero. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
734 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
735 |
This function must be called after members change size. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
736 |
virtual void SizeChangedL()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
737 |
/** Set the sprite's position. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
738 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
739 |
@param aPos The new position of the sprite. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
740 |
virtual void SetPosition(const TPoint &aPos)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
741 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
742 |
virtual void Reserved() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
743 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
744 |
/** Returns the visibility of the sprite. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
745 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
746 |
A sprite can be seen if it is neither obscured by another window nor hidden. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
747 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
748 |
@return ETrue if the sprite can be seen, EFalse otherwise. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
749 |
virtual TBool SpriteCanBeSeen() const = 0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
750 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
751 |
virtual void Reserved2() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
752 |
virtual void Reserved3() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
753 |
virtual void Reserved4() const; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
754 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
755 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
756 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
757 |
class CAnimGc : public CBitmapContext |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
758 |
/** Animation graphics context. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
759 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
760 |
An object of this type is linked into CAnim by the window server, which allows |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
761 |
you to draw to the animation window. The object's functions allow you to set |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
762 |
and cancel the clipping region, and to draw to the visible window using |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
763 |
the inherited CBitmapContext functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
764 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
765 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
766 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
767 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
768 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
769 |
/** Sets the clipping region. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
770 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
771 |
Only the parts of the animation which are within the clipping region are drawn. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
772 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
773 |
@param aRegion The clipping region. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
774 |
virtual TInt SetClippingRegion(const TRegion &aRegion)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
775 |
/** Cancels the clipping region. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
776 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
777 |
@see SetClippingRegion() */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
778 |
virtual void CancelClippingRegion()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
779 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
780 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
781 |
class CWsAnim; // Forward ref for friend declaration |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
782 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
783 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
784 |
class CAnim : public CBase , public MEventHandler |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
785 |
/** Server side animated object base interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
786 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
787 |
Animations implement this interface, which is called by the window server |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
788 |
to pass commands from clients, perform a step in the animation, or to pass |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
789 |
window server events (if required) so that the animation can handle them |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
790 |
before the application. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
791 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
792 |
The functions are all pure virtual, and must be implemented in |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
793 |
the derived class to provide server side behaviour. The functions will be |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
794 |
called by the window server with optional arguments passed in from the client |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
795 |
side animation class RAnim. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
796 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
797 |
You should derive from CWindowAnim, CFreeTimerWindowAnim or CSpriteAnim, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
798 |
depending on whether the animation is to draw to a sprite or a window, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
799 |
rather than directly from this class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
800 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
801 |
The derived class is constructed in the DLL factory class CAnimDll::CreateInstanceL() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
802 |
function. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
803 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
804 |
The operation to perform an animation step is called by the window server |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
805 |
on a timer. The timing properties are set through an MAnimGeneralFunctions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
806 |
member, which also provides other utility functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
807 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
808 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
809 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
810 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
811 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
812 |
/** Implements client-side initiated commands, returning a value. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
813 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
814 |
The window server calls this function in response to application calls to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
815 |
the client side command function RAnim::CommandReplyL(). The arguments passed |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
816 |
to the function by the window server are the same as were used on the client |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
817 |
side function call. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
818 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
819 |
This function returns values to the client side, and should be used to return |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
820 |
error codes for commands which might leave. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
821 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
822 |
@param aOpcode Opcode understood by the class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
823 |
@param aArgs Arguments packaged on the client side, for example as a struct |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
824 |
of a type determined by the aOpcode argument. These mirror the aArgs argument |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
825 |
passed in to RAnim::CommandReply(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
826 |
@return Value passed back to client side function when this function completes. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
827 |
Typically this would be KErrNone or another of the system-wide error codes. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
828 |
However any value may be returned to the client side. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
829 |
@see RAnim */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
830 |
virtual TInt CommandReplyL(TInt aOpcode, TAny *aArgs)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
831 |
/** Implements client-side initiated commands. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
832 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
833 |
The window server calls this function in response to application calls to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
834 |
the client side command function RAnim::Command(). The arguments passed to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
835 |
the function by the window server are the same as were used on the client |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
836 |
side function call. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
837 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
838 |
Because this function does not return errors, it is not safe for commands |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
839 |
which might leave. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
840 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
841 |
@param aOpcode Opcode understood by the class |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
842 |
@param aArgs Arguments packaged on the client side, for example as a struct |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
843 |
of a type determined by the aOpcode argument. These mirror the aArgs argument |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
844 |
passed in to RAnim::Command(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
845 |
@see RAnim */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
846 |
virtual void Command(TInt aOpcode, TAny *aArgs)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
847 |
/** Main animation function, called by the window server. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
848 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
849 |
The drawing code which implements a given animation should be provided here. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
850 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
851 |
This function is called at a frequency determined by the SetSync() helper |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
852 |
function. Note that if sync is not set, then this function will never be |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
853 |
called. This effect can be exploited to use the animation framework, with |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
854 |
its server side speed, for what are strictly not animations, e.g. for streaming |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
855 |
video images. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
856 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
857 |
The aDateTime parameter will be null if the current time (as determined by |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
858 |
the window server) matches the time implied by the sync period, modulo normalisation, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
859 |
otherwise it will contain a valid (non-normalised) time. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
860 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
861 |
Normalisation is to some specified granularity, for example if one minute |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
862 |
is specified as the animation frequency, then in effect the window server |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
863 |
will decide whether the implied time is correct to the minute, but not to |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
864 |
the second. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
865 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
866 |
Implied time is the time implied by the (normalised) actual time of the previous |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
867 |
animation call plus the sync interval. For example if the last call was at |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
868 |
time 't' and the sync interval is 1 second then if the time at this call |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
869 |
is t + 1 second, then actual time and implied time match and the value placed |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
870 |
into aDateTime will be NULL. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
871 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
872 |
Cases in which the two may not match include, for example, system time having |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
873 |
been reset between animation calls (perhaps British Summer Time or other daylight |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
874 |
saving time has just come into effect). The intention is that when system |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
875 |
time changes, a mechanism is provided to alert the animation code and allow |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
876 |
it to reset itself. The assumption is that somewhere in its initialisation |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
877 |
code, the animation will have performed a CAnimFunctions utility call to set |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
878 |
a base time, which is then implicitly tracked by incrementing by a suitable |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
879 |
interval; when aDateTime is non-NULL after a call to Animate(), base time |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
880 |
should be reset. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
881 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
882 |
@param aDateTime Null if the current time w.r.t. the window server matches |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
883 |
the time implied by the synch period. Otherwise a valid (non-normalised) time. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
884 |
virtual void Animate(TDateTime *aDateTime)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
885 |
virtual void HandleNotification(const TWsEvent& /*aEvent*/) {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
886 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
887 |
inline CAnim() {} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
888 |
virtual void Reserved1() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
889 |
virtual void Reserved2() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
890 |
virtual void Reserved3() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
891 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
892 |
/** Pointer to a class containing functions implemented by the window server. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
893 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
894 |
These are available to any CAnim derived class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
895 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
896 |
Note that this value is automatically set for you by the animation framework. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
897 |
You do not need to assign a value to this pointer. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
898 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
899 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
900 |
MAnimGeneralFunctions *iFunctions; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
901 |
friend class CWsAnim; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
902 |
friend class CWindowAnim; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
903 |
friend class CSpriteAnim; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
904 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
905 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
906 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
907 |
class CWindowAnim : public CAnim |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
908 |
/** Window animation interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
909 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
910 |
This interface is provided to create animations other than sprites. A window |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
911 |
animation can be provided by deriving from this class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
912 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
913 |
The interface inherits from CAnim and has access to its functions. It additionally |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
914 |
can access an interface for querying and manipulating the window in which |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
915 |
the animation takes place, using its iWindowFunctions member. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
916 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
917 |
The derived class is constructed in the DLL factory class CAnimDll::CreateInstanceL(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
918 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
919 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
920 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
921 |
@see CFreeTimerWindowAnim |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
922 |
@see CSpriteAnim */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
923 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
924 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
925 |
/** Server side construction and initialisation of an animation class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
926 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
927 |
Note: the aHasFocus argument allows the animation to start in a known focus state. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
928 |
For example, an animation may or may not have focus, depending on how it was |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
929 |
started. Together with the FocusChanged() function, this allows an animation |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
930 |
to always know its focus state. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
931 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
932 |
@param aArgs Packaged arguments which may be required during construction. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
933 |
These are transferred from the aParams argument of the client side constructor's |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
934 |
RAnim::Construct(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
935 |
@param aHasFocus Specifies whether or not the animation has window server focus. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
936 |
virtual void ConstructL(TAny *aArgs, TBool aHasFocus)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
937 |
/** Redraws the objects. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
938 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
939 |
The function is called by the window server when it needs to redraw the object. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
940 |
The object must provide all the low level drawing code. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
941 |
virtual void Redraw()=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
942 |
/** Notifies change of focus. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
943 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
944 |
The function is called by the window server to notify a change of focus, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
945 |
allowing the animation code to track whether it does or does not have focus, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
946 |
and to change its appearance accordingly. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
947 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
948 |
@param aState Indicates whether the focus has or has not changed. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
949 |
virtual void FocusChanged(TBool aState)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
950 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
951 |
/** Protected constructor. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
952 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
953 |
Prevents objects of this class being directly constructed. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
954 |
inline CWindowAnim() {} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
955 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
956 |
virtual void ReservedW1() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
957 |
virtual void ReservedW2() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
958 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
959 |
/** Pointer to a class containing functions implemented by the window server. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
960 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
961 |
These are available to any CWindowAnim-derived class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
962 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
963 |
Note that this and the iGc pointer are automatically set for you by the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
964 |
animation framework - you do not need to assign a value to them.*/ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
965 |
MAnimWindowFunctions *iWindowFunctions; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
966 |
/** Pointer to the graphics context. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
967 |
CAnimGc *iGc; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
968 |
friend class CWsAnim; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
969 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
970 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
971 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
972 |
class CFreeTimerWindowAnim : public CWindowAnim |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
973 |
/** Free timer animation interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
974 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
975 |
This interface allows animations to have their own timers or other active |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
976 |
objects, and to draw to the window when the timer completes. The implication |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
977 |
of this is that animations derived from this class can have an extremely short |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
978 |
user-defined time between calls to the Animate() function, unlike the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
979 |
other animation classes, which are tied to the (approximately) half second |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
980 |
flash cycle. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
981 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
982 |
The interface inherits from CWindowAnim and has access to its functions. It |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
983 |
additionally can access functions declared in the MAnimFreeTimerWindowFunctions |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
984 |
interface, using WindowFunctions(). |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
985 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
986 |
In order to draw to the window inside the RunL() of your own timer, you will |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
987 |
need call the ActivateGc() function before doing any drawing, and the DeactivateGc() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
988 |
function after finishing the drawing. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
989 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
990 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
991 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
992 |
@see CSpriteAnim */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
993 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
994 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
995 |
inline MAnimFreeTimerWindowFunctions* WindowFunctions() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
996 |
/** Gets the free timer utility functions. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
997 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
998 |
These functions include all the MAnimWindowFunctions, |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
999 |
and additional functions to deactivate the graphics context and to force the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1000 |
screen to update. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1001 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1002 |
@return A pointer to the free timer utility functions. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1003 |
{return STATIC_CAST(MAnimFreeTimerWindowFunctions*,iWindowFunctions);} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1004 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1005 |
virtual void ReservedF1() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1006 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1007 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1008 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1009 |
class CSpriteAnim : public CAnim |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1010 |
/** Sprite animation interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1011 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1012 |
Sprites are bitmaps that can overlay a window or the screen. A sprite animation |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1013 |
can be provided by deriving from this class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1014 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1015 |
The interface inherits from CAnim and has access to its functions. It additionally |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1016 |
can access an interface for querying and manipulating a sprite, using its |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1017 |
iSpriteFunctions member. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1018 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1019 |
The derived class is constructed in the DLL factory class CAnimDll::CreateInstanceL() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1020 |
function. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1021 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1022 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1023 |
@released |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1024 |
@see CFreeTimerWindowAnim |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1025 |
@see CWindowAnim */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1026 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1027 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1028 |
/** Server side construction and initialisation of an animation class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1029 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1030 |
@param aArgs Packaged arguments which may be required during construction. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1031 |
These are transferred from the aParams argument of the client side constructor's |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1032 |
RAnim::Construct(). */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1033 |
virtual void ConstructL(TAny *aArgs)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1034 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1035 |
inline CSpriteAnim() |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1036 |
/** Protected constructor. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1037 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1038 |
Ensures that only derived classes can be constructed. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1039 |
{} |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1040 |
private: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1041 |
virtual void ReservedS1() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1042 |
virtual void ReservedS2() const {}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1043 |
protected: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1044 |
/** Pointer to a class containing functions implemented by the window server. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1045 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1046 |
These are available to any CSpriteAnim-derived class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1047 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1048 |
Note that this value is automatically set for you by the animation framework. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1049 |
You do not need to assign a value to this pointer. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1050 |
MAnimSpriteFunctions *iSpriteFunctions; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1051 |
friend class CWsAnim; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1052 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1053 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1054 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1055 |
class CAnimDll : public CBase |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1056 |
/** Animation DLL factory interface. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1057 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1058 |
An animation DLL class must be a derived class of CAnimDll, and can be thought |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1059 |
of as a server side factory class. CAnimDll consists of a single pure virtual |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1060 |
factory function, CreateInstanceL(TInt aType), which is used to create new |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1061 |
instances of animation objects of type CAnim contained in the DLL. Animation |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1062 |
DLL objects are created by the CreateCAnimDllL() function, which is called |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1063 |
by the window server at the request of the client. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1064 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1065 |
For efficiency reasons, it makes sense to collect multiple animation classes |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1066 |
into a single DLL, even if they are otherwise logically quite separate classes. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1067 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1068 |
@publishedAll |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1069 |
@released */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1070 |
{ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1071 |
public: |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1072 |
/** Factory function for animation DLLs. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1073 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1074 |
It must be provided in the derived class. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1075 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1076 |
The parameter can be used to differentiate between multiple animation |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1077 |
classes contained in the same animation DLL. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1078 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1079 |
@param aType Identifies an animation class to be constructed. This is the |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1080 |
same value as the aType argument of the client side animation constructor |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1081 |
RAnim::Construct(). It is passed from the client side by the animation framework. |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1082 |
@return Pointer to a CAnim-derived animation class object. */ |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1083 |
virtual CAnim *CreateInstanceL(TInt aType)=0; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1084 |
}; |
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1085 |
|
2fe1408b6811
Final list of Symbian^2 public API header files
William Roberts <williamr@symbian.org>
parents:
0
diff
changeset
|
1086 |
#endif |