home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / oss / cvs-2004 / psang / xpm2pixmap.c,v < prev    next >
Text File  |  2003-07-07  |  3KB  |  104 lines

  1. head     1.1;
  2. branch   1.1.1;
  3. access   ;
  4. symbols  Initial:1.1.1.1 psang:1.1.1;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.1
  10. date     2003.07.07.19.32.23;  author jhoffman;  state Exp;
  11. branches 1.1.1.1;
  12. next     ;
  13.  
  14. 1.1.1.1
  15. date     2003.07.07.19.32.23;  author jhoffman;  state Exp;
  16. branches ;
  17. next     ;
  18.  
  19.  
  20. desc
  21. @@
  22.  
  23.  
  24.  
  25. 1.1
  26. log
  27. @Initial revision
  28. @
  29. text
  30. @/* xpm2pixmap.c - xtron v1.1 routine to convert from xpm to pixmap
  31.  *
  32.  *   Copyright (C) 1995 Rhett D. Jacobs <rhett@@hotel.canberra.edu.au>
  33.  *
  34.  *  This program is free software; you can redistribute it and/or modify
  35.  *  it under the terms of the GNU General Public License as published by
  36.  *  the Free Software Foundation; either version 1, or (at your option)
  37.  *  any later version.
  38.  *
  39.  *  This program is distributed in the hope that it will be useful,
  40.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  41.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  42.  *  GNU General Public License for more details.
  43.  *
  44.  *  You should have received a copy of the GNU General Public License
  45.  *  along with this program; if not, write to the Free Software
  46.  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  47.  *
  48.  *  Last Modified: 16/4/95
  49.  */
  50.  
  51. #include "xpm2pixmap.h"
  52.  
  53. extern Window main_window;
  54. extern Display *display;
  55. extern int screen;
  56.  
  57. /* ReadXPM is copyright (c) 1994 Alex Brown All Rights Reserved. Used by permission. */
  58. Pixmap ReadXPM(char *filename)
  59. {
  60.   Window root;
  61.   Pixmap rootXpm;
  62.   char real_filename[MAX_PATH_LEN];
  63.   XWindowAttributes root_attr;
  64.   XpmAttributes xpm_attributes;
  65.   int val;
  66.   char resfilename[MAX_PATH_LEN];
  67.  
  68.   PixmapsDIR(resfilename);
  69.  
  70.   strcpy(real_filename, resfilename);
  71.   strcat(real_filename, filename);
  72.  
  73.   root = RootWindow(display, screen);
  74.   XGetWindowAttributes(display,root,&root_attr); 
  75.   xpm_attributes.colormap = root_attr.colormap;
  76.   xpm_attributes.valuemask = XpmSize | XpmReturnPixels|XpmColormap;
  77.  
  78.   if((val = XpmReadFileToPixmap(display, root, real_filename,
  79.                                 &rootXpm, NULL,
  80.                     &xpm_attributes))!= XpmSuccess) {
  81.     if(val == XpmOpenFailed)    
  82.       fprintf(stderr, "Couldn't open pixmap file %s\n", real_filename);
  83.     else if(val == XpmColorFailed)
  84.       fprintf(stderr, "Couldn't allocated required colors\n");
  85.     else if(val == XpmFileInvalid)
  86.       fprintf(stderr, "Invalid Format for an Xpm File\n");
  87.     else if(val == XpmColorError)
  88.       fprintf(stderr, "Invalid Color specified in Xpm FIle\n");
  89.     else if(val == XpmNoMemory)
  90.       fprintf(stderr, "Insufficient Memory\n");
  91.     return -1;
  92.   }
  93.   return(rootXpm);
  94. }
  95. @
  96.  
  97.  
  98. 1.1.1.1
  99. log
  100. @Protocol for Simple Arcade-Style Network Gaming
  101. @
  102. text
  103. @@
  104.