diff options
Diffstat (limited to 'src/cmd/devdraw/cocoa-screen-metal.m')
-rw-r--r-- | src/cmd/devdraw/cocoa-screen-metal.m | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/cmd/devdraw/cocoa-screen-metal.m b/src/cmd/devdraw/cocoa-screen-metal.m index 09b34635..984ede03 100644 --- a/src/cmd/devdraw/cocoa-screen-metal.m +++ b/src/cmd/devdraw/cocoa-screen-metal.m @@ -212,12 +212,19 @@ threadmain(int argc, char **argv) + (void)callsetNeedsDisplayInRect:(NSValue *)v { NSRect r; + dispatch_time_t time; r = [v rectValue]; LOG(@"callsetNeedsDisplayInRect(%g, %g, %g, %g)", r.origin.x, r.origin.y, r.size.width, r.size.height); r = [win convertRectFromBacking:r]; LOG(@"setNeedsDisplayInRect(%g, %g, %g, %g)", r.origin.x, r.origin.y, r.size.width, r.size.height); [layer setNeedsDisplayInRect:r]; + + time = dispatch_time(DISPATCH_TIME_NOW, 16 * NSEC_PER_MSEC); + dispatch_after(time, dispatch_get_main_queue(), ^(void){ + [layer setNeedsDisplayInRect:r]; + }); + [myContent enlargeLastInputRect:r]; } @@ -342,6 +349,13 @@ struct Cursors { return YES; } +- (void)windowDidResize:(NSNotification *)notification +{ + if(![myContent inLiveResize] && img) { + resizeimg(); + } +} + - (void)windowDidBecomeKey:(id)arg { [myContent sendmouse:0]; @@ -1112,7 +1126,6 @@ resizewindow(Rectangle r) s = [myContent convertSizeFromBacking:NSMakeSize(Dx(r), Dy(r))]; [win setContentSize:s]; - resizeimg(); }); } |