Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.nk33785.project3;
- import android.content.Context;
- import android.opengl.GLSurfaceView;
- import android.util.AttributeSet;
- import android.view.MotionEvent;
- public class Surface extends GLSurfaceView {
- //region Fields
- private final float TOUCH_SCALE_FACTOR = 180.0f/32000;
- public float r, g, b, a;
- private MyRenderer renderer;
- private float previousX, previousY;
- //endregion
- //region Properties
- public setNewRenderer(MyRenderer renderer) {
- this.renderer = renderer;
- setRenderer(this.renderer);
- }
- //endregion
- //region Constructor
- public Surface(Context context) {
- super(context);
- init();
- }
- public Surface(Context context, AttributeSet attrs) {
- super(context, attrs);
- init();
- }
- private void init() {
- setEGLContextClientVersion(2);
- setNewRenderer(new Renderer(1, 0, 0, 1));
- setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
- }
- //endregion
- //region Methods
- @Override
- public boolean onTouchEvent(MotionEvent e) {
- float x = e.getX();
- float y = e.getY();
- switch (e.getAction()) {
- case MotionEvent.ACTION_MOVE:
- float dx = x - previousX;
- float dy = x - previousY;
- if (y > getHeight()/2)
- dx *= -1;
- if (x < getWidth()/2)
- dy *= -1;
- renderer.angle += (dx + dy) * TOUCH_SCALE_FACTOR;
- requestRender();
- break;
- }
- previousX = x;
- previousY = y;
- return true;
- }
- //endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement