]>
git.saurik.com Git - wxWidgets.git/blob - src/xpm/crpfrbuf.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 and create the pixmap and possibly its mask            * 
  32 *  Developed by Arnaud Le Hors                                                * 
  33 \*****************************************************************************/ 
  39 XpmCreatePixmapFromBuffer(Display 
*display
, Drawable d
, char *buffer
, Pixmap 
*pixmap_return
, 
  40                           Pixmap 
*shapemask_return
, XpmAttributes 
*attributes
) 
  42     XImage 
*ximage
, *shapeimage
; 
  45     /* initialize return values */ 
  49         *shapemask_return 
= 0; 
  51     /* create the images */ 
  52     ErrorStatus 
= XpmCreateImageFromBuffer(display
, buffer
, 
  53                                            (pixmap_return 
? &ximage 
: NULL
), 
  58     if (ErrorStatus 
< 0)                /* fatal error */ 
  61     /* create the pixmaps and destroy images */ 
  62     if (pixmap_return 
&& ximage
) { 
  63         xpmCreatePixmapFromImage(display
, d
, ximage
, pixmap_return
); 
  64         XDestroyImage(ximage
); 
  66     if (shapemask_return 
&& shapeimage
) { 
  67         xpmCreatePixmapFromImage(display
, d
, shapeimage
, shapemask_return
); 
  68         XDestroyImage(shapeimage
);