summaryrefslogtreecommitdiff
path: root/src/nsterm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nsterm.h')
-rw-r--r--src/nsterm.h73
1 files changed, 52 insertions, 21 deletions
diff --git a/src/nsterm.h b/src/nsterm.h
index 5d2513aea7a..161c3c29646 100644
--- a/src/nsterm.h
+++ b/src/nsterm.h
@@ -39,6 +39,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifndef MAC_OS_X_VERSION_10_9
#define MAC_OS_X_VERSION_10_9 1090
#endif
+#ifndef MAC_OS_X_VERSION_10_12
+#define MAC_OS_X_VERSION_10_12 101200
+#endif
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
#define HAVE_NATIVE_FS
@@ -389,7 +392,6 @@ char const * nstrace_fullscreen_type_name (int);
- (void)sendEvent: (NSEvent *)theEvent;
- (void)showPreferencesWindow: (id)sender;
- (BOOL) openFile: (NSString *)fileName;
-- (void)fd_handler: (id)unused;
- (void)timeout_handler: (NSTimer *)timedEntry;
- (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg;
#ifdef NS_IMPL_GNUSTEP
@@ -676,11 +678,13 @@ char const * nstrace_fullscreen_type_name (int);
/* offset to the bottom of knob of last mouse down */
CGFloat last_mouse_offset;
float min_portion;
- int pixel_height;
+ int pixel_length;
enum scroll_bar_part last_hit_part;
BOOL condemned;
+ BOOL horizontal;
+
/* optimize against excessive positioning calls generated by emacs */
int em_position;
int em_portion;
@@ -726,7 +730,7 @@ char const * nstrace_fullscreen_type_name (int);
extern NSArray *ns_send_types, *ns_return_types;
extern NSString *ns_app_name;
-extern EmacsMenu *mainMenu, *svcsMenu, *dockMenu;
+extern EmacsMenu *svcsMenu;
/* Apple removed the declaration, but kept the implementation */
#if defined (NS_IMPL_COCOA)
@@ -919,8 +923,6 @@ struct ns_display_info
/* This is a chain of structures for all the NS displays currently in use. */
extern struct ns_display_info *x_display_list;
-extern struct ns_display_info *ns_display_info_for_name (Lisp_Object name);
-
struct ns_output
{
#ifdef __OBJC__
@@ -1012,7 +1014,7 @@ struct x_output
#define FRAME_NS_TITLEBAR_HEIGHT(f) ((f)->output_data.ns->titlebar_height)
#define FRAME_TOOLBAR_HEIGHT(f) ((f)->output_data.ns->toolbar_height)
-#define FRAME_DEFAULT_FACE(f) FACE_FROM_ID (f, DEFAULT_FACE_ID)
+#define FRAME_DEFAULT_FACE(f) FACE_FROM_ID_OR_NULL (f, DEFAULT_FACE_ID)
#define FRAME_NS_VIEW(f) ((f)->output_data.ns->view)
#define FRAME_CURSOR_COLOR(f) ((f)->output_data.ns->cursor_color)
@@ -1094,7 +1096,7 @@ extern void nsfont_make_fontset_for_font (Lisp_Object name,
/* In nsfont, for debugging */
struct glyph_string;
-void ns_dump_glyphstring (struct glyph_string *s);
+void ns_dump_glyphstring (struct glyph_string *s) EXTERNALLY_VISIBLE;
/* Implemented in nsterm, published in or needed from nsfns. */
extern Lisp_Object ns_list_fonts (struct frame *f, Lisp_Object pattern,
@@ -1111,9 +1113,6 @@ extern void ns_string_to_pasteboard (id pb, Lisp_Object str);
extern Lisp_Object ns_get_local_selection (Lisp_Object selection_name,
Lisp_Object target_type);
extern void nxatoms_of_nsselect (void);
-extern int ns_lisp_to_cursor_type (Lisp_Object arg);
-extern Lisp_Object ns_cursor_type_to_lisp (int arg);
-extern void ns_set_name_as_filename (struct frame *f);
extern void ns_set_doc_edited (void);
extern bool
@@ -1125,11 +1124,9 @@ extern void
ns_query_color (void *col, XColor *color_def, int setPixel);
#ifdef __OBJC__
-extern Lisp_Object ns_color_to_lisp (NSColor *col);
extern int ns_lisp_to_color (Lisp_Object color, NSColor **col);
extern NSColor *ns_lookup_indexed_color (unsigned long idx, struct frame *f);
extern unsigned long ns_index_color (NSColor *color, struct frame *f);
-extern void ns_free_indexed_color (unsigned long idx, struct frame *f);
extern const char *ns_get_pending_menu_title (void);
extern void ns_check_menu_open (NSMenu *menu);
extern void ns_check_pending_open_menu (void);
@@ -1147,8 +1144,6 @@ extern void ns_init_locale (void);
/* in nsmenu */
extern void update_frame_tool_bar (struct frame *f);
extern void free_frame_tool_bar (struct frame *f);
-extern void find_and_call_menu_selection (struct frame *f,
- int menu_bar_items_used, Lisp_Object vector, void *client_data);
extern Lisp_Object find_and_return_menu_selection (struct frame *f,
bool keymaps,
void *client_data);
@@ -1171,7 +1166,7 @@ extern void syms_of_nsselect (void);
/* From nsimage.m, needed in image.c */
struct image;
-extern void *ns_image_from_XBM (unsigned char *bits, int width, int height,
+extern void *ns_image_from_XBM (char *bits, int width, int height,
unsigned long fg, unsigned long bg);
extern void *ns_image_for_XPM (int width, int height, int depth);
extern void *ns_image_from_file (Lisp_Object file);
@@ -1187,6 +1182,7 @@ extern int x_display_pixel_height (struct ns_display_info *);
extern int x_display_pixel_width (struct ns_display_info *);
/* This in nsterm.m */
+extern float ns_antialias_threshold;
extern void x_destroy_window (struct frame *f);
extern int ns_select (int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timespec const *timeout,
@@ -1194,14 +1190,11 @@ extern int ns_select (int nfds, fd_set *readfds, fd_set *writefds,
extern unsigned long ns_get_rgb_color (struct frame *f,
float r, float g, float b, float a);
-extern void ns_init_events ();
-extern void ns_finish_events ();
+struct input_event;
+extern void ns_init_events (struct input_event *);
+extern void ns_finish_events (void);
#ifdef __OBJC__
-/* From nsterm.m, needed in nsfont.m. */
-extern void
-ns_draw_text_decoration (struct glyph_string *s, struct face *face,
- NSColor *defaultCol, CGFloat width, CGFloat x);
/* Needed in nsfns.m. */
extern void
ns_set_represented_filename (NSString* fstr, struct frame *f);
@@ -1231,4 +1224,42 @@ extern char gnustep_base_version[]; /* version tracking */
? (min) : (((x)>(max)) ? (max) : (x)))
#define SCREENMAXBOUND(x) (IN_BOUND (-SCREENMAX, x, SCREENMAX))
+/* macOS 10.12 deprecates a bunch of constants. */
+#if !defined (NS_IMPL_COCOA) || \
+ MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12
+#define NSEventModifierFlagCommand NSCommandKeyMask
+#define NSEventModifierFlagControl NSControlKeyMask
+#define NSEventModifierFlagHelp NSHelpKeyMask
+#define NSEventModifierFlagNumericPad NSNumericPadKeyMask
+#define NSEventModifierFlagOption NSAlternateKeyMask
+#define NSEventModifierFlagShift NSShiftKeyMask
+#define NSCompositingOperationSourceOver NSCompositeSourceOver
+#define NSEventMaskApplicationDefined NSApplicationDefinedMask
+#define NSEventTypeApplicationDefined NSApplicationDefined
+#define NSEventTypeCursorUpdate NSCursorUpdate
+#define NSEventTypeMouseMoved NSMouseMoved
+#define NSEventTypeLeftMouseDown NSLeftMouseDown
+#define NSEventTypeRightMouseDown NSRightMouseDown
+#define NSEventTypeOtherMouseDown NSOtherMouseDown
+#define NSEventTypeLeftMouseUp NSLeftMouseUp
+#define NSEventTypeRightMouseUp NSRightMouseUp
+#define NSEventTypeOtherMouseUp NSOtherMouseUp
+#define NSEventTypeLeftMouseDragged NSLeftMouseDragged
+#define NSEventTypeRightMouseDragged NSRightMouseDragged
+#define NSEventTypeOtherMouseDragged NSOtherMouseDragged
+#define NSEventTypeScrollWheel NSScrollWheel
+#define NSEventTypeKeyDown NSKeyDown
+#define NSEventTypeKeyUp NSKeyUp
+#define NSEventTypeFlagsChanged NSFlagsChanged
+#define NSEventMaskAny NSAnyEventMask
+#define NSWindowStyleMaskBorderless NSBorderlessWindowMask
+#define NSWindowStyleMaskClosable NSClosableWindowMask
+#define NSWindowStyleMaskFullScreen NSFullScreenWindowMask
+#define NSWindowStyleMaskMiniaturizable NSMiniaturizableWindowMask
+#define NSWindowStyleMaskResizable NSResizableWindowMask
+#define NSWindowStyleMaskTitled NSTitledWindowMask
+#define NSAlertStyleCritical NSCriticalAlertStyle
+#define NSControlSizeRegular NSRegularControlSize
+#endif
+
#endif /* HAVE_NS */