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;