From 2b77c6f6514e35d86b23fdde920ffbf591713ba5 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Mon, 23 Oct 2006 12:04:22 +0000 Subject: [PATCH] a test application for BPicture, written by Lucasz git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19104 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/kits/interface/Jamfile | 5 ++ src/tests/kits/interface/PictureTest.cpp | 72 ++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 src/tests/kits/interface/PictureTest.cpp diff --git a/src/tests/kits/interface/Jamfile b/src/tests/kits/interface/Jamfile index b198ce8ece..fdb435695b 100644 --- a/src/tests/kits/interface/Jamfile +++ b/src/tests/kits/interface/Jamfile @@ -122,6 +122,11 @@ SimpleTest MenuBeginningTest : : be ; +SimpleTest PictureTest : + PictureTest.cpp + : be + ; + SEARCH on [ FGristFiles ScrollView.cpp CheckBox.cpp ChannelSlider.cpp ChannelControl.cpp Slider.cpp Control.cpp ] = [ FDirName $(HAIKU_TOP) src kits interface ] ; diff --git a/src/tests/kits/interface/PictureTest.cpp b/src/tests/kits/interface/PictureTest.cpp new file mode 100644 index 0000000000..8c7017c473 --- /dev/null +++ b/src/tests/kits/interface/PictureTest.cpp @@ -0,0 +1,72 @@ +#include +#include +#include +#include +#include +#include + + +class PictureView : public BBox { + public: + PictureView(BRect frame); + ~PictureView(); + + virtual void Draw(BRect update); + virtual void AllAttached(void); + private: + BPicture *fPicture; +}; + +PictureView::PictureView(BRect frame) + : BBox(frame, "pict_view", B_FOLLOW_ALL_SIDES, B_WILL_DRAW) +{ +} + +PictureView::~PictureView() +{ + delete fPicture; +} + +void +PictureView::AllAttached(void) +{ + BShape shape; + BPoint bezier[3] = {BPoint(100,0), BPoint(100, 100), BPoint(25, 50)}; + BeginPicture(new BPicture); + shape.MoveTo(BPoint(150,0)); + shape.LineTo(BPoint(200,100)); + shape.BezierTo(bezier); + shape.Close(); + StrokeShape(&shape); + StrokeEllipse(BPoint(50, 150), 50, 50); + FillEllipse(BPoint(100, 120), 50, 50); + StrokeArc(BRect(0, 200, 50, 250), 180, 180); + FillArc(BPoint(150, 250), 50, 50, 0, 125); + fPicture = EndPicture(); +} + +void +PictureView::Draw(BRect update) +{ + if (fPicture) + DrawPicture(fPicture, B_ORIGIN); +} + + +int +main(void) +{ + BApplication *pictureApp = new BApplication("application/x-vnd.picture"); + BWindow *pictureWindow = new BWindow(BRect(100, 100, 300, 400), "BPicture test", + B_TITLED_WINDOW, B_QUIT_ON_WINDOW_CLOSE); + PictureView *pictureView = new PictureView(pictureWindow->Bounds()); + pictureWindow->AddChild(pictureView); + + pictureWindow->Show(); + pictureApp->Run(); + + delete pictureApp; + + return 0; +} +