summaryrefslogtreecommitdiff
path: root/doc/README.MSW
diff options
context:
space:
mode:
Diffstat (limited to 'doc/README.MSW')
-rw-r--r--doc/README.MSW127
1 files changed, 0 insertions, 127 deletions
diff --git a/doc/README.MSW b/doc/README.MSW
deleted file mode 100644
index d7cfaf6..0000000
--- a/doc/README.MSW
+++ /dev/null
@@ -1,127 +0,0 @@
-
-README.MSW hedu@cul-ipn.uni-kiel.de 5/94
-
- The XPM library for MS-Windows
-
-Motivated by the wxWindows library, which is a (freely available) toolkit
-for developing multi-platform, graphical applications from the same body
-of C++ code, I wanted to have XPM pixmaps for MS-windows. Instead of rewriting
-a XPM-parser I managed to port the XPM-library-code to MS-windows.
-Thanks to Anaud Le Hors this became a part of the official XPM-library.
-
-Until now it's only used together with wxWindows. And even there it's more
-a kind of beta. But it should be possible to run it as a simple libxpm.a
-without wxWindows.
-
-The key is a transformation of some X types plus some basic X functions.
-There is not yet a special MSW-API, so you should know the X types used.
-
-The following is done in simx.h:
-
-typedef HDC Display;
-typedef COLORREF Pixel;
-
-typedef struct {
- Pixel pixel;
- BYTE red, green, blue;
-} XColor;
-
-typedef struct {
- HBITMAP bitmap;
- unsigned int width;
- unsigned int height;
- unsigned int depth;
-} XImage;
-
-With these defines and the according functions from simx.c you can call
-XPM-functions the way it's done under X windows. It can look like this:
-
- ErrorStatus=XpmCreateImageFromData(&dc, data,
- &ximage,(XImage **)NULL, &xpmAttr);
- ms_bitmap = ximage->bitmap;
- // releases the malloc,but do not destroy the bitmap
- XImageFree(ximage);
-
-Supported functions are the Xpm*Image* but not the Xpm*Pixmap*.
-
-DRAWBACKS:
-The main drawback is the missing support for Colormaps! There was nothing for
-it in wxWindows, so I did not know how to deal with Colormaps.
-
-The size of the pixmaps is bounded by malloc() (width*height*2 < 64K).
-
-Close colors do not look that close. But that seems to be the window system.
-
-Neither a special API for MSW nor a special MSW documentation other than this.
-(I can only point you to wxxpm as an example , see below.)
-
-INSTALLATION:
-There is not yet a makefile with it. Simply take all the *.c files
-into your project except the files related to Pixmap operations: *P*.c.
-!!!You MUST set FOR_MSW on the preprocessor options!!!
-(You might uncomment NEED_STRCASECMP in xpm.h if it's in your lib)
-This should compile into libxpm.a. Good luck...
-
-FTP:
-wxWindows is currently available from the Artificial Intelligence
-Applications Institute (University of Edinburgh) by anonymous FTP.
- skye.aiai.ed.ac.uk pub/wxwin/
-or read http://burray.aiai.ed.ac.uk/aiai/aiai.html
-
-wxxpm, XPM support for wxWindows, the latest version is available at
- yoda.cul-ipn.uni-kiel.de pub/wxxpm/
- and maybe in the contrib or tools of wxWindows
-
-Please contact me if you have suggestions, comments or problems!
-
-================================================================
-Some fixes and comments by Jan Wielemaker (jan@swi.psy.uva.nl),
-Oct 24, 1996:
-
- * Please try not to disturb me on this, XPM is not my
- piece of cake.
-
- * Hermann Dunkel has apparently moved in virtual space.
-
-Changes:
-
- * I've used the xpm package under NT 4.0 and MSVC++ 4.2.
-
- * I've made a big performance improvement in
- ParseAndPutPixels(), fixed creation of the mask in
- SetColor() in create.c. I looked into XCreateImage()
- in simx.c, but commented out my improvement for reasons
- you'll find there. If you know what is going on, statement
- (1) does not apply to you.
-
-Comments on installation:
-
- * Donot include the to/from pixmap files into the project.
- These are the ones containing a capital P somewhere in their
- name. You can also first include all, and then remove all
- the files you get errors on :-)
-
- * The DC that is requested should be a valid memory DC, thus
- CreateCompatibleDC(NULL) provides a good generic one, but
- GetDC(NULL) doesn't! This costed me some time.
-
- * The real difficulty is using the mask, mostly due to the
- bad documentation. If 95 or NT is your target, use:
-
- MaskBlt(context.hdc, // Destination DC
- x, y, w, h, // Destination area
- mhdc, // Memory DC with the image selected
- sx, sy, // Source X,Y
- msk, // HBITMAP of the mask
- sx, sy, // Mask X,Y
- MAKEROP4(SRCPAINT, SRCCOPY)); // The magic op code.
-================================================================
-
-
---
- ////|\\\\ \\\\\\ Hermann Dunkel
- O O ////// IPN Uni Kiel, Germany
- | \\\\\\ Tel: +49 431 / 880 3144
- \___/ ////// E-mail: hedu@cul-ipn.uni-kiel.de
- \_/ \\\\\\ X.400 : c=de;a=d400;p=uni-kiel;ou=nw-didaktik;s=dunkel
-