From c9c4a80aaaf61999454484369eaff194119ae7ac Mon Sep 17 00:00:00 2001
From: Michael Pfeiffer <michael.w.pfeiffer@gmail.com>
Date: Thu, 16 Aug 2007 11:49:37 +0000
Subject: [PATCH] Added testSetOriginAndScale as a use case for a rendering
 bug. It seems scaling ignores the origin. The test does not fail, but the
 rendered image is wrong.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21978 a95241bf-73f2-0310-859d-f6bbb57e9c96
---
 .../flatten_picture/PictureTestCases.cpp         | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/tests/kits/interface/flatten_picture/PictureTestCases.cpp b/src/tests/kits/interface/flatten_picture/PictureTestCases.cpp
index de213e7072..962c049bfd 100644
--- a/src/tests/kits/interface/flatten_picture/PictureTestCases.cpp
+++ b/src/tests/kits/interface/flatten_picture/PictureTestCases.cpp
@@ -355,7 +355,6 @@ static void testConstrainClippingRegion(BView *view, BRect frame)
 static void testClipToPicture(BView *view, BRect frame) 
 {
 	frame.InsetBy(2, 2);
-	
 	view->BeginPicture(new BPicture());
 	view->FillEllipse(frame);
 	BPicture *picture = view->EndPicture();
@@ -519,6 +518,20 @@ static void testSetScale3(BView *view, BRect frame)
 	// from test testSetScaling
 }
 
+static void testSetOriginAndScale(BView *view, BRect frame)
+{
+	frame.InsetBy(2, 2);
+	BPoint center = centerPoint(frame);
+	
+	BRect r(0, 0, frame.IntegerWidth() / 2, frame.IntegerHeight() / 2);
+	view->SetOrigin(center);
+	view->FillRect(r);
+	
+	view->SetScale(0.5);
+	view->SetHighColor(kRed);
+	view->FillRect(r);
+}
+
 static void testSetFontSize(BView *view, BRect frame)
 {
 	frame.InsetBy(2, 2);
@@ -590,6 +603,7 @@ TestCase gTestCases[] = {
 	// rectangle are twice as large as the direct draw version
 	{ "Test SetScale2*", testSetScale2 },
 	{ "Test SetScale3", testSetScale3 },
+	{ "Test SetOriginAndScale", testSetOriginAndScale },
 	{ "Test SetFontSize", testSetFontSize },
 	{ NULL, NULL }
 };