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_ */