163 lines
7.0 KiB
C
163 lines
7.0 KiB
C
/*******************************************************************************
|
|
*
|
|
* E M B E D D E D W I Z A R D P R O J E C T
|
|
*
|
|
* Copyright (c) TARA Systems GmbH
|
|
* written by Paul Banach and Manfred Schweyer
|
|
*
|
|
********************************************************************************
|
|
*
|
|
* This software is delivered "as is" and shows the usage of other software
|
|
* components. It is provided as an example software which is intended to be
|
|
* modified and extended according to particular requirements.
|
|
*
|
|
* TARA Systems hereby disclaims all warranties and conditions with regard to the
|
|
* software, including all implied warranties and conditions of merchantability
|
|
* and non-infringement of any third party IPR or other rights which may result
|
|
* from the use or the inability to use the software.
|
|
*
|
|
* This file was generated automatically by Embedded Wizard Studio.
|
|
*
|
|
* Please do not make any modifications of this file! The modifications are lost
|
|
* when the file is generated again by Embedded Wizard Studio!
|
|
*
|
|
* Version : 10.0
|
|
* Date : 17.02.2021 8:00:50
|
|
* Profile : NxpLpc
|
|
* Platform : NXP.LPC.RGB565
|
|
*
|
|
*******************************************************************************/
|
|
|
|
#ifndef _ViewsLine_H
|
|
#define _ViewsLine_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
#include "ewrte.h"
|
|
#if EW_RTE_VERSION != 0x000A0000
|
|
#error Wrong version of Embedded Wizard Runtime Environment.
|
|
#endif
|
|
|
|
#include "ewgfx.h"
|
|
#if EW_GFX_VERSION != 0x000A0000
|
|
#error Wrong version of Embedded Wizard Graphics Engine.
|
|
#endif
|
|
|
|
#include "_CoreLineView.h"
|
|
|
|
/* Forward declaration of the class Core::Group */
|
|
#ifndef _CoreGroup_
|
|
EW_DECLARE_CLASS( CoreGroup )
|
|
#define _CoreGroup_
|
|
#endif
|
|
|
|
/* Forward declaration of the class Core::LayoutContext */
|
|
#ifndef _CoreLayoutContext_
|
|
EW_DECLARE_CLASS( CoreLayoutContext )
|
|
#define _CoreLayoutContext_
|
|
#endif
|
|
|
|
/* Forward declaration of the class Core::View */
|
|
#ifndef _CoreView_
|
|
EW_DECLARE_CLASS( CoreView )
|
|
#define _CoreView_
|
|
#endif
|
|
|
|
/* Forward declaration of the class Graphics::Canvas */
|
|
#ifndef _GraphicsCanvas_
|
|
EW_DECLARE_CLASS( GraphicsCanvas )
|
|
#define _GraphicsCanvas_
|
|
#endif
|
|
|
|
/* Forward declaration of the class Views::Line */
|
|
#ifndef _ViewsLine_
|
|
EW_DECLARE_CLASS( ViewsLine )
|
|
#define _ViewsLine_
|
|
#endif
|
|
|
|
|
|
/* The class Views::Line provides a kind of view specialized to draw a single straight
|
|
line segment. The end positions of the line are determined by the properties
|
|
@Point1 and @Point2. The color of the line is defined by the property @Color.
|
|
Alternatively, the line can be drawn with a color gradient specified by the properties
|
|
@Color1 and @Color2. The thickness of the line is 1 pixel unless the properties
|
|
@Width1 or @Width2 have been modified. Lines with the thickness greatest than
|
|
1 pixel are drawn as filled polygons.
|
|
The visibility of the line is controlled by the properties @Visible, @AlphaBlended
|
|
and @Embedded. In particular the property @Embedded can determine whether the
|
|
corresponding view is limited (== embedded) to the boundary of a sibling Core::Outline
|
|
view or not. The embedding of views within a Core::Outline allows a kind of sub-groups
|
|
within the GUI component itself. Very useful for any kind of scrollable lists,
|
|
menus, etc. */
|
|
EW_DEFINE_FIELDS( ViewsLine, CoreLineView )
|
|
EW_PROPERTY( Width2, XInt32 )
|
|
EW_PROPERTY( Width1, XInt32 )
|
|
EW_PROPERTY( Color2, XColor )
|
|
EW_PROPERTY( Color1, XColor )
|
|
EW_END_OF_FIELDS( ViewsLine )
|
|
|
|
/* Virtual Method Table (VMT) for the class : 'Views::Line' */
|
|
EW_DEFINE_METHODS( ViewsLine, CoreLineView )
|
|
EW_METHOD( initLayoutContext, void )( CoreLineView _this, XRect aBounds, CoreOutline
|
|
aOutline )
|
|
EW_METHOD( GetRoot, CoreRoot )( CoreView _this )
|
|
EW_METHOD( Draw, void )( ViewsLine _this, GraphicsCanvas aCanvas,
|
|
XRect aClip, XPoint aOffset, XInt32 aOpacity, XBool aBlend )
|
|
EW_METHOD( HandleEvent, XObject )( CoreView _this, CoreEvent aEvent )
|
|
EW_METHOD( CursorHitTest, CoreCursorHit )( CoreView _this, XRect aArea, XInt32
|
|
aFinger, XInt32 aStrikeCount, CoreView aDedicatedView, XSet aRetargetReason )
|
|
EW_METHOD( ArrangeView, XPoint )( CoreLineView _this, XRect aBounds, XEnum
|
|
aFormation )
|
|
EW_METHOD( MoveView, void )( CoreLineView _this, XPoint aOffset, XBool
|
|
aFastMove )
|
|
EW_METHOD( GetExtent, XRect )( ViewsLine _this )
|
|
EW_METHOD( ChangeViewState, void )( CoreView _this, XSet aSetState, XSet aClearState )
|
|
EW_END_OF_METHODS( ViewsLine )
|
|
|
|
/* The method Draw() is invoked automatically if parts of the view should be redrawn
|
|
on the screen. This can occur when e.g. the view has been moved or the appearance
|
|
of the view has changed before.
|
|
Draw() is invoked automatically by the framework, you never will need to invoke
|
|
this method directly. However you can request an invocation of this method by
|
|
calling the method InvalidateArea() of the views @Owner. Usually this is also
|
|
unnecessary unless you are developing your own view.
|
|
The passed parameters determine the drawing destination aCanvas and the area
|
|
to redraw aClip in the coordinate space of the canvas. The parameter aOffset
|
|
contains the displacement between the origin of the views owner and the origin
|
|
of the canvas. You will need it to convert views coordinates into these of the
|
|
canvas.
|
|
The parameter aOpacity contains the opacity descended from this view's @Owner.
|
|
It lies in range 0 .. 255. If the view implements its own 'Opacity', 'Color',
|
|
etc. properties, the Draw() method should calculate the resulting real opacity
|
|
by mixing the values of these properties with the one passed in aOpacity parameter.
|
|
The parameter aBlend contains the blending mode descended from this view's @Owner.
|
|
It determines, whether the view should be drawn with alpha-blending active or
|
|
not. If aBlend is false, the outputs of the view should overwrite the corresponding
|
|
pixel in the drawing destination aCanvas. If aBlend is true, the outputs should
|
|
be mixed with the pixel already stored in aCanvas. For this purpose all Graphics
|
|
Engine functions provide a parameter to specify the mode for the respective drawing
|
|
operation. If the view implements its own 'Blend' property, the Draw() method
|
|
should calculate the resulting real blend mode by using logical AND operation
|
|
of the value of the property and the one passed in aBlend parameter. */
|
|
void ViewsLine_Draw( ViewsLine _this, GraphicsCanvas aCanvas, XRect aClip, XPoint
|
|
aOffset, XInt32 aOpacity, XBool aBlend );
|
|
|
|
/* The method GetExtent() returns the position and the size of the view relative
|
|
to the origin of its @Owner. In case of views with a non rectangular shape the
|
|
method returns the rectangular boundary area enclosing the entire shape. */
|
|
XRect ViewsLine_GetExtent( ViewsLine _this );
|
|
|
|
/* 'C' function for method : 'Views::Line.OnSetColor()' */
|
|
void ViewsLine_OnSetColor( ViewsLine _this, XColor value );
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _ViewsLine_H */
|
|
|
|
/* Embedded Wizard */
|