GLCanvasManager.java 1.35 KB
Newer Older
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
1 2
package com.projectseptember.RNGL;

3
import android.opengl.GLSurfaceView;
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
4

5 6 7
import com.facebook.react.uimanager.CatalystStylesDiffMap;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
8

9 10 11 12 13
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;


public class GLCanvasManager extends SimpleViewManager<GLSurfaceView> {
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
14 15 16 17 18 19 20 21 22 23 24

  public static final String REACT_CLASS = "GLCanvas";

  // TODO... props

  @Override
  public String getName() {
    return REACT_CLASS;
  }

  @Override
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
  public GLSurfaceView createViewInstance(ThemedReactContext context) {
    GLSurfaceView view = new GLSurfaceView(context);
    view.setRenderer(new GLSurfaceView.Renderer() {
      @Override
      public void onSurfaceCreated(GL10 gl, EGLConfig config) {

      }

      @Override
      public void onSurfaceChanged(GL10 gl, int width, int height) {
        gl.glViewport(0, 0, width, height);
      }

      @Override
      public void onDrawFrame(GL10 gl) {
        gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
      }
    });
    return view;
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
45 46 47
  }

  @Override
48
  public void updateView(final GLSurfaceView view, final CatalystStylesDiffMap props) {
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
49 50
    super.updateView(view, props);
    // TODO... call setters with props
51
    // view.requestRender();
Gaëtan Renaudeau's avatar
Gaëtan Renaudeau committed
52 53
  }
}