On Wed, 2003-10-22 at 00:54, Carsten Haitzler wrote:
> On Tue, 21 Oct 2003 18:15:02 +0200 Hallvar Helleseth <[EMAIL PROTECTED]>
> babbled:
>
> > Hi!
> >
> > Ive been fooling a bit around, adding ecore_directfb and
> > ecore_evas_directfb (mostly just copied from fb modules)
> >
> > Ive been trying hard to be able to use edje with directfb.. Ive only
> > gotten to the part where I can use the "edje" program to display it self
> > in a DirectFB surface/window. Though I find it really odd, that the only
> > graphics I see is the test programs (the part selection and the border
> > window of the edje) not the edje itself.. I modified edje_main.c to
> > display "e_logo.eet test" by default (without having to click in the
> > selection) It works well with both x11 and fb, but not directfb...
> >
> > Is there anything obvios I might have overlooked that you can tell
> > without having to look at the code I did..?
> >
> > I started out by basically just rename fb to dfb.. then added code to
> > open DirectFB and create a window, then modifed evas to use directfb
> > engine instead of fb engine.
> >
> > A note on evas too. I noticed the text objects dont work.. I tried
> > modifing code to use DirectFBs text natively instead of evases common
> > font software code. I got it to work to some extend though not
> > satisfactory (skipped difficult parts like querying positions of
> > characters and such) Is there a reason why the evas software code was
> > chosen over DirectFBs? I guess text drawing cant really be accelerated,
> > but still..
>
> it's easier to get an accurate port. ie text is 1:1 the same for every
> character, glyph, pixel, spacing, kerning etc. also you get the character
> querying for free. :)
Does your text in DirectFB-evas show up correct? Doesnt here, tried
differnt stuff with the code but just wont work....
> > My interest is to be able to run edjes in DirectFB surfaces, including
> > all the input stuff, which means a bit of work on a directfb ecore
> > module too as I understand.. Im ready to give it a go, but Ive been
> > using a bit too much time trying to understand why the "edje" program
> > only shows its own graphics and not the edje...
> >
> > sorry for the long email! and the poor english. But Ill give back fully
> > functional edje on DirectFB :) atleast Ill give it my best try!
>
> ok. check timers in ecore work. check ilders, and idle enterers work. last time
> i played with directfb the real problem was dfb didn't have select() support.
> this means i couldn't sit in a select and wait on fd's and use it as a timer
> system. i'd need to have dfb's event call wait until a timeout and have a
> separate thread do select() and then post a fake "wake up" event to the dfb
> event queue to wake up the dfb "next event" call. this was a bit of a PITA.
>
> ecore_evas uses idle handlers to render with evas. edje uses ecore_evas's
> pre_render and post_render calls to freeze then thaw the edje - which basically
> means the edje wont update change or be recalculated as long as its frozen. it
> could be this? (which would lead back to idle enterers not working and thus
> timers and idlers too). check on this. you also need to build the eet image
> loader in evas - maybe you didn't build it? try these things... maybe it'll get
> you up and running.
The problem was that DirectFB-evas couldnt load eet images.. I added
support for doing that in DirectFB-evas. Or do you think it would be a
better idea to add an eet-imageprovider to DFB? (sort of difficult with
the keys although I could try to persuade the DFB developers to let me
add support for spescifing keys)
oh and it be REALLY helpfull if evas was more verbose on errors such as
not beeing able to load an image of a certain format.. or some other
sort of error handling (or am I missing something as always..?) maybe
edje should be the one telling about the error..
Ive gotten the whole edje test program to function with input and all,
although at the moment the code is not very clean. Ill clean up quite a
bit and send a patch :)
But before that Id like to know from you if my solution to DFBs lack of
select is approriate:
- Create a unix socket (/tmp/.ecore_dfb ?), create a thread.
- in thread: connect to socket, while(wait for even) { send a byte to
socket; wait for socket to return a byte }
- the other end of the socket is connected to ecore.
- in the fd/event handler: get event, process event, send a byte to
socket (the thread receives it)
comments?
by god edje is a nice peice of work dude! im luuuvin it, dadadadadah
Hallvar Helleseth
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
enlightenment-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel