Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Puntoinfinito en 15 Abril 2013, 23:06 pm



Título: Evento clic y zona de texto SDL
Publicado por: Puntoinfinito en 15 Abril 2013, 23:06 pm
Hola chicos!!

Una pregunta, bueno dos. La primera; como se podría hacer en SDL que detectara la zona donde el usuario dio un clic. Se me han ocurrido diferentes maneras. Como por ejemplo:

En el bucle de events se mira si se ha dado clic derecho con un SDL_MouseButtonEvent y una vez esto se cogen las coordenadas del ratón, (esto no se como se tendría que hacer) . Seguidamente se compara y se hace una cosa u otra según donde se haya apretado:

Código
  1. int accion(Uint16 X, Uint16 Y)
  2.   {
  3.      /* BOTON 1 */
  4.      if ((X >= 915 && Y >= 685) && (X <= 1024 && Y <= 718)) {
  5.         funcion01(arg1, arg2, ...);
  6.      }
  7.      /* BOTON 2 */
  8.      else if ((X >= 915 && Y >= 648) && (X <= 1024 && Y <= 682)) {
  9.         funcion02(arg1, arg2, ...);
  10.      }
  11.      /* BOTON 3 */
  12.      else if ((X >= 915 && Y >= 614) && (X <= 1024 && Y <= 646)) {
  13.         funcion03(arg1, arg2, ...);
  14.      }
  15.      /* BOTON SALIR */
  16.      else if ((X >= 915 && Y >= 578) && (X <= 1024 && Y <= 610)) {
  17.         return 1;
  18.      }
  19.      return 0;
  20.   }

La otra pregunta es, como se puede hacer para insertar como un "campo de texto" en SDL para que el usuario pueda insertar cadenas de texto? Supongo que se hará combinando librerías (SDL+ Qwt o Qt)

Saludos!!