WEB开发网
开发学院手机开发Android 开发 详解 Android 图形系统 阅读

详解 Android 图形系统

 2010-03-10 16:45:00 来源:WEB开发网   
核心提示:egl_native_window_t 定 义了一个本地window类 ,这个类提供了对本地window 的所有描述以及用于egl (opengl 与本地图形系统的接口)操作本地windwo的所有方法,详解 Android 图形系统(4),EGLNativeSurface是egl_native_window_t的 一个

egl_native_window_t 定 义了一个本地window类 。这个类提供了对本地window 的所有描述以及用于egl (opengl 与本地图形系统的接口)操作本地windwo的所有方法。

EGLNativeSurface是egl_native_window_t的 一个派生类。

EGLDisplaySurface是EGLNativeSurface的 派生类。 EGLDisplaySurface 是一个非常重要的类,在这个类里,真正打开framebuffer设 备(/dev/graphics/fb0 或者/dev/fb0),并将这个设备封装成EGLDisplaySurface的 形式供server使用。函数mapFrameBuffer打开framebuffer, 创建两个缓冲区,(一个是on screen front 缓冲区, 另一个back buffer, 可能位于offscreen framebuffer,也可能位于系统内存 )。 函数swapBuffers将back buffer内容拷贝到front buffer中。

DisplayHardware 类中初始化了egl系统,并为本地窗口对象EGLDisplaySurface 创 建了对应的EGLSurface 对象。surfaceflinger 使用DisplayHardware去 和本地窗口打交道。

jni

7.frameworks/base/core/jni/android/graphics

8.frameworks/base/core/jni/android/opengl

9.frameworks/base/core/jni/android/android_view_*.cpp

这 些目录下的代码在Java层的graphics 组件和native (c++)组 件之间衔接,将java层的功能调用转换到对应的本地调用。

hardware/libhardware实 现了HAL(Hardware Abstraction Layer)层,copybit device是其中一个模块。

上一页  1 2 3 4 

Tags:详解 Android 图形

编辑录入:coldstar [复制链接] [打 印]
赞助商链接