Mercurial > hg > xemacs-beta
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 { |