DirectFB教程导读-在屏幕中心画一条横线
#include <stdio.h>
//C库函数
#include <unistd.h>
//UNIX标准函数,与系统相关<UNIxSTanDard>
#include <directfb.h>
//directfb库函数
static IDirectFB *dfb = NULL;
//directfb入口,最高接口
static IDirectFBSurface *primary = NULL;
//平面接口对象,若CooerativeLevel设为DFSCL_FULLSCREEN,则为首层平面
static int screen_width = 0;
static int screen_height = 0;
//设置两个静态常量来记录屏幕的长宽信息,初始化为0,以适应任何界面
int main(int argc, char **argv)
{
DFBSurfaceDescription *dsc;
//创建DFBSurface描述对象
DirectFBInit(&argc, &argv);
//初始化Directfb,初始化函数的实参为argc,argv的地址,
//即*argc, ***argv(*(*argv[]))
//此函数可使argc和argv参数在directfb中使用。
DirectFBCreate(&dfb);
//创建最高接口,给dfb对象分配了一段内存空间
dfb->SetCooperativeLevel(dfb, DFSCL_FULLSCREEN);
//将dfb的CooperativeLevel设置为DFSCL_FULLSCREEN。
//这样我们所绘的图形将独占显示在显示设备的最上层(primary layer),
//否则只能显示在大鼠标的下方
dsc->flags = DSDESC_CAPS;
//指定要设置的区域,这里为DSDESC_CAPS,则可对caps区域进行设置。有唤醒之意。
dsc->caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING;
//将caps设置为以上两个参数,DSCAPS_PRIMARY即将dfb设为最高层,
//而DSCAPS_FLIPPING参数将其设为要见,此参数在1.0.1版本中是没有的
dfb->CreateSurface(dfb, dsc, &primary);
//利用dsc创建一个 平面,此平面的信息放在primary中
primary->GetSize(primary, &screen_width, &screen_height);
//获取screen_width和screen_height的值,即全屏的长和宽
printf("%d/t%d/n", screen_width, screen_height);
//测试行,查看此获得的长宽值
primary->FillRectangle(primary, 0, 0, screen_width-1, screen_height-1);
//将一个矩形将屏幕覆盖起来,以矩形的左上角和右下角坐标为实参
//默认这个矩形的颜色为黑色,绘制参数为DSDRAW_NOFX,即无特效
primary->SetColor(primary, 0x80, 0x80, 0xff, 0xff);
//设置画笔颜色,从第二个参数起分别为r,g,b,a,a为alpha(透明)值
primary->DrawLine(primary, 0, screen_height/2,
screen_width-1, screen_height/2);
//画一条直线,以起点和终点坐标为实参
primary->Flip(primary, NULL, 0);
//绘制完成后别忘了FLIP一下,让绘制的内容可见
sleep(5);
//暂停5秒
return 0;
}
DirectFB教程导读-在屏幕中心画一条横线相关推荐
- Android_(控件)使用自定义控件在屏幕中绘制一条虚线
在Android屏幕中绘制虚线,最通用的是自定义控件DashedLine,再将自定义控件放入xml布局中 运行截图: 程序结构 package com.example.asus.gary_042;im ...
- div html 下边加横线_HTML如何在两个div中画一条横线 | 学步园
近日在画一个界面的时候,遇到一个需求:在界面当中画一条竖线,且这条竖线在高度上需要自动占满整个父div(即这条竖线的高度和两个div中较高的一个等高). 往常我们画一条横线直接用标签< hr&g ...
- 在HTML中画一条横线
怎么画一条横线?我想到的有三种方法,但是各自样式不一,所以大家按需求来哦. 1.<hr />标签,对的,这个标签就代表一条横线,样式大概是这样的,如图(a与b之间哦): <html& ...
- html表格中加横线,Word表格中如何加一条横线
有时候要用word做一个表格或者一份协议书,都需要画下划线,打印出来后,上面可以填写内容如何给表格里面加一条横线呢?下面就来告诉你怎么做. 在word表格中加一条横线的几种方法介绍: Word给表格里 ...
- DirectFB代码导读
DirectFB代码导读 转载时请注明出处和作者联系方式 作者联系方式:李先静 <xianjimli at hotmail dot com> DirectFB是一个庞大的系统,对它进行彻底 ...
- 关于高分辨率屏幕中VMware虚拟机的一些问题的解决
关于高分辨率屏幕中VMware虚拟机的一些问题的解决 最近刚入手的电脑的分辨率很高,但是作为一个Linux码农,需要虚拟机是是一个必备的需求,可是装虚拟机却弄了很久,基本上这个问题网上描述的可能都不太 ...
- leafLet入门教程兼leafLet API中文文档参考
leafLet官方文档链接(英文原版):https://leafletjs.com/reference-1.3.4.html#marker-bindpopup 文章目录 leafLet教程 一.简单入 ...
- php中生成灯泡 代码怎么写,PS教程之在灯泡中加入灯丝文字
今天的教程是在灯泡中加入灯丝文字.灯泡中本身带有灯丝,制作的时候,我们只需要把灯丝换成想要的文字,再简单给文字增加一些发光效果,跟灯丝融合起来,再渲染一些光晕即可.所以今天的PS教程不是很难,只要好好 ...
- xd怎么做页面滑动_XD教程 | 如何在XD中制作拖拽手势”
原标题:XD教程 | 如何在XD中制作"拖拽手势" 今日主题:设计一个滑动交互 使用工具:Adobe XD 预计时长:1-2分钟 实用指数:★★★★★ 难度系数:★ 本期教程,我们 ...
最新文章
- 数字营销,带动汽车销量增长
- 烂泥:mysql5.5数据库cmake源码编译安装
- 词法分析(3)---DFA
- adnroid开发环境的搭建
- Swin Transformer升级版来了!30亿参数,刷榜多项视觉任务
- 代码重用_WebAssembly的速度和代码重用
- python读取文本中的内容
- 1688.比赛中的配对次数-LeetCode
- Flink – WindowedStream
- Type is unsupported, or the types of the items don‘t match field type in CollectionDef.
- 基于CSS实现的尖角提示符
- 解决 ThinkPad x270 安装 ubuntu 14.04 后的网络问题
- c语言编写温度监测界面,基于51单片机的温度检测系统_单片机C语言课题设计报告.doc...
- 迷你云服务器怎么开,迷你世界迷你云服怎么开_迷你世界迷你云服打开方法_玩游戏网...
- 陶哲轩实分析 习题6.6.5
- 学习springboot整合mybatis并编写测试类
- 谢耳朵用的MIT人工智能情绪探测器,你也可以拥有
- 骡马盒子搭建详细教程
- c# 串口通信 DataReceived 事件触发方法的使用
- 期货浮动盈亏(期货浮动盈亏和盯市盈亏)