Difference for arch/linux/ggi/event.c from version 1.2 to 1.3


version 1.2 version 1.3
Line 1
 
Line 1
 #include <stdio.h>  #include <stdio.h>
 #include <sys/time.h>  #include <sys/time.h>
 #include <ggi/ggi.h>  #include <ggi/gii.h>
   #include <string.h>
 #include "event.h"  #include "event.h"
   #include "error.h"
 #include "fix.h"  #include "fix.h"
   
 static int initialised=0;  static int initialised=0;
   
   #ifdef GGI_VIDEO
   #include <ggi/ggi.h>
 extern ggi_visual_t *screenvis;  extern ggi_visual_t *screenvis;
   #endif
 gii_input_t inputs;  gii_input_t inputs;
   
 extern void keyboard_handler(int key, ubyte state);  extern void keyboard_handler(int key, ubyte state);
Line 22
 
Line 27
   
  if (!initialised)   if (!initialised)
  event_init();   event_init();
    if (inputs==NULL)
    return;
   // Error("GII error: no inputs (perhaps you need to set GII_INPUT env var)\n");
   
  tv.tv_sec = 0;   tv.tv_sec = 0;
  tv.tv_usec = 0;   tv.tv_usec = 0;
Line 59
 
Line 67
   
 void event_close()  void event_close()
 {  {
    if (inputs)
  giiClose(inputs);   giiClose(inputs);
  giiExit();   giiExit();
 }  }
   
   #ifdef GII_XWIN
   int gii_xwin_initialized=0;
   #include <ggi/input/xwin.h>
   //void lock_nothing(void){return;}
   void init_gii_xwin(Display *disp,Window win){
    printf("gii xwin %i %i\n",initialised,gii_xwin_initialized);
    if (!initialised)
    event_init();
    if (gii_xwin_initialized){
    gii_event ev;
    gii_xwin_cmddata_setparam *giiargs=(gii_xwin_cmddata_setparam *) &ev.cmd.data;
    memset(&ev,0,sizeof(gii_cmd_nodata_event)+sizeof(gii_xwin_cmddata_setparam));
    ev.cmd.code=GII_CMDCODE_XWINSETPARAM;
    ev.any.type = evCommand;
    ev.any.size=sizeof(gii_cmd_nodata_event)+sizeof(gii_xwin_cmddata_setparam);
    giiargs->win=win;
    giiEventSend(inputs,&ev);
    }else{
    gii_input_t inputs2;
    gii_inputxwin_arg giiargs;
    memset(&giiargs,0,sizeof(giiargs));
    giiargs.disp=disp;
    giiargs.win=win;
    //giiargs.gglock=lock_nothing;
    inputs2=giiOpen("xwin",&giiargs,NULL);
    if (inputs2){
    gii_xwin_initialized=1;
    if (inputs)
    inputs=giiJoinInputs(inputs,inputs2);
    else
    inputs=inputs2;
    }
    }
   }
   #endif
   
 int event_init()  int event_init()
 {  {
    if (!initialised){
  giiInit();   giiInit();
  if (!initialised)  #ifdef GGI_VIDEO
  inputs = ggiJoinInputs(screenvis, NULL);   inputs = ggiJoinInputs(screenvis, NULL);
   #else
    inputs=giiOpen(NULL);
   #endif
  initialised = 1;   initialised = 1;
  atexit(event_close);   atexit(event_close);
    }
  return 0;   return 0;
 }  }

Legend:
line(s) removed in v.1.2 
line(s) changed
 line(s) added in v.1.3