暗示一块儿独立的图像缓冲区。大大都的嵌入式设备都有多个层。他们由硬件使用合适的alpha值来blending,然后显示。
外貌 (Surface)
用来生存像素数据的保存内存区域。DirectFB的Drawing和blitting操纵最终都是感化于外貌(surfaces)上.外貌的内存可以从显存(video memory)得到,也可以从系统内存(system meomroy)得到,这由给定的限制决定。
主层 (Primary Surface)
暗示特定层的frame buffer的特殊外貌。如果主外貌是单缓冲的,任何感化到这个主层的操纵,城市直接在屏幕上见到。
他们之间的关系主要是一些一对一或是一对多的关系:
1 IDirectFB (顶层) <--> N 屏幕(Screens)
1 屏幕(Screen) <--> N 层(Layers)
1 层(Layer) <--> 1 主外貌(Primary Surface)
1 层(Layer) <--> N 窗口(Windows)
1 窗口(Window) <--> 1 窗口外貌(Window Surface)
1 外貌(Surface) <--> N 子外貌(Subsurfaces)
凡是的状况是一个屏幕有一个显示层,但是DFB撑持他们每个有多个实例
层(Layers)和屏幕( Screens)每一个屏幕可以有一个或是多个层,凡是,一个屏幕只有一个层,但是某些撑持overlays的系统,由于硬件撑持一层显示在另一层上面,可以有多层。
屏幕(Screens)和(Windows)屏幕不能直接创建窗口(Window),但是你能请求得到一个屏幕(Screen)的主层(Primary Layer)的ID,然后请求IDirectFB接口(interface)给你阿谁层(Layer)的接口,然后通过这个接口来创建窗口。
外貌(Surfaces)和(Windows)每一个窗口有一个和它关联的外貌,画在外貌上的内容并不会顿时显示在屏幕上,因为窗口打点器会卖力将窗口的所有外貌组合到主外貌上---基于所要刷新的区域和仓库挨次。当有变革的时候,外貌的Flip()函数会通知窗口打点器。
外貌(Surfaces)和(Layers)一个层同样有一个和他关联的外貌;这个外貌是这个层的屏幕内存的直接表示,在独有(exclusive)模式下,你只能访谒这个外貌,否则,,你只能创建一个窗口,然后用窗口打点器来绘制这个外貌