WebRadioApp  0.1
_ViewsStrokePath.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 _ViewsStrokePath_H
28 #define _ViewsStrokePath_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::Group */
48 #ifndef _CoreGroup_
49  EW_DECLARE_CLASS( CoreGroup )
50 #define _CoreGroup_
51 #endif
52 
53 /* Forward declaration of the class Core::LayoutContext */
54 #ifndef _CoreLayoutContext_
55  EW_DECLARE_CLASS( CoreLayoutContext )
56 #define _CoreLayoutContext_
57 #endif
58 
59 /* Forward declaration of the class Core::View */
60 #ifndef _CoreView_
61  EW_DECLARE_CLASS( CoreView )
62 #define _CoreView_
63 #endif
64 
65 /* Forward declaration of the class Graphics::Canvas */
66 #ifndef _GraphicsCanvas_
67  EW_DECLARE_CLASS( GraphicsCanvas )
68 #define _GraphicsCanvas_
69 #endif
70 
71 /* Forward declaration of the class Graphics::Path */
72 #ifndef _GraphicsPath_
73  EW_DECLARE_CLASS( GraphicsPath )
74 #define _GraphicsPath_
75 #endif
76 
77 /* Forward declaration of the class Views::StrokePath */
78 #ifndef _ViewsStrokePath_
79  EW_DECLARE_CLASS( ViewsStrokePath )
80 #define _ViewsStrokePath_
81 #endif
82 
83 
84 /* The class Views::StrokePath provides a kind of view specialized to stroke a path.
85  The coordinates of the path line segments are provided in a Graphics::Path object
86  assigned to the property @Path. The position and the size of the area to display
87  the path are determined by the property @Bounds. The color to use when stroking
88  the path is defined by the property @Color. Alternatively, the path can be stroked
89  with a color gradient specified by the properties @ColorTL, @ColorTR, @ColorBL
90  and @ColorBR. For each view's corner different color can be set.
91  The thickness of the stroked path is controlled by the property @Width. With
92  the properties @StartCap and @EndCap the appearance of the path ends, if the
93  path is opened, can be determined. The properties @JoinPoints and @MiterLimit
94  control the appearance of path corners, the join points between path line segments.
95  With the property @FlipY and @Offset you can control the orientation and the
96  origin position of the path coordinate system. Finally, the property @Quality
97  determines whether the paths is rasterized with or without antialiasing.
98  The visibility of the stroked path is controlled by the properties @Visible and
99  @Embedded. In particular the property @Embedded can determine whether the corresponding
100  view is limited (== embedded) to the boundary of a sibling Core::Outline view
101  or not. The embedding of views within a Core::Outline allows a kind of sub-groups
102  within the GUI component itself. Very useful for any kind of scrollable lists,
103  menus, etc.
104  Finally, the property @Buffered controls whether the view should store its aspect
105  in an off-screen bitmap. This feature is useful to optimize screen update avoiding
106  the rasterization of the path. */
107 EW_DEFINE_FIELDS( ViewsStrokePath, CoreRectView )
108  EW_PROPERTY( Path, GraphicsPath )
109  EW_VARIABLE( buffer, XHandle )
110  EW_PROPERTY( ColorBL, XColor )
111  EW_PROPERTY( ColorBR, XColor )
112  EW_PROPERTY( ColorTR, XColor )
113  EW_PROPERTY( ColorTL, XColor )
114  EW_PROPERTY( Offset, XPoint )
115  EW_PROPERTY( MiterLimit, XFloat )
116  EW_PROPERTY( Width, XFloat )
117  EW_PROPERTY( StartCap, XEnum )
118  EW_PROPERTY( EndCap, XEnum )
119  EW_PROPERTY( JoinPoints, XEnum )
120  EW_PROPERTY( Buffered, XBool )
121  EW_PROPERTY( Quality, XBool )
122  EW_PROPERTY( FlipY, XBool )
123 EW_END_OF_FIELDS( ViewsStrokePath )
124 
125 /* Virtual Method Table (VMT) for the class : 'Views::StrokePath' */
126 EW_DEFINE_METHODS( ViewsStrokePath, CoreRectView )
127  EW_METHOD( initLayoutContext, void )( CoreRectView _this, XRect aBounds, CoreOutline
128  aOutline )
129  EW_METHOD( GetRoot, CoreRoot )( CoreView _this )
130  EW_METHOD( Draw, void )( ViewsStrokePath _this, GraphicsCanvas aCanvas,
132  EW_METHOD( HandleEvent, XObject )( CoreView _this, CoreEvent aEvent )
133  EW_METHOD( CursorHitTest, CoreCursorHit )( CoreView _this, XRect aArea, XInt32
134  aFinger, XInt32 aStrikeCount, CoreView aDedicatedView, XSet aRetargetReason )
135  EW_METHOD( ArrangeView, XPoint )( CoreRectView _this, XRect aBounds, XEnum
136  aFormation )
137  EW_METHOD( MoveView, void )( CoreRectView _this, XPoint aOffset, XBool
138  aFastMove )
139  EW_METHOD( GetExtent, XRect )( CoreRectView _this )
140  EW_METHOD( ChangeViewState, void )( CoreView _this, XSet aSetState, XSet aClearState )
141  EW_METHOD( OnSetBounds, void )( ViewsStrokePath _this, XRect value )
142 EW_END_OF_METHODS( ViewsStrokePath )
143 
144 /* The method Draw() is invoked automatically if parts of the view should be redrawn
145  on the screen. This can occur when e.g. the view has been moved or the appearance
146  of the view has changed before.
147  Draw() is invoked automatically by the framework, you never will need to invoke
148  this method directly. However you can request an invocation of this method by
149  calling the method InvalidateArea() of the views @Owner. Usually this is also
150  unnecessary unless you are developing your own view.
151  The passed parameters determine the drawing destination aCanvas and the area
152  to redraw aClip in the coordinate space of the canvas. The parameter aOffset
153  contains the displacement between the origin of the views owner and the origin
154  of the canvas. You will need it to convert views coordinates into these of the
155  canvas.
156  The parameter aOpacity contains the opacity descended from this view's @Owner.
157  It lies in range 0 .. 255. If the view implements its own 'Opacity', 'Color',
158  etc. properties, the Draw() method should calculate the resulting real opacity
159  by mixing the values of these properties with the one passed in aOpacity parameter.
160  The parameter aBlend contains the blending mode descended from this view's @Owner.
161  It determines, whether the view should be drawn with alpha-blending active or
162  not. If aBlend is false, the outputs of the view should overwrite the corresponding
163  pixel in the drawing destination aCanvas. If aBlend is true, the outputs should
164  be mixed with the pixel already stored in aCanvas. For this purpose all Graphics
165  Engine functions provide a parameter to specify the mode for the respective drawing
166  operation. If the view implements its own 'Blend' property, the Draw() method
167  should calculate the resulting real blend mode by using logical AND operation
168  of the value of the property and the one passed in aBlend parameter. */
169 void ViewsStrokePath_Draw( ViewsStrokePath _this, GraphicsCanvas aCanvas, XRect
171 
172 /* 'C' function for method : 'Views::StrokePath.OnSetBounds()' */
173 void ViewsStrokePath_OnSetBounds( ViewsStrokePath _this, XRect value );
174 
175 /* 'C' function for method : 'Views::StrokePath.Done()' */
176 void ViewsStrokePath_Done( ViewsStrokePath _this );
177 
178 /* 'C' function for method : 'Views::StrokePath.destroyBuffer()' */
179 void ViewsStrokePath_destroyBuffer( ViewsStrokePath _this );
180 
181 /* 'C' function for method : 'Views::StrokePath.updateBuffer()' */
182 void ViewsStrokePath_updateBuffer( ViewsStrokePath _this, XObject sender );
183 
184 /* 'C' function for method : 'Views::StrokePath.updatePath()' */
185 void ViewsStrokePath_updatePath( ViewsStrokePath _this, XObject sender );
186 
187 /* 'C' function for method : 'Views::StrokePath.OnSetColor()' */
188 void ViewsStrokePath_OnSetColor( ViewsStrokePath _this, XColor value );
189 
190 /* 'C' function for method : 'Views::StrokePath.OnSetQuality()' */
191 void ViewsStrokePath_OnSetQuality( ViewsStrokePath _this, XBool value );
192 
193 /* 'C' function for method : 'Views::StrokePath.OnSetJoinPoints()' */
194 void ViewsStrokePath_OnSetJoinPoints( ViewsStrokePath _this, XEnum value );
195 
196 /* 'C' function for method : 'Views::StrokePath.OnSetEndCap()' */
197 void ViewsStrokePath_OnSetEndCap( ViewsStrokePath _this, XEnum value );
198 
199 /* 'C' function for method : 'Views::StrokePath.OnSetStartCap()' */
200 void ViewsStrokePath_OnSetStartCap( ViewsStrokePath _this, XEnum value );
201 
202 /* 'C' function for method : 'Views::StrokePath.OnSetWidth()' */
203 void ViewsStrokePath_OnSetWidth( ViewsStrokePath _this, XFloat value );
204 
205 /* 'C' function for method : 'Views::StrokePath.OnSetPath()' */
206 void ViewsStrokePath_OnSetPath( ViewsStrokePath _this, GraphicsPath value );
207 
208 #ifdef __cplusplus
209  }
210 #endif
211 
212 #endif /* _ViewsStrokePath_H */
213 
214 /* Embedded Wizard */
ViewsStrokePath_Draw
void ViewsStrokePath_Draw(ViewsStrokePath _this, GraphicsCanvas aCanvas, XRect aClip, XPoint aOffset, XInt32 aOpacity, XBool aBlend)
Definition: Views.c:3121
ewrte.h
aOffset
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint aOffset
Definition: _ViewsStrokePath.h:170
ViewsStrokePath_OnSetStartCap
void ViewsStrokePath_OnSetStartCap(ViewsStrokePath _this, XEnum value)
Definition: Views.c:3355
XColor
Definition: ewrte.h:1700
XHandle
unsigned long XHandle
Definition: ewrte.h:291
EW_END_OF_FIELDS
#define EW_END_OF_FIELDS(aClass)
Definition: ewrte.h:460
ViewsStrokePath_OnSetPath
void ViewsStrokePath_OnSetPath(ViewsStrokePath _this, GraphicsPath value)
Definition: Views.c:3390
aBounds
XRect aBounds
Definition: _ViewsStrokePath.h:127
EW_DECLARE_CLASS
#define EW_DECLARE_CLASS(aClass)
Definition: ewrte.h:393
ViewsStrokePath_OnSetWidth
void ViewsStrokePath_OnSetWidth(ViewsStrokePath _this, XFloat value)
Definition: Views.c:3371
ViewsStrokePath_updateBuffer
void ViewsStrokePath_updateBuffer(ViewsStrokePath _this, XObject sender)
Definition: Views.c:3201
EW_VARIABLE
#define EW_VARIABLE(aName, aType)
Definition: ewrte.h:464
ewgfx.h
ViewsStrokePath_OnSetColor
void ViewsStrokePath_OnSetColor(ViewsStrokePath _this, XColor value)
Definition: Views.c:3290
_obj_XObject
Definition: ewrte.h:281
ViewsStrokePath_OnSetQuality
void ViewsStrokePath_OnSetQuality(ViewsStrokePath _this, XBool value)
Definition: Views.c:3307
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
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
XRect
Definition: ewrte.h:1639
aClip
XRect CoreOutline aOutline GraphicsCanvas XRect aClip
Definition: _ViewsStrokePath.h:170
_CoreRectView.h
XSet
unsigned long XSet
Definition: ewrte.h:1594
ViewsStrokePath_destroyBuffer
void ViewsStrokePath_destroyBuffer(ViewsStrokePath _this)
Definition: Views.c:3188
ViewsStrokePath_Done
void ViewsStrokePath_Done(ViewsStrokePath _this)
Definition: Views.c:3182
ViewsStrokePath_OnSetJoinPoints
void ViewsStrokePath_OnSetJoinPoints(ViewsStrokePath _this, XEnum value)
Definition: Views.c:3323
ViewsStrokePath_updatePath
void ViewsStrokePath_updatePath(ViewsStrokePath _this, XObject sender)
Definition: Views.c:3276
aCanvas
XRect CoreOutline aOutline GraphicsCanvas aCanvas
Definition: _ViewsStrokePath.h:169
ViewsStrokePath_OnSetBounds
void ViewsStrokePath_OnSetBounds(ViewsStrokePath _this, XRect value)
Definition: Views.c:3172
CoreCursorHit
XRect CoreOutline aOutline CoreCursorHit(CoreView _this, XRect aArea, XInt32 aFinger, XInt32 aStrikeCount, CoreView aDedicatedView, XSet aRetargetReason) EW_METHOD(ArrangeView
XFloat
float XFloat
Definition: ewrte.h:1595
aBlend
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint XInt32 XBool aBlend
Definition: _ViewsStrokePath.h:170
EW_METHOD
EW_METHOD(initLayoutContext, void)(CoreRectView _this
sender
XRect CoreOutline aOutline XObject sender
Definition: _ApplicationRadioInterface.h:186
XPoint
Definition: ewrte.h:1616
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
aOpacity
XRect CoreOutline aOutline GraphicsCanvas XRect XPoint XInt32 aOpacity
Definition: _ViewsStrokePath.h:170
ViewsStrokePath_OnSetEndCap
void ViewsStrokePath_OnSetEndCap(ViewsStrokePath _this, XEnum value)
Definition: Views.c:3339
EW_DEFINE_FIELDS
#define EW_DEFINE_FIELDS(aClass, aSuperClass)
Definition: ewrte.h:451