fblib/fb2/fbtool.c

108 lines
1.9 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "fbtool.h"
//打开并且初始化该frame buffer
int fb_open(PFBDEV pFbdev)
{
//打开frame buffer
pFbdev->fb = open(pFbdev->dev,O_RDWR);
if(pFbdev->fb < 0)
{
printf("打开错误 %s : %n.请检查内核配置\n",pFbdev->dev);
return 0;
}
// 初始化fb_var
if(-1 == ioctl(pFbdev->fb,FBIOGET_VSCREENINFO,&(pFbdev->fb_var)))
{
printf("ioctl FBIOGET_VSCREENINFO\n");
return 0;
}
// 初始化fb_fix
if(-1 == ioctl(pFbdev->fb,FBIOGET_FSCREENINFO,&(pFbdev->fb_fix)))
{
printf("ioctl FBIOGET_FSCREENINFO\n");
return 0;
}
return 1;
}
//关闭frame buffer
int fb_close(PFBDEV pFbdev)
{
close(pFbdev->fb);
pFbdev->fb = -1;
}
//打印frame buffer 所占内存的开始地址 
void pmem_start(PFBDEV pFbdev)
{
printf("frame buffer所占内存的开始地址为:%d\n",pFbdev->fb_fix.smem_start);
}
//打印FB_TYPE
void p_type(PFBDEV pFbdev)
{
printf("frame buffer 的类型为:%d\n",pFbdev->fb_fix.type);
}
//打印可见清晰度
void p_visible_res(PFBDEV pFbdev)
{
printf("frame buffer的可见清晰度为\n\tx = %d\n\ty = %d\n",pFbdev->fb_var.xres,pFbdev->fb_var.yres);
}
//打印虚拟分辨率
void p_virt_res(PFBDEV pFbdev)
{
printf("frame buffer的虚拟清晰度为\n\tx = %d\n\ty = %d\n",pFbdev->fb_var.xres_virtual,pFbdev->fb_var.yres_virtual);
}
//打印虚拟到可见的偏移量
void p_offset(PFBDEV pFbdev)
{
printf("frame buffer的虚拟分辨率到可见分辨率的偏移量为:\n\tx = %d\n\ty = %d\n",pFbdev->fb_var.xoffset,pFbdev->fb_var.yoffset);
}
//打印每个像素的位数
void p_bpp(PFBDEV pFbdev)
{
printf("frame buffer的BPP为%d\n",pFbdev->fb_var.bits_per_pixel);
}
//打印R,G,B和透明度
void p_rgbt(PFBDEV pFbdev)
{
printf("这个后面再说!!\n");
}
//打印在内存中的高度和宽度
void p_hw(PFBDEV pFbdev)
{
printf("frame buffer在内存中所占的高度和宽度分别是:\n\t宽度 = %d\n\t高度 = %d\n",pFbdev->fb_var.height,pFbdev->fb_var.width);
}