gdiplus: Implement GdipSaveGraphics and GdipRestoreGraphics.

This commit is contained in:
Andrew Eikum 2009-07-07 22:30:49 -05:00 committed by Alexandre Julliard
parent a06c2570e5
commit 1ef13941f6
2 changed files with 10 additions and 35 deletions

View file

@ -3322,15 +3322,7 @@ GpStatus WINGDIPAPI GdipResetWorldTransform(GpGraphics *graphics)
GpStatus WINGDIPAPI GdipRestoreGraphics(GpGraphics *graphics, GraphicsState state)
{
static int calls;
if(!graphics)
return InvalidParameter;
if(!(calls++))
FIXME("graphics state not implemented\n");
return Ok;
return GdipEndContainer(graphics, state);
}
GpStatus WINGDIPAPI GdipRotateWorldTransform(GpGraphics *graphics, REAL angle,
@ -3349,16 +3341,7 @@ GpStatus WINGDIPAPI GdipRotateWorldTransform(GpGraphics *graphics, REAL angle,
GpStatus WINGDIPAPI GdipSaveGraphics(GpGraphics *graphics, GraphicsState *state)
{
static int calls;
if(!graphics || !state)
return InvalidParameter;
if(!(calls++))
FIXME("graphics state not implemented\n");
*state = 0xdeadbeef;
return Ok;
return GdipBeginContainer2(graphics, state);
}
GpStatus WINGDIPAPI GdipBeginContainer2(GpGraphics *graphics,

View file

@ -137,8 +137,7 @@ static void test_save_restore(void)
stat = GdipRestoreGraphics(graphics1, state_a);
expect(Ok, stat);
GdipGetInterpolationMode(graphics1, &mode);
todo_wine
expect(InterpolationModeBilinear, mode);
expect(InterpolationModeBilinear, mode);
GdipDeleteGraphics(graphics1);
log_state(state_a, &state_log);
@ -154,12 +153,10 @@ static void test_save_restore(void)
expect(Ok, stat);
GdipRestoreGraphics(graphics1, state_b);
GdipGetInterpolationMode(graphics1, &mode);
todo_wine
expect(InterpolationModeBicubic, mode);
expect(InterpolationModeBicubic, mode);
GdipRestoreGraphics(graphics1, state_a);
GdipGetInterpolationMode(graphics1, &mode);
todo_wine
expect(InterpolationModeBilinear, mode);
expect(InterpolationModeBilinear, mode);
GdipDeleteGraphics(graphics1);
log_state(state_a, &state_log);
@ -176,16 +173,13 @@ static void test_save_restore(void)
GdipSetInterpolationMode(graphics1, InterpolationModeHighQualityBilinear);
GdipRestoreGraphics(graphics1, state_b);
GdipGetInterpolationMode(graphics1, &mode);
todo_wine
expect(InterpolationModeBicubic, mode);
expect(InterpolationModeBicubic, mode);
GdipRestoreGraphics(graphics1, state_c);
GdipGetInterpolationMode(graphics1, &mode);
todo_wine
expect(InterpolationModeBicubic, mode);
expect(InterpolationModeBicubic, mode);
GdipRestoreGraphics(graphics1, state_a);
GdipGetInterpolationMode(graphics1, &mode);
todo_wine
expect(InterpolationModeBilinear, mode);
expect(InterpolationModeBilinear, mode);
GdipDeleteGraphics(graphics1);
log_state(state_a, &state_log);
@ -204,12 +198,10 @@ static void test_save_restore(void)
GdipSetInterpolationMode(graphics2, InterpolationModeNearestNeighbor);
GdipRestoreGraphics(graphics1, state_a);
GdipGetInterpolationMode(graphics1, &mode);
todo_wine
expect(InterpolationModeBilinear, mode);
expect(InterpolationModeBilinear, mode);
GdipRestoreGraphics(graphics2, state_b);
GdipGetInterpolationMode(graphics2, &mode);
todo_wine
expect(InterpolationModeBicubic, mode);
expect(InterpolationModeBicubic, mode);
GdipDeleteGraphics(graphics1);
GdipDeleteGraphics(graphics2);