LibreOffice Module android (master) 1
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
org.mozilla.gecko.gfx.LayerRenderer Class Reference

The layer renderer implements the rendering logic for a layer view. More...

Inheritance diagram for org.mozilla.gecko.gfx.LayerRenderer:
[legend]
Collaboration diagram for org.mozilla.gecko.gfx.LayerRenderer:
[legend]

Classes

class  FadeRunnable
 
class  Frame
 

Public Member Functions

 LayerRenderer (LayerView view)
 
void destroy ()
 
void onSurfaceCreated (GL10 gl, EGLConfig config)
 
void createDefaultProgram ()
 
void activateDefaultProgram ()
 
void deactivateDefaultProgram ()
 
int getMaxTextureSize ()
 
void addLayer (Layer layer)
 
void removeLayer (Layer layer)
 
void onDrawFrame (GL10 gl)
 Called whenever a new frame is about to be drawn. More...
 
void onSurfaceChanged (GL10 gl, final int width, final int height)
 
Frame createFrame (ImmutableViewportMetrics metrics)
 

Static Public Member Functions

static int loadShader (int type, String shaderCode)
 

Static Public Attributes

static final float[] DEFAULT_TEXTURE_MATRIX
 
static final String DEFAULT_VERTEX_SHADER
 
static final String DEFAULT_FRAGMENT_SHADER
 

Protected Member Functions

void finalize () throws Throwable
 

Private Member Functions

RenderContext createScreenContext (ImmutableViewportMetrics metrics)
 
RenderContext createPageContext (ImmutableViewportMetrics metrics)
 
RenderContext createContext (RectF viewport, RectF pageRect, float zoomFactor)
 

Private Attributes

final LayerView mView
 
final SingleTileLayer mBackgroundLayer
 
final NinePatchTileLayer mShadowLayer
 
final ScrollbarLayer mHorizScrollLayer
 
final ScrollbarLayer mVertScrollLayer
 
final FadeRunnable mFadeRunnable
 
ByteBuffer mCoordByteBuffer
 
FloatBuffer mCoordBuffer
 
RenderContext mLastPageContext
 
int mMaxTextureSize
 
int mBackgroundColor
 
CopyOnWriteArrayList< LayermExtraLayers = new CopyOnWriteArrayList<Layer>()
 
IntBuffer mPixelBuffer
 
int mProgram
 
int mPositionHandle
 
int mTextureHandle
 
int mSampleHandle
 
int mTMatrixHandle
 

Static Private Attributes

static final String LOGTAG = "GeckoLayerRenderer"
 
static final int MAX_FRAME_TIME = 16
 
static final int COORD_BUFFER_SIZE = 20
 

Detailed Description

The layer renderer implements the rendering logic for a layer view.

Definition at line 32 of file LayerRenderer.java.

Constructor & Destructor Documentation

◆ LayerRenderer()

org.mozilla.gecko.gfx.LayerRenderer.LayerRenderer ( LayerView  view)
inline

Member Function Documentation

◆ activateDefaultProgram()

void org.mozilla.gecko.gfx.LayerRenderer.activateDefaultProgram ( )
inline

◆ addLayer()

void org.mozilla.gecko.gfx.LayerRenderer.addLayer ( Layer  layer)
inline

◆ createContext()

RenderContext org.mozilla.gecko.gfx.LayerRenderer.createContext ( RectF  viewport,
RectF  pageRect,
float  zoomFactor 
)
inlineprivate

◆ createDefaultProgram()

void org.mozilla.gecko.gfx.LayerRenderer.createDefaultProgram ( )
inline

◆ createFrame()

Frame org.mozilla.gecko.gfx.LayerRenderer.createFrame ( ImmutableViewportMetrics  metrics)
inline

Definition at line 267 of file LayerRenderer.java.

Referenced by org.mozilla.gecko.gfx.LayerRenderer.onDrawFrame().

◆ createPageContext()

RenderContext org.mozilla.gecko.gfx.LayerRenderer.createPageContext ( ImmutableViewportMetrics  metrics)
inlineprivate

◆ createScreenContext()

RenderContext org.mozilla.gecko.gfx.LayerRenderer.createScreenContext ( ImmutableViewportMetrics  metrics)
inlineprivate

◆ deactivateDefaultProgram()

void org.mozilla.gecko.gfx.LayerRenderer.deactivateDefaultProgram ( )
inline

◆ destroy()

void org.mozilla.gecko.gfx.LayerRenderer.destroy ( )
inline

◆ finalize()

void org.mozilla.gecko.gfx.LayerRenderer.finalize ( ) throws Throwable
inlineprotected

◆ getMaxTextureSize()

int org.mozilla.gecko.gfx.LayerRenderer.getMaxTextureSize ( )
inline

◆ loadShader()

static int org.mozilla.gecko.gfx.LayerRenderer.loadShader ( int  type,
String  shaderCode 
)
inlinestatic

◆ onDrawFrame()

void org.mozilla.gecko.gfx.LayerRenderer.onDrawFrame ( GL10  gl)
inline

◆ onSurfaceChanged()

void org.mozilla.gecko.gfx.LayerRenderer.onSurfaceChanged ( GL10  gl,
final int  width,
final int  height 
)
inline

◆ onSurfaceCreated()

