/tutorial/vision/opengl/example4.e

http://github.com/tybor/Liberty · Specman e · 50 lines · 37 code · 13 blank · 0 comment · 0 complexity · 9c5c9e022c832ff8819f6d5a2776d3bc MD5 · raw file

  1. class EXAMPLE4
  2. inherit
  3. GRAPHIC
  4. creation
  5. make
  6. feature{ANY}
  7. world : INTERACTIVE_WORLD
  8. pyramid : PYRAMID
  9. win: FULLSCREEN_WINDOW
  10. angle : REAL
  11. make is
  12. local
  13. anim : SIMPLE_PERIODIC_JOB
  14. do
  15. create win
  16. win.map
  17. create world.make_interactive(win, agent finish_program)
  18. create pyramid.make_with_position(0, 0, -6)
  19. world.add_opaque_object(pyramid)
  20. win.when_close_requested(agent finish_program)
  21. create anim.set_work(agent turn, Void, 1, 0.01)
  22. vision.loop_stack.add_job(anim)
  23. vision.start
  24. end
  25. turn : BOOLEAN is
  26. do
  27. angle := angle + 2
  28. pyramid.turn(angle, -angle)
  29. world.display_gl
  30. Result := True
  31. end
  32. finish_program is
  33. do
  34. vision.loop_stack.break
  35. win.destroy
  36. end
  37. end