Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
c346a8be
Commit
c346a8be
authored
Nov 03, 2003
by
Huw Davies
Committed by
Alexandre Julliard
Nov 03, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement PSDRV_PaintRgn (also gets us FillRgn, FrameRgn and FillPath
for free).
parent
41566f2a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
39 additions
and
1 deletion
+39
-1
graphics.c
dlls/wineps/graphics.c
+38
-1
wineps.spec
dlls/wineps/wineps.spec
+1
-0
No files found.
dlls/wineps/graphics.c
View file @
c346a8be
...
...
@@ -98,7 +98,6 @@ BOOL PSDRV_Rectangle( PSDRV_PDEVICE *physDev, INT left, INT top, INT right, INT
return
TRUE
;
}
PSDRV_WriteSpool
(
physDev
,
"%Rectangle
\n
"
,
11
);
PSDRV_SetPen
(
physDev
);
PSDRV_SetClip
(
physDev
);
...
...
@@ -414,3 +413,41 @@ COLORREF PSDRV_SetPixel( PSDRV_PDEVICE *physDev, INT x, INT y, COLORREF color )
PSDRV_ResetClip
(
physDev
);
return
color
;
}
/***********************************************************************
* PSDRV_PaintRgn
*/
BOOL
PSDRV_PaintRgn
(
PSDRV_PDEVICE
*
physDev
,
HRGN
hrgn
)
{
RGNDATA
*
rgndata
=
NULL
;
RECT
*
pRect
;
DWORD
size
,
i
;
TRACE
(
"hdc=%p
\n
"
,
physDev
->
hdc
);
size
=
GetRegionData
(
hrgn
,
0
,
NULL
);
rgndata
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
if
(
!
rgndata
)
{
ERR
(
"Can't allocate buffer
\n
"
);
return
FALSE
;
}
GetRegionData
(
hrgn
,
size
,
rgndata
);
if
(
rgndata
->
rdh
.
nCount
==
0
)
goto
end
;
LPtoDP
(
physDev
->
hdc
,
(
POINT
*
)
rgndata
->
Buffer
,
rgndata
->
rdh
.
nCount
*
2
);
PSDRV_SetClip
(
physDev
);
PSDRV_WriteNewPath
(
physDev
);
for
(
i
=
0
,
pRect
=
(
RECT
*
)
rgndata
->
Buffer
;
i
<
rgndata
->
rdh
.
nCount
;
i
++
,
pRect
++
)
PSDRV_WriteRectangle
(
physDev
,
pRect
->
left
,
pRect
->
top
,
pRect
->
right
-
pRect
->
left
,
pRect
->
bottom
-
pRect
->
top
);
PSDRV_Brush
(
physDev
,
0
);
PSDRV_ResetClip
(
physDev
);
end:
HeapFree
(
GetProcessHeap
(),
0
,
rgndata
);
return
TRUE
;
}
dlls/wineps/wineps.spec
View file @
c346a8be
...
...
@@ -17,6 +17,7 @@
@ cdecl GetTextExtentPoint(ptr ptr long ptr) PSDRV_GetTextExtentPoint
@ cdecl GetTextMetrics(ptr ptr) PSDRV_GetTextMetrics
@ cdecl LineTo(ptr long long) PSDRV_LineTo
@ cdecl PaintRgn(ptr long) PSDRV_PaintRgn
@ cdecl PatBlt(ptr long long long long long) PSDRV_PatBlt
@ cdecl Pie(ptr long long long long long long long long) PSDRV_Pie
@ cdecl PolyPolygon(ptr ptr ptr long) PSDRV_PolyPolygon
...
...
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