void org.mozilla.gecko.gfx.LayerRenderer.onSurfaceCreated ( GL10  gl,
EGLConfig  config 
)
inline

◆ removeLayer()

void org.mozilla.gecko.gfx.LayerRenderer.removeLayer ( Layer  layer)
inline

Member Data Documentation

◆ COORD_BUFFER_SIZE

final int org.mozilla.gecko.gfx.LayerRenderer.COORD_BUFFER_SIZE = 20
staticprivate

◆ DEFAULT_FRAGMENT_SHADER

final String org.mozilla.gecko.gfx.LayerRenderer.DEFAULT_FRAGMENT_SHADER
static
Initial value:
=
"precision highp float;\n" +
"varying vec2 vTexCoord;\n" +
"uniform sampler2D sTexture;\n" +
"void main() {\n" +
" gl_FragColor = texture2D(sTexture, vTexCoord);\n" +
"}\n"

Definition at line 100 of file LayerRenderer.java.

Referenced by org.mozilla.gecko.gfx.LayerRenderer.createDefaultProgram().

◆ DEFAULT_TEXTURE_MATRIX

final float [] org.mozilla.gecko.gfx.LayerRenderer.DEFAULT_TEXTURE_MATRIX
static
Initial value:
= {
2.0f, 0.0f, 0.0f, 0.0f,
0.0f, 2.0f, 0.0f, 0.0f,
0.0f, 0.0f, 2.0f, 0.0f,
-1.0f, -1.0f, 0.0f, 1.0f
}

Definition at line 68 of file LayerRenderer.java.

Referenced by org.mozilla.gecko.gfx.LayerRenderer.activateDefaultProgram(), and org.mozilla.gecko.gfx.ScrollbarLayer.activateProgram().

◆ DEFAULT_VERTEX_SHADER

final String org.mozilla.gecko.gfx.LayerRenderer.DEFAULT_VERTEX_SHADER
static
Initial value:
=
"uniform mat4 uTMatrix;\n" +
"attribute vec4 vPosition;\n" +
"attribute vec2 aTexCoord;\n" +
"varying vec2 vTexCoord;\n" +
"void main() {\n" +
" gl_Position = uTMatrix * vPosition;\n" +
" vTexCoord.x = aTexCoord.x;\n" +
" vTexCoord.y = 1.0 - aTexCoord.y;\n" +
"}\n"

Definition at line 84 of file LayerRenderer.java.

Referenced by org.mozilla.gecko.gfx.LayerRenderer.createDefaultProgram(), and org.mozilla.gecko.gfx.ScrollbarLayer.createProgram().

◆ LOGTAG

final String org.mozilla.gecko.gfx.LayerRenderer.LOGTAG = "GeckoLayerRenderer"
staticprivate

Definition at line 33 of file LayerRenderer.java.

◆ MAX_FRAME_TIME

final int org.mozilla.gecko.gfx.LayerRenderer.MAX_FRAME_TIME = 16
staticprivate

Definition at line 39 of file LayerRenderer.java.

◆ mBackgroundColor

int org.mozilla.gecko.gfx.LayerRenderer.mBackgroundColor
private

◆ mBackgroundLayer

final SingleTileLayer org.mozilla.gecko.gfx.LayerRenderer.mBackgroundLayer
private

◆ mCoordBuffer

FloatBuffer org.mozilla.gecko.gfx.LayerRenderer.mCoordBuffer
private

◆ mCoordByteBuffer

ByteBuffer org.mozilla.gecko.gfx.LayerRenderer.mCoordByteBuffer
private

◆ mExtraLayers

CopyOnWriteArrayList<Layer> org.mozilla.gecko.gfx.LayerRenderer.mExtraLayers = new CopyOnWriteArrayList<Layer>()
private

◆ mFadeRunnable

final FadeRunnable org.mozilla.gecko.gfx.LayerRenderer.mFadeRunnable
private

◆ mHorizScrollLayer

final ScrollbarLayer org.mozilla.gecko.gfx.LayerRenderer.mHorizScrollLayer
private

◆ mLastPageContext

RenderContext org.mozilla.gecko.gfx.LayerRenderer.mLastPageContext
private

◆ mMaxTextureSize

int org.mozilla.gecko.gfx.LayerRenderer.mMaxTextureSize
private

◆ mPixelBuffer

IntBuffer org.mozilla.gecko.gfx.LayerRenderer.mPixelBuffer
private

◆ mPositionHandle

int org.mozilla.gecko.gfx.LayerRenderer.mPositionHandle
private

◆ mProgram

int org.mozilla.gecko.gfx.LayerRenderer.mProgram
private

◆ mSampleHandle

int org.mozilla.gecko.gfx.LayerRenderer.mSampleHandle
private

◆ mShadowLayer

final NinePatchTileLayer org.mozilla.gecko.gfx.LayerRenderer.mShadowLayer
private

◆ mTextureHandle

int org.mozilla.gecko.gfx.LayerRenderer.mTextureHandle
private

◆ mTMatrixHandle

int org.mozilla.gecko.gfx.LayerRenderer.mTMatrixHandle
private

◆ mVertScrollLayer

final ScrollbarLayer org.mozilla.gecko.gfx.LayerRenderer.mVertScrollLayer
private

◆ mView

final LayerView org.mozilla.gecko.gfx.LayerRenderer.mView
private

The documentation for this class was generated from the following file: