Mercurial > hg > xemacs-beta
comparison src/glyphs-msw.c @ 304:c6de09ad3017 r21-0b50
Import from CVS: tag r21-0b50
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:41:12 +0200 |
parents | 70ad99077275 |
children | 33bdb3d4b97f |
comparison
equal
deleted
inserted
replaced
303:d02ffe1d75ed | 304:c6de09ad3017 |
---|---|
50 DEFINE_IMAGE_INSTANTIATOR_FORMAT (bmp); | 50 DEFINE_IMAGE_INSTANTIATOR_FORMAT (bmp); |
51 Lisp_Object Qbmp; | 51 Lisp_Object Qbmp; |
52 Lisp_Object Vmswindows_bitmap_file_path; | 52 Lisp_Object Vmswindows_bitmap_file_path; |
53 static COLORREF transparent_color = RGB (1,1,1); | 53 static COLORREF transparent_color = RGB (1,1,1); |
54 | 54 |
55 DEFINE_IMAGE_INSTANTIATOR_FORMAT (resource); | 55 DEFINE_IMAGE_INSTANTIATOR_FORMAT (mswindows_resource); |
56 Lisp_Object Q_resource_type, Q_resource_id; | 56 Lisp_Object Q_resource_type, Q_resource_id; |
57 Lisp_Object Qmswindows_resource; | |
57 | 58 |
58 static void | 59 static void |
59 mswindows_initialize_dibitmap_image_instance (struct Lisp_Image_Instance *ii, | 60 mswindows_initialize_dibitmap_image_instance (struct Lisp_Image_Instance *ii, |
60 enum image_instance_type type); | 61 enum image_instance_type type); |
61 static void | 62 static void |
938 /********************************************************************** | 939 /********************************************************************** |
939 * RESOURCES * | 940 * RESOURCES * |
940 **********************************************************************/ | 941 **********************************************************************/ |
941 | 942 |
942 static void | 943 static void |
943 resource_validate (Lisp_Object instantiator) | 944 mswindows_resource_validate (Lisp_Object instantiator) |
944 { | 945 { |
945 if ((NILP (find_keyword_in_vector (instantiator, Q_file)) | 946 if ((NILP (find_keyword_in_vector (instantiator, Q_file)) |
946 && | 947 && |
947 NILP (find_keyword_in_vector (instantiator, Q_resource_id))) | 948 NILP (find_keyword_in_vector (instantiator, Q_resource_id))) |
948 || | 949 || |
950 signal_simple_error ("Must supply :file, :resource-id and :resource-type", | 951 signal_simple_error ("Must supply :file, :resource-id and :resource-type", |
951 instantiator); | 952 instantiator); |
952 } | 953 } |
953 | 954 |
954 static Lisp_Object | 955 static Lisp_Object |
955 resource_normalize (Lisp_Object inst, Lisp_Object console_type) | 956 mswindows_resource_normalize (Lisp_Object inst, Lisp_Object console_type) |
956 { | 957 { |
957 /* This function can call lisp */ | 958 /* This function can call lisp */ |
958 Lisp_Object file = Qnil; | 959 Lisp_Object file = Qnil; |
959 struct gcpro gcpro1, gcpro2; | 960 struct gcpro gcpro1, gcpro2; |
960 Lisp_Object alist = Qnil; | 961 Lisp_Object alist = Qnil; |
978 alist = remassq_no_quit (Q_file, alist); | 979 alist = remassq_no_quit (Q_file, alist); |
979 alist = Fcons (Fcons (Q_file, file), alist); | 980 alist = Fcons (Fcons (Q_file, file), alist); |
980 } | 981 } |
981 | 982 |
982 { | 983 { |
983 Lisp_Object result = alist_to_tagged_vector (Qresource, alist); | 984 Lisp_Object result = alist_to_tagged_vector (Qmswindows_resource, alist); |
984 free_alist (alist); | 985 free_alist (alist); |
985 RETURN_UNGCPRO (result); | 986 RETURN_UNGCPRO (result); |
986 } | 987 } |
987 } | 988 } |
988 | 989 |
989 static int | 990 static int |
990 resource_possible_dest_types (void) | 991 mswindows_resource_possible_dest_types (void) |
991 { | 992 { |
992 return IMAGE_POINTER_MASK | IMAGE_COLOR_PIXMAP_MASK; | 993 return IMAGE_POINTER_MASK | IMAGE_COLOR_PIXMAP_MASK; |
993 } | 994 } |
994 | 995 |
995 typedef struct | 996 typedef struct |
1106 else | 1107 else |
1107 return 0; | 1108 return 0; |
1108 } | 1109 } |
1109 | 1110 |
1110 static void | 1111 static void |
1111 resource_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, | 1112 mswindows_resource_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, |
1112 Lisp_Object pointer_fg, Lisp_Object pointer_bg, | 1113 Lisp_Object pointer_fg, Lisp_Object pointer_bg, |
1113 int dest_mask, Lisp_Object domain) | 1114 int dest_mask, Lisp_Object domain) |
1114 { | 1115 { |
1115 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); | 1116 struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); |
1116 unsigned int type = 0; | 1117 unsigned int type = 0; |
1958 IIFORMAT_HAS_METHOD (bmp, instantiate); | 1959 IIFORMAT_HAS_METHOD (bmp, instantiate); |
1959 | 1960 |
1960 IIFORMAT_VALID_KEYWORD (bmp, Q_data, check_valid_string); | 1961 IIFORMAT_VALID_KEYWORD (bmp, Q_data, check_valid_string); |
1961 IIFORMAT_VALID_KEYWORD (bmp, Q_file, check_valid_string); | 1962 IIFORMAT_VALID_KEYWORD (bmp, Q_file, check_valid_string); |
1962 | 1963 |
1963 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (resource, "resource"); | 1964 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (mswindows_resource, |
1964 | 1965 "mswindows-resource"); |
1965 IIFORMAT_HAS_METHOD (resource, validate); | 1966 |
1966 IIFORMAT_HAS_METHOD (resource, normalize); | 1967 IIFORMAT_HAS_METHOD (mswindows_resource, validate); |
1967 IIFORMAT_HAS_METHOD (resource, possible_dest_types); | 1968 IIFORMAT_HAS_METHOD (mswindows_resource, normalize); |
1968 IIFORMAT_HAS_METHOD (resource, instantiate); | 1969 IIFORMAT_HAS_METHOD (mswindows_resource, possible_dest_types); |
1969 | 1970 IIFORMAT_HAS_METHOD (mswindows_resource, instantiate); |
1970 IIFORMAT_VALID_KEYWORD (resource, Q_resource_type, | 1971 |
1972 IIFORMAT_VALID_KEYWORD (mswindows_resource, Q_resource_type, | |
1971 check_valid_resource_symbol); | 1973 check_valid_resource_symbol); |
1972 IIFORMAT_VALID_KEYWORD (resource, Q_resource_id, check_valid_resource_id); | 1974 IIFORMAT_VALID_KEYWORD (mswindows_resource, Q_resource_id, check_valid_resource_id); |
1973 IIFORMAT_VALID_KEYWORD (resource, Q_file, check_valid_string); | 1975 IIFORMAT_VALID_KEYWORD (mswindows_resource, Q_file, check_valid_string); |
1974 } | 1976 } |
1975 | 1977 |
1976 void | 1978 void |
1977 vars_of_glyphs_mswindows (void) | 1979 vars_of_glyphs_mswindows (void) |
1978 { | 1980 { |
1979 Fprovide (Qbmp); | 1981 Fprovide (Qbmp); |
1980 Fprovide (Qresource); | 1982 Fprovide (Qmswindows_resource); |
1981 DEFVAR_LISP ("mswindows-bitmap-file-path", &Vmswindows_bitmap_file_path /* | 1983 DEFVAR_LISP ("mswindows-bitmap-file-path", &Vmswindows_bitmap_file_path /* |
1982 A list of the directories in which mswindows bitmap files may be found. | 1984 A list of the directories in which mswindows bitmap files may be found. |
1983 This is used by the `make-image-instance' function. | 1985 This is used by the `make-image-instance' function. |
1984 */ ); | 1986 */ ); |
1985 Vmswindows_bitmap_file_path = Qnil; | 1987 Vmswindows_bitmap_file_path = Qnil; |