读书人

Android4.2.2 Gallery2源码分析(五)

发布时间: 2013-11-01 14:43:02 作者: rapoo

Android4.2.2 Gallery2源码分析(5)——GLCanvasImpl.java

GLCanvasImpl.java是接口GLCanvas的唯一实现类,也就是说二者在功能上完全等同。代码中调用GLCanvas对象函数的地方,等效于调用GLCanvasImpl中的该函数,GLCanvasImpl对该函数有具体的实现。

1.构造函数

    private void textureRect(float x, float y, float width, float height) {        GL11 gl = mGL;        saveTransform();        translate(x, y);        scale(width, height, 1);        gl.glLoadMatrixf(mMatrixValues, 0);        gl.glDrawArrays(GL11.GL_TRIANGLE_STRIP, OFFSET_FILL_RECT, 4);        restoreTransform();        mCountTextureRect++;    }

这里也有了真正的绘图函数,glDrawArrays。我们分析下它的绘制:

GL_TRIANGLE_STRIP:这个参数解释起来有点复杂,需要设计到OpenGL的绘制单元。可以百度了解。

OFFSET_FILL_RECT:值为0


综上所述,GLCanvas和GLCanvasImpl是实现视图画图布局的地方。至于具体画成什么样则需要查看具体调用的地方传进来的参数的样子。

读书人网 >Android

热点推荐