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
69c8f0b6
Commit
69c8f0b6
authored
Jul 26, 2010
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdi32: Store the total visible rectangle in the DC.
parent
1472f35e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
4 deletions
+21
-4
bitmap.c
dlls/gdi32/bitmap.c
+4
-0
clipping.c
dlls/gdi32/clipping.c
+1
-0
dc.c
dlls/gdi32/dc.c
+15
-4
gdi_private.h
dlls/gdi32/gdi_private.h
+1
-0
No files found.
dlls/gdi32/bitmap.c
View file @
69c8f0b6
...
...
@@ -611,6 +611,10 @@ static HGDIOBJ BITMAP_SelectObject( HGDIOBJ handle, HDC hdc )
dc
->
hBitmap
=
handle
;
GDI_inc_ref_count
(
handle
);
dc
->
dirty
=
0
;
dc
->
vis_rect
.
left
=
0
;
dc
->
vis_rect
.
top
=
0
;
dc
->
vis_rect
.
right
=
bitmap
->
bitmap
.
bmWidth
;
dc
->
vis_rect
.
bottom
=
bitmap
->
bitmap
.
bmHeight
;
SetRectRgn
(
dc
->
hVisRgn
,
0
,
0
,
bitmap
->
bitmap
.
bmWidth
,
bitmap
->
bitmap
.
bmHeight
);
GDI_ReleaseObj
(
handle
);
DC_InitDC
(
dc
);
...
...
dlls/gdi32/clipping.c
View file @
69c8f0b6
...
...
@@ -171,6 +171,7 @@ void CDECL __wine_set_visible_region( HDC hdc, HRGN hrgn, const RECT *vis_rect )
DeleteObject
(
dc
->
hVisRgn
);
dc
->
dirty
=
0
;
dc
->
vis_rect
=
*
vis_rect
;
dc
->
hVisRgn
=
hrgn
;
CLIPPING_UpdateGCRegion
(
dc
);
release_dc_ptr
(
dc
);
...
...
dlls/gdi32/dc.c
View file @
69c8f0b6
...
...
@@ -666,8 +666,11 @@ HDC WINAPI CreateDCW( LPCWSTR driver, LPCWSTR device, LPCWSTR output,
goto
error
;
}
SetRectRgn
(
dc
->
hVisRgn
,
0
,
0
,
GetDeviceCaps
(
hdc
,
DESKTOPHORZRES
),
GetDeviceCaps
(
hdc
,
DESKTOPVERTRES
)
);
dc
->
vis_rect
.
left
=
0
;
dc
->
vis_rect
.
top
=
0
;
dc
->
vis_rect
.
right
=
GetDeviceCaps
(
hdc
,
DESKTOPHORZRES
);
dc
->
vis_rect
.
bottom
=
GetDeviceCaps
(
hdc
,
DESKTOPVERTRES
);
SetRectRgn
(
dc
->
hVisRgn
,
dc
->
vis_rect
.
left
,
dc
->
vis_rect
.
top
,
dc
->
vis_rect
.
right
,
dc
->
vis_rect
.
bottom
);
DC_InitDC
(
dc
);
release_dc_ptr
(
dc
);
...
...
@@ -768,6 +771,10 @@ HDC WINAPI CreateCompatibleDC( HDC hdc )
TRACE
(
"(%p): returning %p
\n
"
,
hdc
,
dc
->
hSelf
);
dc
->
hBitmap
=
GDI_inc_ref_count
(
GetStockObject
(
DEFAULT_BITMAP
));
dc
->
vis_rect
.
left
=
0
;
dc
->
vis_rect
.
top
=
0
;
dc
->
vis_rect
.
right
=
1
;
dc
->
vis_rect
.
bottom
=
1
;
if
(
!
(
dc
->
hVisRgn
=
CreateRectRgn
(
0
,
0
,
1
,
1
)))
goto
error
;
/* default bitmap is 1x1 */
/* Copy the driver-specific physical device info into
...
...
@@ -860,8 +867,12 @@ HDC WINAPI ResetDCW( HDC hdc, const DEVMODEW *devmode )
if
(
ret
)
/* reset the visible region */
{
dc
->
dirty
=
0
;
SetRectRgn
(
dc
->
hVisRgn
,
0
,
0
,
GetDeviceCaps
(
hdc
,
DESKTOPHORZRES
),
GetDeviceCaps
(
hdc
,
DESKTOPVERTRES
)
);
dc
->
vis_rect
.
left
=
0
;
dc
->
vis_rect
.
top
=
0
;
dc
->
vis_rect
.
right
=
GetDeviceCaps
(
hdc
,
DESKTOPHORZRES
);
dc
->
vis_rect
.
bottom
=
GetDeviceCaps
(
hdc
,
DESKTOPVERTRES
);
SetRectRgn
(
dc
->
hVisRgn
,
dc
->
vis_rect
.
left
,
dc
->
vis_rect
.
top
,
dc
->
vis_rect
.
right
,
dc
->
vis_rect
.
bottom
);
CLIPPING_UpdateGCRegion
(
dc
);
}
}
...
...
dlls/gdi32/gdi_private.h
View file @
69c8f0b6
...
...
@@ -261,6 +261,7 @@ typedef struct tagDC
INT
vportExtY
;
SIZE
virtual_res
;
/* Initially HORZRES,VERTRES. Changed by SetVirtualResolution */
SIZE
virtual_size
;
/* Initially HORZSIZE,VERTSIZE. Changed by SetVirtualResolution */
RECT
vis_rect
;
/* visible rectangle in screen coords */
FLOAT
miterLimit
;
int
flags
;
...
...
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