If the user is looking to embed Soya in a QT or GTK app, they can probably
handle getting events from QT or GTK. My limited experience says it isn't
that hard; you just have to know where the documentation on it is
(admittedly, that might be a bit of a trick for those new to programming).

If all they need is windowed instead of fullscreen, then maybe soya should
be adjusted...

On Jan 28, 2008 2:24 PM, Souvarine <[EMAIL PROTECTED]> wrote:

> Hello soya users :)
>
> There have been many people on IRC who have asked how to render soya in
> a QT or GTK widget so I decided to try it and to make some tutorials
> about it. I've managed to use soya into a PyQT 4 opengl widget, you can
> get a screenshot here
> http://aliasrobotique.org/~souvarine/soyaqt1.png<http://aliasrobotique.org/%7Esouvarine/soyaqt1.png>
> This is the basic-2 tutorial with the rotating sword but into QT. the
> button start or stop the rotation of the sword, it works very well.
>
> Problem is that I couldn't make it without hacking soya sources a bit. I
> think we should modify soya a bit to make this easier. Here you can find
> my tutorial and the two soya source files I had to modify to make it
> work (init.pyx and mainloop.pyx).
> http://aliasrobotique.org/~souvarine/soya_qt_test.tar.gz<http://aliasrobotique.org/%7Esouvarine/soya_qt_test.tar.gz>
>
> In init.pyx I added two functions, set_video_size() that set the size of
> the rendering surface in opengl and set_stencil() that set the depth of
> the stencil buffer. In mainloop.pyx I've moved the "for i in
> BEFORE_RENDER: i()" out the render() method. I couldn't figure out why
> this had to be in this method, so I put it in main_loop() and update()
> instead.
>
> Those modifications seems pretty dirty to me, I would like to find a way
> to make all this cleaner so I'm asking for your opinion :)
>
>
> Something else that bother me, after adapting the basic-2 tutorial to QT
> I've tried to do the same with basic-5 and basic-6 to see how to deal
> with keyboard and mouse events. Since no SDL surface is created, SDL
> don't catch any event. I've tried to make a QT to SDL event conversion,
> using SDL_Push_event() to send the event I got from QT into SDL queue so
> that they can be retrieved with soya.process_event(). It didn't work. I
> figured out that when SDL_VIDEO is not inited the SDL queue is disabled.
>
> I wonder what should be done here. Let the user know that if he choose
> to use soya in some GUI system soya.process_event() wont work and he
> will have to deal with event by himself ? Or provide some other way to
> send fake SDL event (like a soya.push_event() function) ?
>
> Once again I'm asking for your opinion.
>
> Souvarine.
>
>
> _______________________________________________
> Soya-user mailing list
> Soya-user@gna.org
> https://mail.gna.org/listinfo/soya-user
>



-- 
D.B., "Proegssilb"
_______________________________________________
Soya-user mailing list
Soya-user@gna.org
https://mail.gna.org/listinfo/soya-user

Reply via email to