WebRadioApp  0.1
_EffectsFaderTask.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 _EffectsFaderTask_H
28 #define _EffectsFaderTask_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 "_CoreTask.h"
46 
47 /* Forward declaration of the class Core::TaskQueue */
48 #ifndef _CoreTaskQueue_
49  EW_DECLARE_CLASS( CoreTaskQueue )
50 #define _CoreTaskQueue_
51 #endif
52 
53 /* Forward declaration of the class Effects::Fader */
54 #ifndef _EffectsFader_
56 #define _EffectsFader_
57 #endif
58 
59 /* Forward declaration of the class Effects::FaderTask */
60 #ifndef _EffectsFaderTask_
61  EW_DECLARE_CLASS( EffectsFaderTask )
62 #define _EffectsFaderTask_
63 #endif
64 
65 
66 /* Deklaration of class : 'Effects::FaderTask' */
67 EW_DEFINE_FIELDS( EffectsFaderTask, CoreTask )
68  EW_VARIABLE( last, EffectsFader )
69  EW_VARIABLE( first, EffectsFader )
70 EW_END_OF_FIELDS( EffectsFaderTask )
71 
72 /* Virtual Method Table (VMT) for the class : 'Effects::FaderTask' */
73 EW_DEFINE_METHODS( EffectsFaderTask, CoreTask )
74  EW_METHOD( OnComplete, void )( EffectsFaderTask _this, CoreTaskQueue aQueue )
75  EW_METHOD( OnCancel, void )( EffectsFaderTask _this, CoreTaskQueue aQueue )
76  EW_METHOD( OnStart, void )( EffectsFaderTask _this, CoreTaskQueue aQueue )
77  EW_METHOD( Complete, void )( EffectsFaderTask _this )
78 EW_END_OF_METHODS( EffectsFaderTask )
79 
80 /* The method OnComplete() is called when the task is done with its work. The default
81  implementation of this method does nothing. You can override this method in derived
82  task classes and implement what to do when the task is finished. For example,
83  you can release resources used temporarily during animations.
84  To complete a task you should call explicitly the method @Complete(). The parameter
85  aQueue refers to the queue this task belonged to. It can be used e.g. to schedule
86  again a task to the same queue, etc. */
87 void EffectsFaderTask_OnComplete( EffectsFaderTask _this, CoreTaskQueue aQueue );
88 
89 /* The method OnCancel() is called when the task is canceled after being started.
90  The default implementation of this method does nothing. You can override this
91  method in derived task classes and implement what to do when the task is prematurely
92  aborted. For example, you can stop running timers and effects started in the
93  preceding @OnStart() method.
94  To cancel a task you should call explicitly the method @Cancel(). The parameter
95  aQueue refers to the queue this task belonged to. It can be used e.g. to schedule
96  again a task to the same queue, etc. */
97 void EffectsFaderTask_OnCancel( EffectsFaderTask _this, CoreTaskQueue aQueue );
98 
99 /* The method OnStart() is called at the begin of the execution of this task. The
100  default implementation of the method simply cancels the task causing the next
101  available task in the task queue to be started. You should override this method
102  in derived task classes to implement what the task should do.
103  There are three typical application cases how to implement the OnStart() method:
104  - In its simplest case the entire task algorithm is implemented in the OnStart()
105  method. In this case the method @Complete() should be called before leaving OnStart().
106  - If the task does take long time for execution by using timers or effects, you
107  should put in OnStart() the code necessary to start the timers/effects. Don't
108  forget to call @Complete() when all timers/effects are done.
109  - If the task is divided in many small execution steps, the OnStart() method
110  should call @Continue() to request the @OnContinue() method to be executed after
111  a short delay (usually after the next screen update). In @OnContinue() you can
112  perform the next step of the task. If necessary, @OnContinue() can also request
113  to be called again after a short delay. At the end of the task, after the last
114  step is terminated, don't forget to call @Complete().
115  The parameter aQueue refers to the queue this task belongs to. It can be used
116  to schedule more task to execute later. */
117 void EffectsFaderTask_OnStart( EffectsFaderTask _this, CoreTaskQueue aQueue );
118 
119 /* The method Complete() informs the task queue about the completion of this task.
120  Thereupon the next available task in the queue can be executed. This method is
121  usually called in context of the @OnStart() or @OnContinue() method when the
122  task has finalized its work. Calling the method for a not current task has no
123  effect. */
124 void EffectsFaderTask_Complete( EffectsFaderTask _this );
125 
126 /* 'C' function for method : 'Effects::FaderTask.RemoveFader()' */
127 void EffectsFaderTask_RemoveFader( EffectsFaderTask _this, EffectsFader aFader );
128 
129 /* 'C' function for method : 'Effects::FaderTask.AddFader()' */
130 void EffectsFaderTask_AddFader( EffectsFaderTask _this, EffectsFader aFader );
131 
132 #ifdef __cplusplus
133  }
134 #endif
135 
136 #endif /* _EffectsFaderTask_H */
137 
138 /* Embedded Wizard */
ewrte.h
EffectsFaderTask_OnCancel
void EffectsFaderTask_OnCancel(EffectsFaderTask _this, CoreTaskQueue aQueue)
Definition: Effects.c:2626
_CoreTask.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
EW_VARIABLE
#define EW_VARIABLE(aName, aType)
Definition: ewrte.h:464
ewgfx.h
EW_METHOD
EW_METHOD(OnComplete, void)(EffectsFaderTask _this
EW_DEFINE_METHODS
#define EW_DEFINE_METHODS(aClass, aSuperClass)
Definition: ewrte.h:524
EffectsFader
EffectsFader(EffectsShowHideTransition _this) EW_METHOD(CreateRestoreFader
aQueue
CoreTaskQueue aQueue CoreTaskQueue aQueue CoreTaskQueue aQueue CoreTaskQueue aQueue
Definition: _EffectsFaderTask.h:87
EffectsFaderTask_Complete
void EffectsFaderTask_Complete(EffectsFaderTask _this)
Definition: Effects.c:2698
EW_END_OF_METHODS
#define EW_END_OF_METHODS(aClass)
Definition: ewrte.h:539
EffectsFaderTask_OnComplete
void EffectsFaderTask_OnComplete(EffectsFaderTask _this, CoreTaskQueue aQueue)
Definition: Effects.c:2593
EffectsFaderTask_AddFader
void EffectsFaderTask_AddFader(EffectsFaderTask _this, EffectsFader aFader)
Definition: Effects.c:2751
EffectsFaderTask_RemoveFader
void EffectsFaderTask_RemoveFader(EffectsFaderTask _this, EffectsFader aFader)
Definition: Effects.c:2710
EffectsFaderTask_OnStart
void EffectsFaderTask_OnStart(EffectsFaderTask _this, CoreTaskQueue aQueue)
Definition: Effects.c:2663
EW_DEFINE_FIELDS
#define EW_DEFINE_FIELDS(aClass, aSuperClass)
Definition: ewrte.h:451