Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-fonts
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Aleksandr Isakov
wine-fonts
Commits
3a1194ed
Commit
3a1194ed
authored
Aug 05, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Always use BI_BITFIELDS for 16-bpp in GetImage.
parent
c668354c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
17 additions
and
17 deletions
+17
-17
bitmap.c
dlls/gdi32/bitmap.c
+8
-0
dc.c
dlls/gdi32/dibdrv/dc.c
+8
-15
bitblt.c
dlls/winex11.drv/bitblt.c
+1
-2
No files found.
dlls/gdi32/bitmap.c
View file @
3a1194ed
...
...
@@ -67,6 +67,14 @@ DWORD nulldrv_GetImage( PHYSDEV dev, HBITMAP hbitmap, BITMAPINFO *info,
info
->
bmiHeader
.
biYPelsPerMeter
=
0
;
info
->
bmiHeader
.
biClrUsed
=
0
;
info
->
bmiHeader
.
biClrImportant
=
0
;
if
(
bmp
->
bitmap
.
bmBitsPixel
==
16
)
{
DWORD
*
masks
=
(
DWORD
*
)
info
->
bmiColors
;
masks
[
0
]
=
0x7c00
;
masks
[
1
]
=
0x03e0
;
masks
[
2
]
=
0x001f
;
info
->
bmiHeader
.
biCompression
=
BI_BITFIELDS
;
}
if
(
!
bits
)
goto
done
;
height
=
src
->
visrect
.
bottom
-
src
->
visrect
.
top
;
...
...
dlls/gdi32/dibdrv/dc.c
View file @
3a1194ed
...
...
@@ -339,6 +339,8 @@ static BOOL dibdrv_DeleteDC( PHYSDEV dev )
static
void
set_color_info
(
const
dib_info
*
dib
,
BITMAPINFO
*
info
)
{
DWORD
*
masks
=
(
DWORD
*
)
info
->
bmiColors
;
info
->
bmiHeader
.
biCompression
=
BI_RGB
;
info
->
bmiHeader
.
biClrUsed
=
0
;
...
...
@@ -355,19 +357,14 @@ static void set_color_info( const dib_info *dib, BITMAPINFO *info )
}
break
;
case
16
:
if
(
dib
->
funcs
!=
&
funcs_555
)
{
DWORD
*
masks
=
(
DWORD
*
)
info
->
bmiColors
;
masks
[
0
]
=
dib
->
red_mask
;
masks
[
1
]
=
dib
->
green_mask
;
masks
[
2
]
=
dib
->
blue_mask
;
info
->
bmiHeader
.
biCompression
=
BI_BITFIELDS
;
}
masks
[
0
]
=
dib
->
red_mask
;
masks
[
1
]
=
dib
->
green_mask
;
masks
[
2
]
=
dib
->
blue_mask
;
info
->
bmiHeader
.
biCompression
=
BI_BITFIELDS
;
break
;
case
32
:
if
(
dib
->
funcs
!=
&
funcs_8888
)
{
DWORD
*
masks
=
(
DWORD
*
)
info
->
bmiColors
;
masks
[
0
]
=
dib
->
red_mask
;
masks
[
1
]
=
dib
->
green_mask
;
masks
[
2
]
=
dib
->
blue_mask
;
...
...
@@ -417,12 +414,8 @@ static DWORD dibdrv_GetImage( PHYSDEV dev, HBITMAP hbitmap, BITMAPINFO *info,
}
break
;
case
16
:
if
(
bmp
->
dib
->
dsBmih
.
biCompression
==
BI_BITFIELDS
&&
memcmp
(
bmp
->
dib
->
dsBitfields
,
bit_fields_555
,
sizeof
(
bmp
->
dib
->
dsBitfields
)
))
{
info
->
bmiHeader
.
biCompression
=
BI_BITFIELDS
;
memcpy
(
info
->
bmiColors
,
bmp
->
dib
->
dsBitfields
,
sizeof
(
bmp
->
dib
->
dsBitfields
)
);
}
info
->
bmiHeader
.
biCompression
=
BI_BITFIELDS
;
memcpy
(
info
->
bmiColors
,
bmp
->
dib
->
dsBitfields
,
sizeof
(
bmp
->
dib
->
dsBitfields
)
);
break
;
case
32
:
if
(
bmp
->
dib
->
dsBmih
.
biCompression
==
BI_BITFIELDS
&&
...
...
dlls/winex11.drv/bitblt.c
View file @
3a1194ed
...
...
@@ -1641,8 +1641,7 @@ static void set_color_info( PHYSDEV dev, const ColorShifts *color_shifts, BITMAP
colors
[
0
]
=
color_shifts
->
logicalRed
.
max
<<
color_shifts
->
logicalRed
.
shift
;
colors
[
1
]
=
color_shifts
->
logicalGreen
.
max
<<
color_shifts
->
logicalGreen
.
shift
;
colors
[
2
]
=
color_shifts
->
logicalBlue
.
max
<<
color_shifts
->
logicalBlue
.
shift
;
if
(
colors
[
0
]
!=
0x7c00
||
colors
[
1
]
!=
0x03e0
||
colors
[
2
]
!=
0x001f
)
info
->
bmiHeader
.
biCompression
=
BI_BITFIELDS
;
info
->
bmiHeader
.
biCompression
=
BI_BITFIELDS
;
break
;
case
32
:
colors
[
0
]
=
color_shifts
->
logicalRed
.
max
<<
color_shifts
->
logicalRed
.
shift
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment