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
d302db41
Commit
d302db41
authored
Dec 12, 2006
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winex11.drv: Make sure the drawable rect is always updated and use it where appropriate.
parent
4bdf4345
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
16 additions
and
14 deletions
+16
-14
bitblt.c
dlls/winex11.drv/bitblt.c
+3
-7
bitmap.c
dlls/winex11.drv/bitmap.c
+5
-0
init.c
dlls/winex11.drv/init.c
+5
-0
xrender.c
dlls/winex11.drv/xrender.c
+3
-7
No files found.
dlls/winex11.drv/bitblt.c
View file @
d302db41
...
...
@@ -1149,13 +1149,9 @@ static BOOL BITBLT_GetVisRectangles( X11DRV_PDEVICE *physDevDst, INT xDst, INT y
if
(
heightSrc
<
0
)
SWAP_INT32
(
&
rect
.
top
,
&
rect
.
bottom
);
/* Apparently the clipping and visible regions are only for output,
so just check against dc extent here to avoid BadMatch errors */
if
(
physDevSrc
->
bitmap
)
{
BITMAP
bm
;
GetObjectW
(
physDevSrc
->
bitmap
->
hbitmap
,
sizeof
(
bm
),
&
bm
);
SetRect
(
&
clipRect
,
0
,
0
,
bm
.
bmWidth
,
bm
.
bmHeight
);
}
else
clipRect
=
virtual_screen_rect
;
clipRect
=
physDevSrc
->
drawable_rect
;
OffsetRect
(
&
clipRect
,
-
(
physDevSrc
->
drawable_rect
.
left
+
physDevSrc
->
dc_rect
.
left
),
-
(
physDevSrc
->
drawable_rect
.
top
+
physDevSrc
->
dc_rect
.
top
)
);
if
(
!
IntersectRect
(
visRectSrc
,
&
rect
,
&
clipRect
))
return
FALSE
;
...
...
dlls/winex11.drv/bitmap.c
View file @
d302db41
...
...
@@ -72,6 +72,9 @@ void X11DRV_BITMAP_Init(void)
HBITMAP
X11DRV_SelectBitmap
(
X11DRV_PDEVICE
*
physDev
,
HBITMAP
hbitmap
)
{
X_PHYSBITMAP
*
physBitmap
;
BITMAP
bitmap
;
if
(
!
GetObjectW
(
hbitmap
,
sizeof
(
bitmap
),
&
bitmap
))
return
0
;
if
(
physDev
->
xrender
)
X11DRV_XRender_UpdateDrawable
(
physDev
);
...
...
@@ -81,6 +84,8 @@ HBITMAP X11DRV_SelectBitmap( X11DRV_PDEVICE *physDev, HBITMAP hbitmap )
physDev
->
bitmap
=
physBitmap
;
physDev
->
drawable
=
physBitmap
->
pixmap
;
SetRect
(
&
physDev
->
drawable_rect
,
0
,
0
,
bitmap
.
bmWidth
,
bitmap
.
bmHeight
);
physDev
->
dc_rect
=
physDev
->
drawable_rect
;
/* Change GC depth if needed */
...
...
dlls/winex11.drv/init.c
View file @
d302db41
...
...
@@ -135,12 +135,17 @@ BOOL X11DRV_CreateDC( HDC hdc, X11DRV_PDEVICE **pdev, LPCWSTR driver, LPCWSTR de
physDev
->
bitmap
=
&
BITMAP_stock_phys_bitmap
;
physDev
->
drawable
=
BITMAP_stock_phys_bitmap
.
pixmap
;
physDev
->
depth
=
1
;
SetRect
(
&
physDev
->
drawable_rect
,
0
,
0
,
1
,
1
);
physDev
->
dc_rect
=
physDev
->
drawable_rect
;
}
else
{
physDev
->
bitmap
=
NULL
;
physDev
->
drawable
=
root_window
;
physDev
->
depth
=
screen_depth
;
physDev
->
drawable_rect
=
virtual_screen_rect
;
SetRect
(
&
physDev
->
dc_rect
,
0
,
0
,
virtual_screen_rect
.
right
-
virtual_screen_rect
.
left
,
virtual_screen_rect
.
bottom
-
virtual_screen_rect
.
top
);
}
physDev
->
region
=
CreateRectRgn
(
0
,
0
,
0
,
0
);
...
...
dlls/winex11.drv/xrender.c
View file @
d302db41
...
...
@@ -1327,16 +1327,12 @@ BOOL X11DRV_XRender_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y, UINT flag
}
}
else
{
XImage
*
image
;
unsigned
int
w
,
h
,
dummy_uint
;
Window
dummy_window
;
int
dummy_int
;
int
image_x
,
image_y
,
image_off_x
,
image_off_y
,
image_w
,
image_h
;
RECT
extents
=
{
0
,
0
,
0
,
0
};
POINT
cur
=
{
0
,
0
};
XGetGeometry
(
gdi_display
,
physDev
->
drawable
,
&
dummy_window
,
&
dummy_int
,
&
dummy_int
,
&
w
,
&
h
,
&
dummy_uint
,
&
dummy_uint
);
int
w
=
physDev
->
drawable_rect
.
right
-
physDev
->
drawable_rect
.
left
;
int
h
=
physDev
->
drawable_rect
.
bottom
-
physDev
->
drawable_rect
.
top
;
TRACE
(
"drawable %dx%d
\n
"
,
w
,
h
);
for
(
idx
=
0
;
idx
<
count
;
idx
++
)
{
...
...
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