# SCGUI **Repository Path**: ansen520/scgui ## Basic Information - **Project Name**: SCGUI - **Description**: /* * SC_GUI for V1.1 * 一个小内存(1-3k)的开源GUI,支持LVGL抗锯齿字体,动态文字,实用波形图,支持双DMA,简易图层叠加 * 感谢网友开源工具Lvgl Font Tool V0.4 生成 阿里(qq:617622104) * 作者:黎R(WX:13018616872) * 社区:(QQ群:799501887) */ - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 30 - **Created**: 2024-03-24 - **Last Updated**: 2024-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SC_GUI #### 介绍 /* * SC_GUI for V1.1 * 一个小内存(1-3K)开源GUI,支持双DMA加速,精简API,支持LVGL抗锯齿字体,动态文字,实用波形图,简易图层叠加 * 感谢网友开源工具Lvgl Font Tool V0.4 生成 阿里(qq:617622104) * 作者:黎R(WX:13018616872) * 社区:(QQ群:799501887) */ #### 软件架构 GUI用少量DMA缓存以线为单位绘制,图层缓存采用2bbp点阵格式一个字节存储4个象素,每个象素四种彩色信息,因此调色板为4色。 #### 安装教程 1. 列程为code_blocks工程基于SDL2仿真。安装code_blocks20,解压SDL2到安装目录 #### 移植说明 1. 修改SC_LCD.h设置屏幕尺寸 #define LCD_SCREEN_WIDTH 240 #define LCD_SCREEN_HEIGHT 320 注册画点函数void SC_GUI_Init(SC_GUI* g, void (*bsp_pset)(int,int,u16),u16 bc,u16 c1,u16 c2,u16 c3, void* font); ``` SC_GUI pc_gui; extern lv_font_t myFont14; extern const SC_FONT sc_font16[2]; int main(void) { SC_GUI_Init(&pc_gui, SDL_DrawPoint,C_BLACK,C_RED,C_GREEN,C_BLUE,(void*)sc_font16); SC_text_align(&gui->lcd_area,SC_STATE_STR_MID); SC_Show_str(0,0,A_C1,A_C0,"SC_GUI", 0,&myFont14); SC_text_align(&gui->lcd_area,SC_STATE_STR_LEFT); SC_Show_str(0,0,A_C2,A_C0,"LEFT", 0,&myFont14); SC_text_align(&gui->lcd_area,SC_STATE_STR_RIGHT); SC_Show_str(0,0,A_C3,A_C0,"RIGHT", 0,&myFont14); SC_text_align(NULL,0); while(1); } #define CPU_DMABUF_NUM 2 //2双缓存,1单缓存,不能为0 //底层接口,与lvgl接口一样 void LCD_DMA_color(int xs, int ys, int xe, int ye, u16 *color) { #if 0 SPI_DMA_color( xs, ys, xe, ye,color); #else //-----------------无DMA------------------------ // LCD_SetWindows(xs, ys,xe, ye); for(int x = xs; x <=xe; x++) { for(int y = ys; y <=ye; y++) { gui->bsp_pset (x,y,*color); // LCD_Write_Dat16(*color); //写入数据 color++; } } #endif } ``` //------------------------------------------------- #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)