This commit is contained in:
parent
38321022b9
commit
8d6c2c0d52
2 changed files with 18 additions and 0 deletions
|
|
@ -58,6 +58,8 @@ class MwWindow : public BWindow {
|
||||||
MwWindow(BRect rc, window_type type, uint32 flags);
|
MwWindow(BRect rc, window_type type, uint32 flags);
|
||||||
|
|
||||||
void MessageReceived(BMessage* message);
|
void MessageReceived(BMessage* message);
|
||||||
|
|
||||||
|
bool QuitRequested();
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef BBitmap MwBBitmap;
|
typedef BBitmap MwBBitmap;
|
||||||
|
|
@ -93,6 +95,7 @@ enum BWIN_MW_WHAT {
|
||||||
|
|
||||||
enum MwLLHAIKU_EVENT {
|
enum MwLLHAIKU_EVENT {
|
||||||
MwLLHAIKU_EVENT_DRAW = 0,
|
MwLLHAIKU_EVENT_DRAW = 0,
|
||||||
|
MwLLHAIKU_EVENT_CLOSE,
|
||||||
MwLLHAIKU_EVENT_MOUSEDOWN,
|
MwLLHAIKU_EVENT_MOUSEDOWN,
|
||||||
MwLLHAIKU_EVENT_MOUSEUP,
|
MwLLHAIKU_EVENT_MOUSEUP,
|
||||||
MwLLHAIKU_EVENT_MOUSEMOVED
|
MwLLHAIKU_EVENT_MOUSEMOVED
|
||||||
|
|
|
||||||
|
|
@ -324,6 +324,19 @@ void MwWindow::MessageReceived(BMessage* message) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool MwWindow::QuitRequested() {
|
||||||
|
MwLLHaikuEvent ev;
|
||||||
|
MwView* v = (MwView*)this->ChildAt(0);
|
||||||
|
|
||||||
|
ev.type = MwLLHAIKU_EVENT_CLOSE;
|
||||||
|
|
||||||
|
v->locker->Lock();
|
||||||
|
arrput(v->handle->haiku.events, ev);
|
||||||
|
v->locker->Unlock();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
struct app_param {
|
struct app_param {
|
||||||
MwRect rc;
|
MwRect rc;
|
||||||
MwLL handle;
|
MwLL handle;
|
||||||
|
|
@ -530,6 +543,8 @@ void MwLLNextEventImpl(MwLL handle) {
|
||||||
|
|
||||||
if(ev->type == MwLLHAIKU_EVENT_DRAW) {
|
if(ev->type == MwLLHAIKU_EVENT_DRAW) {
|
||||||
MwLLDispatch(handle, draw, NULL);
|
MwLLDispatch(handle, draw, NULL);
|
||||||
|
} else if(ev->type == MwLLHAIKU_EVENT_CLOSE) {
|
||||||
|
MwLLDispatch(handle, close, NULL);
|
||||||
} else if(ev->type == MwLLHAIKU_EVENT_MOUSEDOWN) {
|
} else if(ev->type == MwLLHAIKU_EVENT_MOUSEDOWN) {
|
||||||
MwLLDispatch(handle, down, &m);
|
MwLLDispatch(handle, down, &m);
|
||||||
} else if(ev->type == MwLLHAIKU_EVENT_MOUSEUP) {
|
} else if(ev->type == MwLLHAIKU_EVENT_MOUSEUP) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue