comparison src/glyphs.h @ 410:de805c49cfc1 r21-2-35

Import from CVS: tag r21-2-35
author cvs
date Mon, 13 Aug 2007 11:19:21 +0200
parents 501cfd01ee6d
children 697ef44129c6
comparison
equal deleted inserted replaced
409:301b9ebbdf3b 410:de805c49cfc1
89 enum image_instance_geometry 89 enum image_instance_geometry
90 { 90 {
91 IMAGE_GEOMETRY, 91 IMAGE_GEOMETRY,
92 IMAGE_DESIRED_GEOMETRY, 92 IMAGE_DESIRED_GEOMETRY,
93 IMAGE_MIN_GEOMETRY, 93 IMAGE_MIN_GEOMETRY,
94 IMAGE_MAX_GEOMETRY, 94 IMAGE_MAX_GEOMETRY
95 IMAGE_UNSPECIFIED_GEOMETRY = ~0
96 }; 95 };
96
97 #define IMAGE_UNSPECIFIED_GEOMETRY -1
97 98
98 #define WIDGET_BORDER_HEIGHT 4 99 #define WIDGET_BORDER_HEIGHT 4
99 #define WIDGET_BORDER_WIDTH 4 100 #define WIDGET_BORDER_WIDTH 4
100 101
101 enum governing_domain 102 enum governing_domain
166 167
167 /* Find out the desired geometry, as given by disp, of this image 168 /* Find out the desired geometry, as given by disp, of this image
168 instance. Actual geometry is stored in the appropriate slots in the 169 instance. Actual geometry is stored in the appropriate slots in the
169 image instance. */ 170 image instance. */
170 void (*query_geometry_method) (Lisp_Object image_instance, 171 void (*query_geometry_method) (Lisp_Object image_instance,
171 unsigned int* width, unsigned int* height, 172 int* width, int* height,
172 enum image_instance_geometry disp, 173 enum image_instance_geometry disp,
173 Lisp_Object domain); 174 Lisp_Object domain);
174 175
175 /* Layout the instance and its children bounded by the provided 176 /* Layout the instance and its children bounded by the provided
176 dimensions. Returns success or failure. */ 177 dimensions. Returns success or failure. */
177 int (*layout_method) (Lisp_Object image_instance, 178 int (*layout_method) (Lisp_Object image_instance,
178 unsigned int width, unsigned int height, 179 int width, int height, Lisp_Object domain);
179 Lisp_Object domain);
180 }; 180 };
181 181
182 /***** Calling an image-instantiator method *****/ 182 /***** Calling an image-instantiator method *****/
183 183
184 #define HAS_IIFORMAT_METH_P(mstruc, m) (((mstruc)->m##_method) != 0) 184 #define HAS_IIFORMAT_METH_P(mstruc, m) (((mstruc)->m##_method) != 0)
357 int subwindow_governing_domain (void); 357 int subwindow_governing_domain (void);
358 void widget_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, 358 void widget_instantiate (Lisp_Object image_instance, Lisp_Object instantiator,
359 Lisp_Object pointer_fg, Lisp_Object pointer_bg, 359 Lisp_Object pointer_fg, Lisp_Object pointer_bg,
360 int dest_mask, Lisp_Object domain); 360 int dest_mask, Lisp_Object domain);
361 void image_instance_query_geometry (Lisp_Object image_instance, 361 void image_instance_query_geometry (Lisp_Object image_instance,
362 unsigned int* width, unsigned int* height, 362 int* width, int* height,
363 enum image_instance_geometry disp, 363 enum image_instance_geometry disp,
364 Lisp_Object domain); 364 Lisp_Object domain);
365 void image_instance_layout (Lisp_Object image_instance, 365 void image_instance_layout (Lisp_Object image_instance,
366 unsigned int width, unsigned int height, 366 int width, int height,
367 Lisp_Object domain); 367 Lisp_Object domain);
368 int layout_layout (Lisp_Object image_instance, 368 int layout_layout (Lisp_Object image_instance,
369 unsigned int width, unsigned int height, 369 int width, int height,
370 Lisp_Object domain); 370 Lisp_Object domain);
371 int invalidate_glyph_geometry_maybe (Lisp_Object glyph_or_ii, struct window* w); 371 int invalidate_glyph_geometry_maybe (Lisp_Object glyph_or_ii, struct window* w);
372 372
373 DECLARE_DOESNT_RETURN (incompatible_image_types (Lisp_Object instantiator, 373 DECLARE_DOESNT_RETURN (incompatible_image_types (Lisp_Object instantiator,
374 int given_dest_mask, 374 int given_dest_mask,
528 /* The glyph from which we were instantiated. This is a weak 528 /* The glyph from which we were instantiated. This is a weak
529 reference. */ 529 reference. */
530 Lisp_Object parent; 530 Lisp_Object parent;
531 enum image_instance_type type; 531 enum image_instance_type type;
532 unsigned int x_offset, y_offset; /* for layout purposes */ 532 unsigned int x_offset, y_offset; /* for layout purposes */
533 unsigned int width, height, margin_width; 533 int width, height, margin_width;
534 unsigned long display_hash; /* Hash value representing the structure 534 unsigned long display_hash; /* Hash value representing the structure
535 of the image_instance when it was 535 of the image_instance when it was
536 last displayed. */ 536 last displayed. */
537 unsigned int dirty : 1; 537 unsigned int dirty : 1;
538 unsigned int size_changed : 1; 538 unsigned int size_changed : 1;
978 Lisp_Object allocate_glyph (enum glyph_type type, 978 Lisp_Object allocate_glyph (enum glyph_type type,
979 void (*after_change) (Lisp_Object glyph, 979 void (*after_change) (Lisp_Object glyph,
980 Lisp_Object property, 980 Lisp_Object property,
981 Lisp_Object locale)); 981 Lisp_Object locale));
982 void query_string_geometry ( Lisp_Object string, Lisp_Object face, 982 void query_string_geometry ( Lisp_Object string, Lisp_Object face,
983 unsigned int* width, unsigned int* height, 983 int* width, int* height, int* descent,
984 unsigned int* descent, Lisp_Object domain); 984 Lisp_Object domain);
985 Lisp_Object query_string_font (Lisp_Object string, 985 Lisp_Object query_string_font (Lisp_Object string,
986 Lisp_Object face, Lisp_Object domain); 986 Lisp_Object face, Lisp_Object domain);
987 Lisp_Object add_glyph_animated_timeout (EMACS_INT tickms, Lisp_Object device); 987 Lisp_Object add_glyph_animated_timeout (EMACS_INT tickms, Lisp_Object device);
988 void disable_glyph_animated_timeout (int i); 988 void disable_glyph_animated_timeout (int i);
989 989