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

Reply via email to