• Bartosz Kosiorek's avatar
    gdiplus: Improve performance of DrawImagePointsRect by avoid TransformMatrixPoints. · f898f206
    Bartosz Kosiorek authored
    Using TransformMatrixPoints is not needed and all values could
    be taken from transformation matrix:
     - ShearX from m11, m12
     - ShearY from m21, m22
     - Translation mdx, mdy
    
    The result could be calculated by taking destination points values:
     {{0.0, 0.0}, {1.0, 0.0}, {0.0, 1.0}}
    
    and calculating it with GdipTransformMatrixPoints function:
      dst_to_src_points[0].X = dst_to_src.matrix[4];
      dst_to_src_points[0].Y = dst_to_src.matrix[5];
      dst_to_src_points[1].X = dst_to_src.matrix[0] + dst_to_src.matrix[4];
      dst_to_src_points[1].Y = dst_to_src.matrix[1] + dst_to_src.matrix[5];
      dst_to_src_points[2].X = dst_to_src.matrix[2] + dst_to_src.matrix[4];
      dst_to_src_points[2].Y = dst_to_src.matrix[3] + dst_to_src.matrix[5];
    f898f206
Name
Last commit
Last update
..
tests Loading commit data...
Makefile.in Loading commit data...
brush.c Loading commit data...
customlinecap.c Loading commit data...
font.c Loading commit data...
gdiplus.c Loading commit data...
gdiplus.manifest Loading commit data...
gdiplus.rc Loading commit data...
gdiplus.spec Loading commit data...
gdiplus11.manifest Loading commit data...
gdiplus_private.h Loading commit data...
graphics.c Loading commit data...
graphicspath.c Loading commit data...
image.c Loading commit data...
imageattributes.c Loading commit data...
matrix.c Loading commit data...
metafile.c Loading commit data...
pathiterator.c Loading commit data...
pen.c Loading commit data...
region.c Loading commit data...
stringformat.c Loading commit data...