Hi,
the discussion about Few renames seems to get off-topic. However, the discussion on suppotred transformations and their purpose is highly relevant. My view of the problem:
My understanding is that transformations are intended for weird HW with (0,0) bottom-left and such. Mixing these "fixes" for unusual HW properties with convenience applications such as horizontal flip of coordinates of drawn line is ... not wise, has limited usefulness and will lead to confusion. (Note that there can be "real" matrix transformations for drawing rotated/shifted/... primitives)
What is the (intended) purpose of transformation flags on bitmaps?
Note that a general blit() that would support conversion between all pairs of pixeltypes (including palettes), bpp's (including bit-endian), axes_swap (goodbye caches if different), flip_y (easy) and flip_x (RtL vs LtR), including any combination of the last three (set all differently on src and dst ... ) is going to be ... challenging to code, optimize, debug and maintain. Most of these (almost all except same pixeltype and orientation) are going to be very expensive + hard to optimize.
My idea of the most common use-case would be to have a "global/common" setting (based on HW) of transformations and really transforming only when loading images or fonts.
Most other libraries do only simple blit, perhaps with simple format conversion. Flips are then special functions. Rotation is declared to be slow and it is easy to see when is it applied.
Best, Tomas