diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/pgtkterm.h | 98 |
1 files changed, 57 insertions, 41 deletions
diff --git a/src/pgtkterm.h b/src/pgtkterm.h index 4ba00e0dbdf..f4d6ee035f1 100644 --- a/src/pgtkterm.h +++ b/src/pgtkterm.h | |||
| @@ -31,10 +31,11 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ | |||
| 31 | // #define PGTK_DEBUG 1 | 31 | // #define PGTK_DEBUG 1 |
| 32 | 32 | ||
| 33 | #ifdef PGTK_DEBUG | 33 | #ifdef PGTK_DEBUG |
| 34 | extern void pgtk_log(const char *file, int lineno, const char *fmt, ...) | 34 | extern void |
| 35 | ATTRIBUTE_FORMAT_PRINTF (3, 4); | 35 | pgtk_log (const char *file, int lineno, const char *fmt, ...) |
| 36 | ATTRIBUTE_FORMAT_PRINTF (3, 4); | ||
| 36 | #define PGTK_TRACE(fmt, ...) pgtk_log(__FILE__, __LINE__, fmt, ## __VA_ARGS__) | 37 | #define PGTK_TRACE(fmt, ...) pgtk_log(__FILE__, __LINE__, fmt, ## __VA_ARGS__) |
| 37 | extern void pgtk_backtrace(const char *file, int lineno); | 38 | extern void pgtk_backtrace (const char *file, int lineno); |
| 38 | #define PGTK_BACKTRACE() pgtk_backtrace(__FILE__, __LINE__) | 39 | #define PGTK_BACKTRACE() pgtk_backtrace(__FILE__, __LINE__) |
| 39 | #else | 40 | #else |
| 40 | #define PGTK_TRACE(fmt, ...) ((void) 0) | 41 | #define PGTK_TRACE(fmt, ...) ((void) 0) |
| @@ -226,7 +227,8 @@ struct pgtk_display_info | |||
| 226 | GdkEvent *last_click_event; | 227 | GdkEvent *last_click_event; |
| 227 | 228 | ||
| 228 | /* input method */ | 229 | /* input method */ |
| 229 | struct { | 230 | struct |
| 231 | { | ||
| 230 | GtkIMContext *context; | 232 | GtkIMContext *context; |
| 231 | struct frame *focused_frame; | 233 | struct frame *focused_frame; |
| 232 | } im; | 234 | } im; |
| @@ -289,7 +291,7 @@ struct pgtk_output | |||
| 289 | 291 | ||
| 290 | /* If a fontset is specified for this frame instead of font, this | 292 | /* If a fontset is specified for this frame instead of font, this |
| 291 | value contains an ID of the fontset, else -1. */ | 293 | value contains an ID of the fontset, else -1. */ |
| 292 | int fontset; /* only used with font_backend */ | 294 | int fontset; /* only used with font_backend */ |
| 293 | 295 | ||
| 294 | unsigned long mouse_color; | 296 | unsigned long mouse_color; |
| 295 | unsigned long cursor_color; | 297 | unsigned long cursor_color; |
| @@ -336,8 +338,8 @@ struct pgtk_output | |||
| 336 | /* The tool bar in this frame */ | 338 | /* The tool bar in this frame */ |
| 337 | GtkWidget *toolbar_widget; | 339 | GtkWidget *toolbar_widget; |
| 338 | /* True if tool bar is packed into the hbox widget (i.e. vertical). */ | 340 | /* True if tool bar is packed into the hbox widget (i.e. vertical). */ |
| 339 | bool_bf toolbar_in_hbox : 1; | 341 | bool_bf toolbar_in_hbox:1; |
| 340 | bool_bf toolbar_is_packed : 1; | 342 | bool_bf toolbar_is_packed:1; |
| 341 | 343 | ||
| 342 | GtkTooltip *ttip_widget; | 344 | GtkTooltip *ttip_widget; |
| 343 | GtkWidget *ttip_lbl; | 345 | GtkWidget *ttip_lbl; |
| @@ -399,7 +401,7 @@ enum | |||
| 399 | the focus. IMPLICIT means we received an EnterNotify and the frame | 401 | the focus. IMPLICIT means we received an EnterNotify and the frame |
| 400 | may have the focus if no window manager is running. | 402 | may have the focus if no window manager is running. |
| 401 | FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ | 403 | FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ |
| 402 | FOCUS_NONE = 0, | 404 | FOCUS_NONE = 0, |
| 403 | FOCUS_IMPLICIT = 1, | 405 | FOCUS_IMPLICIT = 1, |
| 404 | FOCUS_EXPLICIT = 2 | 406 | FOCUS_EXPLICIT = 2 |
| 405 | }; | 407 | }; |
| @@ -506,7 +508,8 @@ enum | |||
| 506 | 508 | ||
| 507 | 509 | ||
| 508 | /* Display init/shutdown functions implemented in pgtkterm.c */ | 510 | /* Display init/shutdown functions implemented in pgtkterm.c */ |
| 509 | extern struct pgtk_display_info *pgtk_term_init (Lisp_Object display_name, char *resource_name); | 511 | extern struct pgtk_display_info *pgtk_term_init (Lisp_Object display_name, |
| 512 | char *resource_name); | ||
| 510 | extern void pgtk_term_shutdown (int sig); | 513 | extern void pgtk_term_shutdown (int sig); |
| 511 | 514 | ||
| 512 | /* Implemented in pgtkterm, published in or needed from pgtkfns. */ | 515 | /* Implemented in pgtkterm, published in or needed from pgtkfns. */ |
| @@ -516,23 +519,30 @@ extern char *pgtk_xlfd_to_fontname (const char *xlfd); | |||
| 516 | /* Implemented in pgtkfns. */ | 519 | /* Implemented in pgtkfns. */ |
| 517 | extern void pgtk_set_doc_edited (void); | 520 | extern void pgtk_set_doc_edited (void); |
| 518 | extern const char *pgtk_get_defaults_value (const char *key); | 521 | extern const char *pgtk_get_defaults_value (const char *key); |
| 519 | extern const char *pgtk_get_string_resource (XrmDatabase rdb, const char *name, const char *class); | 522 | extern const char *pgtk_get_string_resource (XrmDatabase rdb, |
| 520 | extern void pgtk_implicitly_set_name (struct frame *f, Lisp_Object arg, Lisp_Object oldval); | 523 | const char *name, |
| 524 | const char *class); | ||
| 525 | extern void pgtk_implicitly_set_name (struct frame *f, Lisp_Object arg, | ||
| 526 | Lisp_Object oldval); | ||
| 521 | 527 | ||
| 522 | /* Color management implemented in pgtkterm. */ | 528 | /* Color management implemented in pgtkterm. */ |
| 523 | extern bool pgtk_defined_color (struct frame *f, | 529 | extern bool pgtk_defined_color (struct frame *f, |
| 524 | const char *name, | 530 | const char *name, |
| 525 | Emacs_Color *color_def, bool alloc, | 531 | Emacs_Color * color_def, bool alloc, |
| 526 | bool makeIndex); | 532 | bool makeIndex); |
| 527 | extern void pgtk_query_color (struct frame *f, Emacs_Color *color); | 533 | extern void pgtk_query_color (struct frame *f, Emacs_Color * color); |
| 528 | extern void pgtk_query_colors (struct frame *f, Emacs_Color *colors, int ncolors); | 534 | extern void pgtk_query_colors (struct frame *f, Emacs_Color * colors, |
| 529 | extern int pgtk_parse_color (struct frame *f, const char *color_name, Emacs_Color *color); | 535 | int ncolors); |
| 536 | extern int pgtk_parse_color (struct frame *f, const char *color_name, | ||
| 537 | Emacs_Color * color); | ||
| 530 | 538 | ||
| 531 | /* Implemented in pgtkterm.c */ | 539 | /* Implemented in pgtkterm.c */ |
| 532 | extern void pgtk_clear_area (struct frame *f, int x, int y, int width, int height); | 540 | extern void pgtk_clear_area (struct frame *f, int x, int y, int width, |
| 533 | extern int pgtk_gtk_to_emacs_modifiers (struct pgtk_display_info *dpyinfo, int state); | 541 | int height); |
| 542 | extern int pgtk_gtk_to_emacs_modifiers (struct pgtk_display_info *dpyinfo, | ||
| 543 | int state); | ||
| 534 | extern void pgtk_clear_under_internal_border (struct frame *f); | 544 | extern void pgtk_clear_under_internal_border (struct frame *f); |
| 535 | extern void pgtk_set_event_handler(struct frame *f); | 545 | extern void pgtk_set_event_handler (struct frame *f); |
| 536 | 546 | ||
| 537 | /* Implemented in pgtkterm.c */ | 547 | /* Implemented in pgtkterm.c */ |
| 538 | extern int x_display_pixel_height (struct pgtk_display_info *); | 548 | extern int x_display_pixel_height (struct pgtk_display_info *); |
| @@ -541,30 +551,36 @@ extern int x_display_pixel_width (struct pgtk_display_info *); | |||
| 541 | /* Implemented in pgtkterm.c */ | 551 | /* Implemented in pgtkterm.c */ |
| 542 | extern void x_destroy_window (struct frame *f); | 552 | extern void x_destroy_window (struct frame *f); |
| 543 | extern void x_set_parent_frame (struct frame *f, Lisp_Object new_value, | 553 | extern void x_set_parent_frame (struct frame *f, Lisp_Object new_value, |
| 544 | Lisp_Object old_value); | 554 | Lisp_Object old_value); |
| 545 | extern void x_set_no_focus_on_map (struct frame *f, Lisp_Object new_value, | 555 | extern void x_set_no_focus_on_map (struct frame *f, Lisp_Object new_value, |
| 546 | Lisp_Object old_value); | 556 | Lisp_Object old_value); |
| 547 | extern void x_set_no_accept_focus (struct frame *f, Lisp_Object new_value, | 557 | extern void x_set_no_accept_focus (struct frame *f, Lisp_Object new_value, |
| 548 | Lisp_Object old_value); | 558 | Lisp_Object old_value); |
| 549 | extern void x_set_z_group (struct frame *f, Lisp_Object new_value, | 559 | extern void x_set_z_group (struct frame *f, Lisp_Object new_value, |
| 550 | Lisp_Object old_value); | 560 | Lisp_Object old_value); |
| 551 | extern int pgtk_select (int nfds, fd_set *readfds, fd_set *writefds, | 561 | extern int pgtk_select (int nfds, fd_set * readfds, fd_set * writefds, |
| 552 | fd_set *exceptfds, struct timespec *timeout, | 562 | fd_set * exceptfds, struct timespec *timeout, |
| 553 | sigset_t *sigmask); | 563 | sigset_t * sigmask); |
| 554 | 564 | ||
| 555 | /* Cairo related functions implemented in pgtkterm.c */ | 565 | /* Cairo related functions implemented in pgtkterm.c */ |
| 556 | extern void pgtk_cr_update_surface_desired_size (struct frame *, int, int); | 566 | extern void pgtk_cr_update_surface_desired_size (struct frame *, int, int); |
| 557 | extern cairo_t *pgtk_begin_cr_clip (struct frame *f); | 567 | extern cairo_t *pgtk_begin_cr_clip (struct frame *f); |
| 558 | extern void pgtk_end_cr_clip (struct frame *f); | 568 | extern void pgtk_end_cr_clip (struct frame *f); |
| 559 | extern void pgtk_set_cr_source_with_gc_foreground (struct frame *f, Emacs_GC *gc); | 569 | extern void pgtk_set_cr_source_with_gc_foreground (struct frame *f, |
| 560 | extern void pgtk_set_cr_source_with_gc_background (struct frame *f, Emacs_GC *gc); | 570 | Emacs_GC * gc); |
| 561 | extern void pgtk_set_cr_source_with_color (struct frame *f, unsigned long color); | 571 | extern void pgtk_set_cr_source_with_gc_background (struct frame *f, |
| 562 | extern void pgtk_cr_draw_frame (cairo_t *cr, struct frame *f); | 572 | Emacs_GC * gc); |
| 563 | extern void pgtk_cr_destroy_frame_context(struct frame *f); | 573 | extern void pgtk_set_cr_source_with_color (struct frame *f, |
| 574 | unsigned long color); | ||
| 575 | extern void pgtk_cr_draw_frame (cairo_t * cr, struct frame *f); | ||
| 576 | extern void pgtk_cr_destroy_frame_context (struct frame *f); | ||
| 564 | 577 | ||
| 565 | /* Defined in pgtkmenu.c */ | 578 | /* Defined in pgtkmenu.c */ |
| 566 | extern Lisp_Object pgtk_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents); | 579 | extern Lisp_Object pgtk_popup_dialog (struct frame *f, Lisp_Object header, |
| 567 | extern Lisp_Object pgtk_dialog_show (struct frame *f, Lisp_Object title, Lisp_Object header, const char **error_name); | 580 | Lisp_Object contents); |
| 581 | extern Lisp_Object pgtk_dialog_show (struct frame *f, Lisp_Object title, | ||
| 582 | Lisp_Object header, | ||
| 583 | const char **error_name); | ||
| 568 | extern void initialize_frame_menubar (struct frame *); | 584 | extern void initialize_frame_menubar (struct frame *); |
| 569 | 585 | ||
| 570 | 586 | ||
| @@ -580,7 +596,7 @@ extern void nxatoms_of_pgtkselect (void); | |||
| 580 | 596 | ||
| 581 | /* Initialization and marking implemented in pgtkterm.c */ | 597 | /* Initialization and marking implemented in pgtkterm.c */ |
| 582 | extern void init_pgtkterm (void); | 598 | extern void init_pgtkterm (void); |
| 583 | extern void mark_pgtkterm(void); | 599 | extern void mark_pgtkterm (void); |
| 584 | extern void pgtk_delete_terminal (struct terminal *terminal); | 600 | extern void pgtk_delete_terminal (struct terminal *terminal); |
| 585 | 601 | ||
| 586 | extern void pgtk_make_frame_visible (struct frame *f); | 602 | extern void pgtk_make_frame_visible (struct frame *f); |
| @@ -604,17 +620,17 @@ extern void pgtk_default_font_parameter (struct frame *f, Lisp_Object parms); | |||
| 604 | extern void pgtk_menu_set_in_use (bool in_use); | 620 | extern void pgtk_menu_set_in_use (bool in_use); |
| 605 | 621 | ||
| 606 | 622 | ||
| 607 | extern void pgtk_enqueue_string(struct frame *f, gchar *str); | 623 | extern void pgtk_enqueue_string (struct frame *f, gchar * str); |
| 608 | extern void pgtk_enqueue_preedit(struct frame *f, Lisp_Object image_data); | 624 | extern void pgtk_enqueue_preedit (struct frame *f, Lisp_Object image_data); |
| 609 | extern void pgtk_im_focus_in(struct frame *f); | 625 | extern void pgtk_im_focus_in (struct frame *f); |
| 610 | extern void pgtk_im_focus_out(struct frame *f); | 626 | extern void pgtk_im_focus_out (struct frame *f); |
| 611 | extern bool pgtk_im_filter_keypress(struct frame *f, GdkEventKey *ev); | 627 | extern bool pgtk_im_filter_keypress (struct frame *f, GdkEventKey * ev); |
| 612 | extern void pgtk_im_init(struct pgtk_display_info *dpyinfo); | 628 | extern void pgtk_im_init (struct pgtk_display_info *dpyinfo); |
| 613 | extern void pgtk_im_finish(struct pgtk_display_info *dpyinfo); | 629 | extern void pgtk_im_finish (struct pgtk_display_info *dpyinfo); |
| 614 | 630 | ||
| 615 | extern bool xg_set_icon (struct frame *, Lisp_Object); | 631 | extern bool xg_set_icon (struct frame *, Lisp_Object); |
| 616 | extern bool xg_set_icon_from_xpm_data (struct frame *f, const char **data); | 632 | extern bool xg_set_icon_from_xpm_data (struct frame *f, const char **data); |
| 617 | 633 | ||
| 618 | extern bool pgtk_text_icon (struct frame *f, const char *icon_name); | 634 | extern bool pgtk_text_icon (struct frame *f, const char *icon_name); |
| 619 | 635 | ||
| 620 | #endif /* HAVE_PGTK */ | 636 | #endif /* HAVE_PGTK */ |