当前位置: 首页 > news >正文

做货代网站阿芹网站建设

做货代网站,阿芹网站建设,合肥响应式网站建设,网站建设亿玛酷神奇5在创建应用时,您可能需要TouchGFX中没有包含的控件。在创建应用时,您可能需要TouchGFX中没有包含的控件。但有时此法并不够用,当您需要全面控制帧缓冲时,您需要使用自定义控件法。 TouchGFX Designer目前不支持自定义控件的创建。…

在创建应用时,您可能需要TouchGFX中没有包含的控件。在创建应用时,您可能需要TouchGFX中没有包含的控件。但有时此法并不够用,当您需要全面控制帧缓冲时,您需要使用自定义控件法。

TouchGFX Designer目前不支持自定义控件的创建。 因此,您将需要手动写入自定义控件的代码,然后在视图的用户代码部分插入控件。

示例为自定义一个二维码控件

#ifndef QR_CODE_HPP
#define QR_CODE_HPP
#include <touchgfx/hal/Types.hpp>class QRCode
{
public:/* 获取该坐标值 */bool at(uint16_t x, uint16_t y) const;/* 获取宽度 */uint16_t getWidth() const;/* 获取高度 */uint16_t getHeight() const;
};#endif
#include <gui/model/QRCode.hpp>
#include <stdlib.h>bool QRCode::at(uint16_t x, uint16_t y) const
{srand(x*123456+y*getWidth()*23456789);for(int i = 0; i < 100; i++){srand(rand());}return ((rand() / (float)RAND_MAX) > 0.5f);
}uint16_t QRCode::getWidth() const
{return 16;
}uint16_t QRCode::getHeight() const
{return 16;
}
#ifndef QR_CODE_WIDGET_HPP
#define QR_CODE_WIDGET_HPP
#include <touchgfx/widgets/Widget.hpp>
#include <gui/model/QRCode.hpp>
#include <touchgfx/hal/Types.hpp>class QRCodeWidget : public touchgfx::Widget
{
public:QRCodeWidget();/* 绘制 */virtual void draw(const touchgfx::Rect& invalidatedArea) const;/* 获取实心区域 */virtual touchgfx::Rect getSolidRect() const;/* 设置二维码成员变量 */void setQRCode(QRCode *code);/* 设置缩放比例成员变量 */void setScale(uint8_t s);private:/* 更新二维码控件尺寸 */void updateSize();QRCode *code;uint8_t scale;
};#endif
#include <gui/common/QRCodeWidget.hpp>
#include <touchgfx/hal/HAL.hpp>QRCodeWidget::QRCodeWidget() : code(0),scale(1)
{
}void QRCodeWidget::setQRCode(QRCode *qrCode)
{code = qrCode;updateSize();
}void QRCodeWidget::draw(const touchgfx::Rect& invalidatedArea) const
{if(!code){return;}touchgfx::Rect absolute = getAbsoluteRect();uint16_t *framebuffer = touchgfx::HAL::getInstance()->lockFrameBuffer();for(int y = invalidatedArea.y; y < invalidatedArea.bottom(); y++){for(int x = invalidatedArea.x; x < invalidatedArea.right(); x++){framebuffer[absolute.x + x + (absolute.y + y) * touchgfx::HAL::DISPLAY_WIDTH] = code->at(x / scale, y / scale) ? 0x0000 : 0xffff;}}touchgfx::HAL::getInstance()->unlockFrameBuffer();
}touchgfx::Rect QRCodeWidget::getSolidRect() const
{return touchgfx::Rect(0,0,getWidth(), getHeight());
}void QRCodeWidget::setScale(uint8_t s)
{scale = s;updateSize();
}void QRCodeWidget::updateSize()
{if(code){setWidth(code->getWidth() * scale);setHeight(code->getHeight() * scale);}    
}
#include <gui/screen_screen/screenView.hpp>screenView::screenView()
{}void screenView::setupScreen()
{screenViewBase::setupScreen();myQRCodeWidget.setScale(10);myQRCodeWidget.setQRCode(&myQRCode);add(myQRCodeWidget);
}void screenView::tearDownScreen()
{screenViewBase::tearDownScreen();
}

运行模拟器:显示效果如下

http://www.yayakq.cn/news/905603/

相关文章:

  • 做的好的营销型网站有哪些团购网站的发展
  • 石家庄做网站建设公司最好看的2019中文大全电影
  • 网站建设必须配置漯河网站建设兼职
  • 可以做编程题的网站网络架构有哪些
  • 下载网站php源码网络营销策划方案范文
  • 珠宝网站开发目的怎么制作自己的微信公众号
  • 网站运营推广的方法有哪些微信手机网站三合一
  • 顺德人做多上哪个网站电子商务网站建设要求
  • 做爰全过程免费费网站秀网站模板
  • 网站建设的思路网络是干什么的
  • 青岛网站建设优化汉寿做网站的公司
  • 高端网站设计新鸿儒seo公司排名
  • 深圳专业集团网站建设南京搜索引擎推广优化
  • 九江建网站多少钱百度快速收录网站
  • 编辑网站的软件手机软件熬夜必备黄
  • 网站做快照怎么做定制网站开发都提供那些东西
  • 南阳网站改版网站详情一般是什么公司做
  • 盐城有没有做网站吗嘉兴高端建站公司
  • 北京网站建设方面泉州易尔通网站建设
  • 光明新区网站建设网站表单制作
  • 设计一个外贸网站需要多少钱wordpress 火车头接口
  • 旅游网站国际业务怎样做福建设备公司网站
  • html代码大全网页设计站内seo怎么做
  • 山东华邦建设网站首页推广型网站建设软件
  • 巅云建站wordpress 汉化主题
  • 男女做那个视频网站建设银行企业网上银行网站打不开
  • 自建网站的步骤怎么做精准引流推广
  • icp备案网站信息填写上海到北京高铁最快2个小时
  • 网站不能写入php文件wordpress yoast
  • 安卓手机建设网站北京大学学术学风建设网站