Hi, 

has anybody ever thought about adding support for being able to specify
sub pixel positions to all the DirectFB draw/blit etc. routines?

It seems this can be added relatively painlessly using a 16.16
representation.

Why 16.16? We do, but many embedded CPUs still don't have any floating
point support. 16.16 is already used for Matrix conversions, so it would
make sense to stick to one representation throughout DirectFB instead of
using multiple different ones. OpenGL ES 1.1 (and I assume ES 2.0, too)
uses 16.16, as well and it also integrates perfectly with the
existing ints, so no ABI changes or disruptive API additions would be
necessary.

What do you think?


Since the mailing list didn't work for the last few days, I actually
started and almost finished my implementation, which is completely
transparent to applications if they don't want to use it, and so far it
looks good...
Basically, I added a new drawing and blitting flag, which specify if
parameters are fixed point 16.16 or of the old type. Internally,
everything is using a 16.16 representation and parameters get converted
if necessary, i.e. for API users which don't have
DSDRAW_FIXED_POINT/DSBLIT_FIXED_POINT set.
gfx drivers can announce support for fixed point and if they don't
support this, DirectFB core converts parameters back to old style before
passing on to the gfx driver.

Obviously, my approach limits the maximum surface size to 16 bits, but
given that no surfaces larger than 20480x20480 can be created today in
DirectFB I don't see this as a limitation.



Cheers,
Andre'


_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to