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

详解 Android 图形系统

 2010-03-10 16:45:00 来源:WEB开发网   
核心提示:2.frameworks/base/core/java/android/view3.frameworks/base/core/java/android/widgetandroid.graphics, android.view和android.widget功能和其他类似的图形库如 Qt/Gtk+差不多,分别提供基本的图形

2.frameworks/base/core/java/android/view

3.frameworks/base/core/java/android/widget

android.graphics, android.view和android.widget功能和其他类似的图形库如 Qt/Gtk+差不多,分别提供基本的图形原语(如画点画线,设置图形上下文等),事件机制,以及开发 图形用户界面 的控件 等。canvas 用于开发2D图形, Surface 代表一个可供图形系统绘制的surface。 可在其上绘制2D活3D图形。

frameworks/base/opengl/

这 个目录包含opengel的接口以及软件 实现。在

http://developer.android.com/guide/topics/graphics/opengl.html

有详细介绍如何使用android.opengl开发3d graphics。

external/skia

skia与cairo功 能相当,封装底 层的图形硬件 ,为上面的图形库提供最基础的操作图形硬件的原语。关于 skia 可参考《??Google Skia ?形?理引擎》2和 《Android 的图形引擎 Skia》3两篇文章。

frameworks/base/libs/ui 和 frameworks/base/libs/surfaceflinger

ISurface 定义了基础的Surface接 口,供图形系统客户端 (应用)和server端(即surfaceflinger)交互。

BpSurface是ISurface的 派生类,提供接口供server 调用客户端功能;

BnSurface是ISurface的 另一个派生类,提供接口供客户端调用server功能。当 server 收到来自客户端 (通过BnSurace) 的调用请求后,如registerBuffers, postBuffer等,BnSurface:nTransact被触发。

Surface (LayerBaseClient的私有类)是BnSurface的派生类。

SurfaceBuffer (SurfaceBuffer的私有类)是Surface的派生类。

ISurfaceComposer 定义了基础的接口,供客户端和server端交互。

BpSurfaceComposer是 一个派生类,提供接口供server调用客户端功能;

BnSurfaceComposer是 另一派生类,提供接口供客户端调用server功能。类 SurfaceFlinger 由BnSurfaceComposer派 生而来。

SurfaceComposerClient直接供客户端使用,调用ISurface (BnSurface)和 ISurfaceComposer (BnSurfaceComposer) 以及 ISurfaceFlingerClient 接口,与server交 互。

BClient 派生自ISurfaceFlingerClient (BnSurfaceFlingerClient), 调用server的createSurface,真正创建一个surface。 每个surface对应一个layer.

上一页  1 2 3 4  下一页

Tags:详解 Android 图形

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