diff --git a/src/tests/kits/interface/GetMouseTest.cpp b/src/tests/kits/interface/GetMouseTest.cpp new file mode 100644 index 0000000000..db7ab3d1a6 --- /dev/null +++ b/src/tests/kits/interface/GetMouseTest.cpp @@ -0,0 +1,69 @@ +#include +#include +#include + +#include + +class view : public BView { +public: + view(BRect rect) + : BView(rect, "test view", B_FOLLOW_ALL_SIDES, B_WILL_DRAW) + { + } + + virtual void + MouseDown(BPoint where) + { + printf("Mouse DOWN !!! %lld\n", system_time()); + + BPoint mouseWhere; + ulong buttons; + do { + GetMouse(&mouseWhere, &buttons); + snooze(10000); + } while (buttons != 0); + + printf("Mouse UP !!! %lld\n", system_time()); + } +}; + + +class window : public BWindow { +public: + window() : + BWindow(BRect(100, 100, 400, 300), "test window", B_DOCUMENT_WINDOW, B_QUIT_ON_WINDOW_CLOSE) + { + AddChild(new view(Bounds())); + } + + virtual void + DispatchMessage(BMessage *message, BHandler *handler) + { + bigtime_t when; + message->FindInt64("when", &when); + switch (message->what) { + case B_MOUSE_MOVED: + printf("B_MOUSE_MOVED: %lld\n", when); + break; + case B_MOUSE_UP: + printf("B_MOUSE_UP: %lld\n", when); + break; + case B_MOUSE_DOWN: + printf("B_MOUSE_DOWN: %lld\n", when); + break; + default: + break; + } + BWindow::DispatchMessage(message, handler); + } +}; + +int +main() +{ + BApplication app("application/x-vnd.getmousetest"); + + (new window())->Show(); + + app.Run(); +} diff --git a/src/tests/kits/interface/Jamfile b/src/tests/kits/interface/Jamfile index cc61c3eacc..c87c3d9c62 100644 --- a/src/tests/kits/interface/Jamfile +++ b/src/tests/kits/interface/Jamfile @@ -91,6 +91,11 @@ SimpleTest ScreenTest : : be ; +SimpleTest GetMouseTest : + GetMouseTest.cpp + : be + ; + SEARCH on [ FGristFiles ScrollView.cpp CheckBox.cpp ChannelSlider.cpp ChannelControl.cpp ] = [ FDirName $(OBOS_TOP) src kits interface ] ;