首页 > 代码库 > (小菜鸟写库)个人为0.95寸OLED写的图形界面库(连载)
(小菜鸟写库)个人为0.95寸OLED写的图形界面库(连载)
名称:
OLED_Window.h
OLED_Window.c
功能:对外资提供三个接口:1添加图标控件
2光标移动(选择图标)函数
3光标确定(执行图标)函数
4显示函数
OLED_Window.h代码:
#ifndef _OLED_WINDOW_H#define _OLED_WINDOW_H#include "OLED.h" //OLED驱动库/*******************OLED驱动库函数接口************************/#define DRAW_string /*******************************************/#define PAGE 2 //Icon 页数#define NUM 6 //每页多少个#define Icon_Max 12 //Icon最大个数 PAGE*NUM#define ICON_W 42 //图标宽#define ICON_H 24 //图标高#define FistRow_Distan 16 //第一行状态栏高度#define ICON_STR_H 16 //字高#define ICON_STR_W 32 //字最大宽#define ICON_Distan_H 4 // 图标空白角高 #define ICON_Distan_W 5 //图标空白角宽#define STRING_LE 10 //允许最大字符数#define Power_Len 10#define Power_H 8#define Power_W 12#define Power_X 4#define Power_Y 2#define Power_W_dis 1 //Power_W_dis=(Power_W-Power_Len)/2/**************函数宏**************************/#define Set_Pos(x,y) LCD_Set_Pos(x,y)#define Print_string(x,y,p) OLED_ShowString(x,y,p)#define Print_string_Mode(x,y,p,m) OLED_ShowString_Mode(x,y,p,m)#define Print_Fill(x1,y1,x2,y2,dot) OLED_Fill(x1,y1,x2-1,y2-1,dot)#define Print_Clear() OLED_Clear()/*****************************************/#ifndef U8#define U8 unsigned char #endif/***********************************/#define C_ERR 0#define C_OK 1/**************************************///typedef struct {// table[PAGE][NUM]; //}HOME_map;typedef struct{ U8 x; U8 y; }Point;typedef struct { unsigned char name[STRING_LE]; void (*Event)(void); }Icon;U8 Window_Icon_Add(unsigned char *name,void (*Event)(void));//添加图标void Point_Select(void); //光标移动(选择图标)void Point_Select_Ok(void); //光标确定(执行图标)void Window_Home_DIS(void);//显示#endif
.c部分代码
U8 Window_Icon_Add(unsigned char *name,void (*Event)(void)) //图标控件注册{ if(Icon_num<=12) { Icon *Temp_Icon; U8 i; unsigned char c; Icon_num++; Temp_Icon=&Icon_table[(Icon_num-1)/NUM][(Icon_num-1)%NUM]; for(i=0;i<STRING_LE;i++) { c=*name; if(c!=‘\0‘) Temp_Icon->name[i]=c; else break; name++;} Temp_Icon->name[i+1]=‘\0‘; Temp_Icon->Event=Event; return C_OK; } else return C_ERR; }
(小菜鸟写库)个人为0.95寸OLED写的图形界面库(连载)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。