WebRadioApp  0.1
_EffectsSlideTransition.h
Go to the documentation of this file.
1 /*******************************************************************************
2 *
3 * E M B E D D E D W I Z A R D P R O J E C T
4 *
5 * Copyright (c) TARA Systems GmbH
6 * written by Paul Banach and Manfred Schweyer
7 *
8 ********************************************************************************
9 *
10 * This file was generated automatically by Embedded Wizard Studio.
11 *
12 * Please do not make any modifications of this file! The modifications are lost
13 * when the file is generated again by Embedded Wizard Studio!
14 *
15 * The template of this heading text can be found in the file 'head.ewt' in the
16 * directory 'Platforms' of your Embedded Wizard installation directory. If you
17 * wish to adapt this text, please copy the template file 'head.ewt' into your
18 * project directory and edit the copy only. Please avoid any modifications of
19 * the original template file!
20 *
21 * Version : 10.00
22 * Profile : STM32H747
23 * Platform : STM.STM32.RGB565
24 *
25 *******************************************************************************/
26 
27 #ifndef _EffectsSlideTransition_H
28 #define _EffectsSlideTransition_H
29 
30 #ifdef __cplusplus
31  extern "C"
32  {
33 #endif
34 
35 #include "ewrte.h"
36 #if EW_RTE_VERSION != 0x000A0000
37  #error Wrong version of Embedded Wizard Runtime Environment.
38 #endif
39 
40 #include "ewgfx.h"
41 #if EW_GFX_VERSION != 0x000A0000
42  #error Wrong version of Embedded Wizard Graphics Engine.
43 #endif
44 
45 #include "_EffectsTransition.h"
46 
47 /* Forward declaration of the class Effects::Fader */
48 #ifndef _EffectsFader_
50 #define _EffectsFader_
51 #endif
52 
53 /* Forward declaration of the class Effects::SlideTransition */
54 #ifndef _EffectsSlideTransition_
55  EW_DECLARE_CLASS( EffectsSlideTransition )
56 #define _EffectsSlideTransition_
57 #endif
58 
59 
60 /* The class Effects::SlideTransition provides functionality for the fade-in/out
61  operation affecting the position and the opacity of the given GUI component.
62  By using the property @Direction you determine in which direction the component
63  should be moved during the fade-in/out animation (e.g. up, down, left, right,
64  etc.). When using the transition for the fade-in operation, the GUI component
65  starts outside of the visible area of its owner and continues moving until it
66  reaches the predetermined (per default the center) position of its owner. When
67  using the transition for the fade-out operation, the component is moved until
68  it leaves the visible area of its owner component. This transition is thus ideal
69  wherever one GUI component should smoothly slide-in/out in context of another
70  component.
71  Per default when the component is displayed, it is aligned in the center of its
72  owner. This can be modified by using the property @Alignment. Furthermore, with
73  the four properties @MarginLeft, @MarginRight, @MarginTop and @MarginBottom the
74  area to align the component within its owner can be limited.
75  How long the transition should take is determined in the property @Duration,
76  which is per default 500 ms. The exact timing (easing) is configured with the
77  property @Timing. The class implements an extensive set of various timing functions.
78  In its simplest case the animation can follow a straight line, or it can start
79  slow and get faster afterwards. More complex timings perform realistic spring
80  elastic and bounce animations. In its default configuration, the transition uses
81  the 'FastIn_EaseOut' timing (it starts fast and slows down until the end position
82  is reached).
83  With the property @Buffered you can configure, whether the transition should
84  additionally enable the buffering mode for the affected GUI component while it
85  performs the animation. */
86 EW_DEFINE_FIELDS( EffectsSlideTransition, EffectsTransition )
87  EW_PROPERTY( MarginBottom, XInt32 )
88  EW_PROPERTY( MarginRight, XInt32 )
89  EW_PROPERTY( MarginTop, XInt32 )
90  EW_PROPERTY( MarginLeft, XInt32 )
91  EW_PROPERTY( Alignment, XSet )
92  EW_PROPERTY( Elasticity, XFloat )
93  EW_PROPERTY( Bounces, XInt32 )
94  EW_PROPERTY( Oscillations, XInt32 )
95  EW_PROPERTY( Amplitude, XFloat )
96  EW_PROPERTY( Exponent, XFloat )
97  EW_PROPERTY( TimingCustom2, XFloat )
98  EW_PROPERTY( TimingCustom1, XFloat )
99  EW_PROPERTY( Duration, XInt32 )
100  EW_PROPERTY( Direction, XEnum )
101  EW_PROPERTY( Timing, XEnum )
102  EW_PROPERTY( Buffered, XBool )
103 EW_END_OF_FIELDS( EffectsSlideTransition )
104 
105 /* Virtual Method Table (VMT) for the class : 'Effects::SlideTransition' */
106 EW_DEFINE_METHODS( EffectsSlideTransition, EffectsTransition )
107  EW_METHOD( CreatePresentFader, EffectsFader )( EffectsSlideTransition _this )
108  EW_METHOD( CreateDismissFader, EffectsFader )( EffectsSlideTransition _this )
109  EW_METHOD( CreateRestoreFader, EffectsFader )( EffectsSlideTransition _this )
110  EW_METHOD( CreateOverlayFader, EffectsFader )( EffectsSlideTransition _this )
111 EW_END_OF_METHODS( EffectsSlideTransition )
112 
113 /* The method CreatePresentFader() creates an object of one of the classes descending
114  from Effects::Fader and configures it with parameters according to the desired
115  fade-in (present) transition. Finally the prepared fader object is returned to
116  the caller. Typically, the created fader is used to show (to present) a GUI component
117  when the user navigates to it. The method has to be overridden and implemented
118  in derived classes. The actual implementation does nothing and returns 'null'. */
119 EffectsFader EffectsSlideTransition_CreatePresentFader( EffectsSlideTransition _this );
120 
121 /* The method CreateDismissFader() creates an object of one of the classes descending
122  from Effects::Fader and configures it with parameters according to the desired
123  fade-out (dismiss) transition. Finally the prepared fader object is returned
124  to the caller. Typically, the created fader is used to hide (to dismiss) a GUI
125  component when the user leaves it while he/she navigates in the GUI system. The
126  method has to be overridden and implemented in derived classes. The actual implementation
127  does nothing and returns 'null'. */
128 EffectsFader EffectsSlideTransition_CreateDismissFader( EffectsSlideTransition _this );
129 
130 /* The method CreateRestoreFader() creates an object of one of the classes descending
131  from Effects::Fader and configures it with parameters according to the desired
132  fade-in (restore) transition. Finally the prepared fader object is returned to
133  the caller. Typically, the created fader is used to show (to restore the original
134  visible state) of a GUI component, which has been obscured (overlaid) by other
135  GUI components during the user navigates in the GUI system. The method has to
136  be overridden and implemented in derived classes. The actual implementation of
137  this method redirects the operation to the method @CreatePresentFader(). */
138 EffectsFader EffectsSlideTransition_CreateRestoreFader( EffectsSlideTransition _this );
139 
140 /* The method CreateOverlayFader() creates an object of one of the classes descending
141  from Effects::Fader and configures it with parameters according to the desired
142  fade-out (overlay) transition. Finally the prepared fader object is returned
143  to the caller. Typically, the created fader is used to temporarily hide (to overlay)
144  a GUI component when the user navigates a deeper level in the GUI system. The
145  method has to be overridden and implemented in derived classes. The actual implementation
146  of this method redirects the operation to the method @CreateDismissFader(). */
147 EffectsFader EffectsSlideTransition_CreateOverlayFader( EffectsSlideTransition _this );
148 
149 /* 'C' function for method : 'Effects::SlideTransition.onInitializeIn()' */
150 void EffectsSlideTransition_onInitializeIn( EffectsSlideTransition _this, XObject
151  sender );
152 
153 /* 'C' function for method : 'Effects::SlideTransition.onInitializeOut()' */
154 void EffectsSlideTransition_onInitializeOut( EffectsSlideTransition _this, XObject
155  sender );
156 
157 #ifdef __cplusplus
158  }
159 #endif
160 
161 #endif /* _EffectsSlideTransition_H */
162 
163 /* Embedded Wizard */
EffectsSlideTransition_onInitializeIn
void EffectsSlideTransition_onInitializeIn(EffectsSlideTransition _this, XObject sender)
Definition: Effects.c:2291
ewrte.h
EW_END_OF_FIELDS
#define EW_END_OF_FIELDS(aClass)
Definition: ewrte.h:460
EW_DECLARE_CLASS
#define EW_DECLARE_CLASS(aClass)
Definition: ewrte.h:393
ewgfx.h
EffectsSlideTransition_CreatePresentFader
EffectsFader EffectsSlideTransition_CreatePresentFader(EffectsSlideTransition _this)
Definition: Effects.c:2202
_obj_XObject
Definition: ewrte.h:281
XInt32
signed long XInt32
Definition: ewrte.h:1586
XBool
char XBool
Definition: ewrte.h:1592
XEnum
unsigned long XEnum
Definition: ewrte.h:1593
EW_DEFINE_METHODS
#define EW_DEFINE_METHODS(aClass, aSuperClass)
Definition: ewrte.h:524
EW_METHOD
EW_METHOD(CreatePresentFader, EffectsFader)(EffectsSlideTransition _this) EW_METHOD(CreateDismissFader
EffectsFader
EffectsFader(EffectsSlideTransition _this) EW_METHOD(CreateRestoreFader
EffectsSlideTransition_CreateOverlayFader
EffectsFader EffectsSlideTransition_CreateOverlayFader(EffectsSlideTransition _this)
Definition: Effects.c:2281
EffectsSlideTransition_CreateDismissFader
EffectsFader EffectsSlideTransition_CreateDismissFader(EffectsSlideTransition _this)
Definition: Effects.c:2234
EffectsSlideTransition_CreateRestoreFader
EffectsFader EffectsSlideTransition_CreateRestoreFader(EffectsSlideTransition _this)
Definition: Effects.c:2266
XSet
unsigned long XSet
Definition: ewrte.h:1594
_EffectsTransition.h
XFloat
float XFloat
Definition: ewrte.h:1595
EffectsSlideTransition_onInitializeOut
void EffectsSlideTransition_onInitializeOut(EffectsSlideTransition _this, XObject sender)
Definition: Effects.c:2379
sender
XRect CoreOutline aOutline XObject sender
Definition: _ApplicationRadioInterface.h:186
EW_PROPERTY
#define EW_PROPERTY(aName, aType)
Definition: ewrte.h:466
EW_END_OF_METHODS
#define EW_END_OF_METHODS(aClass)
Definition: ewrte.h:539
EW_DEFINE_FIELDS
#define EW_DEFINE_FIELDS(aClass, aSuperClass)
Definition: ewrte.h:451