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
582a2f51
Commit
582a2f51
authored
Apr 10, 2012
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Add a GetBoundsRect driver entry point.
parent
b1ccff1a
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
53 additions
and
2 deletions
+53
-2
dc.c
dlls/gdi32/dc.c
+28
-0
dc.c
dlls/gdi32/dibdrv/dc.c
+1
-0
driver.c
dlls/gdi32/driver.c
+6
-0
init.c
dlls/gdi32/enhmfdrv/init.c
+1
-0
freetype.c
dlls/gdi32/freetype.c
+1
-0
init.c
dlls/gdi32/mfdrv/init.c
+10
-0
path.c
dlls/gdi32/path.c
+1
-0
dc.c
dlls/gdi32/tests/dc.c
+0
-1
init.c
dlls/wineps.drv/init.c
+1
-0
init.c
dlls/winex11.drv/init.c
+1
-0
xrender.c
dlls/winex11.drv/xrender.c
+1
-0
gdi_driver.h
include/wine/gdi_driver.h
+2
-1
No files found.
dlls/gdi32/dc.c
View file @
582a2f51
...
...
@@ -222,6 +222,22 @@ void update_dc( DC *dc )
/***********************************************************************
* fetch_device_bounds
*
* Fetch and clear the device-specific bounds, and add them to the DC if necessary.
*/
static
BOOL
fetch_device_bounds
(
DC
*
dc
)
{
RECT
rect
;
PHYSDEV
physdev
=
GET_DC_PHYSDEV
(
dc
,
pGetBoundsRect
);
UINT
ret
=
physdev
->
funcs
->
pGetBoundsRect
(
physdev
,
&
rect
,
DCB_RESET
);
if
(
dc
->
bounds_enabled
&&
ret
==
DCB_SET
)
add_bounds_rect
(
&
dc
->
bounds
,
&
rect
);
return
ret
;
}
/***********************************************************************
* DC_DeleteObject
*/
static
BOOL
DC_DeleteObject
(
HGDIOBJ
handle
)
...
...
@@ -1316,6 +1332,12 @@ UINT WINAPI GetBoundsRect(HDC hdc, LPRECT rect, UINT flags)
if
(
!
dc
)
return
0
;
if
(
!
fetch_device_bounds
(
dc
))
{
release_dc_ptr
(
dc
);
return
0
;
}
if
(
rect
)
{
if
(
is_rect_empty
(
&
dc
->
bounds
))
...
...
@@ -1351,6 +1373,12 @@ UINT WINAPI SetBoundsRect(HDC hdc, const RECT* rect, UINT flags)
if
((
flags
&
DCB_ENABLE
)
&&
(
flags
&
DCB_DISABLE
))
return
0
;
if
(
!
(
dc
=
get_dc_ptr
(
hdc
)))
return
0
;
if
(
!
fetch_device_bounds
(
dc
))
{
release_dc_ptr
(
dc
);
return
0
;
}
ret
=
(
dc
->
bounds_enabled
?
DCB_ENABLE
:
DCB_DISABLE
)
|
(
is_rect_empty
(
&
dc
->
bounds
)
?
DCB_RESET
:
DCB_SET
);
...
...
dlls/gdi32/dibdrv/dc.c
View file @
582a2f51
...
...
@@ -599,6 +599,7 @@ const struct gdi_dc_funcs dib_driver =
NULL
,
/* pFrameRgn */
NULL
,
/* pGdiComment */
NULL
,
/* pGdiRealizationInfo */
NULL
,
/* pGetBoundsRect */
NULL
,
/* pGetCharABCWidths */
NULL
,
/* pGetCharABCWidthsI */
NULL
,
/* pGetCharWidth */
...
...
dlls/gdi32/driver.c
View file @
582a2f51
...
...
@@ -311,6 +311,11 @@ static BOOL nulldrv_GdiRealizationInfo( PHYSDEV dev, void *info )
return
FALSE
;
}
static
UINT
nulldrv_GetBoundsRect
(
PHYSDEV
dev
,
RECT
*
rect
,
UINT
flags
)
{
return
DCB_RESET
;
}
static
BOOL
nulldrv_GetCharABCWidths
(
PHYSDEV
dev
,
UINT
first
,
UINT
last
,
LPABC
abc
)
{
return
FALSE
;
...
...
@@ -758,6 +763,7 @@ const struct gdi_dc_funcs null_driver =
nulldrv_FrameRgn
,
/* pFrameRgn */
nulldrv_GdiComment
,
/* pGdiComment */
nulldrv_GdiRealizationInfo
,
/* pGdiRealizationInfo */
nulldrv_GetBoundsRect
,
/* pGetBoundsRect */
nulldrv_GetCharABCWidths
,
/* pGetCharABCWidths */
nulldrv_GetCharABCWidthsI
,
/* pGetCharABCWidthsI */
nulldrv_GetCharWidth
,
/* pGetCharWidth */
...
...
dlls/gdi32/enhmfdrv/init.c
View file @
582a2f51
...
...
@@ -75,6 +75,7 @@ static const struct gdi_dc_funcs EMFDRV_Funcs =
EMFDRV_FrameRgn
,
/* pFrameRgn */
EMFDRV_GdiComment
,
/* pGdiComment */
NULL
,
/* pGdiRealizationInfo */
NULL
,
/* pGetBoundsRect */
NULL
,
/* pGetCharABCWidths */
NULL
,
/* pGetCharABCWidthsI */
NULL
,
/* pGetCharWidth */
...
...
dlls/gdi32/freetype.c
View file @
582a2f51
...
...
@@ -7772,6 +7772,7 @@ static const struct gdi_dc_funcs freetype_funcs =
NULL
,
/* pFrameRgn */
NULL
,
/* pGdiComment */
freetype_GdiRealizationInfo
,
/* pGdiRealizationInfo */
NULL
,
/* pGetBoundsRect */
freetype_GetCharABCWidths
,
/* pGetCharABCWidths */
freetype_GetCharABCWidthsI
,
/* pGetCharABCWidthsI */
freetype_GetCharWidth
,
/* pGetCharWidth */
...
...
dlls/gdi32/mfdrv/init.c
View file @
582a2f51
...
...
@@ -60,6 +60,15 @@ static INT MFDRV_ExtEscape( PHYSDEV dev, INT nEscape, INT cbInput, LPCVOID in_da
/******************************************************************
* MFDRV_GetBoundsRect
*/
static
UINT
MFDRV_GetBoundsRect
(
PHYSDEV
dev
,
RECT
*
rect
,
UINT
flags
)
{
return
0
;
}
/******************************************************************
* MFDRV_GetDeviceCaps
*
*A very simple implementation that returns DT_METAFILE
...
...
@@ -120,6 +129,7 @@ static const struct gdi_dc_funcs MFDRV_Funcs =
MFDRV_FrameRgn
,
/* pFrameRgn */
NULL
,
/* pGdiComment */
NULL
,
/* pGdiRealizationInfo */
MFDRV_GetBoundsRect
,
/* pGetBoundsRect */
NULL
,
/* pGetCharABCWidths */
NULL
,
/* pGetCharABCWidthsI */
NULL
,
/* pGetCharWidth */
...
...
dlls/gdi32/path.c
View file @
582a2f51
...
...
@@ -2274,6 +2274,7 @@ const struct gdi_dc_funcs path_driver =
NULL
,
/* pFrameRgn */
NULL
,
/* pGdiComment */
NULL
,
/* pGdiRealizationInfo */
NULL
,
/* pGetBoundsRect */
NULL
,
/* pGetCharABCWidths */
NULL
,
/* pGetCharABCWidthsI */
NULL
,
/* pGetCharWidth */
...
...
dlls/gdi32/tests/dc.c
View file @
582a2f51
...
...
@@ -367,7 +367,6 @@ static void test_device_caps( HDC hdc, HDC ref_dc, const char *descr )
SetMapMode
(
hdc
,
MM_TEXT
);
Rectangle
(
hdc
,
2
,
2
,
5
,
5
);
type
=
GetBoundsRect
(
hdc
,
&
rect
,
DCB_RESET
);
todo_wine
ok
(
!
type
,
"GetBoundsRect succeeded on %s
\n
"
,
descr
);
}
else
...
...
dlls/wineps.drv/init.c
View file @
582a2f51
...
...
@@ -857,6 +857,7 @@ static const struct gdi_dc_funcs psdrv_funcs =
NULL
,
/* pFrameRgn */
NULL
,
/* pGdiComment */
NULL
,
/* pGdiRealizationInfo */
NULL
,
/* pGetBoundsRect */
NULL
,
/* pGetCharABCWidths */
NULL
,
/* pGetCharABCWidthsI */
PSDRV_GetCharWidth
,
/* pGetCharWidth */
...
...
dlls/winex11.drv/init.c
View file @
582a2f51
...
...
@@ -491,6 +491,7 @@ static const struct gdi_dc_funcs x11drv_funcs =
NULL
,
/* pFrameRgn */
NULL
,
/* pGdiComment */
NULL
,
/* pGdiRealizationInfo */
NULL
,
/* pGetBoundsRect */
NULL
,
/* pGetCharABCWidths */
NULL
,
/* pGetCharABCWidthsI */
X11DRV_GetCharWidth
,
/* pGetCharWidth */
...
...
dlls/winex11.drv/xrender.c
View file @
582a2f51
...
...
@@ -2684,6 +2684,7 @@ static const struct gdi_dc_funcs xrender_funcs =
NULL
,
/* pFrameRgn */
NULL
,
/* pGdiComment */
NULL
,
/* pGdiRealizationInfo */
NULL
,
/* pGetBoundsRect */
NULL
,
/* pGetCharABCWidths */
NULL
,
/* pGetCharABCWidthsI */
NULL
,
/* pGetCharWidth */
...
...
include/wine/gdi_driver.h
View file @
582a2f51
...
...
@@ -101,6 +101,7 @@ struct gdi_dc_funcs
BOOL
(
*
pFrameRgn
)(
PHYSDEV
,
HRGN
,
HBRUSH
,
INT
,
INT
);
BOOL
(
*
pGdiComment
)(
PHYSDEV
,
UINT
,
CONST
BYTE
*
);
BOOL
(
*
pGdiRealizationInfo
)(
PHYSDEV
,
void
*
);
UINT
(
*
pGetBoundsRect
)(
PHYSDEV
,
RECT
*
,
UINT
);
BOOL
(
*
pGetCharABCWidths
)(
PHYSDEV
,
UINT
,
UINT
,
LPABC
);
BOOL
(
*
pGetCharABCWidthsI
)(
PHYSDEV
,
UINT
,
UINT
,
WORD
*
,
LPABC
);
BOOL
(
*
pGetCharWidth
)(
PHYSDEV
,
UINT
,
UINT
,
LPINT
);
...
...
@@ -211,7 +212,7 @@ struct gdi_dc_funcs
};
/* increment this when you change the DC function table */
#define WINE_GDI_DRIVER_VERSION 2
4
#define WINE_GDI_DRIVER_VERSION 2
5
static
inline
PHYSDEV
get_physdev_entry_point
(
PHYSDEV
dev
,
size_t
offset
)
{
...
...
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