As of current SVN (r8820), this code has been moved into a separate AG_SDL_TranslateEvent() function which you can now call from your event loop to translate the SDL_Event to AG_DriverEvent.
Note that it is still safe to just copy/paste the switch() statement from AG_SDL_GetNextEvent() routine into your code, or otherwise manually initialize the AG_DriverEvent. On Wed, Jun 30, 2010 at 06:24:33PM +0200, Olivier Boudeville wrote: > Hi, > > I had a look at customeventloop.c and at > http://wiki.libagar.org/wiki/Integrating_Agar_in_an_existing_GL_application > but something remains unclear to me: I used AG_InitVideoSDL, and with > previous versions of Agar I was using in my event loop a call to > 'SDL_PollEvent( & currentEvent )' which was returning a SDL_Event that I > dispatched accordingly, possibly ending up in a 'AG_ProcessEvent( & > currentEvent ) ;'. > > I am developping a library, using mostly SDL as a back-end, and > *possibly* using Agar for the GUI. So I would like to keep as much as > possible my already-available event-management logic, which routes > (here, SDL) events to dedicated mouse/joystick/keyboard handlers; thus I > would like to avoid as much as possible the use of the Agar > encapsulation for these kinds of events (AG_PendingEvents, > AG_GetNextEvent, AG_DRIVER_MOUSE_BUTTON_DOWN, etc.), since Agar may or > may not used by the applications, and just be able to directly feed Agar > with driver-specific (SDL) events. > > How would you proceed to do so? I was thinking to using the newer > AG_ProcessEvent, however: > - first argument is the driver: I do not know what to specify here > in my case, NULL? (or a SDL-specific Agar driver?) > - second is the Agar event, I thus need a SDL to Agar Event > converter, for that I suppose I would need a subset of the code in > AG_SDL_GetNextEvent, which performs two operations: the polling and the > conversion, whereas I would need the latter only; another option would > be to use directly AG_SDL_GetNextEvent and disable my own polling, but > it would send all events to Agar, and force the rest of the library code > to deal with Agar events instead of SDL ones, whereas Agar may be disabled > > Any hint? Best approach I would see would be to move the SDL -> Agar > event conversion into a dedicated function that would be callable from > my user code. > > Thanks in advance for any advice, > Best regards, > > Olivier Boudeville. > > > _______________________________________________ > Agar mailing list > [email protected] > http://libagar.org/lists.html _______________________________________________ Agar mailing list [email protected] http://libagar.org/lists.html
