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