1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204
|
/* ############################################################
# @(#) img.h
# @(#)
# @(#) Copyright (c) 1995-2001 by Dirk Hagedorn
# @(#) Dirk Hagedorn (udo@dirk-hagedorn.de)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
############################################################ */
/* ############################################################
# Typen
############################################################ */
#ifndef UDO_IMG_H
#define UDO_IMG_H
typedef struct _imgheader
{
unsigned char im_version[2];
unsigned char im_headerlength[2]; /* Laenge des Headers in Words */
unsigned char im_nplanes[2]; /* Anzahl Planes */
unsigned char im_patlen[2];
unsigned char im_pixwidth_hi; /* Breites eines Pixels in mm/1000 */
unsigned char im_pixwidth_lo;
unsigned char im_pixheight_hi; /* Hoehe eines Pixels in mm/1000 */
unsigned char im_pixheight_lo;
unsigned char im_scanwidth_hi; /* Breite in Pixeln */
unsigned char im_scanwidth_lo;
unsigned char im_nlines_hi; /* Hoehe in Pixeln */
unsigned char im_nlines_lo;
} IMGHEADER;
typedef struct _bmpheader
{
unsigned char bfType[2]; /* 0 */ /* File ID ('BM') */
unsigned char bfSize[4]; /* 2 */ /* File size */
unsigned char reserved1[2]; /* 6 */
unsigned char reserved2[2]; /* 8 */
unsigned char bfOffs[4]; /* 10 */
unsigned char biSize[4]; /* 14 */ /* Laenge BITMAP_INFO-Header */
unsigned char biWidth[4]; /* 18 */ /* Breite (4 bytes)*/
unsigned char biHeight[4]; /* 22 */ /* Hoehe (4 bytes) */
unsigned char biPlanes[2]; /* 26 */ /* Farbebenen */
unsigned char biBitCnt[2]; /* 28 */ /* Zahl der Bits pro Pixel */
unsigned char biCompr[4]; /* 30 */ /* Typ der Komprimierung */
unsigned char biSizeIm[4]; /* 34 */ /* Bildgroesse in Bytes */
unsigned char biXPels[4]; /* 38 */ /* horizontale Aufloesung */
unsigned char biYPels[4]; /* 42 */ /* vertikale Aufloesung */
unsigned char biClrUsed[4]; /* 46 */ /* Zahl der benutzten Farben */
unsigned char biClrImp[4]; /* 50 */ /* Zahl der wichtigen Farben */
} BMPHEADER;
typedef struct _mspheader
{
unsigned char msp_res[4]; /* 0 */ /* Magic 'LinS' */
unsigned char msp_width_lo; /* 4 */ /* Breite */
unsigned char msp_width_hi;
unsigned char msp_height_lo; /* 6 */ /* Hoehe */
unsigned char msp_height_hi;
} MSPHEADER;
typedef struct _pcxheader
{
unsigned char pcx_res[4]; /* 0 */
unsigned char pcx_left_lo; unsigned char pcx_left_hi;
unsigned char pcx_upper_lo; unsigned char pcx_upper_hi;
unsigned char pcx_right_lo; unsigned char pcx_right_hi;
unsigned char pcx_lower_lo; unsigned char pcx_lower_hi;
} PCXHEADER;
typedef struct _gifheader
{
unsigned char gif_signature[3]; /* GIF */
unsigned char gif_version[3]; /* 87a oder 89a */
unsigned char gif_width_lo; /* Breite Low-Byte */
unsigned char gif_width_hi; /* High-Byte */
unsigned char gif_height_lo; /* Hoehe Low-Byte */
unsigned char gif_height_hi; /* High-Byte */
} GIFHEADER;
typedef struct _jpgheader
{
unsigned char jpg_unknown[2]; /* ??? */
} JPGHEADER;
typedef struct _pngheader
{
unsigned char png_res1[1]; /* 0x89 */
unsigned char png_signature[3]; /* PNG */
unsigned char png_res2[12]; /* <???> */
unsigned char png_res3[2]; /* Fuer groessere Bilder? */
unsigned char png_width_hi; /* Breite Low-Byte */
unsigned char png_width_lo; /* High-Byte */
unsigned char png_res4[2]; /* Fuer groessere Bilder? */
unsigned char png_height_hi; /* Hoehe Low-Byte */
unsigned char png_height_lo; /* High-Byte */
} PNGHEADER;
#endif /* UDO_IMG_H */
/* ############################################################
# Variablen
############################################################ */
GLOBAL BOOLEAN bGifHmSaved, bGifNoHmSaved;
GLOBAL BOOLEAN bGifUpSaved, bGifNoUpSaved;
GLOBAL BOOLEAN bGifLfSaved, bGifNoLfSaved;
GLOBAL BOOLEAN bGifRgSaved, bGifNoRgSaved;
GLOBAL BOOLEAN bGifTpSaved;
GLOBAL BOOLEAN bGifFoSaved;
GLOBAL BOOLEAN bGifFcSaved;
GLOBAL BOOLEAN bGifFsSaved;
GLOBAL BOOLEAN bGifMwSaved;
GLOBAL BOOLEAN bGifGerSaved, bGifEngSaved;
GLOBAL char sGifHmFull[512], sGifNoHmFull[512]; /* Homepage */
GLOBAL char sGifUpFull[512], sGifNoUpFull[512]; /* Namen der GIFs fuer HTML */
GLOBAL char sGifLfFull[512], sGifNoLfFull[512]; /* vorherige Seite */
GLOBAL char sGifRgFull[512], sGifNoRgFull[512]; /* naechste Seite */
GLOBAL char sGifTpFull[512]; /* Anfang der Seite */
GLOBAL char sGifFoFull[512]; /* "Folder, opened" */
GLOBAL char sGifFcFull[512]; /* "Folder, closed" */
GLOBAL char sGifFsFull[512]; /* "Folder, spacer" */
GLOBAL char sGifMwFull[512]; /* Logo: "Made with UDO" */
GLOBAL char sGifGerFull[512]; /* Flagge "Deutsch" */
GLOBAL char sGifEngFull[512]; /* Flagge "Englisch" */
GLOBAL unsigned int uiGifHmWidth, uiGifHmHeight, uiGifNoHmWidth, uiGifNoHmHeight;
GLOBAL unsigned int uiGifUpWidth, uiGifUpHeight, uiGifNoUpWidth, uiGifNoUpHeight;
GLOBAL unsigned int uiGifLfWidth, uiGifLfHeight, uiGifNoLfWidth, uiGifNoLfHeight;
GLOBAL unsigned int uiGifRgWidth, uiGifRgHeight, uiGifNoRgWidth, uiGifNoRgHeight;
GLOBAL unsigned int uiGifTpWidth, uiGifTpHeight;
GLOBAL unsigned int uiGifFoWidth, uiGifFoHeight;
GLOBAL unsigned int uiGifFcWidth, uiGifFcHeight;
GLOBAL unsigned int uiGifFsWidth, uiGifFsHeight;
GLOBAL unsigned int uiGifMwWidth, uiGifMwHeight;
GLOBAL unsigned int uiGifGerWidth, uiGifGerHeight;
GLOBAL unsigned int uiGifEngWidth, uiGifEngHeight;
GLOBAL BOOLEAN bBmpFoSaved;
GLOBAL BOOLEAN bBmpFcSaved;
GLOBAL BOOLEAN bBmpMwSaved;
GLOBAL char sBmpFoFull[512]; /* "Folder, opened" */
GLOBAL char sBmpFcFull[512]; /* "Folder, closed" */
GLOBAL char sBmpMwFull[512]; /* Logo: "Made with UDO" */
GLOBAL BOOLEAN bImgFoSaved;
GLOBAL BOOLEAN bImgFcSaved;
GLOBAL BOOLEAN bImgMwSaved;
GLOBAL char sImgFoFull[512]; /* "Folder, opened" */
GLOBAL char sImgFcFull[512]; /* "Folder, closed" */
GLOBAL char sImgMwFull[512]; /* Logo: "Made with UDO" */
/* ############################################################
# Funktionen
############################################################ */
GLOBAL void save_win_bmps ( void );
GLOBAL void save_rtf_bmps ( void );
GLOBAL void save_html_gifs ( void );
GLOBAL void save_stg_imgs ( void );
GLOBAL BOOLEAN c_img_output ( const char *name, const char *caption, const BOOLEAN visible );
GLOBAL void c_gif_output ( const char *name, const char *caption, const char *suffix, const int border );
GLOBAL void c_bmp_output ( const char *name, const char *caption, const BOOLEAN visible );
GLOBAL BOOLEAN c_msp_output ( const char *name, const char *caption, const BOOLEAN visible );
GLOBAL BOOLEAN c_pcx_output ( const char *name, const char *caption, const BOOLEAN visible );
GLOBAL void c_eps_output ( const char *name, const char *caption, const char *suffix, const BOOLEAN visible );
GLOBAL void c_png_output ( const char *name, const char *caption, const char *suffix, const BOOLEAN visible );
GLOBAL void set_image_counter ( const int i );
GLOBAL void set_image_alignment ( void );
GLOBAL BOOLEAN get_gif_size ( const char *filename, unsigned int *uiW, unsigned int *uiH);
GLOBAL BOOLEAN get_jpg_size ( const char *filename, unsigned int *uiW, unsigned int *uiH);
GLOBAL void init_module_img_pass2 ( void );
GLOBAL void init_module_img ( void );
/* ############################################################
# img.h
############################################################ */
|