/Research/Example projects/CameraTest/src/com/example/Cursor.java

https://bitbucket.org/DeveloperUX/behaviortree · Java · 66 lines · 55 code · 10 blank · 1 comment · 1 complexity · bd3fa1336548119533ae2cde97a67f1d MD5 · raw file

  1. package com.example;
  2. import java.nio.ByteBuffer;
  3. import java.nio.ByteOrder;
  4. import java.nio.FloatBuffer;
  5. import javax.microedition.khronos.egl.EGLConfig;
  6. import javax.microedition.khronos.opengles.GL10;
  7. import android.opengl.GLSurfaceView;
  8. import android.opengl.GLU;
  9. public class Cursor {
  10. public int x;
  11. public int y;
  12. public int rx;
  13. public int by;
  14. public boolean bHasToBeOnScreen;
  15. float[] square = new float[]
  16. { 10f, 10f, 0.0f,
  17. -10f, 10f, 0.0f,
  18. 10f, -10f, 0.0f,
  19. -10f, -10f, 0.0f };
  20. FloatBuffer floatBuff;
  21. public Cursor(int x, int y, boolean onScreen)
  22. {
  23. this.x = x;
  24. this.y = y;
  25. this.rx = x + 20;
  26. this.by = y + 20;
  27. this.bHasToBeOnScreen = onScreen;
  28. floatBuff = makeFloatBuffer(square);
  29. }
  30. protected static FloatBuffer makeFloatBuffer(float[] arr)
  31. {
  32. ByteBuffer bb = ByteBuffer.allocateDirect(arr.length*4);
  33. bb.order(ByteOrder.nativeOrder());
  34. FloatBuffer fb = bb.asFloatBuffer();
  35. fb.put(arr);
  36. fb.position(0);
  37. return fb;
  38. }
  39. public void Draw(GL10 gl)
  40. {
  41. gl.glPushMatrix();
  42. if(bHasToBeOnScreen)
  43. {
  44. gl.glColor4f(0.5f, 0.5f, 0, 0.5f);
  45. }
  46. else
  47. {
  48. gl.glColor4f(0, 0.5f, 0.5f, 0.5f);
  49. }
  50. gl.glTranslatef(x,y,0);
  51. gl.glVertexPointer(3, GL10.GL_FLOAT, 0, floatBuff);
  52. //gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
  53. gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4);
  54. gl.glPopMatrix();
  55. }
  56. }