6package org.mozilla.gecko.gfx;
9import android.content.Context;
10import android.content.res.Resources;
11import android.graphics.Bitmap;
12import android.graphics.BitmapFactory;
13import android.graphics.PixelFormat;
14import android.util.AttributeSet;
15import android.util.Log;
16import android.view.KeyEvent;
17import android.view.MotionEvent;
18import android.view.SurfaceHolder;
19import android.view.SurfaceView;
20import android.view.View;
21import android.view.ViewGroup;
22import android.view.inputmethod.EditorInfo;
23import android.view.inputmethod.InputConnection;
24import android.widget.FrameLayout;
67 public LayerView(Context context, AttributeSet attrs) {
68 super(context, attrs);
72 addView(
mSurfaceView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
88 setFocusableInTouchMode(
true);
116 post(
new Runnable() {
129 if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
185 public boolean onKeyMultiple(
int keyCode,
int repeatCount, KeyEvent event) {
190 public boolean onKeyUp(
int keyCode, KeyEvent event) {
224 Log.d(
LOGTAG,
"LayerView paint state set to " + paintState);
241 Listener getListener() {
250 Context context = getContext();
251 Resources resources = context.getResources();
252 String packageName = resources.getResourcePackageName(
R.id.dummy_id_for_package_name_resolution);
253 int resourceID = resources.getIdentifier(
name,
"drawable", packageName);
254 BitmapFactory.Options options =
new BitmapFactory.Options();
255 options.inScaled =
false;
256 return BitmapFactory.decodeResource(context.getResources(), resourceID, options);
259 Bitmap getBackgroundPattern() {
263 Bitmap getShadowPattern() {
298 Log.e(
LOGTAG,
"Error registering compositor!", e);
329 protected void onLayout(
boolean changed,
int left,
int top,
int right,
int bottom) {
340 throw new LayerViewException (
"createGLThread() called with a GL thread already in place!");
343 Log.e(
LOGTAG,
"### Creating GL thread!");
352 Log.e(
LOGTAG,
"### Waiting for GL thread to be created...");
356 }
catch (InterruptedException e) {
361 Log.e(
LOGTAG,
"### Destroying GL thread!");
Events and data that is queued and processed by LOKitThread.
static final int UPDATE_ZOOM_CONSTRAINTS
Common static LOKit functions, functions to send events.
static void sendEvent(LOEvent event)
Make sure LOKitThread is running and send event to it.
Main activity of the LibreOffice App.
GeckoLayerClient getLayerClient()
ImmutableViewportMetrics getViewportMetrics()
Implementation of PanZoomTarget.
ImmutableViewportMetrics are used to store the viewport metrics in way that we can access a version o...
The layer renderer implements the rendering logic for a layer view.
void removeLayer(Layer layer)
void addLayer(Layer layer)
static final long serialVersionUID
void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
void surfaceDestroyed(SurfaceHolder holder)
void surfaceCreated(SurfaceHolder holder)
A view rendered by the layer compositor.
static final int PAINT_BEFORE_FIRST
static GLController registerCxxCompositor()
This function is invoked by Gecko (compositor thread) via JNI; be careful when modifying signature.
RenderControllerThread mRenderControllerThread
LayerView(Context context, AttributeSet attrs)
static LibreOfficeMainActivity mContext
boolean onKeyLongPress(int keyCode, KeyEvent event)
LayerRenderer getRenderer()
PanZoomController getPanZoomController()
void setListener(Listener listener)
OnInterceptTouchListener mTouchIntercepter
LayerRenderer getLayerRenderer()
void setTouchIntercepter(final OnInterceptTouchListener touchIntercepter)
GeckoLayerClient mLayerClient
GLController mGLController
void setLayerRenderer(LayerRenderer renderer)
boolean onGenericMotionEvent(MotionEvent event)
boolean onTouchEvent(MotionEvent event)
void setFullScreen(boolean fullScreen)
GLController getGLController()
void addLayer(Layer layer)
boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event)
PanZoomController mPanZoomController
synchronized Thread destroyGLThread()
InputConnectionHandler mInputConnectionHandler
void setPaintState(int paintState)
GeckoLayerClient getLayerClient()
InputConnection onCreateInputConnection(EditorInfo outAttrs)
Bitmap getDrawable(String name)
boolean onHoverEvent(MotionEvent event)
boolean onKeyUp(int keyCode, KeyEvent event)
void setInputConnectionHandler(InputConnectionHandler inputConnectionHandler)
void removeLayer(Layer layer)
synchronized void createGLThread()
void onLayout(boolean changed, int left, int top, int right, int bottom)
ImmutableViewportMetrics getViewportMetrics()
void onSizeChanged(int width, int height)
static final int PAINT_NONE
static final int PAINT_AFTER_FIRST
boolean onKeyDown(int keyCode, KeyEvent event)
boolean onKeyPreIme(int keyCode, KeyEvent event)
Thread which controls the rendering to OpenGL context.
boolean onInterceptTouchEvent(View view, MotionEvent event)
Override this method for a chance to consume events before the view or its children.
void compositionResumeRequested(int width, int height)
void surfaceChanged(int width, int height)
void compositionPauseRequested()
void SAL_CALL changed(::sal_Int32 ID, const css::uno::Sequence< css::beans::NamedValue > &Properties) override
def run(arg=None, arg2=-1)