From d4e2c64c2ae435b7a159740a5e1b9e539fd2cb8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 28 Jun 2005 01:54:27 +0000 Subject: [PATCH] Added small app that tests window resizing and size limits. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13303 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/servers/app/Jamfile | 1 + src/tests/servers/app/resize_limits/Jamfile | 16 +++ .../app/resize_limits/ResizeLimits.cpp | 118 ++++++++++++++++++ src/tests/servers/app/resize_limits/run | 7 ++ 4 files changed, 142 insertions(+) create mode 100644 src/tests/servers/app/resize_limits/Jamfile create mode 100644 src/tests/servers/app/resize_limits/ResizeLimits.cpp create mode 100755 src/tests/servers/app/resize_limits/run diff --git a/src/tests/servers/app/Jamfile b/src/tests/servers/app/Jamfile index 7411657488..ec2b1624bd 100644 --- a/src/tests/servers/app/Jamfile +++ b/src/tests/servers/app/Jamfile @@ -4,5 +4,6 @@ SubInclude OBOS_TOP src tests servers app bitmap_drawing ; SubInclude OBOS_TOP src tests servers app copy_bits ; SubInclude OBOS_TOP src tests servers app painter ; SubInclude OBOS_TOP src tests servers app playground ; +SubInclude OBOS_TOP src tests servers app resize_limits ; SubInclude OBOS_TOP src tests servers app scrolling ; SubInclude OBOS_TOP src tests servers app textview ; diff --git a/src/tests/servers/app/resize_limits/Jamfile b/src/tests/servers/app/resize_limits/Jamfile new file mode 100644 index 0000000000..f9299d5599 --- /dev/null +++ b/src/tests/servers/app/resize_limits/Jamfile @@ -0,0 +1,16 @@ +SubDir OBOS_TOP src tests servers app resize_limits ; + +App ResizeLimits : + ResizeLimits.cpp + ; + +if ( $(TARGET_PLATFORM) = haiku ) { + # for running natively under R5 or Haiku: + LinkSharedOSLibs ResizeLimits : + libbe.so ; +} else { + # for running in the Haiku app_server under R5: + LinkSharedOSLibs ResizeLimits : + libopenbeos.so ; +} + diff --git a/src/tests/servers/app/resize_limits/ResizeLimits.cpp b/src/tests/servers/app/resize_limits/ResizeLimits.cpp new file mode 100644 index 0000000000..170477dfbe --- /dev/null +++ b/src/tests/servers/app/resize_limits/ResizeLimits.cpp @@ -0,0 +1,118 @@ +#include +#include +#include + + +class View : public BView { + public: + View(BRect frame); + + virtual void FrameMoved(BPoint location); +}; + + +View::View(BRect frame) + : BView(frame, NULL, B_FOLLOW_NONE, B_FRAME_EVENTS) +{ + MoveBy(5, 5); +} + + +void +View::FrameMoved(BPoint point) +{ + point.PrintToStream(); +} + + +// #pragma mark - + + +class Window : public BWindow { + public: + Window(); + virtual ~Window(); + + virtual bool QuitRequested(); + virtual void FrameResized(float width, float height); +}; + + +Window::Window() + : BWindow(BRect(100, 100, 101, 101), "Test", /*B_TITLED_WINDOW*/ B_DOCUMENT_WINDOW + /*B_BORDERED_WINDOW*/, B_NOT_ZOOMABLE /*| B_NOT_RESIZABLE*/) +{ + Show(); + + snooze(500000); // .5 secs + + Bounds().PrintToStream(); + ResizeTo(55, 55); + Bounds().PrintToStream(); + + snooze(500000); // .5 secs + + SetSizeLimits(5, 500, 5, 500); + ResizeTo(5, 5); + Bounds().PrintToStream(); + + snooze(500000); // .5 secs + + SetSizeLimits(80, 500, 80, 500); + Bounds().PrintToStream(); +} + + +Window::~Window() +{ +} + + +void +Window::FrameResized(float width, float height) +{ + CurrentMessage()->PrintToStream(); +} + + +bool +Window::QuitRequested() +{ + be_app->PostMessage(B_QUIT_REQUESTED); + return true; +} + + +// #pragma mark - + + +class Application : public BApplication { + public: + Application(); + + virtual void ReadyToRun(void); +}; + + +Application::Application() + : BApplication("application/x-vnd.haiku.resizelimits-test") +{ + Window *window = new Window(); + window->Show(); +} + + +void +Application::ReadyToRun(void) +{ +} + + +int +main(int argc, char **argv) +{ + Application app; + app.Run(); + + return 0; +} diff --git a/src/tests/servers/app/resize_limits/run b/src/tests/servers/app/resize_limits/run new file mode 100755 index 0000000000..af358fa177 --- /dev/null +++ b/src/tests/servers/app/resize_limits/run @@ -0,0 +1,7 @@ +#!/bin/sh + +../../../../../distro/x86.R1/beos/system/servers/app_server & +sleep 1s +../../../../../distro/x86.R1/beos/system/servers/obos_registrar & +sleep 1s +../../../../../distro/x86.R1/beos/apps/ResizeLimits