DirectFB把内容同时输出到主副surface
来源:互联网 发布:美版mac如何新建文件夹 编辑:程序博客网 时间:2024/06/05 22:42
一直忙项目,很长时间没有更新博客了。
近期碰到一个问题, 就是设定了DirectFB的主Surface输出到高清接口,比如HDMI, 而副Surface的内容则要输出到标清接口,比如CVBS。
我不想一条语句调用两次,分别向不同的Surface画, 研究了一下, Directfb是可以做到在输出到主Surface的同时,flip一份到副Surface的。
具体代码如下:
#include <stdio.h>#include <directfb.h> static IDirectFB *dfb = NULL;static IDirectFBSurface *primary = NULL;static IDirectFBDisplayLayer* secondaryLayer = NULL;static IDirectFBSurface* secondarySurface = NULL;static int screen_width = 0;static int screen_height = 0; #define DFBCHECK(x...) \{ \DFBResult err = x; \if (err != DFB_OK) \{\fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ );\DirectFBErrorFatal( #x, err );\}\} int main(int argc, char **argv){DFBSurfaceDescription dsc;DFBDisplayLayerConfig layerCfg; DFBCHECK (DirectFBInit (&argc, &argv));DFBCHECK (DirectFBCreate (&dfb)); // DFBCHECK (dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN));dsc.flags = DSDESC_CAPS;dsc.caps = DSCAPS_PRIMARY | DSCAPS_FLIPPING;DFBCHECK (dfb->CreateSurface( dfb, &dsc, &primary ));DFBCHECK (primary->SetColor (primary, 0xff, 0x00, 0x00, 0xff));DFBCHECK (primary->GetSize (primary, &screen_width, &screen_height));DFBCHECK (primary->FillRectangle (primary, 0, 0, screen_width, screen_height)); DFBCHECK (primary->SetColor (primary, 0x80, 0x80, 0xff, 0xff));DFBCHECK (primary->DrawLine (primary,0, screen_height / 6,screen_width - 1, screen_height / 6));DFBCHECK (primary->Flip (primary, NULL, 0));dfb->GetDisplayLayer(dfb, DLID_PRIMARY+1, &secondaryLayer);secondaryLayer->SetCooperativeLevel(secondaryLayer, DLSCL_ADMINISTRATIVE); layerCfg.flags = DLCONF_SOURCE; layerCfg.source = DLSID_SURFACE;secondaryLayer->SetConfiguration(secondaryLayer, &layerCfg);secondaryLayer->GetSurface(secondaryLayer, &secondarySurface);secondarySurface->Flip(secondarySurface, NULL, DSFLIP_NONE); sleep(10);secondaryLayer->Release( secondaryLayer );secondarySurface->Release( secondarySurface );primary->Release(primary);dfb->Release(dfb);return 0;}
- DirectFB把内容同时输出到主副surface
- DirectFB write surface buffer
- 使用外部数据创建DirectFB Surface
- DirectFB内存分配与管理:surface pool
- DirectFB内存分配与管理:surface pool
- DirectFB、Layer、Window、Surface之间关系
- 把输出内容存到TXT文档
- oracle把查询内容输出到文本
- python读取文件同时输出行号和内容
- 如何从DirectFB中获取cairo所需要的surface
- 【编撰】Directfb 深入 002 DirectFB内存分配与管理:surface pool
- 【Java】利用poi插件,把Excel内容读入Java,把Java中的内容输出到Excel
- 把GridView的内容输出到Excel的两点注意
- 把输入数字内容转换为金钱数输出
- java中把一句话或字符串内容反转输出
- DirectFB
- DirectFB
- DirectFB
- java 获取文件夹大小,文件大小,文件个数
- Windows的命令行下设置网络代理
- 解决IE8中eWebEditor编辑器按钮不能正常使用
- 十七、Android无法访问本地服务器(localhost)的解决方案
- 2013 浦东新区招生办公室的入学须知
- DirectFB把内容同时输出到主副surface
- OleDb操作不同版本的Excel
- java 之HashMap取值
- Perl实现的简单单机聊天服务器
- iptables中DNAT与SNAT的理解
- android日志服务,将日志记录在log文件中并每天生成一个日志文件
- uva10487 - Closest Sums
- Android学习-获取屏幕宽和高
- 利用Hibernate对象配置信息自动导出生成表结构