175 lines
7.5 KiB
C
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 */
|