[1/4] gid32: Add matrix helper functions.
Ralf Habacker
ralf.habacker at freenet.de
Tue Jan 14 07:15:55 CST 2014
>On 1/7/2014 17:31, Ralf Habacker wrote:
>> Contains basic functions required by further patches
>> ---
>> dlls/gdi32/dibdrv/graphics.c | 49
>> ++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 49 insertions(+)
>>
>That should be merged with a first patch that uses it.
done http://www.winehq.org/pipermail/wine-patches/2014-January/129505.html
>> +/*
>> + check matrix for condition
>> +*/
>> +BOOL hasRotatedAndSameScaledMatrixOnly(XFORM *xform)
>> +{
>> + return xform->eM11 == xform->eM22 &&
>> + -xform->eM21 == xform->eM12;
>> +}
>> +
>Comment is telling nothing, 'xform' should be const probably.
done, see above link
>
>> + double determinant = 0;
>> +
>> + /* xform = xfrom-transposed * xform */
>> + xform->eM11 = sqrt( xform->eM11 * xform->eM11 + xform->eM21 *
xform->eM21 );
>> + xform->eM22 = sqrt( xform->eM12 * xform->eM12 + xform->eM22 *
xform->eM22 );
>> + xform->eM12 = 0;
>> + xform->eM21 = 0;
>> + xform->eDx = 0;
>> + xform->eDy = 0;
>> +
>> + if ( rotation_and_translation == NULL )
>> + return TRUE;
>> +
>> + determinant = xform->eM11 * xform->eM22;
>> +
>> + inverse_matrix_scale.eM11 = xform->eM22 / determinant;
>Is it possible to get 0 determinant here? Function never returns FALSE,
>so return value is useless.
fixed in above mentioned file.
>
>Also please follow function and variable naming conventions used in this
>file.
done, found also better names for this functions.
Regards
Ralf
More information about the wine-devel
mailing list