[2/4] gdi32: Fix text rotation problem in GM_ADVANCED graphics mode.

Ralf Habacker ralf.habacker at freenet.de
Tue Jan 14 07:18:46 CST 2014


>On 1/7/2014 17:33, Ralf Habacker wrote:
>> This patch detects operational condition first and then removes
>> temporary rotation from the world transform.
>> Bug: http://bugs.winehq.org/show_bug.cgi?id=33190
>> ---
>>   dlls/gdi32/font.c | 19 +++++++++++++++++++
>>   1 file changed, 19 insertions(+)
>>
>> +    XFORM old;
>> +    BOOL exclude_rotation = FALSE;
>> +    if ( GetGraphicsMode( hdc ) == GM_ADVANCED )
>> +    {
>> +        GetWorldTransform( hdc, &old );
>> +        XFORM xf = old;
>> +        if ( hasRotatedAndSameScaledMatrixOnly( &xf ) )
>> +        {
>> +            exclude_rotation = TRUE;
>> +            removeRotationFromMatrix( &xf, NULL );
>> +            SetWorldTransform( hdc, &xf );
>> +        }
>> +    }
>> +
>Flag really means do we need to restore transform or not.

done http://www.winehq.org/pipermail/wine-patches/2014-January/129513.html

>
>> +    if ( GetGraphicsMode( hdc ) == GM_ADVANCED && exclude_rotation
== TRUE )
>> +    {
>> +        SetWorldTransform( hdc, &old );
>> +    }
>> +
>Doesn't look like you need to check a mode again.

done, see above link

Regards
 Ralf




More information about the wine-devel mailing list