summaryrefslogtreecommitdiff
path: root/src/nsterm.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-06-09 16:34:18 +0800
committerPo Lu <luangruo@yahoo.com>2022-06-09 16:34:18 +0800
commite7ac2ac4e07d3fd6fee4a74a9cfc5bac9310fc18 (patch)
tree2cf1ab3a6a41efbeaba620441cb3ace30bd48a3e /src/nsterm.h
parent0ba43e15d9c9ffb3df8aeb3a7e446d9a4d62ccff (diff)
downloademacs-e7ac2ac4e07d3fd6fee4a74a9cfc5bac9310fc18.tar.gz
Implement `follow-tooltip' on NS as well
* lisp/term/ns-win.el (x-begin-drag): Pass `follow-tooltip'. * src/nsfns.m (Fx_show_tip): Record last dx and dy. (syms_of_nsfns): New staticpros. * src/nsmenu.m ([EmacsTooltip moveTo:]): New method. * src/nsselect.m (Fns_begin_drag): New parameter `follow-tooltip'. * src/nsterm.h (@interface EmacsWindow): (EmacsTooltip): Update prototypes. * src/nsterm.m ([EmacsWindow draggedImage:movedTo:]): Move any tooltip to the right location. ([EmacsWindow beginDrag:forPasteboard...]): New parameter `followTooltip'.
Diffstat (limited to 'src/nsterm.h')
-rw-r--r--src/nsterm.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/nsterm.h b/src/nsterm.h
index 37bff6260a0..c4fdc7054f7 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -426,6 +426,7 @@ enum ns_return_frame_mode
struct frame *dnd_return_frame;
enum ns_return_frame_mode dnd_mode;
BOOL dnd_allow_same_frame;
+ BOOL dnd_move_tooltip_with_frame;
}
#ifdef NS_IMPL_GNUSTEP
@@ -446,7 +447,8 @@ enum ns_return_frame_mode
forPasteboard: (NSPasteboard *) pasteboard
withMode: (enum ns_return_frame_mode) mode
returnFrameTo: (struct frame **) frame_return
- prohibitSame: (BOOL) prohibit_same_frame;
+ prohibitSame: (BOOL) prohibit_same_frame
+ followTooltip: (BOOL) follow_tooltip;
- (BOOL) mustNotDropOn: (NSView *) receiver;
@end
@@ -630,19 +632,21 @@ enum ns_return_frame_mode
#else
@interface EmacsTooltip : NSObject
#endif
- {
- NSWindow *win;
- NSTextField *textField;
- NSTimer *timer;
- }
+{
+ NSWindow *win;
+ NSTextField *textField;
+ NSTimer *timer;
+}
+
- (instancetype) init;
-- (void) setText: (char *)text;
-- (void) setBackgroundColor: (NSColor *)col;
-- (void) setForegroundColor: (NSColor *)col;
-- (void) showAtX: (int)x Y: (int)y for: (int)seconds;
+- (void) setText: (char *) text;
+- (void) setBackgroundColor: (NSColor *) col;
+- (void) setForegroundColor: (NSColor *) col;
+- (void) showAtX: (int) x Y: (int) y for: (int) seconds;
- (void) hide;
- (BOOL) isActive;
- (NSRect) frame;
+- (void) moveTo: (NSPoint) screen_point;
@end
@@ -1140,6 +1144,9 @@ extern const char *ns_get_pending_menu_title (void);
#endif
/* Implemented in nsfns, published in nsterm. */
+#ifdef __OBJC__
+extern void ns_move_tooltip_to_mouse_location (NSPoint);
+#endif
extern void ns_implicitly_set_name (struct frame *f, Lisp_Object arg,
Lisp_Object oldval);
extern void ns_set_scroll_bar_default_width (struct frame *f);