天嵌二次封装库使用手册  V1.0
fb_raw.h 文件参考
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdarg.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/time.h>
#include <linux/vt.h>
#include <linux/kd.h>
#include <linux/fb.h>
#include <arpa/inet.h>
#include "font.h"
fb_raw.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

结构体

struct  fb_data
 用来保存framebuffer设备相关数据 更多...
 
union  multiptr
 像素点大小,根据每个像素占用字节数而自由变化 更多...
 

宏定义

#define XORMODE   0x80000000
 模式
 

函数

int open_framebuffer (char *dev, struct fb_data *f_data)
 打开framebuffer设备并用mmap建立内存映射 更多...
 
void close_framebuffer (struct fb_data *f_data)
 关闭framebuffer设备并释放掉相关内存 更多...
 
void line (struct fb_data *f_data, int x1, int y1, int x2, int y2, unsigned colidx)
 在屏幕上化一条线 更多...
 
void put_string (struct fb_data *f_data, int x, int y, char *s, unsigned colidx)
 在屏幕上显示一个字符串 更多...
 
void rect (struct fb_data *f_data, int x1, int y1, int x2, int y2, unsigned colidx)
 在屏幕上显示一个矩形 更多...
 
void fillrect (struct fb_data *f_data, int x1, int y1, int x2, int y2, unsigned colidx)
 填充矩形颜色 更多...
 
void put_string_center (struct fb_data *f_data, int x, int y, char *s, unsigned colidx)
 在屏幕显示一个字符串 更多...
 
void setcolor (struct fb_data *f_data, unsigned colidx, unsigned value)
 设置屏幕颜色 更多...
 
void progress_bar (struct fb_data *f_data, int progress, const char *fmt,...)
 显示进度条 更多...
 
void put_cross (struct fb_data *f_data, int x, int y, unsigned colidx)
 画交叉线 更多...
 
int show_bmp (const char *fbp, struct fb_var_screeninfo *scrinfo, const char *bmpname)
 显示bmp位图 更多...
 
void * get_framebuffer (const char *dev, int *size)
 获得framebuffer对象 更多...
 
void free_framebuffer (void *buff, int size)
 释放framebuffer对象 更多...
 

详细描述

作者
zhengchuangyong (zheng.nosp@m.chua.nosp@m.ngyon.nosp@m.g@em.nosp@m.bedsk.nosp@m.y.ne.nosp@m.t)
版本
1.0
日期
2021-09-10
修改日志:
Date Version Author Description
2021-09-10 1.0 zhengchuangyong 第一次发布,对framebuffer一些基本操作的封装.

函数说明

void close_framebuffer ( struct fb_data f_data)

关闭framebuffer设备并释放掉相关内存

参数
f_dataframebuffer设备相关数据
void fillrect ( struct fb_data f_data,
int  x1,
int  y1,
int  x2,
int  y2,
unsigned  colidx 
)

填充矩形颜色

参数
f_dataframebuffer设备相关数据
x1矩形一条对角线上第一个端点的x坐标
y1矩形一条对角线上第一个端点的y坐标
x2矩形一条对角线上第二个端点的x坐标
y2矩形一条对角线上第二个端点的y坐标
colidx设置填充矩形的颜色
void free_framebuffer ( void *  buff,
int  size 
)

释放framebuffer对象

参数
buff要取消的映射内存
size映射内存大小
void* get_framebuffer ( const char *  dev,
int *  size 
)

获得framebuffer对象

参数
dev设备名
size存放映射的地址大小
返回
void* 返回映射内存的首地址
void line ( struct fb_data f_data,
int  x1,
int  y1,
int  x2,
int  y2,
unsigned  colidx 
)

在屏幕上化一条线

参数
f_dataframebuffer设备相关数据
x1第一个的点的x坐标
y1第一个的点的y坐标
x2第二个的点的x坐标
y2第二个的点的y坐标
colidx设置显示线的颜色
int open_framebuffer ( char *  dev,
struct fb_data f_data 
)

打开framebuffer设备并用mmap建立内存映射

参数
dev设备名
f_data用来保存打开设备后的相关参数
返回
int 打开成功返回0,失败返回-1
void progress_bar ( struct fb_data f_data,
int  progress,
const char *  fmt,
  ... 
)

显示进度条

参数
f_dataframebuffer设备相关数据
progress显示的进度(百分比%)
fmt在进度条中显示的消息
...可变参数
void put_cross ( struct fb_data f_data,
int  x,
int  y,
unsigned  colidx 
)

画交叉线

参数
f_dataframebuffer设备相关数据
x交叉线的中心坐标x
y交叉线的中心坐标y
colidx设置显示的颜色
void put_string ( struct fb_data f_data,
int  x,
int  y,
char *  s,
unsigned  colidx 
)

在屏幕上显示一个字符串

参数
f_dataframebuffer设备相关数据
x字符串起始x坐标
y字符串起始y坐标
s要显示的字符串
colidx设置显示字符串的颜色
void put_string_center ( struct fb_data f_data,
int  x,
int  y,
char *  s,
unsigned  colidx 
)

在屏幕显示一个字符串

参数
f_dataframebuffer设备相关数据
x字符串中间位置的x坐标
y字符串中间位置的y坐标
s要显示的字符串
colidx设置显示字符串的颜色
void rect ( struct fb_data f_data,
int  x1,
int  y1,
int  x2,
int  y2,
unsigned  colidx 
)

在屏幕上显示一个矩形

参数
f_dataframebuffer设备相关数据
x1矩形一条对角线上第一个端点的x坐标
y1矩形一条对角线上第一个端点的y坐标
x2矩形一条对角线上第二个端点的x坐标
y2矩形一条对角线上第二个端点的y坐标
colidx设置显示矩形边框的颜色
void setcolor ( struct fb_data f_data,
unsigned  colidx,
unsigned  value 
)

设置屏幕颜色

参数
f_dataframebuffer设备相关数据
colidx要设置的颜色
value颜色值
int show_bmp ( const char *  fbp,
struct fb_var_screeninfo *  scrinfo,
const char *  bmpname 
)

显示bmp位图

参数
fbp映射内存起始地址
scrinfo屏幕信息结构体
bmpname.bmp位图文件名
返回
int 成功显示返回0,失败返回-1