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