Mixin类扩展控件的功能,例如使之能够将移动或透明度值变化制作成动画。 在Move Animator和Fade Animator Mixin的基础上,TouchGFX Designer交互能够生成将移动或透明度值变化制作成动画的代码。 这些Mixin可通过TouchGFX Designer或在用户代码中手动添加到控件。
Move Animator Mixin使控件能够将从当前位置到指定结束位置的移动制作成动画。
Fade Animator Mixin使控件能够将其从当前透明度值至指定结束透明度值的渐隐过程制作成动画。
Click Listener Mixin用回调扩展控件,使控件能够响应触控输入。
Draggable mixin使控件能够通过触控输入被四处拖拽。
下面创建四个box,分别勾选Mixin的四种扩展功能来做这个实验
代码实现点击box3之后,box1线性循环移动,box2线性循环渐隐
#ifndef SCREENVIEW_HPP
#define SCREENVIEW_HPP
#include
#include
class screenView : public screenViewBase
{
public:
screenView();
virtual ~screenView() {}
virtual void setupScreen();
virtual void tearDownScreen();
void boxMoveAnimationEndedHandler(const touchgfx::MoveAnimator& comp);
void boxClickHandler(const Box& b, const ClickEvent& e);
protected:
Callback &> boxMoveAnimationEndedCallback;
Callback boxClickedCallback;
private:
uint8_t tag;
};
#endif // SCREENVIEW_HPP
#include
screenView::screenView() : boxMoveAnimationEndedCallback(this, &screenView::boxMoveAnimationEndedHandler), boxClickedCallback(this, &screenView::boxClickHandler), tag(0)
{
}
void screenView::setupScreen()
{
screenViewBase::setupScreen();
box3.setClickAction(boxClickedCallback);
box1.setMoveAnimationEndedAction(boxMoveAnimationEndedCallback);
}
void screenView::tearDownScreen()
{
screenViewBase::tearDownScreen();
}
void screenView::boxClickHandler(const Box& b, const ClickEvent& evt)
{
if (&b == &box3)
{
box1.startMoveAnimation(0, 0, 40, EasingEquations::linearEaseNone, EasingEquations::linearEaseNone);
box2.startFadeAnimation(0, 40, EasingEquations::linearEaseNone);
}
}
void screenView::boxMoveAnimationEndedHandler(const touchgfx::MoveAnimator& b)
{
if (&b == &box1)
{
if(tag == 0)
{
tag = 1;
box1.startMoveAn服务器托管网imation(200, 200, 40, EasingEquations::line服务器托管网arEaseNone, EasingEquations::linearEaseNone);
box2.startFadeAnimation(255, 40, EasingEquations::linearEaseNone);
}
else
{
tag = 0;
box1.startMoveAnimation(0, 0, 40, EasingEquations::linearEaseNone, EasingEquations::linearEaseNone);
box2.startFadeAnimation(0, 40, EasingEquations::linearEaseNone);
}
}
}
运行模拟器
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
摘要:编写一个Ascend C的sqrt算子,并通过内核调用方式在cpu和npu模式下进行验证。 本文分享自华为云社区《【2023 · CANN训练营第一季】——Ascend C sqrt算子实战》,作者:dayao。 前言 编写一个Ascend C的sqrt…