WebRadioApp  0.1
_CoreGroup.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 _CoreGroup_H
28 #define _CoreGroup_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 "_CoreRectView.h"
46 
47 /* Forward declaration of the class Core::CursorHit */
48 #ifndef _CoreCursorHit_
50 #define _CoreCursorHit_
51 #endif
52 
53 /* Forward declaration of the class Core::DialogContext */
54 #ifndef _CoreDialogContext_
55  EW_DECLARE_CLASS( CoreDialogContext )
56 #define _CoreDialogContext_
57 #endif
58 
59 /* Forward declaration of the class Core::Event */
60 #ifndef _CoreEvent_
61  EW_DECLARE_CLASS( CoreEvent )
62 #define _CoreEvent_
63 #endif
64 
65 /* Forward declaration of the class Core::Group */
66 #ifndef _CoreGroup_
67  EW_DECLARE_CLASS( CoreGroup )
68 #define _CoreGroup_
69 #endif
70 
71 /* Forward declaration of the class Core::KeyPressHandler */
72 #ifndef _CoreKeyPressHandler_
73  EW_DECLARE_CLASS( CoreKeyPressHandler )
74 #define _CoreKeyPressHandler_
75 #endif
76 
77 /* Forward declaration of the class Core::LayoutContext */
78 #ifndef _CoreLayoutContext_
79  EW_DECLARE_CLASS( CoreLayoutContext )
80 #define _CoreLayoutContext_
81 #endif
82 
83 /* Forward declaration of the class Core::TaskQueue */
84 #ifndef _CoreTaskQueue_
85  EW_DECLARE_CLASS( CoreTaskQueue )
86 #define _CoreTaskQueue_
87 #endif
88 
89 /* Forward declaration of the class Core::View */
90 #ifndef _CoreView_
91  EW_DECLARE_CLASS( CoreView )
92 #define _CoreView_
93 #endif
94 
95 /* Forward declaration of the class Effects::Fader */
96 #ifndef _EffectsFader_
98 #define _EffectsFader_
99 #endif
100 
101 /* Forward declaration of the class Effects::Transition */
102 #ifndef _EffectsTransition_
103  EW_DECLARE_CLASS( EffectsTransition )
104 #define _EffectsTransition_
105 #endif
106 
107 /* Forward declaration of the class Graphics::Canvas */
108 #ifndef _GraphicsCanvas_
109  EW_DECLARE_CLASS( GraphicsCanvas )
110 #define _GraphicsCanvas_
111 #endif
112 
113 
114 /* The class Core::Group provides the base functionality for all kinds of complex
115  GUI components, like the push button, the slider or the entire menu panel. All
116  user defined GUI components do descend from this class.
117  Groups serve as containers for other views. They are able to manage any number
118  of enclosed views, to arrange these views, to redraw them automatically and to
119  deliver user input events to the views. They act as the unique @Owner of the
120  enclosed views. At the same time the groups borderline determines the area where
121  its views can appear. Parts of views lying outside this @Bounds area are clipped
122  and not visible.
123  Each group defines its own coordinate system starting with the origin <0,0> at
124  the top-left corner of the group. All views enclosed within the group are placed
125  relatively to this origin. Moving a group automatically moves the corresponding
126  coordinate system and thus the enclosed views. You don't need to take care about
127  it.
128  Since the Core::Group class descends from the very basic ordinary Core::View
129  class, groups can be enclosed within other groups, by what nesting of GUI components
130  is possible. For example, several push button components can be enclosed within
131  a superior menu component in order to design a more complex component. It's up
132  to you to compose these view hierarchies.
133  The interface of the Core::Group class provides a wide range of methods and some
134  properties to control the group and the enclosed views. For example:
135  - The list of enclosed views is controlled by the methods @Add(), @Remove() and
136  @Restack(). These methods allow you to insert new views to the group, to remove
137  existing views from the group or to change the so-called Z-order of views - the
138  order determining which view lies in the front and which in the background of
139  the group.
140  - More sophisticated: with the method @FadeGroup() animated transitions to add
141  and fade-in or to fade-out and remove a GUI component within 'this' component
142  can be scheduled.
143  - To find and enumerate the enclosed views, the methods like @FindNextView(),
144  @FindPrevView(), @FindViewAtPosition, @FindViewInDirection() or @GetViewAtIndex()
145  are available.
146  - Although the screen redraw is performed automatically by the framework, the
147  method InvalidateArea() can be used to request an explicit screen update for
148  the given area of the group.
149  - If the size of the group changes, all enclosed views are arranged automatically
150  accordingly to their @Layout properties. If more sophisticated arrangement is
151  desired the method @UpdateLayout() can be overridden and filled with the appropriate
152  logic to calculate the position and size of views.
153  - Although the delivery of user input events to the views is performed automatically
154  by the framework, the both methods @DispatchEvent() and @BroadcastEvent() can
155  be used to feed the group and its views with any additional user defined events.
156  - The visibility of the group and thus the visibility of all enclosed views is
157  controlled by the properties @Visible, @AlphaBlended, @Opacity and @Embedded.
158  In particular the property @Embedded can determine whether the corresponding
159  GUI component is limited (== embedded) to the boundary of a sibling Core::Outline
160  view or not. The embedding of views within a Core::Outline allows a kind of sub-groups
161  within the group itself. Very useful for any kind of scrollable lists, menus,
162  etc.
163  - The property @Buffered controls whether the group should store its aspect in
164  an off-screen bitmap. This feature is useful when e.g. the entire group should
165  be animated - it can avoid superfluous redrawing of the groups content. Other
166  advantage of this feature is the possibility to replicate the aspect of a group
167  within a Views::Group or Views::WarpGroup view. With other words, several copies
168  of the group aspect can be shown on the screen. Useful for many fade-in, 2D/3D
169  warp or mirror visual effects.
170  - Other useful feature is the centralized and uniform update of the GUI state.
171  Usually every GUI component does store its current state, like the states 'on'
172  or 'off' in case of a toggle switch component. This state can change at the runtime
173  e.g. in response to the user interaction. To handle this state alteration the
174  method @UpdateViewState() can be overridden and filled with the desired logic
175  to reflect the current state in the appearance of the GUI component. In this
176  manner the entire state update is located in a single method. This method will
177  be invoked automatically by the framework. Optionally you can request its invocation
178  by using the method @InvalidateViewState().
179  - The class Core::Group implements a powerful infrastructure permitting simple
180  presentation and dismissing of GUI components in context of 'this' component
181  similarly to the concepts of 'alert panels', 'message boxes' or 'dialogs' known
182  from other GUI frameworks. Internally, every instance of Core::Group manages
183  a stack with all dialog components belonging actually to it. The dialog component
184  on top of the stack is considered as the active dialog - the dialog, the user
185  may interact with. Other dialogs lying in the background are automatically deactivated
186  and they are suppressed from being able to receive and process user inputs. New
187  dialogs are presented by using the method @PresentDialog(). With the method @SwitchToDialog()
188  you can replace the actually active dialog by another one. Finally, with the
189  method @DismissDialog() one of the actually presented dialogs can be dismissed
190  again. Every of these operations can be performed with animation transitions,
191  you specify in the parameters when invoking the respective method.
192  - If using the above described infrastructure to manage dialogs, you can use
193  the methods @IsDialog(), @IsActiveDialog() and @IsCurrentDialog() to verify whether
194  the affected GUI component is actually, just in this moment a dialog presented
195  within another GUI component, whether it is an active dialog or even the current
196  dialog. Knowing this is essential to estimate the actual state of the GUI application,
197  even if the dialogs appear or disappear with animations. With the methods @CountDialogs(),
198  @GetDialogAtIndex(), @GetIndexOfDialog() you can simply evaluate and traverse
199  the stack of dialog components existing actually in context of 'this' GUI component.
200  With the method @FindCurrentDialog() you can search in 'this' component and all
201  subordinated dialog components for the dialog which is the current one. The both
202  methods @FindDialogByClass() and @FindActiveDialogByClass() are convenient to
203  search in 'this' component and all subordinated dialog components for the dialog,
204  which is an instance of a specified component class. */
205 EW_DEFINE_FIELDS( CoreGroup, CoreRectView )
206  EW_VARIABLE( first, CoreView )
207  EW_VARIABLE( last, CoreView )
208  EW_VARIABLE( keyHandlers, CoreKeyPressHandler )
209  EW_VARIABLE( buffer, GraphicsCanvas )
210  EW_VARIABLE( dialogStack, CoreDialogContext )
211  EW_VARIABLE( fadersQueue, CoreTaskQueue )
212  EW_VARIABLE( pendingFader, EffectsFader )
213  EW_PROPERTY( Focus, CoreView )
214  EW_PROPERTY( Opacity, XInt32 )
215 EW_END_OF_FIELDS( CoreGroup )
216 
217 /* Virtual Method Table (VMT) for the class : 'Core::Group' */
218 EW_DEFINE_METHODS( CoreGroup, CoreRectView )
219  EW_METHOD( initLayoutContext, void )( CoreRectView _this, XRect aBounds, CoreOutline
220  aOutline )
221  EW_METHOD( GetRoot, CoreRoot )( CoreView _this )
222  EW_METHOD( Draw, void )( CoreGroup _this, GraphicsCanvas aCanvas,
224  EW_METHOD( HandleEvent, XObject )( CoreView _this, CoreEvent aEvent )
225  EW_METHOD( CursorHitTest, CoreCursorHit )( CoreGroup _this, XRect aArea, XInt32
226  aFinger, XInt32 aStrikeCount, CoreView aDedicatedView, XSet aRetargetReason )
227  EW_METHOD( ArrangeView, XPoint )( CoreRectView _this, XRect aBounds, XEnum
228  aFormation )
229  EW_METHOD( MoveView, void )( CoreRectView _this, XPoint aOffset, XBool
230  aFastMove )
231  EW_METHOD( GetExtent, XRect )( CoreRectView _this )
232  EW_METHOD( ChangeViewState, void )( CoreGroup _this, XSet aSetState, XSet aClearState )
233  EW_METHOD( OnSetBounds, void )( CoreGroup _this, XRect value )
234  EW_METHOD( drawContent, void )( CoreGroup _this, GraphicsCanvas aCanvas,
236  EW_METHOD( OnSetFocus, void )( CoreGroup _this, CoreView value )
237  EW_METHOD( OnSetBuffered, void )( CoreGroup _this, XBool value )
238  EW_METHOD( OnSetOpacity, void )( CoreGroup _this, XInt32 value )
239  EW_METHOD( IsDialog, XBool )( CoreGroup _this, XBool aRecursive )
240  EW_METHOD( DispatchEvent, XObject )( CoreGroup _this, CoreEvent aEvent )
241  EW_METHOD( BroadcastEvent, XObject )( CoreGroup _this, CoreEvent aEvent, XSet
242  aFilter )
243  EW_METHOD( UpdateLayout, void )( CoreGroup _this, XPoint aSize )
244  EW_METHOD( UpdateViewState, void )( CoreGroup _this, XSet aState )
245  EW_METHOD( InvalidateArea, void )( CoreGroup _this, XRect aArea )
246 EW_END_OF_METHODS( CoreGroup )
247 
248 /* The method Init() is invoked automatically after the component has been created.
249  This method can be overridden and filled with logic containing additional initialization
250  statements. */
251 void CoreGroup_Init( CoreGroup _this, XHandle aArg );
252 
253 /* The method Draw() is invoked automatically if parts of the view should be redrawn
254  on the screen. This can occur when e.g. the view has been moved or the appearance
255  of the view has changed before.
256  Draw() is invoked automatically by the framework, you never will need to invoke
257  this method directly. However you can request an invocation of this method by
258  calling the method InvalidateArea() of the views @Owner. Usually this is also
259  unnecessary unless you are developing your own view.
260  The passed parameters determine the drawing destination aCanvas and the area
261  to redraw aClip in the coordinate space of the canvas. The parameter aOffset
262  contains the displacement between the origin of the views owner and the origin
263  of the canvas. You will need it to convert views coordinates into these of the
264  canvas.
265  The parameter aOpacity contains the opacity descended from this view's @Owner.
266  It lies in range 0 .. 255. If the view implements its own 'Opacity', 'Color',
267  etc. properties, the Draw() method should calculate the resulting real opacity
268  by mixing the values of these properties with the one passed in aOpacity parameter.
269  The parameter aBlend contains the blending mode descended from this view's @Owner.
270  It determines, whether the view should be drawn with alpha-blending active or
271  not. If aBlend is false, the outputs of the view should overwrite the corresponding
272  pixel in the drawing destination aCanvas. If aBlend is true, the outputs should
273  be mixed with the pixel already stored in aCanvas. For this purpose all Graphics
274  Engine functions provide a parameter to specify the mode for the respective drawing
275  operation. If the view implements its own 'Blend' property, the Draw() method
276  should calculate the resulting real blend mode by using logical AND operation
277  of the value of the property and the one passed in aBlend parameter. */
278 void CoreGroup_Draw( CoreGroup _this, GraphicsCanvas aCanvas, XRect aClip, XPoint
280 
281 /* The method CursorHitTest() is invoked automatically in order to determine whether
282  the view is interested in the receipt of cursor events or not. This method will
283  be invoked immediately after the user has tapped the visible area of the view.
284  If the view is not interested in the cursor event, the framework repeats this
285  procedure for the next behind view until a willing view has been found or all
286  views are evaluated.
287  In the implementation of the method the view can evaluate the passed aArea parameter.
288  It determines the place where the user has tapped the view with his fingertip
289  expressed in the coordinates of the views @Owner. The method can test e.g. whether
290  the tapped area does intersect any touchable areas within the view, etc. The
291  affected finger is identified in the parameter aFinger. The first finger (or
292  the first mouse device button) has the number 0.
293  The parameter aStrikeCount determines how many times the same area has been tapped
294  in series. This is useful to detect series of multiple touches, e.g. in case
295  of the double click, aStrikeCount == 2.
296  The parameter aDedicatedView, if it is not 'null', restricts the event to be
297  handled by this view only. If aDedicatedView == null, no special restriction
298  exists.
299  This method is also invoked if during an existing grab cycle the current target
300  view has decided to resign and deflect the cursor events to another view. This
301  is usually the case after the user has performed a gesture the current target
302  view is not interested to process. Thereupon, the system looks for another view
303  willing to take over the cursor event processing after the performed gesture.
304  Which gesture has caused the operation, is specified in the parameter aRetargetReason.
305  If the view is willing to process the event, the method should create, initialize
306  and return a new Core::CursorHit object. This object identify the willing view.
307  Otherwise the method should return 'null'.
308  CursorHitTest() is invoked automatically by the framework, so you never should
309  need to invoke it directly. This method is predetermined for the hit-test only.
310  The proper processing of events should take place in the @HandleEvent() method
311  by reacting to Core::CursorEvent and Core::DragEvent events. */
312 CoreCursorHit CoreGroup_CursorHitTest( CoreGroup _this, XRect aArea, XInt32 aFinger,
313  XInt32 aStrikeCount, CoreView aDedicatedView, XSet aRetargetReason );
314 
315 /* The method ChangeViewState() modifies the current state of the view. The state
316  is a set of switches determining whether a view is visible, whether it can react
317  to user inputs or whether it is just performing some update operations, etc.
318  The modification is controlled by the the both parameters. The first aSetState
319  contains the switches to activate within the view state. The second aClearState
320  determines all switches to disable.
321  Depending on the state alteration the method will perform different operations,
322  e.g. in response to the clearing of the visible state, the method will request
323  a screen redraw to make disappear the view from the screen.
324  ChangeViewState() is invoked automatically by the framework, so you never should
325  need to invoke it directly. All relevant states are available as properties e.g.
326  the property Visible in derived classes reflects the visible state of the view. */
327 void CoreGroup_ChangeViewState( CoreGroup _this, XSet aSetState, XSet aClearState );
328 
329 /* 'C' function for method : 'Core::Group.OnSetBounds()' */
330 void CoreGroup_OnSetBounds( CoreGroup _this, XRect value );
331 
332 /* 'C' function for method : 'Core::Group.processKeyHandlers()' */
333 XObject CoreGroup_processKeyHandlers( CoreGroup _this, CoreEvent aEvent );
334 
335 /* 'C' function for method : 'Core::Group.updateBufferSlot()' */
336 void CoreGroup_updateBufferSlot( CoreGroup _this, XObject sender );
337 
338 /* 'C' function for method : 'Core::Group.drawContent()' */
339 void CoreGroup_drawContent( CoreGroup _this, GraphicsCanvas aCanvas, XRect aClip,
341 
342 /* Wrapper function for the virtual method : 'Core::Group.drawContent()' */
343 void CoreGroup__drawContent( void* _this, GraphicsCanvas aCanvas, XRect aClip, XPoint
345 
346 /* 'C' function for method : 'Core::Group.recalculateLayout()' */
347 void CoreGroup_recalculateLayout( CoreGroup _this );
348 
349 /* 'C' function for method : 'Core::Group.updateComponent()' */
350 void CoreGroup_updateComponent( CoreGroup _this, XObject sender );
351 
352 /* 'C' function for method : 'Core::Group.OnSetFocus()' */
353 void CoreGroup_OnSetFocus( CoreGroup _this, CoreView value );
354 
355 /* Wrapper function for the virtual method : 'Core::Group.OnSetFocus()' */
356 void CoreGroup__OnSetFocus( void* _this, CoreView value );
357 
358 /* 'C' function for method : 'Core::Group.OnGetBuffered()' */
359 XBool CoreGroup_OnGetBuffered( CoreGroup _this );
360 
361 /* 'C' function for method : 'Core::Group.OnSetBuffered()' */
362 void CoreGroup_OnSetBuffered( CoreGroup _this, XBool value );
363 
364 /* Wrapper function for the virtual method : 'Core::Group.OnSetBuffered()' */
365 void CoreGroup__OnSetBuffered( void* _this, XBool value );
366 
367 /* 'C' function for method : 'Core::Group.OnSetEnabled()' */
368 void CoreGroup_OnSetEnabled( CoreGroup _this, XBool value );
369 
370 /* 'C' function for method : 'Core::Group.OnSetOpacity()' */
371 void CoreGroup_OnSetOpacity( CoreGroup _this, XInt32 value );
372 
373 /* Wrapper function for the virtual method : 'Core::Group.OnSetOpacity()' */
374 void CoreGroup__OnSetOpacity( void* _this, XInt32 value );
375 
376 /* 'C' function for method : 'Core::Group.OnSetEmbedded()' */
377 void CoreGroup_OnSetEmbedded( CoreGroup _this, XBool value );
378 
379 /* 'C' function for method : 'Core::Group.OnGetVisible()' */
380 XBool CoreGroup_OnGetVisible( CoreGroup _this );
381 
382 /* 'C' function for method : 'Core::Group.OnSetVisible()' */
383 void CoreGroup_OnSetVisible( CoreGroup _this, XBool value );
384 
385 /* The method IsDialog() verifies whether 'this' component serves actually as a
386  dialog. The component is considered as a dialog if it has been presented by a
387  preceding invocation of the method @PresentDialog() or @SwitchToDialog() without
388  the corresponding @DismissDialog() invocation. If the parameter aRecursive is
389  'true', the owner in context of which 'this' component actually exists and all
390  superior owners have also to be valid dialogs or the owner has to be the application
391  root component.
392  If the component has not been presented by preceding @PresentDialog() or @SwitchToDialog()
393  invocation or it has been dismissed by using the method @DismissDialog() the
394  method returns 'false'. Similarly, if the parameter aRecursive is 'true' and
395  the owner of the component is itself not a dialog, the method returns 'false'. */
396 XBool CoreGroup_IsDialog( CoreGroup _this, XBool aRecursive );
397 
398 /* Wrapper function for the virtual method : 'Core::Group.IsDialog()' */
399 XBool CoreGroup__IsDialog( void* _this, XBool aRecursive );
400 
401 /* The method SwitchToDialog() schedules an operation to show in context of 'this'
402  component another component passed in the parameter aDialogGroup. The operation
403  to show the component is performed with an animation specified in the parameter
404  aPresentTransition. If the parameter aPresentTransition is 'null', the show operation
405  uses the default transition presenting the new dialog component instantly in
406  the center of 'this' component without performing any smooth animation effects.
407  Calling the method SwitchToDialog() causes the new dialog component to replace
408  the entry on top of an internal stack containing all dialogs existing at the
409  moment in context of 'this' owner component. The dialog component on top of the
410  stack is considered as the active dialog - the dialog, the user may interact
411  with. Other dialogs lying in the background are automatically deactivated and
412  they are suppressed from being able to receive and process user inputs. If not
413  needed anymore, the dialog component can be hidden again by calling the method
414  @DismissDialog() or SwitchToDialog(), which causes the corresponding dialog stack
415  entry to be removed or replaced. Accordingly, with the method @PresentDialog()
416  new dialog component can be pushed on top of this stack overlaying all other
417  dialogs in the background. If there was already an active dialog component presented
418  in context of 'this' owner, this old component looses its active state and it
419  is dismissed.
420  With the parameter aDismissTransition you can specify the animation to perform
421  when the just presented dialog component is dismissed again, which is caused
422  when calling the method @DismissDialog() or SwitchToDialog(). If the parameter
423  aDismissTransition is 'null', the dialog will disappear with the same transition
424  as used to show it (resulting from the parameter aPresentTransition).
425  With the parameter aOverlayTransition you determine an optional animation to
426  apply on the just presented component when a further dialog component is presented
427  overlying it (by using the method @PresentDialog()). In this way you can control,
428  whether and how the component should disappear when a new component is presented
429  above it. With the parameter aRestoreTransition you specify the opposite animation
430  to perform when after dismissing the overlaying component, the component in the
431  background becomes active again.
432  Usually, when presenting a new component by using the method SwitchToDialog(),
433  the previously presented component disappears with the dismiss transition specified
434  at its own presentation time (see the parameter aDismissTransition). This behavior
435  can be overridden by specifying in the parameter aOverrideDismissTransition other
436  animation to hide the old component.
437  Switching the dialog in foreground may affect the visibility state of the dialog
438  component lying further in the background. In particular, the component in the
439  background will schedule a restore transition as expected to be after the dialog
440  in foreground is dismissed, and an overlay transition as resulting from the just
441  presented new dialog component. Which transitions are performed results primarily
442  from the parameters aOverlayTransition and aRestoreTransition specified at the
443  presentation time of the background dialog component and the parameter aOverrideRestoreTransition
444  specified at the presentation time of the overlaying (just dismissed) dialog
445  component. Furthermore, you can override this behavior by specifying other animations
446  in the parameters aOverrideOverlayTransition and aOverrideRestoreTransition in
447  the invocation of the method SwitchToDialog().
448  The both parameters aComplete and aCancel can be provided with references to
449  slot methods, which are signaled as soon as the present operation is finished
450  (aComplete) or it has been canceled (aCancel) due to other transition being scheduled
451  for the same GUI component aDialogGroup making the actual operation obsolete.
452  The present operation is enqueued, so calling SwitchToDialog(), @PresentDialog()
453  and @DismissDialog() several times in sequence for different components in context
454  of 'this' owner component causes the resulting transitions to be executed strictly
455  one after another. This behavior can be changed by passing the value 'true' in
456  the parameter aCombine. In this case, the new operation will be executed together
457  with last prepared but not yet started operation. In this manner several independent
458  transitions can run simultaneously. */
459 void CoreGroup_SwitchToDialog( CoreGroup _this, CoreGroup aDialogGroup, EffectsTransition
460  aPresentTransition, EffectsTransition aDismissTransition, EffectsTransition aOverlayTransition,
461  EffectsTransition aRestoreTransition, EffectsTransition aOverrideDismissTransition,
462  EffectsTransition aOverrideOverlayTransition, EffectsTransition aOverrideRestoreTransition,
463  XSlot aComplete, XSlot aCancel, XBool aCombine );
464 
465 /* The method DismissDialog() schedules an operation to hide again the component
466  passed in the parameter aDialogGroup. The component has to be presented by a
467  preceding @PresentDialog() or @SwitchToDialog() method invocation. Calling the
468  method DismissDialog() causes the corresponding entry to be removed from the
469  internal stack containing all dialogs existing at the moment in context of 'this'
470  owner component. The dialog component on top of the stack is considered as the
471  active dialog - the dialog, the user may interact with. Other dialogs lying in
472  the background are automatically deactivated and they are suppressed from being
473  able to receive and process user inputs. Accordingly, applying the dismiss operation
474  on the actually active (top) dialog causes the dialog existing eventually behind
475  it to restore its active state.
476  The operation to hide the component is performed with an animation specified
477  at its presentation time (in the parameter aDismissTransition of the method @PresentDialog()
478  or @SwitchToDialog()). Alternatively, other transition to hide the component
479  can be specified in the parameter aOverrideDismissTransition.
480  Dismissing a dialog may affect the visibility state of the dialog component lying
481  further in the background. In particular, the component in the background will
482  schedule a restore transition as expected to be after the dialog overlaying it
483  is dismissed. When dismissing a dialog, which is not the active one (not on top
484  of the stack), the component in the background will also schedule an overlay
485  transition as resulting from the new overlaying dialog component. Which transitions
486  are performed results primarily from the parameters aOverlayTransition and aRestoreTransition
487  specified at the presentation time of the background dialog component and the
488  parameters aOverrideRestoreTransition specified at the presentation time of the
489  overlaying (just dismissed) dialog component. Furthermore, you can override this
490  behavior by specifying other animations in the parameters aOverrideOverlayTransition
491  and aOverrideRestoreTransition in the invocation of the method DismissDialog().
492  The both parameters aComplete and aCancel can be provided with references to
493  slot methods, which are signaled as soon as the dismiss operation is finished
494  (aComplete) or it has been canceled (aCancel) due to other transition being scheduled
495  for the same GUI component aDialogGroup making the actual operation obsolete.
496  The dismiss operation is enqueued, so calling @SwitchToDialog(), @PresentDialog()
497  and DismissDialog() several times in sequence for different components in context
498  of 'this' owner component causes the resulting transitions to be executed strictly
499  one after another. This behavior can be changed by passing the value 'true' in
500  the parameter aCombine. In this case, the new operation will be executed together
501  with last prepared but not yet started operation. In this manner several independent
502  transitions can run simultaneously. */
503 void CoreGroup_DismissDialog( CoreGroup _this, CoreGroup aDialogGroup, EffectsTransition
504  aOverrideDismissTransition, EffectsTransition aOverrideOverlayTransition, EffectsTransition
505  aOverrideRestoreTransition, XSlot aComplete, XSlot aCancel, XBool aCombine );
506 
507 /* The method PresentDialog() schedules an operation to show in context of 'this'
508  component another component passed in the parameter aDialogGroup. The operation
509  to show the component is performed with an animation specified in the parameter
510  aPresentTransition. If the parameter aPresentTransition is 'null', the show operation
511  uses the default transition presenting the new dialog component instantly in
512  the center of 'this' component without performing any smooth animation effects.
513  Calling the method PresentDialog() causes the new dialog component to be pushed
514  on top of an internal stack containing all dialogs existing at the moment in
515  context of 'this' owner component. The dialog component on top of the stack is
516  considered as the active dialog - the dialog, the user may interact with. Other
517  dialogs lying in the background are automatically deactivated and they are suppressed
518  from being able to receive and process user inputs. If not needed anymore, the
519  dialog component can be hidden again by calling the method @DismissDialog() or
520  @SwitchToDialog(), which causes the corresponding dialog stack entry to be removed
521  or replaced. Accordingly, if there was already an active dialog component presented
522  in context of 'this' owner, this old component looses its active state and it
523  is overlaid by the new component.
524  With the parameter aDismissTransition you can specify the animation to perform
525  when the just presented dialog component is dismissed again, which is caused
526  when calling the method @DismissDialog() or @SwitchToDialog(). If the parameter
527  aDismissTransition is 'null', the dialog will disappear with the same transition
528  as used to show it (resulting from the parameter aPresentTransition).
529  With the parameter aOverlayTransition you determine an optional animation to
530  apply on the just presented component when a further dialog component is presented
531  overlying it. In this way you can control, whether and how the component should
532  disappear when a new component is presented above it. With the parameter aRestoreTransition
533  you specify the opposite animation to perform when after dismissing the overlaying
534  component, the component in the background becomes active again. When calling
535  PresentDialog(), you can override these originally specified transitions to overlay
536  and restore the component in the background. With the parameter aOverrideOverlayTransition
537  you can specify the animation to hide the component in the background instead
538  of using the animation specified at its own presentation time. Similarly, with
539  the parameter aOverrideRestoreTransition you can specify another animation to
540  use when the component in the background restores its active state again.
541  The both parameters aComplete and aCancel can be provided with references to
542  slot methods, which are signaled as soon as the present operation is finished
543  (aComplete) or it has been canceled (aCancel) due to other transition being scheduled
544  for the same GUI component aDialogGroup making the actual operation obsolete.
545  The present operation is enqueued, so calling PresentDialog(), @SwitchToDialog()
546  and @DismissDialog() several times in sequence for different components in context
547  of 'this' owner component causes the resulting transitions to be executed strictly
548  one after another. This behavior can be changed by passing the value 'true' in
549  the parameter aCombine. In this case, the new operation will be executed together
550  with last prepared but not yet started operation. In this manner several independent
551  transitions can run simultaneously. */
552 void CoreGroup_PresentDialog( CoreGroup _this, CoreGroup aDialogGroup, EffectsTransition
553  aPresentTransition, EffectsTransition aDismissTransition, EffectsTransition aOverlayTransition,
554  EffectsTransition aRestoreTransition, EffectsTransition aOverrideOverlayTransition,
555  EffectsTransition aOverrideRestoreTransition, XSlot aComplete, XSlot aCancel,
556  XBool aCombine );
557 
558 /* The method LocalPosition() converts the given position aPoint from the screen
559  coordinate space to the coordinate space of this component and returns the calculated
560  position. In the case the component isn't visible within the application, the
561  method can fail and return a wrong position. */
562 XPoint CoreGroup_LocalPosition( CoreGroup _this, XPoint aPoint );
563 
564 /* The method DispatchEvent() feeds the component with the event passed in the parameter
565  aEvent and propagates it along the so-called focus path. This focus path leads
566  to the currently selected keyboard event receiver view. If the event is rejected
567  by the view, the same operation is repeated for the next superior view. This
568  permits the hierarchical event dispatching until a willing view has handled the
569  event or all views in the focus path have been evaluated. If the event remains
570  still unhandled, it will be passed to the component itself.
571  The focus path is established by the property @Focus.
572  DispatchEvent() returns the value returned by the @HandleEvent() method of the
573  view which has handled the event. In the case, the event was not handled, the
574  method returns 'null'. */
575 XObject CoreGroup_DispatchEvent( CoreGroup _this, CoreEvent aEvent );
576 
577 /* Wrapper function for the virtual method : 'Core::Group.DispatchEvent()' */
578 XObject CoreGroup__DispatchEvent( void* _this, CoreEvent aEvent );
579 
580 /* The following define announces the presence of the method Core::Group.DispatchEvent(). */
581 #define _CoreGroup__DispatchEvent_
582 
583 /* The method BroadcastEventAtPosition() feeds the component with the event passed
584  in the parameter aEvent and propagates it to all views, which do exist within
585  the component and do enclose the given position aPosition until the event has
586  been handled or all affected views are evaluated. If the event remains still
587  unhandled, it will be passed to the component itself.
588  Beside the position, the additional parameter aFilter can be used to limit the
589  operation to special views only, e.g. to visible and touchable views.
590  BroadcastEventAtPosition() is very useful to provide views with one and the same
591  event in order e.g. to inform the views about an important global state alteration.
592  The parameters aPosition and aFilter limit the operation to particular views.
593  To send events to all views regardless of their position use the method @BroadcastEvent().
594  BroadcastEventAtPosition() returns the value returned by the @HandleEvent() method
595  of the view which has handled the event. In the case, the event was not handled,
596  the method returns 'null'. */
597 XObject CoreGroup_BroadcastEventAtPosition( CoreGroup _this, CoreEvent aEvent, XPoint
598  aPosition, XSet aFilter );
599 
600 /* Wrapper function for the non virtual method : 'Core::Group.BroadcastEventAtPosition()' */
601 XObject CoreGroup__BroadcastEventAtPosition( void* _this, CoreEvent aEvent, XPoint
602  aPosition, XSet aFilter );
603 
604 /* The following define announces the presence of the method Core::Group.BroadcastEventAtPosition(). */
605 #define _CoreGroup__BroadcastEventAtPosition_
606 
607 /* The method BroadcastEvent() feeds the component with the event passed in the
608  parameter aEvent and propagates it to all views enclosed within the component
609  until the event has been handled or all views are evaluated. If the event remains
610  still unhandled, it will be passed to the component itself.
611  The additional parameter aFilter can be used to limit the operation to special
612  views only, e.g. to visible and touchable views. To broadcast the event to all
613  views pass in the parameter aFilter the value 'Core::ViewState[]'.
614  BroadcastEvent() is very useful to provide all views with one and the same event
615  in order e.g. to inform all views about an important global state alteration.
616  To send events to views enclosing a given position use the method @BroadcastEventAtPosition().
617  BroadcastEvent() returns the value returned by the @HandleEvent() method of the
618  view which has handled the event. In the case, the event was not handled, the
619  method returns 'null'. */
620 XObject CoreGroup_BroadcastEvent( CoreGroup _this, CoreEvent aEvent, XSet aFilter );
621 
622 /* Wrapper function for the virtual method : 'Core::Group.BroadcastEvent()' */
623 XObject CoreGroup__BroadcastEvent( void* _this, CoreEvent aEvent, XSet aFilter );
624 
625 /* The following define announces the presence of the method Core::Group.BroadcastEvent(). */
626 #define _CoreGroup__BroadcastEvent_
627 
628 /* The method UpdateLayout() is invoked automatically after the size of the component
629  has been changed. This method can be overridden and filled with logic to perform
630  a sophisticated arrangement calculation for one or more enclosed views. In this
631  case the parameter aSize can be used. It contains the current size of the component.
632  Usually, all enclosed views are arranged automatically accordingly to their @Layout
633  property. UpdateLayout() gives the derived components a chance to extend this
634  automatism by a user defined algorithm. */
635 void CoreGroup_UpdateLayout( CoreGroup _this, XPoint aSize );
636 
637 /* Wrapper function for the virtual method : 'Core::Group.UpdateLayout()' */
638 void CoreGroup__UpdateLayout( void* _this, XPoint aSize );
639 
640 /* The method UpdateViewState() is invoked automatically after the state of the
641  component has been changed. This method can be overridden and filled with logic
642  to ensure the visual aspect of the component does reflect its current state.
643  For example, the 'enabled' state of the component can affect its colors (disabled
644  components may appear pale). In this case the logic of the method should modify
645  the respective color properties accordingly to the current 'enabled' state.
646  The current state of the component is passed as a set in the parameter aState.
647  It reflects the very basic component state like its visibility or the ability
648  to react to user inputs. Beside this common state, the method can also involve
649  any other variables used in the component as long as they reflect its current
650  state. For example, the toggle switch component can take in account its toggle
651  state 'on' or 'off' and change accordingly the location of the slider, etc.
652  Usually, this method will be invoked automatically by the framework. Optionally
653  you can request its invocation by using the method @InvalidateViewState(). */
654 void CoreGroup_UpdateViewState( CoreGroup _this, XSet aState );
655 
656 /* Wrapper function for the virtual method : 'Core::Group.UpdateViewState()' */
657 void CoreGroup__UpdateViewState( void* _this, XSet aState );
658 
659 /* The method InvalidateViewState() declares the state of this component as changed,
660  so its visual aspect possibly doesn't reflect its current state anymore. To update
661  the visual aspect, the framework will invoke the @UpdateViewState() method. */
662 void CoreGroup_InvalidateViewState( CoreGroup _this );
663 
664 /* The method InvalidateArea() declares the given area of the component as invalid,
665  this means this area should be redrawn at the next screen update. */
666 void CoreGroup_InvalidateArea( CoreGroup _this, XRect aArea );
667 
668 /* Wrapper function for the virtual method : 'Core::Group.InvalidateArea()' */
669 void CoreGroup__InvalidateArea( void* _this, XRect aArea );
670 
671 /* The method FindSiblingView() searches for a sibling view of the view specified
672  in the parameter aView - aView itself will be excluded from the search operation.
673  The method combines the functionality of @FindNextView() and @FindPrevView()
674  and tries to find any neighbor view (regarding the Z-order not the position).
675  The additional parameter aFilter can be used to limit the search operation to
676  special views only, e.g. to visible and touchable views.
677  If there are no other views complying the filter condition, the method returns
678  'null'. In contrast to other find methods, FindSiblingView() will fail, if it
679  has been invoked with aView == 'null'. */
680 CoreView CoreGroup_FindSiblingView( CoreGroup _this, CoreView aView, XSet aFilter );
681 
682 /* The method FadeGroup() schedules an operation to fade-in or fade-out the GUI
683  component passed in the parameter aGroup in context of 'this' GUI component.
684  The kind of the fade-in/out animation is determined by the fader object specified
685  in the parameter aFader. In this manner, depending on the used fader, individual
686  transitions to show or hide the GUI component can be determined.
687  The operation is enqueued, so calling FadeGroup() several times in sequence for
688  different groups in context of 'this' owner component causes the resulting transitions
689  to be executed strictly one after another. This behavior can be changed by passing
690  the value 'true' in the parameter aCombine. In this case, the new operation will
691  be executed together with last prepared but not yet started operation. In this
692  manner several independent transitions can run simultaneously.
693  If the affected GUI component aGroup is already scheduled for an animation, but
694  this animation is not yet started, the new animation aFader replaces this old
695  one, so that always only one animation per affected GUI component is pending
696  for execution.
697  The both parameters aComplete and aCancel can be provided with references to
698  slot methods, which are signaled as soon as the transition is finished (aComplete)
699  or it has been canceled (aCancel) because of a newer transition being scheduled
700  for the same GUI component aGroup. */
701 void CoreGroup_FadeGroup( CoreGroup _this, CoreGroup aGroup, EffectsFader aFader,
702  XSlot aComplete, XSlot aCancel, XBool aCombine );
703 
704 /* The method RestackTop() elevates the view aView to the top of its component.
705  After this operation the view is usually not covered by any sibling views. This
706  method modifies the Z-order of the view. The effective stacking position of the
707  view can additionally be affected by the value of the view's property @StackingPriority.
708  Concrete, the view can't be be arranged in front of any sibling view configured
709  with higher @StackingPriority value. In such case calling the method RestackTop()
710  will arrange the view just behind the sibling view with next higher @StackingPriority
711  value.
712  Please note, changing the Z-order of views within a component containing a Core::Outline
713  view can cause this outline to update its automatic row or column formation. */
714 void CoreGroup_RestackTop( CoreGroup _this, CoreView aView );
715 
716 /* The method Remove() removes the given view aView from the component. After this
717  operation the view doesn't belong anymore to the component - the view is not
718  visible and it can't receive any events.
719  Please note, removing of views from a component containing a Core::Outline view
720  can cause this outline to update its automatic row or column formation.
721  Please note, it the removed view is currently selected by the @Focus property,
722  the framework will automatically select other sibling view, which will be able
723  to react to keyboard events. */
724 void CoreGroup_Remove( CoreGroup _this, CoreView aView );
725 
726 /* The method Add() inserts the given view aView into this component and places
727  it at a Z-order position resulting primarily from the parameter aOrder. The parameter
728  determines the number of sibling views the view has to skip over starting with
729  the top most view. If aOrder == 0, the newly added view will obtain the top most
730  position. If the value is negative, the view will be lowered to the background
731  accordingly to the absolute value of aOrder. After this operation the view belongs
732  to the component - the view can appear on the screen and it can receive events.
733  The effective stacking position of the view can additionally be affected by the
734  value of the view's property @StackingPriority. Concrete, the view is prevented
735  from being arranged in front of any sibling view configured with a higher @StackingPriority
736  value. Similarly the view can't be arranged behind any sibling view having lower
737  @StackingPriority value.
738  Please note, adding of views to a component containing a Core::Outline view can
739  cause this outline to update its automatic row or column formation. */
740 void CoreGroup_Add( CoreGroup _this, CoreView aView, XInt32 aOrder );
741 
742 /* Default onget method for the property 'Opacity' */
743 XInt32 CoreGroup_OnGetOpacity( CoreGroup _this );
744 
745 #ifdef __cplusplus
746  }
747 #endif
748 
749 #endif /* _CoreGroup_H */
750 
751 /* Embedded Wizard */
CoreGroup_DispatchEvent
XObject CoreGroup_DispatchEvent(CoreGroup _this, CoreEvent aEvent)
Definition: Core.c:2866
CoreGroup_PresentDialog
void CoreGroup_PresentDialog(CoreGroup _this, CoreGroup aDialogGroup, EffectsTransition aPresentTransition, EffectsTransition aDismissTransition, EffectsTransition aOverlayTransition, EffectsTransition aRestoreTransition, EffectsTransition aOverrideOverlayTransition, EffectsTransition aOverrideRestoreTransition, XSlot aComplete, XSlot aCancel, XBool aCombine)
Definition: Core.c:2744
CoreGroup_Add
void CoreGroup_Add(CoreGroup _this, CoreView aView, XInt32 aOrder)
Definition: Core.c:3381
ewrte.h
CoreGroup__OnSetFocus
void CoreGroup__OnSetFocus(void *_this, CoreView value)
Definition: Core.c:2264
CoreGroup_SwitchToDialog
void CoreGroup_SwitchToDialog(CoreGroup _this, CoreGroup aDialogGroup, EffectsTransition aPresentTransition, EffectsTransition aDismissTransition, EffectsTransition aOverlayTransition, EffectsTransition aRestoreTransition, EffectsTransition aOverrideDismissTransition, EffectsTransition aOverrideOverlayTransition, EffectsTransition aOverrideRestoreTransition, XSlot aComplete, XSlot aCancel, XBool aCombine)
Definition: Core.c:2447
CoreGroup_FindSiblingView
CoreView CoreGroup_FindSiblingView(CoreGroup _this, CoreView aView, XSet aFilter)
Definition: Core.c:3119
CoreGroup_OnGetVisible
XBool CoreGroup_OnGetVisible(CoreGroup _this)
Definition: Core.c:2351
CoreGroup_CursorHitTest
CoreCursorHit CoreGroup_CursorHitTest(CoreGroup _this, XRect aArea, XInt32 aFinger, XInt32 aStrikeCount, CoreView aDedicatedView, XSet aRetargetReason)
Definition: Core.c:1650
CoreGroup_LocalPosition
XPoint CoreGroup_LocalPosition(CoreGroup _this, XPoint aPoint)
Definition: Core.c:2842
CoreGroup_drawContent
void CoreGroup_drawContent(CoreGroup _this, GraphicsCanvas aCanvas, XRect aClip, XPoint aOffset, XInt32 aOpacity, XBool aBlend)
Definition: Core.c:1865
XHandle
unsigned long XHandle
Definition: ewrte.h:291
EW_END_OF_FIELDS
#define EW_END_OF_FIELDS(aClass)
Definition: ewrte.h:460
CoreGroup_BroadcastEvent
XObject CoreGroup_BroadcastEvent(CoreGroup _this, CoreEvent aEvent, XSet aFilter)
Definition: Core.c:2970
EW_DECLARE_CLASS
#define EW_DECLARE_CLASS(aClass)
Definition: ewrte.h:393
aBounds
XRect aBounds
Definition: _CoreGroup.h:219
CoreGroup__IsDialog
XBool CoreGroup__IsDialog(void *_this, XBool aRecursive)
Definition: Core.c:2384
CoreGroup_ChangeViewState
void CoreGroup_ChangeViewState(CoreGroup _this, XSet aSetState, XSet aClearState)
Definition: Core.c:1747
CoreGroup__InvalidateArea
void CoreGroup__InvalidateArea(void *_this, XRect aArea)
Definition: Core.c:3105
CoreGroup__OnSetOpacity
void CoreGroup__OnSetOpacity(void *_this, XInt32 value)
Definition: Core.c:2336
XSlot
Definition: ewrte.h:2114
EW_VARIABLE
#define EW_VARIABLE(aName, aType)
Definition: ewrte.h:464
ewgfx.h
CoreGroup_recalculateLayout
void CoreGroup_recalculateLayout(CoreGroup _this)
Definition: Core.c:1919
CoreGroup__UpdateLayout
void CoreGroup__UpdateLayout(void *_this, XPoint aSize)
Definition: Core.c:3020
aArg
XRect CoreOutline aOutline XHandle aArg
Definition: _CoreGroup.h:251
_obj_XObject
Definition: ewrte.h:281
CoreGroup_OnSetOpacity
void CoreGroup_OnSetOpacity(CoreGroup _this, XInt32 value)
Definition: Core.c:2317
CoreGroup_Init
void CoreGroup_Init(CoreGroup _this, XHandle aArg)
Definition: Core.c:1567
CoreGroup_Remove
void CoreGroup_Remove(CoreGroup _this, CoreView aView)
Definition: Core.c:3309
aOutline
XRect CoreOutline aOutline XRect CoreOutline aOutline
Definition: _CoreQuadView.h:109
XInt32
signed long XInt32
Definition: ewrte.h:1586
value
XRect CoreOutline aOutline XPoint value
Definition: _ViewsWarpView.h:137
CoreGroup_OnSetBounds
void CoreGroup_OnSetBounds(CoreGroup _this, XRect value)
Definition: Core.c:1782
CoreGroup_updateBufferSlot
void CoreGroup_updateBufferSlot(CoreGroup _this, XObject sender)
Definition: Core.c:1845
CoreGroup_OnSetVisible
void CoreGroup_OnSetVisible(CoreGroup _this, XBool value)
Definition: Core.c:2357
CoreGroup__BroadcastEventAtPosition
XObject CoreGroup__BroadcastEventAtPosition(void *_this, CoreEvent aEvent, XPoint aPosition, XSet aFilter)
Definition: Core.c:2950
XBool
char XBool
Definition: ewrte.h:1592
XEnum
unsigned long XEnum
Definition: ewrte.h:1593
CoreGroup_InvalidateViewState
void CoreGroup_InvalidateViewState(CoreGroup _this)
Definition: Core.c:3055
EW_DEFINE_METHODS
#define EW_DEFINE_METHODS(aClass, aSuperClass)
Definition: ewrte.h:524
CoreGroup_DismissDialog
void CoreGroup_DismissDialog(CoreGroup _this, CoreGroup aDialogGroup, EffectsTransition aOverrideDismissTransition, EffectsTransition aOverrideOverlayTransition, EffectsTransition aOverrideRestoreTransition, XSlot aComplete, XSlot aCancel, XBool aCombine)
Definition: Core.c:2602
XRect
Definition: ewrte.h:1639
CoreGroup__drawContent
void CoreGroup__drawContent(void *_this, GraphicsCanvas aCanvas, XRect aClip, XPoint aOffset, XInt32 aOpacity, XBool aBlend)
Definition: Core.c:1911
CoreGroup_RestackTop
void CoreGroup_RestackTop(CoreGroup _this, CoreView aView)
Definition: Core.c:3233
_CoreRectView.h
EffectsFader
EffectsFader(EffectsShowHideTransition _this) EW_METHOD(CreateRestoreFader
XSet
unsigned long XSet
Definition: ewrte.h:1594
CoreGroup_InvalidateArea
void CoreGroup_InvalidateArea(CoreGroup _this, XRect aArea)
Definition: Core.c:3063
aOpacity
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint XInt32 aOpacity
Definition: _CoreOutline.h:172
EW_METHOD
EW_METHOD(initLayoutContext, void)(CoreRectView _this
CoreGroup_OnSetEnabled
void CoreGroup_OnSetEnabled(CoreGroup _this, XBool value)
Definition: Core.c:2308
CoreGroup_processKeyHandlers
XObject CoreGroup_processKeyHandlers(CoreGroup _this, CoreEvent aEvent)
Definition: Core.c:1829
CoreGroup_OnGetOpacity
XInt32 CoreGroup_OnGetOpacity(CoreGroup _this)
Definition: Core.c:3475
CoreGroup_UpdateViewState
void CoreGroup_UpdateViewState(CoreGroup _this, XSet aState)
Definition: Core.c:3039
CoreGroup_OnSetEmbedded
void CoreGroup_OnSetEmbedded(CoreGroup _this, XBool value)
Definition: Core.c:2342
CoreGroup__UpdateViewState
void CoreGroup__UpdateViewState(void *_this, XSet aState)
Definition: Core.c:3047
CoreGroup_OnSetFocus
void CoreGroup_OnSetFocus(CoreGroup _this, CoreView value)
Definition: Core.c:2230
aClip
XRect CoreOutline aOutline GraphicsCanvas XRect aClip
Definition: _CoreOutline.h:171
CoreGroup_IsDialog
XBool CoreGroup_IsDialog(CoreGroup _this, XBool aRecursive)
Definition: Core.c:2376
sender
XRect CoreOutline aOutline XObject sender
Definition: _ApplicationRadioInterface.h:186
XPoint
Definition: ewrte.h:1616
CoreGroup_OnSetBuffered
void CoreGroup_OnSetBuffered(CoreGroup _this, XBool value)
Definition: Core.c:2276
EW_PROPERTY
#define EW_PROPERTY(aName, aType)
Definition: ewrte.h:466
CoreGroup_BroadcastEventAtPosition
XObject CoreGroup_BroadcastEventAtPosition(CoreGroup _this, CoreEvent aEvent, XPoint aPosition, XSet aFilter)
Definition: Core.c:2920
CoreGroup_updateComponent
void CoreGroup_updateComponent(CoreGroup _this, XObject sender)
Definition: Core.c:2206
aOffset
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint aOffset
Definition: _CoreOutline.h:172
CoreGroup__OnSetBuffered
void CoreGroup__OnSetBuffered(void *_this, XBool value)
Definition: Core.c:2302
CoreGroup_OnGetBuffered
XBool CoreGroup_OnGetBuffered(CoreGroup _this)
Definition: Core.c:2270
CoreGroup_FadeGroup
void CoreGroup_FadeGroup(CoreGroup _this, CoreGroup aGroup, EffectsFader aFader, XSlot aComplete, XSlot aCancel, XBool aCombine)
Definition: Core.c:3174
CoreCursorHit
XRect CoreOutline aOutline CoreCursorHit(CoreGroup _this, XRect aArea, XInt32 aFinger, XInt32 aStrikeCount, CoreView aDedicatedView, XSet aRetargetReason) EW_METHOD(ArrangeView
aCanvas
XRect CoreOutline aOutline GraphicsCanvas aCanvas
Definition: _CoreOutline.h:171
EW_END_OF_METHODS
#define EW_END_OF_METHODS(aClass)
Definition: ewrte.h:539
CoreGroup__BroadcastEvent
XObject CoreGroup__BroadcastEvent(void *_this, CoreEvent aEvent, XSet aFilter)
Definition: Core.c:3000
CoreGroup_UpdateLayout
void CoreGroup_UpdateLayout(CoreGroup _this, XPoint aSize)
Definition: Core.c:3012
aBlend
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint XInt32 XBool aBlend
Definition: _CoreOutline.h:172
CoreGroup_Draw
void CoreGroup_Draw(CoreGroup _this, GraphicsCanvas aCanvas, XRect aClip, XPoint aOffset, XInt32 aOpacity, XBool aBlend)
Definition: Core.c:1600
CoreGroup__DispatchEvent
XObject CoreGroup__DispatchEvent(void *_this, CoreEvent aEvent)
Definition: Core.c:2901
EW_DEFINE_FIELDS
#define EW_DEFINE_FIELDS(aClass, aSuperClass)
Definition: ewrte.h:451