电子产品量产工具(UI系统)

所学来自百问网

目录

1.UI系统

1.1 数据结构的抽象

1.2 按钮

1.3 测试


1.UI系统

1.1 数据结构的抽象

#ifndef _UI_H
#define _UI_H
​
#include <common.h>
#include <disp_manager.h>
#include <input_manager.h>
​
#define BUTTON_DEFAULT_COLOR 0xff0000
#define BUTTON_PRESSEN_COLOR 0x00ff00
#define BUTTON_TEXT_COLOR 0x000000
​
struct Button;
​
typedef int (*ONDRAW_FUNC)(struct Button *ptButton,PDispBuff ptDispBuff); 
typedef int (*ONPRESSED_FUNC)(struct Button *ptButton,PDispBuff ptDispBuff,PInputEvent ptInputEvent);
// 按钮ui数据结构的抽象
typedef struct Button{
    char *name;    //名称
    int status;   //标记位
    Region tRegion; // 位置
    ONDRAW_FUNC OnDraw;  //绘制
    ONPRESSED_FUNC OnPressed; // 按下与松开
}Button,*PButton;
​
void InitButton(PButton ptButton,char *name,PRegion ptRegion,ONDRAW_FUNC OnDraw,ONPRESSED_FUNC OnPressed);
#endif

1.2 按钮

#include <ui.h>
// 默认居中显示
static int DefaultDraw(struct Button *ptButton,PDispBuff ptDispBuff)
{   
    // 绘制底色
    DrawRegion(&ptButton->tRegion, BUTTON_DEFAULT_COLOR);
​
    // 居中显示文字
    DrawTextInRegionCentral(ptButton->name,&ptButton->tRegion,BUTTON_TEXT_COLOR);
​
    // 刷新
    FlushDisplayRegion(&ptButton->tRegion,ptDispBuff);
    return 0;
}
// 对按钮状态显示效果的设置
static int DefaultOnPressed(struct Button *ptButton,PDispBuff ptDispBuff,PInputEvent ptInputEvent)
{
    unsigned int dwColor = BUTTON_DEFAULT_COLOR;
    ptButton->status = !ptButton->status;
    if(ptButton->status) dwColor = BUTTON_PRESSEN_COLOR;
    // 绘制底色
    DrawRegion(&ptButton->tRegion, dwColor);
​
    // 居中显示文字
    DrawTextInRegionCentral(ptButton->name,&ptButton->tRegion,BUTTON_TEXT_COLOR);
​
    // 刷新
    FlushDisplayRegion(&ptButton->tRegion,ptDispBuff);
    return 0;
}
// 初始化按钮
void InitButton(PButton ptButton,char *name,PRegion ptRegion,ONDRAW_FUNC OnDraw,ONPRESSED_FUNC OnPressed)
{
    ptButton->status = 0;
    ptButton->name = name;
    ptButton->tRegion = *ptRegion;
    ptButton->OnDraw = OnDraw ? OnDraw : DefaultDraw;
    ptButton->OnPressed = OnPressed ? OnPressed : DefaultOnPressed;
}

1.3 测试

ui_test.c:该文件对按钮进行测试,模拟按钮在不同状态下显示不同的效果

#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <linux/fb.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <disp_manager.h>
#include <stdlib.h>
#include <font_manager.h>
#include <ui.h>
​
int main(int argc, char **argv)
{
    PDispBuff ptBuffer;
    int error;
    Button tButton;
    Region tRegion;
​
    if(argc != 2)
    {
        printf("Usage: %s <font_size>\n",argv[0]);
        return -1;
    }
    DisplayInit();
    SelectDefaultDisplay("fb");
    InitDefaultDisplay();
    ptBuffer = GetDisplayBuffer();
​
    FontsRegister();
    error = SetectAndInitFont("freetype",argv[1]);
    if(error)
    {
        printf("SetectAndInitFont err\n");
        return -1;
    }
​
    tRegion.iLeftUpX = 200;
    tRegion.iLeftUpY = 200;
    tRegion.iWidth = 300;
    tRegion.iHeigh = 100;
    InitButton(&tButton, "test", &tRegion,NULL,NULL);
    tButton.OnDraw(&tButton,ptBuffer);
    while(1)
    {
        tButton.OnPressed(&tButton,ptBuffer,NULL);
        sleep(2);
    }
    return 0;   
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 慧荣3280bb是一款高效率、低成本的量产工具,广泛应用于存储器等电子产品的制造和维护中。该工具具有快速的数据传输速度和安全可靠的数据传输特性。慧荣3280bb采用了高科技的内存控制技术和多通道存储技术,能够同时支持多个芯片的制造和测试,有效提高了工作效率和产能。 慧荣3280bb能够兼容多种不同型号的芯片,并且支持一键式制造和测试功能,操作简单方便。使用该工具,可以快速地进行芯片生产和测试,同时还能够提供多种参数的监测和管理功能,以确保生产过程中的质量和可靠性。 此外,慧荣3280bb还具有可靠的数据备份和恢复功能,可以在出现异常情况时,快速地恢复数据,减少生产中的损失和风险。总之,慧荣3280bb是一款功能强大、安全可靠的量产工具,适用于不同型号的芯片制造和测试,有助于提高工作效率和产品质量。 ### 回答2: 慧荣3280bb量产工具是慧荣公司研发的一种用于量产Flash存储器的工具。随着Flash存储器的应用越来越广泛,量产工具的需求也越来越大。慧荣3280bb量产工具可以适配多种型号的Flash存储器芯片,可实现随机和顺序烧录,支持多种测试模式和芯片参数调整,能够进行批量生产,提高生产效率。 同时,慧荣3280bb量产工具还具有简单易用、操作方便、稳定可靠等优点,可以有效降低生产成本和提高工作效率。该工具还支持远程控制和远程监测,方便用户进行远程操作和管理。 总之,慧荣3280bb量产工具是一种具有高度专业性和实用性的量产工具,可以满足企业的生产需要,提高生产效率,降低生产成本。 ### 回答3: 慧荣3280bb是一款量产工具,主要用于制作各种类型的移动存储设备,如U盘、SD卡和TF卡等。其特点是快速高效,同时支持多种芯片型号和不同容量的存储介质,具有通用性和可扩展性。 慧荣3280bb量产工具具有简单易用的界面和操作方式,能够快速识别连接的设备,为开发者提供了方便的量产环境。工具支持多种格式的映像文件,能够快速、稳定、批量地完成数据编程和存储介质的格式化工作。同时支持通过命令行设定相应的参数完成批量编程,并具有远程编程的功能。 慧荣3280bb量产工具采用多层架构和灵活的插件机制,能够快速适应市场上不断变化和不同芯片厂家的新型号,保持与时俱进的技术优势。此外,它具有丰富的报告和分析功能,能够为用户提供量产质量统计分析,以及芯片生命周期管理等数据信息。 总的来说,慧荣3280bb量产工具是一款集成了高效稳定的编程和格式化技术,方便易用的UI操作界面和强大的芯片管理功能的先进量产工具,广泛应用于存储介质和芯片设备的制造、品质检测和维护领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值