vips.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. /* @(#) Header file for Birkbeck/VIPS Image Processing Library
  2. * Authors: N. Dessipris, K. Martinez, Birkbeck College, London.
  3. * Sept 94
  4. *
  5. * 15/7/96 JC
  6. * - now does C++ extern stuff
  7. * - many more protos
  8. * 15/4/97 JC
  9. * - protos split out
  10. * 4/3/98 JC
  11. * - IM_ANY added
  12. * - sRGB colourspace added
  13. * 28/10/98 JC
  14. * - VASARI_MAGIC_INTEL and VASARI_MAGIC_SPARC added
  15. * 29/9/99 JC
  16. * - new locks for threading, no more threadgroup stuff in IMAGE
  17. * 30/11/00 JC
  18. * - override RGB/CMYK macros on cygwin
  19. * 21/9/02 JC
  20. * - new Xoffset/Yoffset fields
  21. * - rationalized macro names
  22. * 6/6/05 Markus Wollgarten
  23. * - added Meta header field
  24. * 31/7/05
  25. * - added meta.h for new metadata API
  26. * 22/8/05
  27. * - scrapped stupid VAS_HD
  28. * 30/9/05
  29. * - added sizeof_header field for mmap window read of RAW files
  30. * 4/10/05
  31. * - now you have to define IM_ENABLE_DEPRECATED to get broken #defined
  32. * 5/10/05
  33. * - added GNUC attributes
  34. * 8/5/06
  35. * - added RGB16, GREY16
  36. * 30/10/06
  37. * - added im_window_t
  38. * 7/11/07
  39. * - added preclose and evalstart callbacks
  40. * - brought time struct in here
  41. * 7/3/08
  42. * - MAGIC values should be unsigned
  43. * 2/7/08
  44. * - added invalidate callbacks
  45. * 7/8/08
  46. * - include <time.h>, thanks nicola
  47. * 30/6/09
  48. * - move deprecated stuff to its own header
  49. * 16/5/18
  50. * - remove old vips7 stuff, you must explicitly include it now
  51. */
  52. /*
  53. This file is part of VIPS.
  54. VIPS is free software; you can redistribute it and/or modify
  55. it under the terms of the GNU Lesser General Public License as published by
  56. the Free Software Foundation; either version 2 of the License, or
  57. (at your option) any later version.
  58. This program is distributed in the hope that it will be useful,
  59. but WITHOUT ANY WARRANTY; without even the implied warranty of
  60. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  61. GNU Lesser General Public License for more details.
  62. You should have received a copy of the GNU Lesser General Public License
  63. along with this program; if not, write to the Free Software
  64. Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  65. 02110-1301 USA
  66. */
  67. /*
  68. These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
  69. */
  70. #ifndef VIPS_VIPS_H
  71. #define VIPS_VIPS_H
  72. #ifdef __cplusplus
  73. extern "C" {
  74. #endif /*__cplusplus*/
  75. #include <glib.h>
  76. #include <glib/gstdio.h>
  77. #include <gmodule.h>
  78. #include <glib-object.h>
  79. /* If we're being parsed by SWIG, remove gcc attributes.
  80. */
  81. #ifdef SWIG
  82. # ifndef __attribute__
  83. # define __attribute__(x) /*NOTHING*/
  84. # endif
  85. #endif /*SWIG*/
  86. /* Or if this isn't gcc.
  87. */
  88. #ifndef __GNUC__
  89. # ifndef __attribute__
  90. # define __attribute__(x) /*NOTHING*/
  91. # endif
  92. #endif /*__GNUC__*/
  93. #include <vips/basic.h>
  94. #include <vips/buf.h>
  95. #include <vips/dbuf.h>
  96. #include <vips/util.h>
  97. #include <vips/object.h>
  98. #include <vips/type.h>
  99. #include <vips/gate.h>
  100. #include <vips/connection.h>
  101. #include <vips/sbuf.h>
  102. #include <vips/version.h>
  103. #include <vips/rect.h>
  104. #include <vips/private.h>
  105. #include <vips/mask.h>
  106. #include <vips/image.h>
  107. #include <vips/memory.h>
  108. #include <vips/error.h>
  109. #include <vips/format.h>
  110. #include <vips/region.h>
  111. #include <vips/generate.h>
  112. #include <vips/interpolate.h>
  113. #include <vips/semaphore.h>
  114. #include <vips/threadpool.h>
  115. #include <vips/header.h>
  116. #include <vips/operation.h>
  117. #include <vips/foreign.h>
  118. #include <vips/enumtypes.h>
  119. #include <vips/arithmetic.h>
  120. #include <vips/conversion.h>
  121. #include <vips/convolution.h>
  122. #include <vips/morphology.h>
  123. #include <vips/mosaicing.h>
  124. #include <vips/histogram.h>
  125. #include <vips/freqfilt.h>
  126. #include <vips/resample.h>
  127. #include <vips/colour.h>
  128. #include <vips/draw.h>
  129. #include <vips/create.h>
  130. #include <vips/video.h>
  131. #include <vips/cimg_funcs.h>
  132. /* We can't use _ here since this will be compiled by our clients and they may
  133. * not have _().
  134. */
  135. #define VIPS_INIT( ARGV0 ) \
  136. (vips_version( 3 ) - vips_version( 5 ) != \
  137. VIPS_LIBRARY_CURRENT - VIPS_LIBRARY_AGE ? ( \
  138. g_warning( "ABI mismatch" ), \
  139. g_warning( "library has ABI version %d", \
  140. vips_version( 3 ) - vips_version( 5 ) ), \
  141. g_warning( "application needs ABI version %d", \
  142. VIPS_LIBRARY_CURRENT - VIPS_LIBRARY_AGE ), \
  143. vips_error( "vips_init", "ABI mismatch" ), \
  144. -1 ) : \
  145. vips_init( ARGV0 ))
  146. int vips_init( const char *argv0 );
  147. const char *vips_get_argv0( void );
  148. void vips_shutdown( void );
  149. void vips_thread_shutdown( void );
  150. void vips_add_option_entries( GOptionGroup *option_group );
  151. extern void vips_leak_set( gboolean leak );
  152. const char *vips_version_string( void );
  153. int vips_version( int flag );
  154. const char *vips_guess_prefix( const char *argv0, const char *env_name );
  155. const char *vips_guess_libdir( const char *argv0, const char *env_name );
  156. #ifdef __cplusplus
  157. }
  158. #endif /*__cplusplus*/
  159. #endif /*VIPS_VIPS_H*/