[PATCH v2 5/7] gdi32: Use NtGdiBitBlt for BitBlt.

Jacek Caban jacek at codeweavers.com
Thu Aug 12 04:52:37 CDT 2021


On 8/12/21 11:43 AM, Dmitry Timoshkov wrote:
>>   /***********************************************************************
>>    *           BitBlt    (GDI32.@)
>>    */
>> -BOOL WINAPI DECLSPEC_HOTPATCH BitBlt( HDC hdcDst, INT xDst, INT yDst, INT width,
>> -                                      INT height, HDC hdcSrc, INT xSrc, INT ySrc, DWORD rop )
>> +BOOL WINAPI NtGdiBitBlt( HDC hdc_dst, INT x_dst, INT y_dst, INT width, INT height,
>> +                         HDC hdc_src, INT x_src, INT y_src, DWORD rop, DWORD bk_color, FLONG fl )
>>   {
>> -    if (!rop_uses_src( rop )) return PatBlt( hdcDst, xDst, yDst, width, height, rop );
>> -    else return StretchBlt( hdcDst, xDst, yDst, width, height,
>> -                            hdcSrc, xSrc, ySrc, width, height, rop );
>> +    return NtGdiStretchBlt( hdc_dst, x_dst, y_dst, width, height,
>> +                            hdc_src, x_src, y_src, width, height, rop, bk_color );
>>   }
> ...
>> +/***********************************************************************
>> + *           BitBlt    (GDI32.@)
>> + */
>> +BOOL WINAPI BitBlt( HDC hdc_dst, INT x_dst, INT y_dst, INT width, INT height,
>> +                    HDC hdc_src, INT x_src, INT y_src, DWORD rop )
>> +{
>> +    DC_ATTR *dc_attr;
>> +
>> +    if (is_meta_dc( hdc_dst )) return METADC_BitBlt( hdc_dst, x_dst, y_dst, width, height,
>> +                                                 hdc_src, x_src, y_src, rop );
>> +    if (!(dc_attr = get_dc_attr( hdc_dst ))) return FALSE;
>> +    if (dc_attr->emf && !EMFDC_BitBlt( dc_attr, x_dst, y_dst, width, height,
>> +                                       hdc_src, x_src, y_src, rop ))
>> +        return FALSE;
>> +    return NtGdiBitBlt( hdc_dst, x_dst, y_dst, width, height,
>> +                        hdc_src, x_src, y_src, rop, 0 /* FIXME */, 0 /* FIXME */ );
>> +}
> This effectively reverts cde2fbb08e2810572ed393afb2f7939959eb3bd9.
> What is the reason for that?


It wasn't intentional, I will send another version.


Thanks,

Jacek




More information about the wine-devel mailing list