1 /*   image.h
2 * ===========================================================================
3 *
4 *                            PUBLIC DOMAIN NOTICE
5 *            National Center for Biotechnology Information (NCBI)
6 *
7 *  This software/database is a "United States Government Work" under the
8 *  terms of the United States Copyright Act.  It was written as part of
9 *  the author's official duties as a United States Government employee and
10 *  thus cannot be copyrighted.  This software/database is freely available
11 *  to the public for use. The National Library of Medicine and the U.S.
12 *  Government do not place any restriction on its use or reproduction.
13 *  We would, however, appreciate having the NCBI and the author cited in
14 *  any work or product based on this material
15 *
16 *  Although all reasonable efforts have been taken to ensure the accuracy
17 *  and reliability of the software and data, the NLM and the U.S.
18 *  Government do not and cannot warrant the performance or results that
19 *  may be obtained by using this software or data. The NLM and the U.S.
20 *  Government disclaim all warranties, express or implied, including
21 *  warranties of performance, merchantability or fitness for any particular
22 *  purpose.
23 *
24 * ===========================================================================
25 *
26 * File Name:  image.h
27 *
28 * Author:  Alex Smirnov
29 *
30 * Version Creation Date:   03/29/95
31 *
32 * $Revision: 6.0 $
33 *
34 * File Description:
35 *  image public header file.
36 *
37 * Modifications:
38 * --------------------------------------------------------------------------
39 * $Log: image.h,v $
40 * Revision 6.0  1997/08/25 18:55:48  madden
41 * Revision changed to 6.0
42 *
43 * Revision 5.2  1997/05/28 18:30:19  vakatov
44 * Fixed typo in #ImageGetColorMax
45 *
46 * Revision 5.1  1996/11/22 19:46:34  vakatov
47 * Changed prototypes of Nlm_LoadImageGIF(), Nlm_LoadImageBMP() and
48 * Nlm_ImageGetBlack();  added Nlm_ImageGetColorOffset() and
49 * Nlm_ImageGetColorMax()
50 *
51  * Revision 5.0  1996/05/28  13:45:08  ostell
52  * Set to revision 5.0
53  *
54  * Revision 1.3  1996/05/07  18:38:24  vakatov
55  * RCS log added
56  *
57 * ==========================================================================
58 */
59 
60 #ifndef _IMAGE_
61 #define _IMAGE_
62 
63 #ifdef __cplusplus
64 extern "C" {
65 #endif
66 
67 /*****************************************************************************
68 *
69 *   DEFINES
70 *
71 *****************************************************************************/
72 
73 /*****************************************************************************
74 *
75 *   TYPEDEFS
76 *
77 *****************************************************************************/
78 typedef struct Nlm_image {
79   Nlm_VoidPtr  dummy;
80 }PNTR Nlm_Image;
81 
82 /*****************************************************************************
83 *
84 *   EXTERN FUNCTION
85 *
86 *****************************************************************************/
87 extern Nlm_Image     Nlm_CreateImage       PROTO((void));
88 extern Nlm_Boolean   Nlm_AllocateImage     PROTO((Nlm_Image image, Nlm_Uint2Ptr width,
89                                     Nlm_Uint2 height, Nlm_Uint2 saveColors,
90                                     Nlm_Uint2 totalColors));
91 extern Nlm_Image     Nlm_LoadImageGIF      PROTO((Nlm_CharPtr fileName));
92 extern Nlm_Image     Nlm_LoadImageBMP      PROTO((Nlm_CharPtr fileName));
93 extern Nlm_Boolean   Nlm_LoadImageClip     PROTO((Nlm_Image image));
94 extern Nlm_Boolean   Nlm_SaveImageGIF      PROTO((Nlm_Image image,
95                                     Nlm_CharPtr fileName));
96 extern Nlm_Boolean   Nlm_SaveImageBMP      PROTO((Nlm_Image image,
97                                     Nlm_CharPtr fileName));
98 extern Nlm_Boolean   Nlm_SaveImageClip     PROTO((Nlm_Image image));
99 extern Nlm_Boolean   Nlm_PrintImage        PROTO((Nlm_Image image));
100 extern void          Nlm_DeleteImage       PROTO((Nlm_Image image));
101 extern Nlm_Boolean   Nlm_SetColorImage     PROTO((Nlm_Image image,
102                                     Nlm_Uint1 color,
103                                     Nlm_Uint1 red, Nlm_Uint1 green, Nlm_Uint1 blue));
104 extern Nlm_Boolean   Nlm_GetColorImage     PROTO((Nlm_Image image,
105                                     Nlm_Uint1 color,
106                                     Nlm_Uint1Ptr red, Nlm_Uint1Ptr green,
107                                     Nlm_Uint1Ptr blue));
108 extern Nlm_Uint1Ptr  Nlm_LockPixMapImage     PROTO((Nlm_Image image));
109 extern void          Nlm_UnlockPixMapImage   PROTO((Nlm_Image image));
110 extern void          Nlm_ImageModified       PROTO((Nlm_Image image));
111 extern void          Nlm_GetImageSize        PROTO((Nlm_Image image,
112                                     Nlm_Uint2Ptr width, Nlm_Uint2Ptr height));
113 extern Nlm_Boolean   Nlm_ImageSetPalette     PROTO((Nlm_Image image,
114                                     Nlm_WindoW w));
115 extern Nlm_Boolean   Nlm_ImageShow           PROTO((Nlm_Image image,
116                                     Nlm_PoinT p));
117 extern Nlm_Uint1     Nlm_ImageGetBlack       PROTO((Nlm_Image image));
118 extern Nlm_Uint1     Nlm_ImageGetColorOffset PROTO((Nlm_Image image));
119 extern Nlm_Uint1     Nlm_ImageGetColorMax    PROTO((Nlm_Image image));
120 
121 /*****************************************************************************
122 *
123 *   NAME REDIFINITION
124 *
125 *****************************************************************************/
126 #define Image             Nlm_Image
127 #define CreateImage       Nlm_CreateImage
128 #define AllocateImage     Nlm_AllocateImage
129 #define LoadImageGIF      Nlm_LoadImageGIF
130 #define LoadImageBMP      Nlm_LoadImageBMP
131 #define LoadImageClip     Nlm_LoadImageClip
132 #define SaveImageGIF      Nlm_SaveImageGIF
133 #define SaveImageBMP      Nlm_SaveImageBMP
134 #define SaveImageClip     Nlm_SaveImageClip
135 #define PrintImage        Nlm_PrintImage
136 #define DeleteImage       Nlm_DeleteImage
137 #define SetColorImage     Nlm_SetColorImage
138 #define GetColorImage     Nlm_GetColorImage
139 #define LockPixMapImage   Nlm_LockPixMapImage
140 #define UnlockPixMapImage Nlm_UnlockPixMapImage
141 #define ImageModified     Nlm_ImageModified
142 #define GetImageSize      Nlm_GetImageSize
143 #define ImageSetPalette   Nlm_ImageSetPalette
144 #define ImageShow         Nlm_ImageShow
145 #define ImageGetBlack     Nlm_ImageGetBlack
146 #define ImageGetColorOffset Nlm_ImageGetColorOffset
147 #define ImageGetColorMax  Nlm_ImageGetColorMax
148 
149 #ifdef __cplusplus
150 }
151 #endif
152 
153 #endif
154 
155