opengl-cube 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,13 +6,15 @@ class OpenGLCube
6
6
  include Glut
7
7
 
8
8
  def initialize
9
- @mouse_left_button_down = false
9
+ @mouse_left_button_down = false
10
+ @mouse_right_button_down = false
10
11
 
11
- @mouse_pos_x = 0
12
- @mouse_pos_y = 0
12
+ @mouse_pos_x = 0
13
+ @mouse_pos_y = 0
13
14
 
14
15
  @cube_angle_x = 0
15
16
  @cube_angle_y = 0
17
+ @cube_angle_z = 0
16
18
 
17
19
  # Initliaze our GLUT code
18
20
  glutInit
@@ -80,6 +82,7 @@ class OpenGLCube
80
82
  # Rotate the cube on the X, Y and Z axis
81
83
  glRotatef @cube_angle_y, 0.0, 1.0, 0.0
82
84
  glRotatef @cube_angle_x, 1.0, 0.0, 0.0
85
+ glRotatef @cube_angle_z, 0.0, 0.0, 1.0
83
86
 
84
87
  # Set it to a blue color one time only
85
88
  glBegin GL_QUADS do
@@ -161,25 +164,34 @@ class OpenGLCube
161
164
  @cube_angle_y = @mouse_pos_y - y
162
165
  @mouse_pos_x = x
163
166
  @mouse_pos_y = y
167
+ @mouse_left_button_down = false
164
168
  end
165
169
  when GLUT_RIGHT_BUTTON
166
170
  case state
167
- when GLUT_DOWN then puts "Right down"
168
- when GLUT_UP then puts "Right up"
171
+ when GLUT_DOWN
172
+ @mouse_pos_x = x
173
+ @mouse_pos_y = y
174
+ @mouse_right_button_down = true
175
+ when GLUT_UP
176
+ @cube_angle_z = @mouse_pos_x - x
177
+ @mouse_right_button_down = false
169
178
  end
170
179
  end
171
180
  glutPostRedisplay
172
181
  end
173
182
 
174
183
  def motion x, y
175
- if @mouse_left_button_down
176
- @cube_angle_y = @mouse_pos_x - x
177
- @cube_angle_x = @mouse_pos_y - y
178
- end
184
+ if @mouse_left_button_down
185
+ @cube_angle_y = @mouse_pos_x - x
186
+ @cube_angle_x = @mouse_pos_y - y
187
+ elsif @mouse_right_button_down
188
+ @cube_angle_z = @mouse_pos_x - x
189
+ end
179
190
  end
180
191
 
181
192
  def passive_motion x, y
182
193
  end
183
194
  end
184
195
 
185
- OpenGLCube.new if $0 == __FILE__
196
+ OpenGLCube.new if $0 == __FILE__
197
+
@@ -1,10 +1,14 @@
1
- require 'test/unit'
2
- require 'hola'
1
+ require 'rubygems'
2
+ require 'opengl/test_case'
3
+ require 'gl'
4
+ require 'glut'
5
+ include Gl
6
+ include Glut
3
7
 
4
- class OpenGLCubeTest < Test::Unit::TestCase
8
+ class OpenGLCubeTest < OpenGL::TestCase
5
9
  def setup
6
10
  end
7
11
 
8
12
  def teardown
9
13
  end
10
- end
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opengl-cube
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: