MCUXpresso_LPC55S69/boards/lpcxpresso55s69/ew_gui_examples/ew_gui_waveform_generator/GeneratedCode/_CoreQuadView.h
2022-04-08 22:42:47 +08:00

175 lines
7.5 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 _CoreQuadView_H
#define _CoreQuadView_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 "_CoreView.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::Outline */
#ifndef _CoreOutline_
EW_DECLARE_CLASS( CoreOutline )
#define _CoreOutline_
#endif
/* Forward declaration of the class Core::QuadView */
#ifndef _CoreQuadView_
EW_DECLARE_CLASS( CoreQuadView )
#define _CoreQuadView_
#endif
/* The class Core::QuadView provides more specialized base functionality for all
view components with the shape of a quad (polygon consisting of 4 corners). It
provides some few properties to get and set the coordinates of the quad corners
@Point1, @Point2, @Point3 and @Point4.
The class Core::QuadView serves as base class for deriving quad components only.
It doesn't define any particular behavior nor appearance. */
EW_DEFINE_FIELDS( CoreQuadView, CoreView )
EW_PROPERTY( Point4, XPoint )
EW_PROPERTY( Point3, XPoint )
EW_PROPERTY( Point2, XPoint )
EW_PROPERTY( Point1, XPoint )
EW_END_OF_FIELDS( CoreQuadView )
/* Virtual Method Table (VMT) for the class : 'Core::QuadView' */
EW_DEFINE_METHODS( CoreQuadView, CoreView )
EW_METHOD( initLayoutContext, void )( CoreQuadView _this, XRect aBounds, CoreOutline
aOutline )
EW_METHOD( GetRoot, CoreRoot )( CoreView _this )
EW_METHOD( Draw, void )( CoreView _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 )( CoreQuadView _this, XRect aBounds, XEnum
aFormation )
EW_METHOD( MoveView, void )( CoreQuadView _this, XPoint aOffset, XBool
aFastMove )
EW_METHOD( GetExtent, XRect )( CoreQuadView _this )
EW_METHOD( ChangeViewState, void )( CoreView _this, XSet aSetState, XSet aClearState )
EW_END_OF_METHODS( CoreQuadView )
/* 'C' function for method : 'Core::QuadView.initLayoutContext()' */
void CoreQuadView_initLayoutContext( CoreQuadView _this, XRect aBounds, CoreOutline
aOutline );
/* The method ArrangeView() is invoked automatically if the superior @Owner group
needs to re-arrange its views. For example, the changing of the owners size can
cause the enclosed views to adapt their position and size, so all views still
fit within the new owners area. This method provides the core functionality for
the automatic GUI layout mechanism.
The arrangement is controlled primarily by the @Layout property of the view.
It specifies a set of alignment constraints and determines whether the view can
change its size. The bounds area where the view should be arranged, is passed
in the parameter aBounds. This is usually the current area of the views owner.
The parameter aFormation defines the desired arrangement mode. Depending on the
value of this parameter, the views can be arranged in rows or columns. If aFormation
== Core::Formation.None, no automatic row/column arrangement is performed and
the view is moved and scaled only to fit inside the aBounds area.
ArrangeView() is invoked automatically by the framework, so you never should
need to invoke it directly.
The method returns the size of the view after it has been arranged. */
XPoint CoreQuadView_ArrangeView( CoreQuadView _this, XRect aBounds, XEnum aFormation );
/* The method MoveView() changes the position of the view by adding the value aOffset
to all corners of the view. For example, in case of a line view the value is
added to the both line end points.
The parameter aFastMove serves for the optimization purpose. If it is 'true',
the corners are modified without performing any updates of the view and without
redrawing the screen. This is useful, when you wish to move or arrange a lot
of views at once. In this case it's up to you to request the finally screen update.
To do this you can use the method InvalidateArea() of the views @Owner.
In the case aFastMove == false, the operation automatically requests the screen
redraw of the view areas before and after the movement. You don't need to take
care about it. */
void CoreQuadView_MoveView( CoreQuadView _this, XPoint aOffset, XBool aFastMove );
/* 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 CoreQuadView_GetExtent( CoreQuadView _this );
/* 'C' function for method : 'Core::QuadView.OnSetPoint4()' */
void CoreQuadView_OnSetPoint4( CoreQuadView _this, XPoint value );
/* 'C' function for method : 'Core::QuadView.OnSetPoint3()' */
void CoreQuadView_OnSetPoint3( CoreQuadView _this, XPoint value );
/* 'C' function for method : 'Core::QuadView.OnSetPoint2()' */
void CoreQuadView_OnSetPoint2( CoreQuadView _this, XPoint value );
/* 'C' function for method : 'Core::QuadView.OnSetPoint1()' */
void CoreQuadView_OnSetPoint1( CoreQuadView _this, XPoint value );
/* The method IsPointInside() verifies whether the specified position aPoint lies
within the quad and returns 'true' if this is the case. If aPoint lies outside
the quad, the method returns 'false'. */
XBool CoreQuadView_IsPointInside( CoreQuadView _this, XPoint aPoint );
/* The method HasRectShape() evaluates the shape of the quad and returns 'true'
if the quad has the shape of a rectangle. Otherwise 'false' is returned. */
XBool CoreQuadView_HasRectShape( CoreQuadView _this );
#ifdef __cplusplus
}
#endif
#endif /* _CoreQuadView_H */
/* Embedded Wizard */