/** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    gestureDetector = new GestureDetector(this, new GlAppGestureListener(this));

    surface = new GLSurfaceView(this);
    renderer = new GlRenderer(this);

    Bundle extras = getIntent().getExtras();

    renderer.SetExampleNum(extras.getInt(EXAMPLE_NAME));

    if ((renderer.GetExampleNum() == 5)
        || (renderer.GetExampleNum() == 7)
        || (renderer.GetExampleNum() == 6)) {
      Context context = getApplicationContext();
      Toast toast = Toast.makeText(context, "Используйте двойной клик", Toast.LENGTH_LONG);
      toast.setGravity(Gravity.BOTTOM, 0, 50);
      toast.show();
    }

    if (renderer.GetExampleNum() == 4) {
      Context context = getApplicationContext();
      Toast toast = Toast.makeText(context, "Нажмите и проведите", Toast.LENGTH_LONG);
      toast.setGravity(Gravity.BOTTOM, 0, 50);
      toast.show();
    }

    surface.setRenderer(renderer);
    setContentView(surface);
  }
Example #2
0
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
   switch (keyCode) {
     case KeyEvent.KEYCODE_L:
       GlRenderer.toggleLighting();
       break;
     case KeyEvent.KEYCODE_F:
       GlRenderer.switchToNextFilter();
       break;
     case KeyEvent.KEYCODE_B:
       GlRenderer.toggleBlending();
       break;
     case KeyEvent.KEYCODE_DPAD_CENTER:
       GlRenderer.xSpeed = GlRenderer.ySpeed = 0;
       break;
     case KeyEvent.KEYCODE_DPAD_LEFT:
       GlRenderer.ySpeed -= 0.1f;
       break;
     case KeyEvent.KEYCODE_DPAD_RIGHT:
       GlRenderer.ySpeed += 0.1f;
       break;
     case KeyEvent.KEYCODE_DPAD_UP:
       GlRenderer.xSpeed -= 0.1f;
       break;
     case KeyEvent.KEYCODE_DPAD_DOWN:
       GlRenderer.xSpeed += 0.1f;
       break;
   }
   return super.onKeyDown(keyCode, event);
 }
 @Override
 void setup(int width, int height) {
   super.setup(width, height);
   if (mVsyncDisabled) {
     disableVsync();
   }
 }
 @Override
 void destroy(boolean full) {
   try {
     super.destroy(full);
   } finally {
     if (full && mGlCanvas != null) {
       mGlCanvas = null;
     }
   }
 }
  @Override
  public boolean onTouchEvent(MotionEvent event) {
    if (gestureDetector.onTouchEvent(event)) {
      return true;
    }

    int action = event.getAction();

    if (renderer.GetExampleNum() == 4) {
      if ((action == MotionEvent.ACTION_DOWN) | (action == MotionEvent.ACTION_UP)) {
        tx = event.getX();
        ty = event.getY();
      }

      if (action == MotionEvent.ACTION_MOVE) {
        renderer.ChangeLightPosition(0.5f * (event.getX() - tx), 0.5f * (event.getY() - ty));

        tx = event.getX();
        ty = event.getY();
      }
    }

    return super.onTouchEvent(event);
  }