]>
git.saurik.com Git - wxWidgets.git/blob - src/xpm/crifrbuf.c
2 * Copyright (C) 1989-94 GROUPE BULL
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to
6 * deal in the Software without restriction, including without limitation the
7 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
8 * sell copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
18 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 * Except as contained in this notice, the name of GROUPE BULL shall not be
22 * used in advertising or otherwise to promote the sale, use or other dealings
23 * in this Software without prior written authorization from GROUPE BULL.
26 /*****************************************************************************\
30 * Parse an Xpm buffer (file in memory) and create the image and possibly its *
32 * Developed by Arnaud Le Hors *
33 \*****************************************************************************/
38 XpmCreateImageFromBuffer(Display
*display
, char *buffer
, XImage
**image_return
,
39 XImage
**shapeimage_return
, XpmAttributes
*attributes
)
45 /* create an XpmImage from the buffer */
47 xpmInitAttributes(attributes
);
48 xpmSetInfoMask(&info
, attributes
);
49 ErrorStatus
= XpmCreateXpmImageFromBuffer(buffer
, &image
, &info
);
51 ErrorStatus
= XpmCreateXpmImageFromBuffer(buffer
, &image
, NULL
);
53 if (ErrorStatus
!= XpmSuccess
)
56 /* create the related ximages */
57 ErrorStatus
= XpmCreateImageFromXpmImage(display
, &image
,
58 image_return
, shapeimage_return
,
61 if (ErrorStatus
>= 0) /* no fatal error */
62 xpmSetAttributes(attributes
, &image
, &info
);
63 XpmFreeXpmInfo(&info
);
65 /* free the XpmImage */
66 XpmFreeXpmImage(&image
);
72 XpmCreateXpmImageFromBuffer(char *buffer
, XpmImage
*image
, XpmInfo
*info
)
77 /* init returned values */
78 xpmInitXpmImage(image
);
81 /* open buffer to read */
82 xpmOpenBuffer(buffer
, &mdata
);
84 /* create the XpmImage from the XpmData */
85 ErrorStatus
= xpmParseData(&mdata
, image
, info
);