1 /** \file
2  * \brief Library Management and Main Documentation
3  *
4  * See Copyright Notice in this file.
5  */
6 
7 module im.lib;
8 
9 extern (C) @safe nothrow:
10 
11 
12 /** \defgroup lib Library Management
13  * \ingroup util
14  * \par
15  * Usefull definitions for about dialogs and
16  * for comparing the compiled version with the linked version of the library.
17  * \par
18  * \verbatim im._AUTHOR [in Lua 5] \endverbatim
19  * \verbatim im._COPYRIGHT [in Lua 5] \endverbatim
20  * \verbatim im._VERSION [in Lua 5] \endverbatim
21  * \verbatim im._VERSION_DATE [in Lua 5] \endverbatim
22  * \verbatim im._VERSION_NUMBER [in Lua 5] \endverbatim
23  * \verbatim im._DESCRIPTION [in Lua 5] \endverbatim
24  * \verbatim im._NAME [in Lua 5] \endverbatim
25  * \par
26  * See \ref im_lib.h
27  * @{
28  */
29 enum IM_NAME = "IM - An Imaging Toolkit";
30 enum IM_DESCRIPTION = "Toolkit for Image Representation, Storage, Capture and Processing";
31 enum IM_COPYRIGHT = "Copyright (C) 1994-2015 Tecgraf/PUC-Rio";
32 enum IM_AUTHOR = "Antonio Scuri";
33 enum IM_VERSION = "3.10";      /* bug fixes are reported only by imVersion functions */
34 enum IM_VERSION_NUMBER = 310000;
35 enum IM_VERSION_DATE = "2015/09/15";  /* does not include bug fix releases */
36 /** @} */
37 
38 
39 /** Returns the library current version. Returns the definition IM_VERSION plus the bug fix number.
40  *
41  * \verbatim im.Version() -> version: string [in Lua 5] \endverbatim
42  * \ingroup lib */
43 const(char) * imVersion();
44 
45 /** Returns the library current version release date. Returns the definition IM_VERSION_DATE.
46  *
47  * \verbatim im.VersionDate() -> date: string [in Lua 5] \endverbatim
48  * \ingroup lib */
49 const(char) * imVersionDate();
50 
51 /** Returns the library current version number. Returns the definition IM_VERSION_NUMBER plus the bug fix number. \n
52  * Can be compared in run time with IM_VERSION_NUMBER to compare compiled and linked versions of the library.
53  *
54  * \verbatim im.VersionNumber() -> version: number [in Lua 5] \endverbatim
55  * \ingroup lib */
56 int imVersionNumber();
57 
58 
59 /*! \mainpage IM
60  * <CENTER>
61  * <H3> Image Representation, Storage, Capture and Processing </H3>
62  * Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil \n
63  * http://www.tecgraf.puc-rio.br/im \n
64  * mailto:im@tecgraf.puc-rio.br
65  * </CENTER>
66  *
67  * \section over Overview
68  * \par
69  * IM is a toolkit for Digital Imaging.
70  * \par
71  * It provides support for image capture, several image file formats and many image processing operations.
72  * \par
73  * Image representation includes scientific data types (like IEEE floating point data)
74  * and attributes (or metadata like GeoTIFF and Exif tags).
75  * Animation, video and volumes are supported as image sequences,
76  * but there is no digital audio support.
77  * \par
78  * The main goal of the library is to provide a simple API and abstraction
79  * of images for scientific applications.
80  * \par
81  * The toolkit API is written in C.
82  * The core library source code is implemented in C++ and it is very portable,
83  * it can be compiled in Windows and UNIX with no modifications.
84  * New image processing operations can be implemented in C or in C++.
85  * \par
86  * IM is free software, can be used for public and commercial applications.
87  * \par
88  * This work was developed at Tecgraf/PUC-Rio
89  * by means of the partnership with PETROBRAS/CENPES.
90  *
91  * \section author Author
92  * \par
93  * Antonio Scuri scuri@tecgraf.puc-rio.br
94  *
95  * \section copyright Copyright Notice
96 \verbatim
97 
98 ****************************************************************************
99 Copyright (C) 1994-2015 Tecgraf/PUC-Rio.
100 
101 Permission is hereby granted, free of charge, to any person obtaining
102 a copy of this software and associated documentation files (the
103 "Software"), to deal in the Software without restriction, including
104 without limitation the rights to use, copy, modify, merge, publish,
105 distribute, sublicense, and/or sell copies of the Software, and to
106 permit persons to whom the Software is furnished to do so, subject to
107 the following conditions:
108 
109 The above copyright notice and this permission notice shall be
110 included in all copies or substantial portions of the Software.
111 
112 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
113 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
114 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
115 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
116 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
117 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
118 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
119 ****************************************************************************
120 \endverbatim
121  */
122 
123 
124 /** \defgroup imagerep Image Representation
125  * \par
126  * See \ref im.h
127  */
128 
129 
130 /** \defgroup file Image Storage
131  * \par
132  * See \ref im.h
133  */
134 
135 
136 /** \defgroup format File Formats
137  * \par
138  * See \ref im.h
139  *
140  * Internal Predefined File Formats:
141  * \li "BMP" - Windows Device Independent Bitmap
142  * \li "GIF" - Graphics Interchange Format
143  * \li "ICO" - Windows Icon
144  * \li "JPEG" - JPEG File Interchange Format
145  * \li "LED" - IUP image in LED
146  * \li "PCX" - ZSoft Picture
147  * \li "PFM" - Portable FloatMap Image Format
148  * \li "PNG" - Portable Network Graphic Format
149  * \li "PNM" - Netpbm Portable Image Map
150  * \li "RAS" - Sun Raster File
151  * \li "RAW" - RAW File
152  * \li "SGI" - Silicon Graphics Image File Format
153  * \li "TGA" - Truevision Targa
154  * \li "TIFF" - Tagged Image File Format
155  *
156  * Other Supported File Formats:
157  * \li "JP2" - JPEG-2000 JP2 File Format
158  * \li "AVI" - Windows Audio-Video Interleaved RIFF
159  * \li "WMV" -  Windows Media Video Format
160  *
161  * Some Known Compressions:
162  * \li "NONE" - No Compression.
163  * \li "RLE"  - Run Lenght Encoding.
164  * \li "LZW"  - Lempel, Ziff and Welsh.
165  * \li "JPEG" - Join Photographics Experts Group.
166  * \li "DEFLATE" - LZ77 variation (ZIP)
167  *
168  * \ingroup file */
169 
170 
171 /* Library Names Convention
172  *
173  *   Global Functions and Types - "im[Object][Action]"  using first capitals (imFileOpen)
174  *   Local Functions and Types  -  "i[Object][Action]"  using first capitals (iTIFFGetCompIndex)
175  *   Local Static Variables - same as local functions and types (iFormatCount)
176  *   Local Static Tables - same as local functions and types with "Table" suffix (iTIFFCompTable)
177  *   Variables and Members - no prefix, all lower case (width)
178  *   Defines and Enumerations - all capitals (IM_ERR_NONE)
179  *
180  */