home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / wps / graphic / xicon / src / os2data.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-02  |  2.8 KB  |  112 lines

  1. /* This file is os2data.h (part of XIcon)
  2.  *
  3.  * Copyright (C) 1993 by Norman Walsh
  4.  *
  5.  *   This program is free software; you can redistribute it and/or modify
  6.  *   it under the terms of the GNU General Public License as published by
  7.  *   the Free Software Foundation; either version 2 of the License, or
  8.  *   (at your option) any later version.
  9.  *
  10.  *   This program is distributed in the hope that it will be useful,
  11.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  *   GNU General Public License for more details.
  14.  *
  15.  *   You should have received a copy of the GNU General Public License
  16.  *   along with this program; if not, write to the Free Software
  17.  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  ************************************************************************/
  19.  
  20. #ifndef OS2DATA_H
  21. #define OS2DATA_H
  22.  
  23. #include "icondata.h"
  24.  
  25. typedef struct _os2_icon_hdr { /* actually, an array of bitmaps... */
  26.   USHORT flag;
  27.   ULONG  cbsize;
  28.   ULONG  next;
  29.   USHORT display_width;
  30.   USHORT display_height;
  31. } os2_icon_hdr;
  32.  
  33. typedef os2_icon_hdr os2_arr_hdr;
  34.  
  35. typedef struct _os2_file_hdr { /* a file header (not an array) */
  36.   USHORT    flag;
  37.   ULONG     cbsize;
  38.   SHORT     xhotspot;
  39.   SHORT     yhotspot;
  40.   ULONG     bitmap_offset;
  41. } os2_file_hdr;
  42.  
  43. /* *********************************************** OS/2 1.2 */
  44.  
  45. typedef struct _os2_12_rgb_info {
  46.   BYTE   blue;
  47.   BYTE   green;
  48.   BYTE   red;
  49. } os2_12_rgb_info;
  50.  
  51. typedef struct _os2_12_bitmap_info {
  52.   USHORT flag;
  53.   ULONG  cbsize;
  54.   USHORT hotx, hoty;
  55.   ULONG  bitmap_offset;
  56.   ULONG  bitmap_size;
  57.   USHORT width, height, planes, bits_per_pixel;
  58.   os2_12_rgb_info *p;
  59. } os2_12_bitmap_info;
  60.  
  61. typedef struct _os2_12_icon_info {
  62.   os2_icon_hdr        header;
  63.   os2_12_bitmap_info  andxor_map;
  64.   os2_12_bitmap_info  clr_map;
  65. } os2_12_icon_info;
  66.  
  67. /* *********************************************** OS/2 2.0 */
  68.  
  69. typedef struct _os2_20_rgb_info {
  70.   BYTE   blue;
  71.   BYTE   green;
  72.   BYTE   red;
  73.   BYTE   unused;
  74. } os2_20_rgb_info;
  75.  
  76. typedef struct _os2_20_bitmap_info {
  77.   USHORT flag;
  78.   ULONG  cbsize;
  79.   USHORT hotx;
  80.   USHORT hoty;
  81.   ULONG  bitmap_offset;
  82.   ULONG  length;
  83.   ULONG  width;
  84.   ULONG  height;
  85.   USHORT planes;
  86.   USHORT bits_per_pixel;
  87.   ULONG  compression;
  88.   ULONG  bitmap_size;
  89.   ULONG  devXres;
  90.   ULONG  devYres;
  91.   ULONG  clrUsed;
  92.   ULONG  clrImportant;
  93.   USHORT units;
  94.   USHORT reserved;
  95.   USHORT recording;
  96.   USHORT rendering;
  97.   ULONG  size1;
  98.   ULONG  size2;
  99.   ULONG  color_encoding;
  100.   ULONG  app_identifier;
  101.   os2_20_rgb_info  *p;
  102. } os2_20_bitmap_info;
  103.  
  104. typedef struct _os2_20_icon_info {
  105.   os2_icon_hdr        header;
  106.   os2_20_bitmap_info  andxor_map;
  107.   os2_20_bitmap_info  clr_map;
  108. } os2_20_icon_info;
  109.  
  110. #endif /* not OS2DATA_H */
  111.  
  112.