aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Sicket <jas@corpus-callosum.com>2009-05-17 11:07:09 -0700
committerJeff Sicket <jas@corpus-callosum.com>2009-05-17 11:07:09 -0700
commit834d2a4dffe28ce4119d610028e9e48c59cefe4d (patch)
treede76adea628796cfcfd4187fcf0357129acd7e04
parent9a0e0048423b0afe1da390354eca315d06ef165b (diff)
downloadplan9port-834d2a4dffe28ce4119d610028e9e48c59cefe4d.tar.gz
plan9port-834d2a4dffe28ce4119d610028e9e48c59cefe4d.tar.bz2
plan9port-834d2a4dffe28ce4119d610028e9e48c59cefe4d.zip
devdraw: flush window on kEventAppShow
-rw-r--r--src/cmd/devdraw/osx-screen.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/cmd/devdraw/osx-screen.c b/src/cmd/devdraw/osx-screen.c
index 76416cba..8e3dd806 100644
--- a/src/cmd/devdraw/osx-screen.c
+++ b/src/cmd/devdraw/osx-screen.c
@@ -80,6 +80,7 @@ enum
};
void screeninit(void);
+void _flushmemscreen(Rectangle r);
Memimage*
attachscreen(char *label, char *winsize)
@@ -126,7 +127,7 @@ _screeninit(void)
CFSTR("Full Screen"), 0, CmdFullScreen, &ix);
SetMenuItemCommandKey(osx.vmenu, ix, 0, 'F');
AppendMenuItemTextWithCFString(osx.vmenu,
- CFSTR("Ctl-Opt exits full screen"),
+ CFSTR("Cmd-F exits full screen"),
kMenuItemAttrDisabled, CmdFullScreen, &ix);
InsertMenu(osx.vmenu, GetMenuID(osx.wmenu));
DrawMenuBar();
@@ -165,6 +166,7 @@ _screeninit(void)
{ kEventClassWindow, kEventWindowDeactivated },
};
const EventTypeSpec events[] = {
+ { kEventClassApplication, kEventAppShown },
{ kEventClassKeyboard, kEventRawKeyDown },
{ kEventClassKeyboard, kEventRawKeyModifiersChanged },
{ kEventClassKeyboard, kEventRawKeyRepeat },
@@ -244,6 +246,11 @@ eventhandler(EventHandlerCallRef next, EventRef event, void *arg)
result = CallNextEventHandler(next, event);
switch(GetEventClass(event)){
+ case kEventClassApplication:;
+ Rectangle r = Rect(0, 0, Dx(osx.screenr), Dy(osx.screenr));
+ _flushmemscreen(r);
+ return eventNotHandledErr;
+
case kEventClassKeyboard:
return kbdevent(event);
@@ -267,7 +274,7 @@ eventhandler(EventHandlerCallRef next, EventRef event, void *arg)
}
break;
- case kEventClassWindow:;
+ case kEventClassWindow:
switch(GetEventKind(event)){
case kEventWindowClosed:
exit(0);