Mercurial > hg > xemacs-beta
diff src/glyphs-msw.h @ 428:3ecd8885ac67 r21-2-22
Import from CVS: tag r21-2-22
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:28:15 +0200 |
parents | |
children | 8de8e3f6228a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/glyphs-msw.h Mon Aug 13 11:28:15 2007 +0200 @@ -0,0 +1,103 @@ +/* mswindows-specific glyphs and related. + Copyright (C) 1998 Andy Piper + +This file is part of XEmacs. + +XEmacs is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +XEmacs is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with XEmacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Synched up with: Not in FSF. */ + +#ifndef _XEMACS_GLYPHS_MSW_H_ +#define _XEMACS_GLYPHS_MSW_H_ + +#ifdef HAVE_MS_WINDOWS + +#include <windows.h> +#include "glyphs.h" + +/**************************************************************************** + * Image-Instance Object * + ****************************************************************************/ + +struct mswindows_image_instance_data +{ + HBITMAP* bitmaps; + HICON icon; +}; + +#define MSWINDOWS_IMAGE_INSTANCE_DATA(i) \ +((struct mswindows_image_instance_data *) (i)->data) + +#define IMAGE_INSTANCE_MSWINDOWS_BITMAP(i) \ + (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->bitmaps[0]) +#define IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE(i,slice) \ + (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->bitmaps[slice]) +#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)) +#define IMAGE_INSTANCE_MSWINDOWS_ICON(i) \ + (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->icon) + +#define XIMAGE_INSTANCE_MSWINDOWS_BITMAP(i) \ + IMAGE_INSTANCE_MSWINDOWS_BITMAP (XIMAGE_INSTANCE (i)) +#define XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE(i,slice) \ + IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE (XIMAGE_INSTANCE (i,slice)) +#define XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES(i) \ + IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES (XIMAGE_INSTANCE (i)) +#define XIMAGE_INSTANCE_MSWINDOWS_MASK(i) \ + IMAGE_INSTANCE_MSWINDOWS_MASK (XIMAGE_INSTANCE (i)) +#define XIMAGE_INSTANCE_MSWINDOWS_ICON(i) \ + IMAGE_INSTANCE_MSWINDOWS_ICON (XIMAGE_INSTANCE (i)) + +int +mswindows_resize_dibitmap_instance (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy); +HBITMAP +mswindows_create_resized_bitmap (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy); +HBITMAP +mswindows_create_resized_mask (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy); +void +mswindows_initialize_image_instance_icon (struct Lisp_Image_Instance* image, + int cursor); + +#define WIDGET_INSTANCE_MSWINDOWS_HANDLE(i) \ + (HWND) (IMAGE_INSTANCE_SUBWINDOW_ID (i)) + +#define XWIDGET_INSTANCE_MSWINDOWS_HANDLE(i) \ + WIDGET_INSTANCE_MSWINDOWS_HANDLE (XIMAGE_INSTANCE (i)) + +struct mswindows_subwindow_data +{ + HWND clip_window; +}; + +#define MSWINDOWS_SUBWINDOW_DATA(i) \ +((struct mswindows_subwindow_data *) (i)->data) + +#define IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW(i) \ + (MSWINDOWS_SUBWINDOW_DATA (i)->clip_window) + +#define XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW(i) \ + IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW (XIMAGE_INSTANCE (i)) + +#endif /* HAVE_MS_WINDOWS */ +#endif /* _XEMACS_GLYPHS_MSW_H_ */