23/10/2008, 05:56
|
|
Respuesta: Problema, opengl, Glut y Rubberband No sé si acabo de entender del todo qué es lo que estás intentando hacer con alguna de las variables que utilizas. Pero he visto algunas cosas... extrañas.
Te las digo con algo de duda; si no es así, explícamelo :)
1. Hay un problema al calcular el tamaño.
Por lo que entiendo que haces, básicamente cuando aprieta el botón (p.ej. en x=100, y=50)...
-> Se ejecuta mouse que:
--> pone valor = y es decir, valor = 50
--> llama a drawSquare(x,y) que:
-----> y = h - y es decir y = 399
-----> size = (h - valor - y) / 2 = (449 - 50 - 399) / 2 = 0
(visto de otro modo size = (h - valor - y) / 2 = (h - y - (h - y)) / 2 = 0 sea donde sea que pinchemos)
Es decir, que cuando se aprieta el botón en cualquier sitio size siemrpe termina siendo 0. Con lo que intentas siempre pintar un rectángulo de tamaño 0.
2. Me confunde un poco que hagas: glutPassiveMotionFunc(drawSquare);
¿Para qué haces esto? Lo pregunto porque glutPassiveMotionFunc va a hacer que se llame a drawSquare siempre que el ratón pasa por encima sin ningún botón pulsado. Pero en ese caso, moving va a ser 0 y entonces drawSquare no hace nada.
Así que no entiendo muy bien por qué haces eso. |