blob: 13b610b23a8fa4da87260ad997a6ad61752e9c74 [file] [log] [blame]
Owen Linf9a0a432011-08-17 22:07:43 +08001/*
2 * Copyright (C) 2010 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.gallery3d.ui;
18
John Reckb1a28412012-10-15 16:11:04 -070019import android.content.Context;
Chih-Chung Chang2ef46ed2012-05-08 17:57:33 +080020import android.graphics.Matrix;
Owen Lin79cf9022012-05-16 10:54:14 -070021
Owen Linf9a0a432011-08-17 22:07:43 +080022import com.android.gallery3d.anim.CanvasAnimation;
23
24public interface GLRoot {
25
Owen Lind8fb81f2012-03-29 14:27:58 +080026 // Listener will be called when GL is idle AND before each frame.
27 // Mainly used for uploading textures.
Owen Linf9a0a432011-08-17 22:07:43 +080028 public static interface OnGLIdleListener {
Owen Lind8fb81f2012-03-29 14:27:58 +080029 public boolean onGLIdle(
30 GLCanvas canvas, boolean renderRequested);
Owen Linf9a0a432011-08-17 22:07:43 +080031 }
32
33 public void addOnGLIdleListener(OnGLIdleListener listener);
34 public void registerLaunchedAnimation(CanvasAnimation animation);
35 public void requestRender();
36 public void requestLayoutContentPane();
Owen Linf9a0a432011-08-17 22:07:43 +080037
38 public void lockRenderThread();
39 public void unlockRenderThread();
40
41 public void setContentPane(GLView content);
Chih-Chung Chang2ef46ed2012-05-08 17:57:33 +080042 public void setOrientationSource(OrientationSource source);
43 public int getDisplayRotation();
44 public int getCompensation();
45 public Matrix getCompensationMatrix();
Chih-Chung Chang1ade1262012-05-10 11:03:35 +080046 public void freeze();
47 public void unfreeze();
Chih-Chung Chang0b2486c2012-05-17 16:45:12 -070048 public void setLightsOutMode(boolean enabled);
John Reckb1a28412012-10-15 16:11:04 -070049
50 public Context getContext();
Owen Linf9a0a432011-08-17 22:07:43 +080051}