X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fglyphs-msw.h;h=c2cba15f3cc79b5220f5fa2dd0db73c46f34e27a;hb=84cf28ef3a72b8902e12a9f23cc0a31ffe105c60;hp=3783c90fd207a2468ebb16464f93ebf359286dc3;hpb=ea1ea793fe6e244ef5555ed983423a204101af13;p=chise%2Fxemacs-chise.git.1 diff --git a/src/glyphs-msw.h b/src/glyphs-msw.h index 3783c90..c2cba15 100644 --- a/src/glyphs-msw.h +++ b/src/glyphs-msw.h @@ -20,8 +20,8 @@ Boston, MA 02111-1307, USA. */ /* Synched up with: Not in FSF. */ -#ifndef _XEMACS_GLYPHS_MSW_H_ -#define _XEMACS_GLYPHS_MSW_H_ +#ifndef INCLUDED_glyphs_msw_h_ +#define INCLUDED_glyphs_msw_h_ #ifdef HAVE_MS_WINDOWS @@ -36,6 +36,7 @@ struct mswindows_image_instance_data { HBITMAP* bitmaps; HICON icon; + int real_width, real_height; }; #define MSWINDOWS_IMAGE_INSTANCE_DATA(i) \ @@ -48,9 +49,13 @@ struct mswindows_image_instance_data #define IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES(i) \ (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->bitmaps) #define IMAGE_INSTANCE_MSWINDOWS_MASK(i) \ - (HBITMAP)(IMAGE_INSTANCE_PIXMAP_MASK (i)) + (*(HBITMAP*)&(IMAGE_INSTANCE_PIXMAP_MASK (i))) /* Make it lvalue */ #define IMAGE_INSTANCE_MSWINDOWS_ICON(i) \ (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->icon) +#define IMAGE_INSTANCE_MSWINDOWS_BITMAP_REAL_WIDTH(i) \ + (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->real_width) +#define IMAGE_INSTANCE_MSWINDOWS_BITMAP_REAL_HEIGHT(i) \ + (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->real_height) #define XIMAGE_INSTANCE_MSWINDOWS_BITMAP(i) \ IMAGE_INSTANCE_MSWINDOWS_BITMAP (XIMAGE_INSTANCE (i)) @@ -64,19 +69,19 @@ struct mswindows_image_instance_data IMAGE_INSTANCE_MSWINDOWS_ICON (XIMAGE_INSTANCE (i)) int -mswindows_resize_dibitmap_instance (struct Lisp_Image_Instance* ii, +mswindows_resize_dibitmap_instance (Lisp_Image_Instance* ii, struct frame* f, int newx, int newy); HBITMAP -mswindows_create_resized_bitmap (struct Lisp_Image_Instance* ii, +mswindows_create_resized_bitmap (Lisp_Image_Instance* ii, struct frame* f, int newx, int newy); HBITMAP -mswindows_create_resized_mask (struct Lisp_Image_Instance* ii, +mswindows_create_resized_mask (Lisp_Image_Instance* ii, struct frame* f, int newx, int newy); void -mswindows_initialize_image_instance_icon (struct Lisp_Image_Instance* image, +mswindows_initialize_image_instance_icon (Lisp_Image_Instance* image, int cursor); #define WIDGET_INSTANCE_MSWINDOWS_HANDLE(i) \ @@ -91,13 +96,21 @@ struct mswindows_subwindow_data }; #define MSWINDOWS_SUBWINDOW_DATA(i) \ -((struct mswindows_subwindow_data *) (i)->data) - + ((struct mswindows_subwindow_data *) (i)->data) #define IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW(i) \ (MSWINDOWS_SUBWINDOW_DATA (i)->clip_window) +#define XIMAGE_INSTANCE_MSWINDOWS_SUBWINDOW_DATA(i) \ + MSWINDOWS_SUBWINDOW_DATA (XIMAGE_INSTANCE (i)) #define XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW(i) \ IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW (XIMAGE_INSTANCE (i)) +#define DOMAIN_MSWINDOWS_HANDLE(domain) \ + ((IMAGE_INSTANCEP (domain) && \ + XIMAGE_INSTANCE_MSWINDOWS_SUBWINDOW_DATA (domain)) ? \ + XWIDGET_INSTANCE_MSWINDOWS_HANDLE (domain) : \ + FRAME_MSWINDOWS_HANDLE (DOMAIN_XFRAME (domain))) + #endif /* HAVE_MS_WINDOWS */ -#endif /* _XEMACS_GLYPHS_MSW_H_ */ + +#endif /* INCLUDED_glyphs_msw_h_ */