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
f5b14a7a
Commit
f5b14a7a
authored
Sep 16, 2016
by
Vincent Povirk
Committed by
Alexandre Julliard
Sep 19, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gdiplus: Implement GdipBeginContainer.
Signed-off-by:
Vincent Povirk
<
vincent@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
e2ebc0dc
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
4 deletions
+58
-4
graphics.c
dlls/gdiplus/graphics.c
+58
-4
No files found.
dlls/gdiplus/graphics.c
View file @
f5b14a7a
...
...
@@ -5200,14 +5200,68 @@ GpStatus WINGDIPAPI GdipBeginContainer2(GpGraphics *graphics,
GpStatus
WINGDIPAPI
GdipBeginContainer
(
GpGraphics
*
graphics
,
GDIPCONST
GpRectF
*
dstrect
,
GDIPCONST
GpRectF
*
srcrect
,
GpUnit
unit
,
GraphicsContainer
*
state
)
{
FIXME
(
"(%p, %p, %p, %d, %p): stub
\n
"
,
graphics
,
dstrect
,
srcrect
,
unit
,
state
);
return
NotImplemented
;
GraphicsContainerItem
*
container
;
GpMatrix
transform
;
GpStatus
stat
;
GpRectF
scaled_srcrect
;
REAL
scale_x
,
scale_y
;
TRACE
(
"(%p, %s, %s, %d, %p)
\n
"
,
graphics
,
debugstr_rectf
(
dstrect
),
debugstr_rectf
(
srcrect
),
unit
,
state
);
if
(
!
graphics
||
!
dstrect
||
!
srcrect
||
unit
<
UnitPixel
||
unit
>
UnitMillimeter
||
!
state
)
return
InvalidParameter
;
stat
=
init_container
(
&
container
,
graphics
,
BEGIN_CONTAINER
);
if
(
stat
!=
Ok
)
return
stat
;
list_add_head
(
&
graphics
->
containers
,
&
container
->
entry
);
*
state
=
graphics
->
contid
=
container
->
contid
;
scale_x
=
units_to_pixels
(
1
.
0
,
unit
,
graphics
->
xres
);
scale_y
=
units_to_pixels
(
1
.
0
,
unit
,
graphics
->
yres
);
scaled_srcrect
.
X
=
scale_x
*
srcrect
->
X
;
scaled_srcrect
.
Y
=
scale_y
*
srcrect
->
Y
;
scaled_srcrect
.
Width
=
scale_x
*
srcrect
->
Width
;
scaled_srcrect
.
Height
=
scale_y
*
srcrect
->
Height
;
transform
.
matrix
[
0
]
=
dstrect
->
Width
/
scaled_srcrect
.
Width
;
transform
.
matrix
[
1
]
=
0
.
0
;
transform
.
matrix
[
2
]
=
0
.
0
;
transform
.
matrix
[
3
]
=
dstrect
->
Height
/
scaled_srcrect
.
Height
;
transform
.
matrix
[
4
]
=
dstrect
->
X
-
scaled_srcrect
.
X
;
transform
.
matrix
[
5
]
=
dstrect
->
Y
-
scaled_srcrect
.
Y
;
GdipMultiplyMatrix
(
&
graphics
->
worldtrans
,
&
transform
,
MatrixOrderPrepend
);
if
(
graphics
->
image
&&
graphics
->
image
->
type
==
ImageTypeMetafile
)
{
FIXME
(
"Write to metafile
\n
"
);
}
return
Ok
;
}
GpStatus
WINGDIPAPI
GdipBeginContainerI
(
GpGraphics
*
graphics
,
GDIPCONST
GpRect
*
dstrect
,
GDIPCONST
GpRect
*
srcrect
,
GpUnit
unit
,
GraphicsContainer
*
state
)
{
FIXME
(
"(%p, %p, %p, %d, %p): stub
\n
"
,
graphics
,
dstrect
,
srcrect
,
unit
,
state
);
return
NotImplemented
;
GpRectF
dstrectf
,
srcrectf
;
TRACE
(
"(%p, %p, %p, %d, %p)
\n
"
,
graphics
,
dstrect
,
srcrect
,
unit
,
state
);
if
(
!
dstrect
||
!
srcrect
)
return
InvalidParameter
;
dstrectf
.
X
=
dstrect
->
X
;
dstrectf
.
Y
=
dstrect
->
Y
;
dstrectf
.
Width
=
dstrect
->
Width
;
dstrectf
.
Height
=
dstrect
->
Height
;
srcrectf
.
X
=
srcrect
->
X
;
srcrectf
.
Y
=
srcrect
->
Y
;
srcrectf
.
Width
=
srcrect
->
Width
;
srcrectf
.
Height
=
srcrect
->
Height
;
return
GdipBeginContainer
(
graphics
,
&
dstrectf
,
&
srcrectf
,
unit
,
state
);
}
GpStatus
WINGDIPAPI
GdipComment
(
GpGraphics
*
graphics
,
UINT
sizeData
,
GDIPCONST
BYTE
*
data
)
...
...
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