Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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
wine
wine-winehq
Commits
f284f597
Commit
f284f597
authored
Nov 14, 2011
by
Huw Davies
Committed by
Alexandre Julliard
Nov 14, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Move the ETO_OPAQUE rectangle drawing to the dib driver.
parent
5990091b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
1 deletion
+44
-1
dc.c
dlls/gdi32/dibdrv/dc.c
+1
-1
dibdrv.h
dlls/gdi32/dibdrv/dibdrv.h
+2
-0
graphics.c
dlls/gdi32/dibdrv/graphics.c
+41
-0
No files found.
dlls/gdi32/dibdrv/dc.c
View file @
f284f597
...
...
@@ -566,7 +566,7 @@ const struct gdi_dc_funcs dib_driver =
NULL
,
/* pExtEscape */
NULL
,
/* pExtFloodFill */
NULL
,
/* pExtSelectClipRgn */
NULL
,
/* pExtTextOut */
dibdrv_ExtTextOut
,
/* pExtTextOut */
NULL
,
/* pFillPath */
NULL
,
/* pFillRgn */
NULL
,
/* pFlattenPath */
...
...
dlls/gdi32/dibdrv/dibdrv.h
View file @
f284f597
...
...
@@ -110,6 +110,8 @@ extern BOOL dibdrv_AlphaBlend( PHYSDEV dst_dev, struct bitblt_coords *dst,
PHYSDEV
src_dev
,
struct
bitblt_coords
*
src
,
BLENDFUNCTION
blend
)
DECLSPEC_HIDDEN
;
extern
DWORD
dibdrv_BlendImage
(
PHYSDEV
dev
,
BITMAPINFO
*
info
,
const
struct
gdi_image_bits
*
bits
,
struct
bitblt_coords
*
src
,
struct
bitblt_coords
*
dst
,
BLENDFUNCTION
func
)
DECLSPEC_HIDDEN
;
extern
BOOL
dibdrv_ExtTextOut
(
PHYSDEV
dev
,
INT
x
,
INT
y
,
UINT
flags
,
const
RECT
*
rect
,
LPCWSTR
str
,
UINT
count
,
const
INT
*
dx
)
DECLSPEC_HIDDEN
;
extern
DWORD
dibdrv_GetImage
(
PHYSDEV
dev
,
HBITMAP
hbitmap
,
BITMAPINFO
*
info
,
struct
gdi_image_bits
*
bits
,
struct
bitblt_coords
*
src
)
DECLSPEC_HIDDEN
;
extern
COLORREF
dibdrv_GetPixel
(
PHYSDEV
dev
,
INT
x
,
INT
y
)
DECLSPEC_HIDDEN
;
...
...
dlls/gdi32/dibdrv/graphics.c
View file @
f284f597
...
...
@@ -56,6 +56,47 @@ static RECT get_device_rect( HDC hdc, int left, int top, int right, int bottom,
return
rect
;
}
/**********************************************************************
* get_text_bkgnd_masks
*
* See the comment above get_pen_bkgnd_masks
*/
static
inline
void
get_text_bkgnd_masks
(
const
dibdrv_physdev
*
pdev
,
rop_mask
*
mask
)
{
mask
->
and
=
0
;
if
(
pdev
->
dib
.
bit_count
!=
1
)
mask
->
xor
=
pdev
->
bkgnd_color
;
else
{
mask
->
xor
=
~
pdev
->
text_color
;
if
(
GetTextColor
(
pdev
->
dev
.
hdc
)
==
GetBkColor
(
pdev
->
dev
.
hdc
))
mask
->
xor
=
pdev
->
text_color
;
}
}
/***********************************************************************
* dibdrv_ExtTextOut
*/
BOOL
dibdrv_ExtTextOut
(
PHYSDEV
dev
,
INT
x
,
INT
y
,
UINT
flags
,
const
RECT
*
rect
,
LPCWSTR
str
,
UINT
count
,
const
INT
*
dx
)
{
PHYSDEV
next
=
GET_NEXT_PHYSDEV
(
dev
,
pExtTextOut
);
dibdrv_physdev
*
pdev
=
get_dibdrv_pdev
(
dev
);
if
(
flags
&
ETO_OPAQUE
)
{
rop_mask
bkgnd_color
;
get_text_bkgnd_masks
(
pdev
,
&
bkgnd_color
);
solid_rects
(
&
pdev
->
dib
,
1
,
rect
,
&
bkgnd_color
,
pdev
->
clip
);
}
if
(
count
==
0
)
return
TRUE
;
flags
&=
~
ETO_OPAQUE
;
return
next
->
funcs
->
pExtTextOut
(
next
,
x
,
y
,
flags
,
rect
,
str
,
count
,
dx
);
}
/***********************************************************************
* dibdrv_GetPixel
*/
...
...
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