New commits:
http://git.directfb.org/?p=core/DirectFB.git;a=commit;h=4a9192368170e7fbc39adfa6de63cd641ecb06cd
commit 4a9192368170e7fbc39adfa6de63cd641ecb06cd
Author: Andreas Shimokawa <[email protected]>
Date:   Thu Oct 6 15:06:43 2011 +0200

    gfx/generic: handle all combinations of DSBLIT_ROTATE_ and DSBLIT_FLIP_ 
when clipping and in gBlit()
    
    It is now possible to specify all possible 32 combinations of
    DSBLIT_ROTATE90, DSBLIT_ROTATE180, DSBLIT_ROTATE270,
    DSBLIT_FLIP_HORIZONTAL and DSBLIT_FLIP_VERTICAL
    
    These 32 combinations melt down to 8 unique, this can is done by
    dfb_simplify_blittingflags() which strips DSBLIT_ROTATE180 and
    DSBLIT_ROTATE270 and creates a combination of:
    
    DSBLIT_FLIP_HORIZONTAL
    DSBLIT_FLIP_VERTICAL
    DSBLIT_ROTATE90
    
    This greatly simplyfies code that has to handle all these combinations.
    
    For compatibilty reasons the full combination of flags is still passed
    to hardware drivers. Drivers could call dfb_simplify_blittingflags()
    themselves.
    
    On the long run this should already be done straight after 
SetBlittingFlags()
    in the core, so that DSBLIT_ROTATE_270 and DSBLIT_ROTATE_180 vanish
    completely inside the core and the drivers.
    
    This patch also fixes crashes, clipping and blitting errors when specifying
    some compinations of rotation and flipping flags and implements the
    remaining two cases of the 8 possible (rotation with horizontal or vertical
    flipping) in gBlit() and dfb_clip_blit_flipped_rotated()

 src/core/gfxcard.c             |   32 ++++++++----
 src/gfx/clip.c                 |  100 +++++++++++++++++----------------------
 src/gfx/generic/generic.h      |    2 +
 src/gfx/generic/generic_blit.c |   50 +++++++++++++++-----
 src/gfx/generic/generic_util.c |    6 ++
 src/gfx/util.h                 |   20 ++++++++
 6 files changed, 131 insertions(+), 79 deletions(-)

_______________________________________________
directfb-cvs mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-cvs

Reply via email to