[haiku-commits] haiku: hrev47556 - src/tests/servers/app/gradients

  • From: pulkomandy@xxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 23 Jul 2014 16:24:09 +0200 (CEST)

hrev47556 adds 1 changeset to branch 'master'
old head: ee58da76edda4febce461f92437a8f39906a8563
new head: 5f6a39cabead38d0129049791f6410fdd670b8e2
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=5f6a39c+%5Eee58da7

----------------------------------------------------------------------------

5f6a39c: Add testcase from #2946.

                             [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev47556
Commit:      5f6a39cabead38d0129049791f6410fdd670b8e2
URL:         http://cgit.haiku-os.org/haiku/commit/?id=5f6a39c
Author:      Adrien Destugues <pulkomandy@xxxxxxxxxxxxx>
Date:        Wed Jul 23 14:22:51 2014 UTC

Ticket:      https://dev.haiku-os.org/ticket/2946

----------------------------------------------------------------------------

1 file changed, 24 insertions(+)
src/tests/servers/app/gradients/main.cpp | 24 ++++++++++++++++++++++++

----------------------------------------------------------------------------

diff --git a/src/tests/servers/app/gradients/main.cpp 
b/src/tests/servers/app/gradients/main.cpp
index 7f7d6ab..ebc8a58 100644
--- a/src/tests/servers/app/gradients/main.cpp
+++ b/src/tests/servers/app/gradients/main.cpp
@@ -67,6 +67,29 @@ public:
 };
 
 
+// Test for https://dev.haiku-os.org/ticket/2946
+// Gradients with an alpha channel are not drawn properly
+class AlphaGradientTest : public Test {
+public:
+       AlphaGradientTest()
+               :
+               Test("Alpha gradient")
+       {
+       }
+
+       virtual void Draw(BView* view, BRect updateRect)
+       {
+               BPoint center(50, 50);
+               float radius = 50.0;
+               BGradientRadial g(center, radius);
+               g.AddColor((rgb_color){ 0, 0, 0, 255 }, 0.0);
+               g.AddColor((rgb_color){ 0, 0, 0, 0 }, 255.0);
+               view->SetDrawingMode(B_OP_ALPHA);
+               view->FillEllipse(center, radius, radius, g);
+       }
+};
+
+
 // #pragma mark -
 
 
@@ -78,6 +101,7 @@ main(int argc, char** argv)
        TestWindow* window = new TestWindow("Gradient tests");
 
        window->AddTest(new RadialGradientTest());
+       window->AddTest(new AlphaGradientTest());
 
        window->SetToTest(0);
        window->Show();


Other related posts:

  • » [haiku-commits] haiku: hrev47556 - src/tests/servers/app/gradients - pulkomandy