comparison src/glyphs-x.c @ 120:cca96a509cfe r20-1b12

Import from CVS: tag r20-1b12
author cvs
date Mon, 13 Aug 2007 09:25:29 +0200
parents 9f59509498e1
children d2f30a177268
comparison
equal deleted inserted replaced
119:d101af7320b8 120:cca96a509cfe
102 DEFINE_IMAGE_INSTANTIATOR_FORMAT (cursor_font); 102 DEFINE_IMAGE_INSTANTIATOR_FORMAT (cursor_font);
103 Lisp_Object Qcursor_font; 103 Lisp_Object Qcursor_font;
104 104
105 DEFINE_IMAGE_INSTANTIATOR_FORMAT (font); 105 DEFINE_IMAGE_INSTANTIATOR_FORMAT (font);
106 106
107 DEFINE_IMAGE_INSTANTIATOR_FORMAT (autodetect); 107 DEFINE_IMAGE_INSTANTIATOR_FORMAT (automatic_conversion);
108 108
109 static void cursor_font_instantiate (Lisp_Object image_instance, 109 static void cursor_font_instantiate (Lisp_Object image_instance,
110 Lisp_Object instantiator, 110 Lisp_Object instantiator,
111 Lisp_Object pointer_fg, 111 Lisp_Object pointer_fg,
112 Lisp_Object pointer_bg, 112 Lisp_Object pointer_bg,
2586 value = 2586 value =
2587 Fmake_color_instance 2587 Fmake_color_instance
2588 (value, device, encode_error_behavior_flag (ERROR_ME_NOT)); 2588 (value, device, encode_error_behavior_flag (ERROR_ME_NOT));
2589 else 2589 else
2590 { 2590 {
2591 Lisp_Object frame = DEVICE_SELECTED_FRAME(XDEVICE(device));
2592 Lisp_Object window = FRAME_SELECTED_WINDOW(XFRAME(frame));
2591 assert (COLOR_SPECIFIERP (value)); 2593 assert (COLOR_SPECIFIERP (value));
2592 value = Fspecifier_instance (value, Qnil, Qnil, Qnil); 2594 value = Fspecifier_instance (value, window, Qnil, Qnil);
2593 } 2595 }
2594 if (NILP (value)) 2596 if (NILP (value))
2595 continue; 2597 continue;
2596 results = noseeum_cons (noseeum_cons (name, value), results); 2598 results = noseeum_cons (noseeum_cons (name, value), results);
2597 i++; 2599 i++;
3111 3113
3112 #endif /* HAVE_XFACE */ 3114 #endif /* HAVE_XFACE */
3113 3115
3114 3116
3115 /********************************************************************** 3117 /**********************************************************************
3116 * Autodetect * 3118 * Automatic_Conversion *
3117 **********************************************************************/ 3119 **********************************************************************/
3118 3120
3119 static void 3121 static void
3120 autodetect_validate (Lisp_Object instantiator) 3122 automatic_conversion_validate (Lisp_Object instantiator)
3121 { 3123 {
3122 data_must_be_present (instantiator); 3124 data_must_be_present (instantiator);
3123 } 3125 }
3124 3126
3125 static Lisp_Object 3127 static Lisp_Object
3126 autodetect_normalize (Lisp_Object instantiator, Lisp_Object console_type) 3128 automatic_conversion_normalize (Lisp_Object instantiator,
3129 Lisp_Object console_type)
3127 { 3130 {
3128 Lisp_Object file = find_keyword_in_vector (instantiator, Q_data); 3131 Lisp_Object file = find_keyword_in_vector (instantiator, Q_data);
3129 Lisp_Object filename = Qnil; 3132 Lisp_Object filename = Qnil;
3130 Lisp_Object data = Qnil; 3133 Lisp_Object data = Qnil;
3131 struct gcpro gcpro1, gcpro2, gcpro3; 3134 struct gcpro gcpro1, gcpro2, gcpro3;
3194 /* If we couldn't convert it, just put it back as it is. 3197 /* If we couldn't convert it, just put it back as it is.
3195 We might try to further frob it later as a cursor-font 3198 We might try to further frob it later as a cursor-font
3196 specification. (We can't do that now because we don't know 3199 specification. (We can't do that now because we don't know
3197 what dest-types it's going to be instantiated into.) */ 3200 what dest-types it's going to be instantiated into.) */
3198 { 3201 {
3199 Lisp_Object result = alist_to_tagged_vector (Qautodetect, alist); 3202 Lisp_Object result = alist_to_tagged_vector (Qautomatic_conversion, alist);
3200 free_alist (alist); 3203 free_alist (alist);
3201 RETURN_UNGCPRO (result); 3204 RETURN_UNGCPRO (result);
3202 } 3205 }
3203 } 3206 }
3204 3207
3205 static int 3208 static int
3206 autodetect_possible_dest_types (void) 3209 automatic_conversion_possible_dest_types (void)
3207 { 3210 {
3208 return 3211 return
3209 IMAGE_MONO_PIXMAP_MASK | 3212 IMAGE_MONO_PIXMAP_MASK |
3210 IMAGE_COLOR_PIXMAP_MASK | 3213 IMAGE_COLOR_PIXMAP_MASK |
3211 IMAGE_POINTER_MASK | 3214 IMAGE_POINTER_MASK |
3212 IMAGE_TEXT_MASK; 3215 IMAGE_TEXT_MASK;
3213 } 3216 }
3214 3217
3215 static void 3218 static void
3216 autodetect_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, 3219 automatic_conversion_instantiate (Lisp_Object image_instance,
3217 Lisp_Object pointer_fg, Lisp_Object pointer_bg, 3220 Lisp_Object instantiator,
3218 int dest_mask) 3221 Lisp_Object pointer_fg,
3222 Lisp_Object pointer_bg,
3223 int dest_mask)
3219 { 3224 {
3220 Lisp_Object data = find_keyword_in_vector (instantiator, Q_data); 3225 Lisp_Object data = find_keyword_in_vector (instantiator, Q_data);
3221 struct gcpro gcpro1, gcpro2, gcpro3; 3226 struct gcpro gcpro1, gcpro2, gcpro3;
3222 Lisp_Object alist = Qnil; 3227 Lisp_Object alist = Qnil;
3223 Lisp_Object result = Qnil; 3228 Lisp_Object result = Qnil;
3932 IIFORMAT_VALID_KEYWORD (xface, Q_hotspot_y, check_valid_int); 3937 IIFORMAT_VALID_KEYWORD (xface, Q_hotspot_y, check_valid_int);
3933 IIFORMAT_VALID_KEYWORD (xface, Q_foreground, check_valid_string); 3938 IIFORMAT_VALID_KEYWORD (xface, Q_foreground, check_valid_string);
3934 IIFORMAT_VALID_KEYWORD (xface, Q_background, check_valid_string); 3939 IIFORMAT_VALID_KEYWORD (xface, Q_background, check_valid_string);
3935 #endif 3940 #endif
3936 3941
3937 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (autodetect, "autodetect"); 3942 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (automatic_conversion,
3938 3943 "automatic-conversion");
3939 IIFORMAT_HAS_METHOD (autodetect, validate); 3944
3940 IIFORMAT_HAS_METHOD (autodetect, normalize); 3945 IIFORMAT_HAS_METHOD (automatic_conversion, validate);
3941 IIFORMAT_HAS_METHOD (autodetect, possible_dest_types); 3946 IIFORMAT_HAS_METHOD (automatic_conversion, normalize);
3942 IIFORMAT_HAS_METHOD (autodetect, instantiate); 3947 IIFORMAT_HAS_METHOD (automatic_conversion, possible_dest_types);
3943 3948 IIFORMAT_HAS_METHOD (automatic_conversion, instantiate);
3944 IIFORMAT_VALID_KEYWORD (autodetect, Q_data, check_valid_string); 3949
3950 IIFORMAT_VALID_KEYWORD (automatic_conversion, Q_data, check_valid_string);
3945 } 3951 }
3946 3952
3947 void 3953 void
3948 vars_of_glyphs_x (void) 3954 vars_of_glyphs_x (void)
3949 { 3955 {