Merge branch 'scratch/ns/draw-to-bitmap'

This commit is contained in:
Alan Third 2020-01-28 18:15:19 +00:00
commit 93b5530662
3 changed files with 512 additions and 435 deletions

View file

@ -287,12 +287,6 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side.
error ("Unknown color");
}
/* Clear the frame; in some instances the NS-internal GC appears not
to update, or it does update and cannot clear old text
properly. */
if (FRAME_VISIBLE_P (f))
ns_clear_frame (f);
[col retain];
[f->output_data.ns->background_color release];
f->output_data.ns->background_color = col;
@ -324,7 +318,10 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side.
}
if (FRAME_VISIBLE_P (f))
SET_FRAME_GARBAGED (f);
{
SET_FRAME_GARBAGED (f);
ns_clear_frame (f);
}
}
unblock_input ();
}

View file

@ -417,6 +417,9 @@ typedef id instancetype;
int maximized_width, maximized_height;
NSWindow *nonfs_window;
BOOL fs_is_native;
#ifdef NS_IMPL_COCOA
NSBitmapImageRep *drawingBuffer;
#endif
@public
struct frame *emacsframe;
int rows, cols;
@ -457,7 +460,13 @@ typedef id instancetype;
#endif
- (int)fullscreenState;
/* Non-notification versions of NSView methods. Used for direct calls. */
#ifdef NS_IMPL_COCOA
- (void)focusOnDrawingBuffer;
#endif
- (void)copyRect:(NSRect)srcRect to:(NSRect)dstRect;
- (void)createDrawingBufferWithRect:(NSRect)rect;
/* Non-notification versions of NSView methods. Used for direct calls. */
- (void)windowWillEnterFullScreen;
- (void)windowDidEnterFullScreen;
- (void)windowWillExitFullScreen;

File diff suppressed because it is too large Load diff