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
4f4812b4
Commit
4f4812b4
authored
Apr 27, 2010
by
Vincent Povirk
Committed by
Alexandre Julliard
Apr 27, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
windowscodecs: Partially implement IWICBitmapFlipRotator_CopyPixels.
parent
0e992fcc
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
2 deletions
+40
-2
fliprotate.c
dlls/windowscodecs/fliprotate.c
+40
-2
No files found.
dlls/windowscodecs/fliprotate.c
View file @
4f4812b4
...
...
@@ -135,9 +135,47 @@ static HRESULT WINAPI FlipRotator_CopyPalette(IWICBitmapFlipRotator *iface,
static
HRESULT
WINAPI
FlipRotator_CopyPixels
(
IWICBitmapFlipRotator
*
iface
,
const
WICRect
*
prc
,
UINT
cbStride
,
UINT
cbBufferSize
,
BYTE
*
pbBuffer
)
{
FIXME
(
"(%p,%p,%u,%u,%p): stub
\n
"
,
iface
,
prc
,
cbStride
,
cbBufferSize
,
pbBuffer
);
FlipRotator
*
This
=
(
FlipRotator
*
)
iface
;
HRESULT
hr
;
UINT
y
;
UINT
srcy
,
srcwidth
,
srcheight
;
WICRect
rc
;
return
E_NOTIMPL
;
TRACE
(
"(%p,%p,%u,%u,%p)
\n
"
,
iface
,
prc
,
cbStride
,
cbBufferSize
,
pbBuffer
);
if
(
!
This
->
source
)
return
WINCODEC_ERR_WRONGSTATE
;
if
(
This
->
swap_xy
||
This
->
flip_x
)
{
/* This requires knowledge of the pixel format. */
FIXME
(
"flipping x and rotating are not implemented
\n
"
);
return
E_NOTIMPL
;
}
hr
=
IWICBitmapSource_GetSize
(
This
->
source
,
&
srcwidth
,
&
srcheight
);
if
(
FAILED
(
hr
))
return
hr
;
for
(
y
=
prc
->
Y
;
y
-
prc
->
Y
<
prc
->
Height
;
y
++
)
{
if
(
This
->
flip_y
)
srcy
=
srcheight
-
1
-
y
;
else
srcy
=
y
;
rc
.
X
=
prc
->
X
;
rc
.
Y
=
srcy
;
rc
.
Width
=
prc
->
Width
;
rc
.
Height
=
1
;
hr
=
IWICBitmapSource_CopyPixels
(
This
->
source
,
&
rc
,
cbStride
,
cbStride
,
pbBuffer
);
if
(
FAILED
(
hr
))
break
;
pbBuffer
+=
cbStride
;
}
return
hr
;
}
static
HRESULT
WINAPI
FlipRotator_Initialize
(
IWICBitmapFlipRotator
*
iface
,
...
...
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