Mercurial > emacs
view lwlib/lwlib-int.h @ 53180:a0409e91c835
(Vdisplay_pixels_per_inch): New variable.
(Vshow_text_cursor_in_void): New variable.
(glyph_to_pixel_coords): Don't use negative hpos.
(x_y_to_hpos_vpos): Fix for partially visible first glyph.
(append_stretch_glyph): Change ascent arg to be actual value
in pixels rather than ratio to height. Callers changed.
(calc_pixel_width_or_height): New aux function, implementing
pixel based artihmetic for glyph widths and heights.
(produce_stretch_glyph): Use calc_pixel_width_or_height for
:width, :height, :align-to, and :ascent, thus allowing these to
be specified in pixels as well as multiples of characters.
Don't produce stretch glyphs with zero width or height.
(get_specified_cursor_type): Declare static.
(get_window_cursor_type): Declare static. Add glyph arg to be
able to know when cursor is on an image; always substitute
hollow-box cursor for filled-box cursor on images, to avoid
negative images and flicker when blinking the cursor.
(display_and_set_cursor): Pass glyph to get_window_cursor_type.
(note_mode_line_or_margin_highlight): Use non-text cursor rather
than vertical scroll-bar cursor in display margins.
(note_mouse_highlight): Use non-text cursor rather than text
cursor in fringes and over images in the text area.
Use non-text cursor when mouse pointer is outside editable text,
i.e. in the void after end-of-line or end-of-buffer; this was
already done for W32, but is now standard for all systems --
user can toggle show-text-cursor-in-void to get old behaviour.
(syms_of_xdisp): DEFVAR_LISP Vshow_text_cursor_in_void and
Vdisplay_pixels_per_inch.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Thu, 27 Nov 2003 21:17:23 +0000 |
parents | 695cf19ef79e |
children | 9f78501bf1f3 375f2633d815 |
line wrap: on
line source
#ifndef LWLIB_INTERNAL_H #define LWLIB_INTERNAL_H #include "lwlib.h" extern char *safe_strdup __P ((const char *)); typedef struct _widget_instance { Widget widget; Widget parent; Boolean pop_up_p; struct _widget_info* info; struct _widget_instance* next; } widget_instance; typedef struct _widget_info { char* type; char* name; LWLIB_ID id; widget_value* val; Boolean busy; lw_callback pre_activate_cb; lw_callback selection_cb; lw_callback post_activate_cb; lw_callback highlight_cb; struct _widget_instance* instances; struct _widget_info* next; } widget_info; typedef Widget (*widget_creation_function) (); typedef struct _widget_creation_entry { char* type; widget_creation_function function; } widget_creation_entry; /* update all other instances of a widget. Can be used in a callback when a widget has been used by the user */ void lw_internal_update_other_instances __P ((Widget, XtPointer, XtPointer)); /* get the widget_value for a widget in a given instance */ widget_value* lw_get_widget_value_for_widget __P ((widget_instance *, Widget)); widget_info *lw_get_widget_info __P ((LWLIB_ID)); widget_instance * lw_get_widget_instance __P ((Widget)); #endif /* LWLIB_INTERNAL_H */ /* arch-tag: ae02f67d-ef25-421c-b956-b01a4b0aac76 (do not change this comment) */