@img/sharp-libvips-dev 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -0
- package/cplusplus/VConnection.cpp +151 -0
- package/cplusplus/VError.cpp +49 -0
- package/cplusplus/VImage.cpp +1548 -0
- package/cplusplus/VInterpolate.cpp +62 -0
- package/cplusplus/VRegion.cpp +27 -0
- package/cplusplus/index.js +1 -0
- package/cplusplus/vips-operators.cpp +3760 -0
- package/include/aom/aom.h +127 -0
- package/include/aom/aom_codec.h +573 -0
- package/include/aom/aom_decoder.h +257 -0
- package/include/aom/aom_encoder.h +1137 -0
- package/include/aom/aom_external_partition.h +452 -0
- package/include/aom/aom_frame_buffer.h +84 -0
- package/include/aom/aom_image.h +448 -0
- package/include/aom/aom_integer.h +68 -0
- package/include/aom/aomcx.h +2112 -0
- package/include/aom/aomdx.h +604 -0
- package/include/archive.h +1212 -0
- package/include/archive_entry.h +723 -0
- package/include/cairo/cairo-deprecated.h +123 -0
- package/include/cairo/cairo-features.h +29 -0
- package/include/cairo/cairo-ft.h +118 -0
- package/include/cairo/cairo-gobject.h +192 -0
- package/include/cairo/cairo-svg.h +130 -0
- package/include/cairo/cairo-version.h +8 -0
- package/include/cairo/cairo.h +3281 -0
- package/include/cgif.h +80 -0
- package/include/expat.h +1064 -0
- package/include/expat_config.h +140 -0
- package/include/expat_external.h +165 -0
- package/include/ffi.h +531 -0
- package/include/ffitarget.h +164 -0
- package/include/fontconfig/fcfreetype.h +59 -0
- package/include/fontconfig/fcprivate.h +134 -0
- package/include/fontconfig/fontconfig.h +1158 -0
- package/include/freetype2/freetype/config/ftconfig.h +51 -0
- package/include/freetype2/freetype/config/ftheader.h +836 -0
- package/include/freetype2/freetype/config/ftmodule.h +21 -0
- package/include/freetype2/freetype/config/ftoption.h +1014 -0
- package/include/freetype2/freetype/config/ftstdlib.h +185 -0
- package/include/freetype2/freetype/config/integer-types.h +250 -0
- package/include/freetype2/freetype/config/mac-support.h +49 -0
- package/include/freetype2/freetype/config/public-macros.h +138 -0
- package/include/freetype2/freetype/freetype.h +5337 -0
- package/include/freetype2/freetype/ftadvanc.h +188 -0
- package/include/freetype2/freetype/ftbbox.h +101 -0
- package/include/freetype2/freetype/ftbdf.h +212 -0
- package/include/freetype2/freetype/ftbitmap.h +329 -0
- package/include/freetype2/freetype/ftbzip2.h +102 -0
- package/include/freetype2/freetype/ftcache.h +1087 -0
- package/include/freetype2/freetype/ftchapters.h +168 -0
- package/include/freetype2/freetype/ftcid.h +167 -0
- package/include/freetype2/freetype/ftcolor.h +1667 -0
- package/include/freetype2/freetype/ftdriver.h +1246 -0
- package/include/freetype2/freetype/fterrdef.h +283 -0
- package/include/freetype2/freetype/fterrors.h +296 -0
- package/include/freetype2/freetype/ftfntfmt.h +93 -0
- package/include/freetype2/freetype/ftgasp.h +143 -0
- package/include/freetype2/freetype/ftglyph.h +750 -0
- package/include/freetype2/freetype/ftgxval.h +354 -0
- package/include/freetype2/freetype/ftgzip.h +151 -0
- package/include/freetype2/freetype/ftimage.h +1284 -0
- package/include/freetype2/freetype/ftincrem.h +348 -0
- package/include/freetype2/freetype/ftlcdfil.h +323 -0
- package/include/freetype2/freetype/ftlist.h +296 -0
- package/include/freetype2/freetype/ftlzw.h +100 -0
- package/include/freetype2/freetype/ftmac.h +289 -0
- package/include/freetype2/freetype/ftmm.h +805 -0
- package/include/freetype2/freetype/ftmodapi.h +807 -0
- package/include/freetype2/freetype/ftmoderr.h +204 -0
- package/include/freetype2/freetype/ftotval.h +206 -0
- package/include/freetype2/freetype/ftoutln.h +588 -0
- package/include/freetype2/freetype/ftparams.h +218 -0
- package/include/freetype2/freetype/ftpfr.h +179 -0
- package/include/freetype2/freetype/ftrender.h +244 -0
- package/include/freetype2/freetype/ftsizes.h +159 -0
- package/include/freetype2/freetype/ftsnames.h +272 -0
- package/include/freetype2/freetype/ftstroke.h +773 -0
- package/include/freetype2/freetype/ftsynth.h +104 -0
- package/include/freetype2/freetype/ftsystem.h +350 -0
- package/include/freetype2/freetype/fttrigon.h +350 -0
- package/include/freetype2/freetype/fttypes.h +617 -0
- package/include/freetype2/freetype/ftwinfnt.h +276 -0
- package/include/freetype2/freetype/otsvg.h +336 -0
- package/include/freetype2/freetype/t1tables.h +793 -0
- package/include/freetype2/freetype/ttnameid.h +1235 -0
- package/include/freetype2/freetype/tttables.h +855 -0
- package/include/freetype2/freetype/tttags.h +124 -0
- package/include/freetype2/ft2build.h +42 -0
- package/include/fribidi/fribidi-arabic.h +81 -0
- package/include/fribidi/fribidi-begindecls.h +3 -0
- package/include/fribidi/fribidi-bidi-types-list.h +96 -0
- package/include/fribidi/fribidi-bidi-types.h +405 -0
- package/include/fribidi/fribidi-bidi.h +142 -0
- package/include/fribidi/fribidi-brackets.h +89 -0
- package/include/fribidi/fribidi-char-sets-list.h +54 -0
- package/include/fribidi/fribidi-char-sets.h +106 -0
- package/include/fribidi/fribidi-common.h +152 -0
- package/include/fribidi/fribidi-config.h +23 -0
- package/include/fribidi/fribidi-deprecated.h +175 -0
- package/include/fribidi/fribidi-enddecls.h +3 -0
- package/include/fribidi/fribidi-flags.h +72 -0
- package/include/fribidi/fribidi-joining-types-list.h +44 -0
- package/include/fribidi/fribidi-joining-types.h +249 -0
- package/include/fribidi/fribidi-joining.h +74 -0
- package/include/fribidi/fribidi-mirroring.h +86 -0
- package/include/fribidi/fribidi-shape.h +71 -0
- package/include/fribidi/fribidi-types.h +79 -0
- package/include/fribidi/fribidi-unicode-version.h +10 -0
- package/include/fribidi/fribidi-unicode.h +105 -0
- package/include/fribidi/fribidi.h +129 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +221 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +37 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +525 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +40 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +115 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +481 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +113 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +718 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +33 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +70 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +168 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +46 -0
- package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +165 -0
- package/include/gio-unix-2.0/gio/gdesktopappinfo.h +200 -0
- package/include/gio-unix-2.0/gio/gfiledescriptorbased.h +67 -0
- package/include/gio-unix-2.0/gio/gunixfdmessage.h +86 -0
- package/include/gio-unix-2.0/gio/gunixinputstream.h +85 -0
- package/include/gio-unix-2.0/gio/gunixmounts.h +172 -0
- package/include/gio-unix-2.0/gio/gunixoutputstream.h +84 -0
- package/include/glib-2.0/gio/gaction.h +100 -0
- package/include/glib-2.0/gio/gactiongroup.h +163 -0
- package/include/glib-2.0/gio/gactiongroupexporter.h +47 -0
- package/include/glib-2.0/gio/gactionmap.h +101 -0
- package/include/glib-2.0/gio/gappinfo.h +369 -0
- package/include/glib-2.0/gio/gapplication.h +257 -0
- package/include/glib-2.0/gio/gapplicationcommandline.h +124 -0
- package/include/glib-2.0/gio/gasyncinitable.h +132 -0
- package/include/glib-2.0/gio/gasyncresult.h +87 -0
- package/include/glib-2.0/gio/gbufferedinputstream.h +135 -0
- package/include/glib-2.0/gio/gbufferedoutputstream.h +88 -0
- package/include/glib-2.0/gio/gbytesicon.h +54 -0
- package/include/glib-2.0/gio/gcancellable.h +120 -0
- package/include/glib-2.0/gio/gcharsetconverter.h +65 -0
- package/include/glib-2.0/gio/gcontenttype.h +84 -0
- package/include/glib-2.0/gio/gconverter.h +98 -0
- package/include/glib-2.0/gio/gconverterinputstream.h +82 -0
- package/include/glib-2.0/gio/gconverteroutputstream.h +82 -0
- package/include/glib-2.0/gio/gcredentials.h +87 -0
- package/include/glib-2.0/gio/gdatagrambased.h +146 -0
- package/include/glib-2.0/gio/gdatainputstream.h +182 -0
- package/include/glib-2.0/gio/gdataoutputstream.h +127 -0
- package/include/glib-2.0/gio/gdbusactiongroup.h +56 -0
- package/include/glib-2.0/gio/gdbusaddress.h +67 -0
- package/include/glib-2.0/gio/gdbusauthobserver.h +53 -0
- package/include/glib-2.0/gio/gdbusconnection.h +691 -0
- package/include/glib-2.0/gio/gdbuserror.h +111 -0
- package/include/glib-2.0/gio/gdbusinterface.h +83 -0
- package/include/glib-2.0/gio/gdbusinterfaceskeleton.h +129 -0
- package/include/glib-2.0/gio/gdbusintrospection.h +327 -0
- package/include/glib-2.0/gio/gdbusmenumodel.h +47 -0
- package/include/glib-2.0/gio/gdbusmessage.h +204 -0
- package/include/glib-2.0/gio/gdbusmethodinvocation.h +136 -0
- package/include/glib-2.0/gio/gdbusnameowning.h +117 -0
- package/include/glib-2.0/gio/gdbusnamewatching.h +104 -0
- package/include/glib-2.0/gio/gdbusobject.h +80 -0
- package/include/glib-2.0/gio/gdbusobjectmanager.h +96 -0
- package/include/glib-2.0/gio/gdbusobjectmanagerclient.h +148 -0
- package/include/glib-2.0/gio/gdbusobjectmanagerserver.h +95 -0
- package/include/glib-2.0/gio/gdbusobjectproxy.h +81 -0
- package/include/glib-2.0/gio/gdbusobjectskeleton.h +98 -0
- package/include/glib-2.0/gio/gdbusproxy.h +220 -0
- package/include/glib-2.0/gio/gdbusserver.h +62 -0
- package/include/glib-2.0/gio/gdbusutils.h +65 -0
- package/include/glib-2.0/gio/gdebugcontroller.h +81 -0
- package/include/glib-2.0/gio/gdebugcontrollerdbus.h +71 -0
- package/include/glib-2.0/gio/gdrive.h +274 -0
- package/include/glib-2.0/gio/gdtlsclientconnection.h +77 -0
- package/include/glib-2.0/gio/gdtlsconnection.h +230 -0
- package/include/glib-2.0/gio/gdtlsserverconnection.h +71 -0
- package/include/glib-2.0/gio/gemblem.h +63 -0
- package/include/glib-2.0/gio/gemblemedicon.h +83 -0
- package/include/glib-2.0/gio/gfile.h +1359 -0
- package/include/glib-2.0/gio/gfileattribute.h +86 -0
- package/include/glib-2.0/gio/gfileenumerator.h +154 -0
- package/include/glib-2.0/gio/gfileicon.h +59 -0
- package/include/glib-2.0/gio/gfileinfo.h +1546 -0
- package/include/glib-2.0/gio/gfileinputstream.h +116 -0
- package/include/glib-2.0/gio/gfileiostream.h +123 -0
- package/include/glib-2.0/gio/gfilemonitor.h +100 -0
- package/include/glib-2.0/gio/gfilenamecompleter.h +81 -0
- package/include/glib-2.0/gio/gfileoutputstream.h +124 -0
- package/include/glib-2.0/gio/gfilterinputstream.h +80 -0
- package/include/glib-2.0/gio/gfilteroutputstream.h +80 -0
- package/include/glib-2.0/gio/gicon.h +133 -0
- package/include/glib-2.0/gio/ginetaddress.h +125 -0
- package/include/glib-2.0/gio/ginetaddressmask.h +86 -0
- package/include/glib-2.0/gio/ginetsocketaddress.h +80 -0
- package/include/glib-2.0/gio/ginitable.h +107 -0
- package/include/glib-2.0/gio/ginputstream.h +218 -0
- package/include/glib-2.0/gio/gio-autocleanups.h +155 -0
- package/include/glib-2.0/gio/gio-visibility.h +952 -0
- package/include/glib-2.0/gio/gio.h +186 -0
- package/include/glib-2.0/gio/gioenums.h +2149 -0
- package/include/glib-2.0/gio/gioenumtypes.h +207 -0
- package/include/glib-2.0/gio/gioerror.h +58 -0
- package/include/glib-2.0/gio/giomodule.h +199 -0
- package/include/glib-2.0/gio/gioscheduler.h +56 -0
- package/include/glib-2.0/gio/giostream.h +137 -0
- package/include/glib-2.0/gio/giotypes.h +660 -0
- package/include/glib-2.0/gio/glistmodel.h +74 -0
- package/include/glib-2.0/gio/gliststore.h +97 -0
- package/include/glib-2.0/gio/gloadableicon.h +101 -0
- package/include/glib-2.0/gio/gmemoryinputstream.h +92 -0
- package/include/glib-2.0/gio/gmemorymonitor.h +64 -0
- package/include/glib-2.0/gio/gmemoryoutputstream.h +109 -0
- package/include/glib-2.0/gio/gmenu.h +184 -0
- package/include/glib-2.0/gio/gmenuexporter.h +55 -0
- package/include/glib-2.0/gio/gmenumodel.h +307 -0
- package/include/glib-2.0/gio/gmount.h +278 -0
- package/include/glib-2.0/gio/gmountoperation.h +179 -0
- package/include/glib-2.0/gio/gnativesocketaddress.h +67 -0
- package/include/glib-2.0/gio/gnativevolumemonitor.h +63 -0
- package/include/glib-2.0/gio/gnetworkaddress.h +82 -0
- package/include/glib-2.0/gio/gnetworking.h +81 -0
- package/include/glib-2.0/gio/gnetworkmonitor.h +101 -0
- package/include/glib-2.0/gio/gnetworkservice.h +77 -0
- package/include/glib-2.0/gio/gnotification.h +103 -0
- package/include/glib-2.0/gio/goutputstream.h +334 -0
- package/include/glib-2.0/gio/gpermission.h +129 -0
- package/include/glib-2.0/gio/gpollableinputstream.h +106 -0
- package/include/glib-2.0/gio/gpollableoutputstream.h +127 -0
- package/include/glib-2.0/gio/gpollableutils.h +66 -0
- package/include/glib-2.0/gio/gpowerprofilemonitor.h +65 -0
- package/include/glib-2.0/gio/gpropertyaction.h +49 -0
- package/include/glib-2.0/gio/gproxy.h +130 -0
- package/include/glib-2.0/gio/gproxyaddress.h +88 -0
- package/include/glib-2.0/gio/gproxyaddressenumerator.h +83 -0
- package/include/glib-2.0/gio/gproxyresolver.h +97 -0
- package/include/glib-2.0/gio/gremoteactiongroup.h +77 -0
- package/include/glib-2.0/gio/gresolver.h +299 -0
- package/include/glib-2.0/gio/gresource.h +132 -0
- package/include/glib-2.0/gio/gseekable.h +105 -0
- package/include/glib-2.0/gio/gsettings.h +347 -0
- package/include/glib-2.0/gio/gsettingsbackend.h +176 -0
- package/include/glib-2.0/gio/gsettingsschema.h +115 -0
- package/include/glib-2.0/gio/gsimpleaction.h +65 -0
- package/include/glib-2.0/gio/gsimpleactiongroup.h +99 -0
- package/include/glib-2.0/gio/gsimpleasyncresult.h +164 -0
- package/include/glib-2.0/gio/gsimpleiostream.h +47 -0
- package/include/glib-2.0/gio/gsimplepermission.h +47 -0
- package/include/glib-2.0/gio/gsimpleproxyresolver.h +91 -0
- package/include/glib-2.0/gio/gsocket.h +330 -0
- package/include/glib-2.0/gio/gsocketaddress.h +84 -0
- package/include/glib-2.0/gio/gsocketaddressenumerator.h +103 -0
- package/include/glib-2.0/gio/gsocketclient.h +199 -0
- package/include/glib-2.0/gio/gsocketconnectable.h +83 -0
- package/include/glib-2.0/gio/gsocketconnection.h +117 -0
- package/include/glib-2.0/gio/gsocketcontrolmessage.h +113 -0
- package/include/glib-2.0/gio/gsocketlistener.h +157 -0
- package/include/glib-2.0/gio/gsocketservice.h +95 -0
- package/include/glib-2.0/gio/gsrvtarget.h +60 -0
- package/include/glib-2.0/gio/gsubprocess.h +169 -0
- package/include/glib-2.0/gio/gsubprocesslauncher.h +121 -0
- package/include/glib-2.0/gio/gtask.h +207 -0
- package/include/glib-2.0/gio/gtcpconnection.h +71 -0
- package/include/glib-2.0/gio/gtcpwrapperconnection.h +71 -0
- package/include/glib-2.0/gio/gtestdbus.h +74 -0
- package/include/glib-2.0/gio/gthemedicon.h +70 -0
- package/include/glib-2.0/gio/gthreadedsocketservice.h +83 -0
- package/include/glib-2.0/gio/gtlsbackend.h +115 -0
- package/include/glib-2.0/gio/gtlscertificate.h +125 -0
- package/include/glib-2.0/gio/gtlsclientconnection.h +88 -0
- package/include/glib-2.0/gio/gtlsconnection.h +214 -0
- package/include/glib-2.0/gio/gtlsdatabase.h +249 -0
- package/include/glib-2.0/gio/gtlsfiledatabase.h +60 -0
- package/include/glib-2.0/gio/gtlsinteraction.h +150 -0
- package/include/glib-2.0/gio/gtlspassword.h +121 -0
- package/include/glib-2.0/gio/gtlsserverconnection.h +71 -0
- package/include/glib-2.0/gio/gunixconnection.h +102 -0
- package/include/glib-2.0/gio/gunixcredentialsmessage.h +89 -0
- package/include/glib-2.0/gio/gunixfdlist.h +97 -0
- package/include/glib-2.0/gio/gunixsocketaddress.h +83 -0
- package/include/glib-2.0/gio/gvfs.h +170 -0
- package/include/glib-2.0/gio/gvolume.h +255 -0
- package/include/glib-2.0/gio/gvolumemonitor.h +156 -0
- package/include/glib-2.0/gio/gzlibcompressor.h +64 -0
- package/include/glib-2.0/gio/gzlibdecompressor.h +60 -0
- package/include/glib-2.0/glib/deprecated/gallocator.h +88 -0
- package/include/glib-2.0/glib/deprecated/gcache.h +77 -0
- package/include/glib-2.0/glib/deprecated/gcompletion.h +85 -0
- package/include/glib-2.0/glib/deprecated/gmain.h +137 -0
- package/include/glib-2.0/glib/deprecated/grel.h +107 -0
- package/include/glib-2.0/glib/deprecated/gthread.h +295 -0
- package/include/glib-2.0/glib/galloca.h +147 -0
- package/include/glib-2.0/glib/garray.h +323 -0
- package/include/glib-2.0/glib/gasyncqueue.h +126 -0
- package/include/glib-2.0/glib/gatomic.h +587 -0
- package/include/glib-2.0/glib/gbacktrace.h +74 -0
- package/include/glib-2.0/glib/gbase64.h +63 -0
- package/include/glib-2.0/glib/gbitlock.h +78 -0
- package/include/glib-2.0/glib/gbookmarkfile.h +300 -0
- package/include/glib-2.0/glib/gbytes.h +99 -0
- package/include/glib-2.0/glib/gcharset.h +49 -0
- package/include/glib-2.0/glib/gchecksum.h +106 -0
- package/include/glib-2.0/glib/gconvert.h +179 -0
- package/include/glib-2.0/glib/gdataset.h +156 -0
- package/include/glib-2.0/glib/gdate.h +309 -0
- package/include/glib-2.0/glib/gdatetime.h +275 -0
- package/include/glib-2.0/glib/gdir.h +54 -0
- package/include/glib-2.0/glib/genviron.h +65 -0
- package/include/glib-2.0/glib/gerror.h +263 -0
- package/include/glib-2.0/glib/gfileutils.h +223 -0
- package/include/glib-2.0/glib/ggettext.h +65 -0
- package/include/glib-2.0/glib/ghash.h +206 -0
- package/include/glib-2.0/glib/ghmac.h +85 -0
- package/include/glib-2.0/glib/ghook.h +204 -0
- package/include/glib-2.0/glib/ghostutils.h +45 -0
- package/include/glib-2.0/glib/gi18n-lib.h +38 -0
- package/include/glib-2.0/glib/gi18n.h +34 -0
- package/include/glib-2.0/glib/giochannel.h +407 -0
- package/include/glib-2.0/glib/gkeyfile.h +332 -0
- package/include/glib-2.0/glib/glib-autocleanups.h +105 -0
- package/include/glib-2.0/glib/glib-typeof.h +47 -0
- package/include/glib-2.0/glib/glib-visibility.h +952 -0
- package/include/glib-2.0/glib/glist.h +179 -0
- package/include/glib-2.0/glib/gmacros.h +1425 -0
- package/include/glib-2.0/glib/gmain.h +862 -0
- package/include/glib-2.0/glib/gmappedfile.h +60 -0
- package/include/glib-2.0/glib/gmarkup.h +265 -0
- package/include/glib-2.0/glib/gmem.h +425 -0
- package/include/glib-2.0/glib/gmessages.h +690 -0
- package/include/glib-2.0/glib/gnode.h +309 -0
- package/include/glib-2.0/glib/goption.h +409 -0
- package/include/glib-2.0/glib/gpathbuf.h +90 -0
- package/include/glib-2.0/glib/gpattern.h +65 -0
- package/include/glib-2.0/glib/gpoll.h +122 -0
- package/include/glib-2.0/glib/gprimes.h +52 -0
- package/include/glib-2.0/glib/gprintf.h +59 -0
- package/include/glib-2.0/glib/gqsort.h +47 -0
- package/include/glib-2.0/glib/gquark.h +70 -0
- package/include/glib-2.0/glib/gqueue.h +205 -0
- package/include/glib-2.0/glib/grand.h +101 -0
- package/include/glib-2.0/glib/grcbox.h +91 -0
- package/include/glib-2.0/glib/grefcount.h +179 -0
- package/include/glib-2.0/glib/grefstring.h +59 -0
- package/include/glib-2.0/glib/gscanner.h +301 -0
- package/include/glib-2.0/glib/gsequence.h +175 -0
- package/include/glib-2.0/glib/gshell.h +59 -0
- package/include/glib-2.0/glib/gslice.h +117 -0
- package/include/glib-2.0/glib/gslist.h +166 -0
- package/include/glib-2.0/glib/gspawn.h +323 -0
- package/include/glib-2.0/glib/gstdio.h +231 -0
- package/include/glib-2.0/glib/gstrfuncs.h +504 -0
- package/include/glib-2.0/glib/gstring.h +296 -0
- package/include/glib-2.0/glib/gstringchunk.h +59 -0
- package/include/glib-2.0/glib/gstrvbuilder.h +69 -0
- package/include/glib-2.0/glib/gtestutils.h +763 -0
- package/include/glib-2.0/glib/gthread.h +603 -0
- package/include/glib-2.0/glib/gthreadpool.h +105 -0
- package/include/glib-2.0/glib/gtimer.h +80 -0
- package/include/glib-2.0/glib/gtimezone.h +98 -0
- package/include/glib-2.0/glib/gtrashstack.h +60 -0
- package/include/glib-2.0/glib/gtree.h +181 -0
- package/include/glib-2.0/glib/gtypes.h +591 -0
- package/include/glib-2.0/glib/gunicode.h +974 -0
- package/include/glib-2.0/glib/guri.h +420 -0
- package/include/glib-2.0/glib/gutils.h +479 -0
- package/include/glib-2.0/glib/guuid.h +42 -0
- package/include/glib-2.0/glib/gvariant.h +541 -0
- package/include/glib-2.0/glib/gvarianttype.h +384 -0
- package/include/glib-2.0/glib/gversion.h +57 -0
- package/include/glib-2.0/glib/gversionmacros.h +490 -0
- package/include/glib-2.0/glib/gwin32.h +142 -0
- package/include/glib-2.0/glib-object.h +46 -0
- package/include/glib-2.0/glib-unix.h +125 -0
- package/include/glib-2.0/glib.h +121 -0
- package/include/glib-2.0/gmodule/gmodule-visibility.h +952 -0
- package/include/glib-2.0/gmodule.h +147 -0
- package/include/glib-2.0/gobject/gbinding.h +156 -0
- package/include/glib-2.0/gobject/gbindinggroup.h +85 -0
- package/include/glib-2.0/gobject/gboxed.h +124 -0
- package/include/glib-2.0/gobject/gclosure.h +323 -0
- package/include/glib-2.0/gobject/genums.h +381 -0
- package/include/glib-2.0/gobject/glib-enumtypes.h +25 -0
- package/include/glib-2.0/gobject/glib-types.h +400 -0
- package/include/glib-2.0/gobject/gmarshal.h +434 -0
- package/include/glib-2.0/gobject/gobject-autocleanups.h +33 -0
- package/include/glib-2.0/gobject/gobject-visibility.h +952 -0
- package/include/glib-2.0/gobject/gobject.h +953 -0
- package/include/glib-2.0/gobject/gobjectnotifyqueue.c +199 -0
- package/include/glib-2.0/gobject/gparam.h +476 -0
- package/include/glib-2.0/gobject/gparamspecs.h +1151 -0
- package/include/glib-2.0/gobject/gsignal.h +647 -0
- package/include/glib-2.0/gobject/gsignalgroup.h +98 -0
- package/include/glib-2.0/gobject/gsourceclosure.h +40 -0
- package/include/glib-2.0/gobject/gtype.h +2703 -0
- package/include/glib-2.0/gobject/gtypemodule.h +302 -0
- package/include/glib-2.0/gobject/gtypeplugin.h +136 -0
- package/include/glib-2.0/gobject/gvalue.h +212 -0
- package/include/glib-2.0/gobject/gvaluearray.h +106 -0
- package/include/glib-2.0/gobject/gvaluecollector.h +290 -0
- package/include/glib-2.0/gobject/gvaluetypes.h +318 -0
- package/include/harfbuzz/hb-aat-layout.h +795 -0
- package/include/harfbuzz/hb-aat.h +38 -0
- package/include/harfbuzz/hb-blob.h +160 -0
- package/include/harfbuzz/hb-buffer.h +799 -0
- package/include/harfbuzz/hb-common.h +938 -0
- package/include/harfbuzz/hb-cplusplus.hh +223 -0
- package/include/harfbuzz/hb-deprecated.h +309 -0
- package/include/harfbuzz/hb-draw.h +340 -0
- package/include/harfbuzz/hb-face.h +187 -0
- package/include/harfbuzz/hb-features.h +119 -0
- package/include/harfbuzz/hb-font.h +1153 -0
- package/include/harfbuzz/hb-ft.h +145 -0
- package/include/harfbuzz/hb-glib.h +56 -0
- package/include/harfbuzz/hb-map.h +143 -0
- package/include/harfbuzz/hb-ot-color.h +155 -0
- package/include/harfbuzz/hb-ot-deprecated.h +147 -0
- package/include/harfbuzz/hb-ot-font.h +45 -0
- package/include/harfbuzz/hb-ot-layout.h +549 -0
- package/include/harfbuzz/hb-ot-math.h +333 -0
- package/include/harfbuzz/hb-ot-meta.h +72 -0
- package/include/harfbuzz/hb-ot-metrics.h +129 -0
- package/include/harfbuzz/hb-ot-name.h +164 -0
- package/include/harfbuzz/hb-ot-shape.h +53 -0
- package/include/harfbuzz/hb-ot-var.h +191 -0
- package/include/harfbuzz/hb-ot.h +49 -0
- package/include/harfbuzz/hb-paint.h +1029 -0
- package/include/harfbuzz/hb-set.h +203 -0
- package/include/harfbuzz/hb-shape-plan.h +122 -0
- package/include/harfbuzz/hb-shape.h +74 -0
- package/include/harfbuzz/hb-style.h +81 -0
- package/include/harfbuzz/hb-subset-repacker.h +81 -0
- package/include/harfbuzz/hb-subset.h +241 -0
- package/include/harfbuzz/hb-unicode.h +643 -0
- package/include/harfbuzz/hb-version.h +95 -0
- package/include/harfbuzz/hb.h +51 -0
- package/include/index.js +1 -0
- package/include/jconfig.h +37 -0
- package/include/jerror.h +335 -0
- package/include/jmorecfg.h +382 -0
- package/include/jpeglib.h +1210 -0
- package/include/lcms2.h +1958 -0
- package/include/lcms2_plugin.h +700 -0
- package/include/libexif/_stdint.h +2 -0
- package/include/libexif/exif-byte-order.h +48 -0
- package/include/libexif/exif-content.h +181 -0
- package/include/libexif/exif-data-type.h +46 -0
- package/include/libexif/exif-data.h +267 -0
- package/include/libexif/exif-entry.h +186 -0
- package/include/libexif/exif-format.h +65 -0
- package/include/libexif/exif-ifd.h +51 -0
- package/include/libexif/exif-loader.h +128 -0
- package/include/libexif/exif-log.h +116 -0
- package/include/libexif/exif-mem.h +91 -0
- package/include/libexif/exif-mnote-data.h +122 -0
- package/include/libexif/exif-tag.h +307 -0
- package/include/libexif/exif-utils.h +194 -0
- package/include/libheif/heif.h +2092 -0
- package/include/libheif/heif_cxx.h +1359 -0
- package/include/libheif/heif_plugin.h +306 -0
- package/include/libheif/heif_version.h +38 -0
- package/include/libimagequant.h +111 -0
- package/include/libpng16/png.h +3247 -0
- package/include/libpng16/pngconf.h +623 -0
- package/include/libpng16/pnglibconf.h +219 -0
- package/include/librsvg-2.0/librsvg/rsvg-cairo.h +395 -0
- package/include/librsvg-2.0/librsvg/rsvg-features.h +184 -0
- package/include/librsvg-2.0/librsvg/rsvg-version.h +13 -0
- package/include/librsvg-2.0/librsvg/rsvg.h +1456 -0
- package/include/libxml2/libxml/HTMLparser.h +320 -0
- package/include/libxml2/libxml/HTMLtree.h +147 -0
- package/include/libxml2/libxml/SAX.h +204 -0
- package/include/libxml2/libxml/SAX2.h +173 -0
- package/include/libxml2/libxml/c14n.h +128 -0
- package/include/libxml2/libxml/catalog.h +182 -0
- package/include/libxml2/libxml/chvalid.h +230 -0
- package/include/libxml2/libxml/debugXML.h +217 -0
- package/include/libxml2/libxml/dict.h +81 -0
- package/include/libxml2/libxml/encoding.h +233 -0
- package/include/libxml2/libxml/entities.h +151 -0
- package/include/libxml2/libxml/globals.h +529 -0
- package/include/libxml2/libxml/hash.h +236 -0
- package/include/libxml2/libxml/list.h +137 -0
- package/include/libxml2/libxml/nanoftp.h +186 -0
- package/include/libxml2/libxml/nanohttp.h +81 -0
- package/include/libxml2/libxml/parser.h +1265 -0
- package/include/libxml2/libxml/parserInternals.h +662 -0
- package/include/libxml2/libxml/pattern.h +100 -0
- package/include/libxml2/libxml/relaxng.h +218 -0
- package/include/libxml2/libxml/schemasInternals.h +958 -0
- package/include/libxml2/libxml/schematron.h +142 -0
- package/include/libxml2/libxml/threads.h +94 -0
- package/include/libxml2/libxml/tree.h +1314 -0
- package/include/libxml2/libxml/uri.h +94 -0
- package/include/libxml2/libxml/valid.h +448 -0
- package/include/libxml2/libxml/xinclude.h +129 -0
- package/include/libxml2/libxml/xlink.h +189 -0
- package/include/libxml2/libxml/xmlIO.h +369 -0
- package/include/libxml2/libxml/xmlautomata.h +146 -0
- package/include/libxml2/libxml/xmlerror.h +919 -0
- package/include/libxml2/libxml/xmlexports.h +50 -0
- package/include/libxml2/libxml/xmlmemory.h +228 -0
- package/include/libxml2/libxml/xmlmodule.h +57 -0
- package/include/libxml2/libxml/xmlreader.h +428 -0
- package/include/libxml2/libxml/xmlregexp.h +222 -0
- package/include/libxml2/libxml/xmlsave.h +88 -0
- package/include/libxml2/libxml/xmlschemas.h +246 -0
- package/include/libxml2/libxml/xmlschemastypes.h +152 -0
- package/include/libxml2/libxml/xmlstring.h +140 -0
- package/include/libxml2/libxml/xmlunicode.h +202 -0
- package/include/libxml2/libxml/xmlversion.h +526 -0
- package/include/libxml2/libxml/xmlwriter.h +488 -0
- package/include/libxml2/libxml/xpath.h +575 -0
- package/include/libxml2/libxml/xpathInternals.h +632 -0
- package/include/libxml2/libxml/xpointer.h +137 -0
- package/include/orc-0.4/orc/orc-stdint.h +1 -0
- package/include/orc-0.4/orc/orc.h +16 -0
- package/include/orc-0.4/orc/orcarm.h +879 -0
- package/include/orc-0.4/orc/orcbytecode.h +35 -0
- package/include/orc-0.4/orc/orcbytecodes.h +255 -0
- package/include/orc-0.4/orc/orccode.h +53 -0
- package/include/orc-0.4/orc/orccompiler.h +176 -0
- package/include/orc-0.4/orc/orcconstant.h +39 -0
- package/include/orc-0.4/orc/orccpu.h +21 -0
- package/include/orc-0.4/orc/orccpuinsn.h +40 -0
- package/include/orc-0.4/orc/orcdebug.h +158 -0
- package/include/orc-0.4/orc/orcemulateopcodes.h +203 -0
- package/include/orc-0.4/orc/orcexecutor.h +135 -0
- package/include/orc-0.4/orc/orcfunctions.h +93 -0
- package/include/orc-0.4/orc/orcinstruction.h +39 -0
- package/include/orc-0.4/orc/orcinternal.h +46 -0
- package/include/orc-0.4/orc/orclimits.h +94 -0
- package/include/orc-0.4/orc/orcmips.h +229 -0
- package/include/orc-0.4/orc/orcmmx.h +79 -0
- package/include/orc-0.4/orc/orcneon.h +43 -0
- package/include/orc-0.4/orc/orconce.h +166 -0
- package/include/orc-0.4/orc/orcopcode.h +63 -0
- package/include/orc-0.4/orc/orcparse.h +27 -0
- package/include/orc-0.4/orc/orcpowerpc.h +209 -0
- package/include/orc-0.4/orc/orcprogram.h +192 -0
- package/include/orc-0.4/orc/orcrule.h +52 -0
- package/include/orc-0.4/orc/orcsse.h +55 -0
- package/include/orc-0.4/orc/orctarget.h +115 -0
- package/include/orc-0.4/orc/orcutils.h +238 -0
- package/include/orc-0.4/orc/orcvariable.h +81 -0
- package/include/orc-0.4/orc/orcx86.h +199 -0
- package/include/orc-0.4/orc/orcx86insn.h +672 -0
- package/include/pango-1.0/pango/pango-attributes.h +748 -0
- package/include/pango-1.0/pango/pango-bidi-type.h +117 -0
- package/include/pango-1.0/pango/pango-break.h +144 -0
- package/include/pango-1.0/pango/pango-color.h +75 -0
- package/include/pango-1.0/pango/pango-context.h +116 -0
- package/include/pango-1.0/pango/pango-coverage.h +108 -0
- package/include/pango-1.0/pango/pango-direction.h +72 -0
- package/include/pango-1.0/pango/pango-engine.h +457 -0
- package/include/pango-1.0/pango/pango-enum-types.h +120 -0
- package/include/pango-1.0/pango/pango-features.h +10 -0
- package/include/pango-1.0/pango/pango-font.h +699 -0
- package/include/pango-1.0/pango/pango-fontmap.h +132 -0
- package/include/pango-1.0/pango/pango-fontset-simple.h +64 -0
- package/include/pango-1.0/pango/pango-fontset.h +134 -0
- package/include/pango-1.0/pango/pango-glyph-item.h +175 -0
- package/include/pango-1.0/pango/pango-glyph.h +270 -0
- package/include/pango-1.0/pango/pango-gravity.h +137 -0
- package/include/pango-1.0/pango/pango-item.h +165 -0
- package/include/pango-1.0/pango/pango-language.h +70 -0
- package/include/pango-1.0/pango/pango-layout.h +554 -0
- package/include/pango-1.0/pango/pango-markup.h +52 -0
- package/include/pango-1.0/pango/pango-matrix.h +130 -0
- package/include/pango-1.0/pango/pango-modules.h +84 -0
- package/include/pango-1.0/pango/pango-ot.h +427 -0
- package/include/pango-1.0/pango/pango-renderer.h +290 -0
- package/include/pango-1.0/pango/pango-script.h +335 -0
- package/include/pango-1.0/pango/pango-tabs.h +117 -0
- package/include/pango-1.0/pango/pango-types.h +244 -0
- package/include/pango-1.0/pango/pango-utils.h +187 -0
- package/include/pango-1.0/pango/pango-version-macros.h +756 -0
- package/include/pango-1.0/pango/pango.h +54 -0
- package/include/pango-1.0/pango/pangocairo.h +220 -0
- package/include/pango-1.0/pango/pangofc-decoder.h +122 -0
- package/include/pango-1.0/pango/pangofc-font.h +120 -0
- package/include/pango-1.0/pango/pangofc-fontmap.h +244 -0
- package/include/pango-1.0/pango/pangoft2.h +158 -0
- package/include/pixman-1/pixman-version.h +54 -0
- package/include/pixman-1/pixman.h +1419 -0
- package/include/png.h +3247 -0
- package/include/pngconf.h +623 -0
- package/include/pnglibconf.h +219 -0
- package/include/spng.h +537 -0
- package/include/tiff.h +899 -0
- package/include/tiffconf.h +145 -0
- package/include/tiffio.h +653 -0
- package/include/tiffvers.h +36 -0
- package/include/vips/VConnection8.h +150 -0
- package/include/vips/VError8.h +76 -0
- package/include/vips/VImage8.h +6065 -0
- package/include/vips/VInterpolate8.h +77 -0
- package/include/vips/VRegion8.h +155 -0
- package/include/vips/arithmetic.h +571 -0
- package/include/vips/basic.h +113 -0
- package/include/vips/buf.h +118 -0
- package/include/vips/colour.h +306 -0
- package/include/vips/connection.h +570 -0
- package/include/vips/conversion.h +357 -0
- package/include/vips/convolution.h +95 -0
- package/include/vips/create.h +161 -0
- package/include/vips/dbuf.h +103 -0
- package/include/vips/debug.h +74 -0
- package/include/vips/draw.h +113 -0
- package/include/vips/enumtypes.h +181 -0
- package/include/vips/error.h +142 -0
- package/include/vips/foreign.h +993 -0
- package/include/vips/format.h +135 -0
- package/include/vips/freqfilt.h +64 -0
- package/include/vips/gate.h +82 -0
- package/include/vips/generate.h +92 -0
- package/include/vips/header.h +312 -0
- package/include/vips/histogram.h +85 -0
- package/include/vips/image.h +605 -0
- package/include/vips/interpolate.h +141 -0
- package/include/vips/memory.h +96 -0
- package/include/vips/morphology.h +73 -0
- package/include/vips/mosaicing.h +80 -0
- package/include/vips/object.h +706 -0
- package/include/vips/operation.h +182 -0
- package/include/vips/private.h +227 -0
- package/include/vips/rect.h +80 -0
- package/include/vips/region.h +238 -0
- package/include/vips/resample.h +123 -0
- package/include/vips/sbuf.h +144 -0
- package/include/vips/semaphore.h +77 -0
- package/include/vips/thread.h +72 -0
- package/include/vips/threadpool.h +160 -0
- package/include/vips/transform.h +89 -0
- package/include/vips/type.h +305 -0
- package/include/vips/util.h +406 -0
- package/include/vips/vector.h +183 -0
- package/include/vips/version.h +26 -0
- package/include/vips/vips.h +194 -0
- package/include/vips/vips8 +60 -0
- package/include/webp/decode.h +504 -0
- package/include/webp/demux.h +363 -0
- package/include/webp/encode.h +552 -0
- package/include/webp/mux.h +530 -0
- package/include/webp/mux_types.h +98 -0
- package/include/webp/sharpyuv/sharpyuv.h +103 -0
- package/include/webp/sharpyuv/sharpyuv_csp.h +60 -0
- package/include/webp/types.h +72 -0
- package/include/zconf.h +203 -0
- package/include/zlib.h +1855 -0
- package/include/zlib_name_mangling.h +8 -0
- package/package.json +30 -0
- package/versions.json +31 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/* Definitions for partial image regions.
|
|
2
|
+
*
|
|
3
|
+
* J.Cupitt, 8/4/93
|
|
4
|
+
*
|
|
5
|
+
* 2/3/11
|
|
6
|
+
* - move to GObject
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
|
|
11
|
+
This file is part of VIPS.
|
|
12
|
+
|
|
13
|
+
VIPS is free software; you can redistribute it and/or modify
|
|
14
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
15
|
+
the Free Software Foundation; either version 2 of the License, or
|
|
16
|
+
(at your option) any later version.
|
|
17
|
+
|
|
18
|
+
This program is distributed in the hope that it will be useful,
|
|
19
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
21
|
+
GNU Lesser General Public License for more details.
|
|
22
|
+
|
|
23
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
24
|
+
along with this program; if not, write to the Free Software
|
|
25
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
26
|
+
02110-1301 USA
|
|
27
|
+
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/*
|
|
31
|
+
|
|
32
|
+
These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
|
|
33
|
+
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
#ifndef VIPS_REGION_H
|
|
37
|
+
#define VIPS_REGION_H
|
|
38
|
+
|
|
39
|
+
#include <glib.h>
|
|
40
|
+
#include <glib-object.h>
|
|
41
|
+
#include <vips/object.h>
|
|
42
|
+
#include <vips/image.h>
|
|
43
|
+
#include <vips/rect.h>
|
|
44
|
+
#include <vips/private.h>
|
|
45
|
+
|
|
46
|
+
#ifdef __cplusplus
|
|
47
|
+
extern "C" {
|
|
48
|
+
#endif /*__cplusplus*/
|
|
49
|
+
|
|
50
|
+
#define VIPS_TYPE_REGION (vips_region_get_type())
|
|
51
|
+
#define VIPS_REGION( obj ) \
|
|
52
|
+
(G_TYPE_CHECK_INSTANCE_CAST( (obj), \
|
|
53
|
+
VIPS_TYPE_REGION, VipsRegion ))
|
|
54
|
+
#define VIPS_REGION_CLASS( klass ) \
|
|
55
|
+
(G_TYPE_CHECK_CLASS_CAST( (klass), \
|
|
56
|
+
VIPS_TYPE_REGION, VipsRegionClass))
|
|
57
|
+
#define VIPS_IS_REGION( obj ) \
|
|
58
|
+
(G_TYPE_CHECK_INSTANCE_TYPE( (obj), VIPS_TYPE_REGION ))
|
|
59
|
+
#define VIPS_IS_REGION_CLASS( klass ) \
|
|
60
|
+
(G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_REGION ))
|
|
61
|
+
#define VIPS_REGION_GET_CLASS( obj ) \
|
|
62
|
+
(G_TYPE_INSTANCE_GET_CLASS( (obj), \
|
|
63
|
+
VIPS_TYPE_REGION, VipsRegionClass ))
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* VipsRegionShrink:
|
|
67
|
+
* @VIPS_REGION_SHRINK_MEAN: use the average
|
|
68
|
+
* @VIPS_REGION_SHRINK_MEDIAN: use the median
|
|
69
|
+
* @VIPS_REGION_SHRINK_MODE: use the mode
|
|
70
|
+
* @VIPS_REGION_SHRINK_MAX: use the maximum
|
|
71
|
+
* @VIPS_REGION_SHRINK_MIN: use the minimum
|
|
72
|
+
* @VIPS_REGION_SHRINK_NEAREST: use the top-left pixel
|
|
73
|
+
*
|
|
74
|
+
* How to calculate the output pixels when shrinking a 2x2 region.
|
|
75
|
+
*/
|
|
76
|
+
typedef enum {
|
|
77
|
+
VIPS_REGION_SHRINK_MEAN,
|
|
78
|
+
VIPS_REGION_SHRINK_MEDIAN,
|
|
79
|
+
VIPS_REGION_SHRINK_MODE,
|
|
80
|
+
VIPS_REGION_SHRINK_MAX,
|
|
81
|
+
VIPS_REGION_SHRINK_MIN,
|
|
82
|
+
VIPS_REGION_SHRINK_NEAREST,
|
|
83
|
+
VIPS_REGION_SHRINK_LAST
|
|
84
|
+
} VipsRegionShrink;
|
|
85
|
+
|
|
86
|
+
/* Sub-area of image.
|
|
87
|
+
*
|
|
88
|
+
* Matching typedef in basic.h.
|
|
89
|
+
*/
|
|
90
|
+
struct _VipsRegion {
|
|
91
|
+
VipsObject parent_object;
|
|
92
|
+
|
|
93
|
+
/*< public >*/
|
|
94
|
+
/* Users may read these two fields.
|
|
95
|
+
*/
|
|
96
|
+
VipsImage *im; /* Link back to parent image */
|
|
97
|
+
VipsRect valid; /* Area of parent we can see */
|
|
98
|
+
|
|
99
|
+
/* The rest of VipsRegion is private.
|
|
100
|
+
*/
|
|
101
|
+
/*< private >*/
|
|
102
|
+
RegionType type; /* What kind of attachment */
|
|
103
|
+
VipsPel *data; /* Off here to get data */
|
|
104
|
+
int bpl; /* Bytes-per-line for data */
|
|
105
|
+
void *seq; /* Sequence we are using to fill region */
|
|
106
|
+
|
|
107
|
+
/* The thread that made this region. Used to assert() test that
|
|
108
|
+
* regions are not being shared between threads.
|
|
109
|
+
*/
|
|
110
|
+
GThread *thread;
|
|
111
|
+
|
|
112
|
+
/* Ref to the window we use for this region, if any.
|
|
113
|
+
*/
|
|
114
|
+
VipsWindow *window;
|
|
115
|
+
|
|
116
|
+
/* Ref to the buffer we use for this region, if any.
|
|
117
|
+
*/
|
|
118
|
+
VipsBuffer *buffer;
|
|
119
|
+
|
|
120
|
+
/* The image this region is on has changed and caches need to be
|
|
121
|
+
* dropped.
|
|
122
|
+
*/
|
|
123
|
+
gboolean invalid;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
typedef struct _VipsRegionClass {
|
|
127
|
+
VipsObjectClass parent_class;
|
|
128
|
+
|
|
129
|
+
} VipsRegionClass;
|
|
130
|
+
|
|
131
|
+
/* Don't put spaces around void here, it breaks gtk-doc.
|
|
132
|
+
*/
|
|
133
|
+
VIPS_API
|
|
134
|
+
GType vips_region_get_type(void);
|
|
135
|
+
|
|
136
|
+
VIPS_API
|
|
137
|
+
VipsRegion *vips_region_new( VipsImage *image );
|
|
138
|
+
|
|
139
|
+
VIPS_API
|
|
140
|
+
int vips_region_buffer( VipsRegion *reg, const VipsRect *r );
|
|
141
|
+
VIPS_API
|
|
142
|
+
int vips_region_image( VipsRegion *reg, const VipsRect *r );
|
|
143
|
+
VIPS_API
|
|
144
|
+
int vips_region_region( VipsRegion *reg, VipsRegion *dest,
|
|
145
|
+
const VipsRect *r, int x, int y );
|
|
146
|
+
VIPS_API
|
|
147
|
+
int vips_region_equalsregion( VipsRegion *reg1, VipsRegion *reg2 );
|
|
148
|
+
VIPS_API
|
|
149
|
+
int vips_region_position( VipsRegion *reg, int x, int y );
|
|
150
|
+
|
|
151
|
+
VIPS_API
|
|
152
|
+
void vips_region_paint( VipsRegion *reg, const VipsRect *r, int value );
|
|
153
|
+
VIPS_API
|
|
154
|
+
void vips_region_paint_pel( VipsRegion *reg,
|
|
155
|
+
const VipsRect *r, const VipsPel *ink );
|
|
156
|
+
VIPS_API
|
|
157
|
+
void vips_region_black( VipsRegion *reg );
|
|
158
|
+
VIPS_API
|
|
159
|
+
void vips_region_copy( VipsRegion *reg, VipsRegion *dest,
|
|
160
|
+
const VipsRect *r, int x, int y );
|
|
161
|
+
VIPS_API
|
|
162
|
+
int vips_region_shrink_method( VipsRegion *from, VipsRegion *to,
|
|
163
|
+
const VipsRect *target, VipsRegionShrink method );
|
|
164
|
+
VIPS_API
|
|
165
|
+
int vips_region_shrink( VipsRegion *from, VipsRegion *to,
|
|
166
|
+
const VipsRect *target );
|
|
167
|
+
|
|
168
|
+
VIPS_API
|
|
169
|
+
int vips_region_prepare( VipsRegion *reg, const VipsRect *r );
|
|
170
|
+
VIPS_API
|
|
171
|
+
int vips_region_prepare_to( VipsRegion *reg,
|
|
172
|
+
VipsRegion *dest, const VipsRect *r, int x, int y );
|
|
173
|
+
|
|
174
|
+
VIPS_API
|
|
175
|
+
VipsPel *vips_region_fetch( VipsRegion *region,
|
|
176
|
+
int left, int top, int width, int height, size_t *len );
|
|
177
|
+
VIPS_API
|
|
178
|
+
int vips_region_width( VipsRegion *region );
|
|
179
|
+
VIPS_API
|
|
180
|
+
int vips_region_height( VipsRegion *region );
|
|
181
|
+
|
|
182
|
+
VIPS_API
|
|
183
|
+
void vips_region_invalidate( VipsRegion *reg );
|
|
184
|
+
|
|
185
|
+
/* Use this to count pixels passing through key points. Handy for spotting bad
|
|
186
|
+
* overcomputation.
|
|
187
|
+
*/
|
|
188
|
+
#ifdef DEBUG_LEAK
|
|
189
|
+
#define VIPS_COUNT_PIXELS( R, N ) vips__region_count_pixels( R, N )
|
|
190
|
+
#else /*!DEBUG_LEAK*/
|
|
191
|
+
#define VIPS_COUNT_PIXELS( R, N )
|
|
192
|
+
#endif /*DEBUG_LEAK*/
|
|
193
|
+
|
|
194
|
+
#define VIPS_REGION_LSKIP( R ) \
|
|
195
|
+
((size_t)((R)->bpl))
|
|
196
|
+
#define VIPS_REGION_N_ELEMENTS( R ) \
|
|
197
|
+
((size_t)((R)->valid.width * (R)->im->Bands))
|
|
198
|
+
#define VIPS_REGION_SIZEOF_ELEMENT( R ) \
|
|
199
|
+
(VIPS_IMAGE_SIZEOF_ELEMENT( (R)->im ))
|
|
200
|
+
#define VIPS_REGION_SIZEOF_PEL( R ) \
|
|
201
|
+
(VIPS_IMAGE_SIZEOF_PEL( (R)->im ))
|
|
202
|
+
#define VIPS_REGION_SIZEOF_LINE( R ) \
|
|
203
|
+
((size_t)((R)->valid.width * VIPS_REGION_SIZEOF_PEL( R )))
|
|
204
|
+
|
|
205
|
+
/* If DEBUG is defined, add bounds checking.
|
|
206
|
+
*/
|
|
207
|
+
#ifdef DEBUG
|
|
208
|
+
#define VIPS_REGION_ADDR( R, X, Y ) \
|
|
209
|
+
( (vips_rect_includespoint( &(R)->valid, (X), (Y) ))? \
|
|
210
|
+
((R)->data + ((Y) - (R)->valid.top) * VIPS_REGION_LSKIP(R) + \
|
|
211
|
+
((X) - (R)->valid.left) * VIPS_REGION_SIZEOF_PEL( R )): \
|
|
212
|
+
(fprintf( stderr, \
|
|
213
|
+
"VIPS_REGION_ADDR: point out of bounds, " \
|
|
214
|
+
"file \"%s\", line %d\n" \
|
|
215
|
+
"(point x=%d, y=%d\n" \
|
|
216
|
+
" should have been within VipsRect left=%d, top=%d, " \
|
|
217
|
+
"width=%d, height=%d)\n", \
|
|
218
|
+
__FILE__, __LINE__, \
|
|
219
|
+
(X), (Y), \
|
|
220
|
+
(R)->valid.left, \
|
|
221
|
+
(R)->valid.top, \
|
|
222
|
+
(R)->valid.width, \
|
|
223
|
+
(R)->valid.height ), abort(), (VipsPel *) NULL) \
|
|
224
|
+
)
|
|
225
|
+
#else /*DEBUG*/
|
|
226
|
+
#define VIPS_REGION_ADDR( R, X, Y ) \
|
|
227
|
+
((R)->data + \
|
|
228
|
+
((Y)-(R)->valid.top) * VIPS_REGION_LSKIP( R ) + \
|
|
229
|
+
((X)-(R)->valid.left) * VIPS_REGION_SIZEOF_PEL( R ))
|
|
230
|
+
#endif /*DEBUG*/
|
|
231
|
+
|
|
232
|
+
#define VIPS_REGION_ADDR_TOPLEFT( R ) ((R)->data)
|
|
233
|
+
|
|
234
|
+
#ifdef __cplusplus
|
|
235
|
+
}
|
|
236
|
+
#endif /*__cplusplus*/
|
|
237
|
+
|
|
238
|
+
#endif /*VIPS_REGION_H*/
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/* resample.h
|
|
2
|
+
*
|
|
3
|
+
* 20/9/09
|
|
4
|
+
* - from proto.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
|
|
9
|
+
This file is part of VIPS.
|
|
10
|
+
|
|
11
|
+
VIPS is free software; you can redistribute it and/or modify
|
|
12
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
+
the Free Software Foundation; either version 2 of the License, or
|
|
14
|
+
(at your option) any later version.
|
|
15
|
+
|
|
16
|
+
This program is distributed in the hope that it will be useful,
|
|
17
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
GNU Lesser General Public License for more details.
|
|
20
|
+
|
|
21
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
along with this program; if not, write to the Free Software
|
|
23
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
24
|
+
02110-1301 USA
|
|
25
|
+
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
|
|
30
|
+
These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
|
|
31
|
+
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
#ifndef VIPS_RESAMPLE_H
|
|
35
|
+
#define VIPS_RESAMPLE_H
|
|
36
|
+
|
|
37
|
+
#ifdef __cplusplus
|
|
38
|
+
extern "C" {
|
|
39
|
+
#endif /*__cplusplus*/
|
|
40
|
+
|
|
41
|
+
typedef enum {
|
|
42
|
+
VIPS_KERNEL_NEAREST,
|
|
43
|
+
VIPS_KERNEL_LINEAR,
|
|
44
|
+
VIPS_KERNEL_CUBIC,
|
|
45
|
+
VIPS_KERNEL_MITCHELL,
|
|
46
|
+
VIPS_KERNEL_LANCZOS2,
|
|
47
|
+
VIPS_KERNEL_LANCZOS3,
|
|
48
|
+
VIPS_KERNEL_LAST
|
|
49
|
+
} VipsKernel;
|
|
50
|
+
|
|
51
|
+
typedef enum {
|
|
52
|
+
VIPS_SIZE_BOTH,
|
|
53
|
+
VIPS_SIZE_UP,
|
|
54
|
+
VIPS_SIZE_DOWN,
|
|
55
|
+
VIPS_SIZE_FORCE,
|
|
56
|
+
VIPS_SIZE_LAST
|
|
57
|
+
} VipsSize;
|
|
58
|
+
|
|
59
|
+
VIPS_API
|
|
60
|
+
int vips_shrink( VipsImage *in, VipsImage **out,
|
|
61
|
+
double hshrink, double vshrink, ... )
|
|
62
|
+
G_GNUC_NULL_TERMINATED;
|
|
63
|
+
VIPS_API
|
|
64
|
+
int vips_shrinkh( VipsImage *in, VipsImage **out, int hshrink, ... )
|
|
65
|
+
G_GNUC_NULL_TERMINATED;
|
|
66
|
+
VIPS_API
|
|
67
|
+
int vips_shrinkv( VipsImage *in, VipsImage **out, int vshrink, ... )
|
|
68
|
+
G_GNUC_NULL_TERMINATED;
|
|
69
|
+
|
|
70
|
+
VIPS_API
|
|
71
|
+
int vips_reduce( VipsImage *in, VipsImage **out,
|
|
72
|
+
double hshrink, double vshrink, ... )
|
|
73
|
+
G_GNUC_NULL_TERMINATED;
|
|
74
|
+
VIPS_API
|
|
75
|
+
int vips_reduceh( VipsImage *in, VipsImage **out, double hshrink, ... )
|
|
76
|
+
G_GNUC_NULL_TERMINATED;
|
|
77
|
+
VIPS_API
|
|
78
|
+
int vips_reducev( VipsImage *in, VipsImage **out, double vshrink, ... )
|
|
79
|
+
G_GNUC_NULL_TERMINATED;
|
|
80
|
+
|
|
81
|
+
VIPS_API
|
|
82
|
+
int vips_thumbnail( const char *filename, VipsImage **out, int width, ... )
|
|
83
|
+
G_GNUC_NULL_TERMINATED;
|
|
84
|
+
VIPS_API
|
|
85
|
+
int vips_thumbnail_buffer( void *buf, size_t len, VipsImage **out,
|
|
86
|
+
int width, ... )
|
|
87
|
+
G_GNUC_NULL_TERMINATED;
|
|
88
|
+
VIPS_API
|
|
89
|
+
int vips_thumbnail_image( VipsImage *in, VipsImage **out, int width, ... )
|
|
90
|
+
G_GNUC_NULL_TERMINATED;
|
|
91
|
+
VIPS_API
|
|
92
|
+
int vips_thumbnail_source( VipsSource *source, VipsImage **out,
|
|
93
|
+
int width, ... )
|
|
94
|
+
G_GNUC_NULL_TERMINATED;
|
|
95
|
+
|
|
96
|
+
VIPS_API
|
|
97
|
+
int vips_similarity( VipsImage *in, VipsImage **out, ... )
|
|
98
|
+
G_GNUC_NULL_TERMINATED;
|
|
99
|
+
VIPS_API
|
|
100
|
+
int vips_rotate( VipsImage *in, VipsImage **out, double angle, ... )
|
|
101
|
+
G_GNUC_NULL_TERMINATED;
|
|
102
|
+
VIPS_API
|
|
103
|
+
int vips_affine( VipsImage *in, VipsImage **out,
|
|
104
|
+
double a, double b, double c, double d, ... )
|
|
105
|
+
G_GNUC_NULL_TERMINATED;
|
|
106
|
+
|
|
107
|
+
VIPS_API
|
|
108
|
+
int vips_resize( VipsImage *in, VipsImage **out, double scale, ... )
|
|
109
|
+
G_GNUC_NULL_TERMINATED;
|
|
110
|
+
|
|
111
|
+
VIPS_API
|
|
112
|
+
int vips_mapim( VipsImage *in, VipsImage **out, VipsImage *index, ... )
|
|
113
|
+
G_GNUC_NULL_TERMINATED;
|
|
114
|
+
|
|
115
|
+
VIPS_API
|
|
116
|
+
int vips_quadratic( VipsImage *in, VipsImage **out, VipsImage *coeff, ... )
|
|
117
|
+
G_GNUC_NULL_TERMINATED;
|
|
118
|
+
|
|
119
|
+
#ifdef __cplusplus
|
|
120
|
+
}
|
|
121
|
+
#endif /*__cplusplus*/
|
|
122
|
+
|
|
123
|
+
#endif /*VIPS_RESAMPLE_H*/
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/* Buffered inputput from a VipsSource
|
|
2
|
+
*
|
|
3
|
+
* J.Cupitt, 18/11/19
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
|
|
8
|
+
This file is part of VIPS.
|
|
9
|
+
|
|
10
|
+
VIPS is free software; you can redistribute it and/or modify
|
|
11
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
12
|
+
the Free Software Foundation; either version 2 of the License, or
|
|
13
|
+
(at your option) any later version.
|
|
14
|
+
|
|
15
|
+
This program is distributed in the hope that it will be useful,
|
|
16
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18
|
+
GNU Lesser General Public License for more details.
|
|
19
|
+
|
|
20
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
21
|
+
along with this program; if not, write to the Free Software
|
|
22
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
23
|
+
02110-1301 USA
|
|
24
|
+
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/*
|
|
28
|
+
|
|
29
|
+
These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
|
|
30
|
+
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
#ifndef VIPS_SBUF_H
|
|
34
|
+
#define VIPS_SBUF_H
|
|
35
|
+
|
|
36
|
+
#include <glib.h>
|
|
37
|
+
#include <glib-object.h>
|
|
38
|
+
#include <vips/object.h>
|
|
39
|
+
|
|
40
|
+
#ifdef __cplusplus
|
|
41
|
+
extern "C" {
|
|
42
|
+
#endif /*__cplusplus*/
|
|
43
|
+
|
|
44
|
+
#define VIPS_TYPE_SBUF (vips_sbuf_get_type())
|
|
45
|
+
#define VIPS_SBUF( obj ) \
|
|
46
|
+
(G_TYPE_CHECK_INSTANCE_CAST( (obj), \
|
|
47
|
+
VIPS_TYPE_SBUF, VipsSbuf ))
|
|
48
|
+
#define VIPS_SBUF_CLASS( klass ) \
|
|
49
|
+
(G_TYPE_CHECK_CLASS_CAST( (klass), \
|
|
50
|
+
VIPS_TYPE_SBUF, VipsSbufClass))
|
|
51
|
+
#define VIPS_IS_SBUF( obj ) \
|
|
52
|
+
(G_TYPE_CHECK_INSTANCE_TYPE( (obj), VIPS_TYPE_SBUF ))
|
|
53
|
+
#define VIPS_IS_SBUF_CLASS( klass ) \
|
|
54
|
+
(G_TYPE_CHECK_CLASS_TYPE( (klass), VIPS_TYPE_SBUF ))
|
|
55
|
+
#define VIPS_SBUF_GET_CLASS( obj ) \
|
|
56
|
+
(G_TYPE_INSTANCE_GET_CLASS( (obj), \
|
|
57
|
+
VIPS_TYPE_SBUF, VipsSbufClass ))
|
|
58
|
+
|
|
59
|
+
#define VIPS_SBUF_BUFFER_SIZE (4096)
|
|
60
|
+
|
|
61
|
+
/* Layer over source: read with an input buffer.
|
|
62
|
+
*
|
|
63
|
+
* Libraries like libjpeg do their own input buffering and need raw IO, but
|
|
64
|
+
* others, like radiance, need to parse the input into lines. A buffered read
|
|
65
|
+
* class is very convenient.
|
|
66
|
+
*/
|
|
67
|
+
typedef struct _VipsSbuf {
|
|
68
|
+
VipsObject parent_object;
|
|
69
|
+
|
|
70
|
+
/*< private >*/
|
|
71
|
+
|
|
72
|
+
/* The VipsSource we wrap.
|
|
73
|
+
*/
|
|
74
|
+
VipsSource *source;
|
|
75
|
+
|
|
76
|
+
/* The +1 means there's always a \0 byte at the end.
|
|
77
|
+
*
|
|
78
|
+
* Unsigned char, since we don't want >127 to be -ve.
|
|
79
|
+
*
|
|
80
|
+
* chars_in_buffer is how many chars we have in input_buffer,
|
|
81
|
+
* read_point is the current read position in that buffer.
|
|
82
|
+
*/
|
|
83
|
+
unsigned char input_buffer[VIPS_SBUF_BUFFER_SIZE + 1];
|
|
84
|
+
int chars_in_buffer;
|
|
85
|
+
int read_point;
|
|
86
|
+
|
|
87
|
+
/* Build lines of text here.
|
|
88
|
+
*/
|
|
89
|
+
unsigned char line[VIPS_SBUF_BUFFER_SIZE + 1];
|
|
90
|
+
|
|
91
|
+
} VipsSbuf;
|
|
92
|
+
|
|
93
|
+
typedef struct _VipsSbufClass {
|
|
94
|
+
VipsObjectClass parent_class;
|
|
95
|
+
|
|
96
|
+
} VipsSbufClass;
|
|
97
|
+
|
|
98
|
+
VIPS_API
|
|
99
|
+
GType vips_sbuf_get_type( void );
|
|
100
|
+
|
|
101
|
+
VIPS_API
|
|
102
|
+
VipsSbuf *vips_sbuf_new_from_source( VipsSource *source );
|
|
103
|
+
|
|
104
|
+
VIPS_API
|
|
105
|
+
void vips_sbuf_unbuffer( VipsSbuf *sbuf );
|
|
106
|
+
|
|
107
|
+
VIPS_API
|
|
108
|
+
int vips_sbuf_getc( VipsSbuf *sbuf );
|
|
109
|
+
#define VIPS_SBUF_GETC( S ) ( \
|
|
110
|
+
(S)->read_point < (S)->chars_in_buffer ? \
|
|
111
|
+
(S)->input_buffer[(S)->read_point++] : \
|
|
112
|
+
vips_sbuf_getc( S ) \
|
|
113
|
+
)
|
|
114
|
+
VIPS_API
|
|
115
|
+
void vips_sbuf_ungetc( VipsSbuf *sbuf );
|
|
116
|
+
#define VIPS_SBUF_UNGETC( S ) { \
|
|
117
|
+
if( (S)->read_point > 0 ) \
|
|
118
|
+
(S)->read_point -= 1; \
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
VIPS_API
|
|
122
|
+
int vips_sbuf_require( VipsSbuf *sbuf, int require );
|
|
123
|
+
#define VIPS_SBUF_REQUIRE( S, R ) ( \
|
|
124
|
+
(S)->read_point + (R) <= (S)->chars_in_buffer ? \
|
|
125
|
+
0 : \
|
|
126
|
+
vips_sbuf_require( (S), (R) ) \
|
|
127
|
+
)
|
|
128
|
+
#define VIPS_SBUF_PEEK( S ) ((S)->input_buffer + (S)->read_point)
|
|
129
|
+
#define VIPS_SBUF_FETCH( S ) ((S)->input_buffer[(S)->read_point++])
|
|
130
|
+
|
|
131
|
+
VIPS_API
|
|
132
|
+
const char *vips_sbuf_get_line( VipsSbuf *sbuf );
|
|
133
|
+
VIPS_API
|
|
134
|
+
char *vips_sbuf_get_line_copy( VipsSbuf *sbuf );
|
|
135
|
+
VIPS_API
|
|
136
|
+
const char *vips_sbuf_get_non_whitespace( VipsSbuf *sbuf );
|
|
137
|
+
VIPS_API
|
|
138
|
+
int vips_sbuf_skip_whitespace( VipsSbuf *sbuf );
|
|
139
|
+
|
|
140
|
+
#ifdef __cplusplus
|
|
141
|
+
}
|
|
142
|
+
#endif /*__cplusplus*/
|
|
143
|
+
|
|
144
|
+
#endif /*VIPS_SBUF_H*/
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* Definitions for thread support.
|
|
2
|
+
*
|
|
3
|
+
* JC, 9/5/94
|
|
4
|
+
* 30/7/99 RP, JC
|
|
5
|
+
* - reworked for posix/solaris threads
|
|
6
|
+
* 28/9/99 JC
|
|
7
|
+
* - restructured, made part of public API
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/*
|
|
11
|
+
|
|
12
|
+
This file is part of VIPS.
|
|
13
|
+
|
|
14
|
+
VIPS is free software; you can redistribute it and/or modify
|
|
15
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
16
|
+
the Free Software Foundation; either version 2 of the License, or
|
|
17
|
+
(at your option) any later version.
|
|
18
|
+
|
|
19
|
+
This program is distributed in the hope that it will be useful,
|
|
20
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22
|
+
GNU Lesser General Public License for more details.
|
|
23
|
+
|
|
24
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
25
|
+
along with this program; if not, write to the Free Software
|
|
26
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
27
|
+
02110-1301 USA
|
|
28
|
+
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/*
|
|
32
|
+
|
|
33
|
+
These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
|
|
34
|
+
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
#ifndef VIPS_SEMAPHORE_H
|
|
38
|
+
#define VIPS_SEMAPHORE_H
|
|
39
|
+
|
|
40
|
+
#include <glib.h>
|
|
41
|
+
#include <vips/vips.h>
|
|
42
|
+
#include <vips/thread.h>
|
|
43
|
+
|
|
44
|
+
#ifdef __cplusplus
|
|
45
|
+
extern "C" {
|
|
46
|
+
#endif /*__cplusplus*/
|
|
47
|
+
|
|
48
|
+
/* Implement our own semaphores.
|
|
49
|
+
*/
|
|
50
|
+
typedef struct {
|
|
51
|
+
char *name;
|
|
52
|
+
int v;
|
|
53
|
+
|
|
54
|
+
GMutex *mutex;
|
|
55
|
+
GCond *cond;
|
|
56
|
+
} VipsSemaphore;
|
|
57
|
+
|
|
58
|
+
VIPS_API
|
|
59
|
+
int vips_semaphore_up( VipsSemaphore *s );
|
|
60
|
+
VIPS_API
|
|
61
|
+
int vips_semaphore_upn( VipsSemaphore *s, int n );
|
|
62
|
+
VIPS_API
|
|
63
|
+
int vips_semaphore_down( VipsSemaphore *s );
|
|
64
|
+
VIPS_API
|
|
65
|
+
int vips_semaphore_downn( VipsSemaphore *s, int n );
|
|
66
|
+
VIPS_API
|
|
67
|
+
int vips_semaphore_down_timeout( VipsSemaphore *s, gint64 timeout );
|
|
68
|
+
VIPS_API
|
|
69
|
+
void vips_semaphore_destroy( VipsSemaphore *s );
|
|
70
|
+
VIPS_API
|
|
71
|
+
void vips_semaphore_init( VipsSemaphore *s, int v, char *name );
|
|
72
|
+
|
|
73
|
+
#ifdef __cplusplus
|
|
74
|
+
}
|
|
75
|
+
#endif /*__cplusplus*/
|
|
76
|
+
|
|
77
|
+
#endif /*VIPS_SEMAPHORE_H*/
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* Private include file ... if we've been configured without gthread, we need
|
|
2
|
+
* to point the g_thread_*() and g_mutex_*() functions at our own stubs.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
|
|
7
|
+
This file is part of VIPS.
|
|
8
|
+
|
|
9
|
+
VIPS is free software; you can redistribute it and/or modify
|
|
10
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
11
|
+
the Free Software Foundation; either version 2 of the License, or
|
|
12
|
+
(at your option) any later version.
|
|
13
|
+
|
|
14
|
+
This program is distributed in the hope that it will be useful,
|
|
15
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
16
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
17
|
+
GNU Lesser General Public License for more details.
|
|
18
|
+
|
|
19
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
20
|
+
along with this program; if not, write to the Free Software
|
|
21
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
|
22
|
+
02110-1301 USA
|
|
23
|
+
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/*
|
|
27
|
+
|
|
28
|
+
These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk
|
|
29
|
+
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
#ifndef VIPS_THREAD_H
|
|
33
|
+
#define VIPS_THREAD_H
|
|
34
|
+
|
|
35
|
+
#ifdef __cplusplus
|
|
36
|
+
extern "C" {
|
|
37
|
+
#endif /*__cplusplus*/
|
|
38
|
+
|
|
39
|
+
/* We need wrappers over g_mutex_new(), it was replaced by g_mutex_init() in
|
|
40
|
+
* glib 2.32+
|
|
41
|
+
*/
|
|
42
|
+
VIPS_API
|
|
43
|
+
GMutex *vips_g_mutex_new( void );
|
|
44
|
+
VIPS_API
|
|
45
|
+
void vips_g_mutex_free( GMutex * );
|
|
46
|
+
|
|
47
|
+
/* Same for GCond.
|
|
48
|
+
*/
|
|
49
|
+
VIPS_API
|
|
50
|
+
GCond *vips_g_cond_new( void );
|
|
51
|
+
VIPS_API
|
|
52
|
+
void vips_g_cond_free( GCond * );
|
|
53
|
+
|
|
54
|
+
/* ... and for GThread.
|
|
55
|
+
*/
|
|
56
|
+
VIPS_API
|
|
57
|
+
GThread *vips_g_thread_new( const char *, GThreadFunc, gpointer );
|
|
58
|
+
|
|
59
|
+
VIPS_API
|
|
60
|
+
gboolean vips_thread_isvips( void );
|
|
61
|
+
|
|
62
|
+
typedef struct _VipsThreadset VipsThreadset;
|
|
63
|
+
VipsThreadset *vips_threadset_new( int max_threads );
|
|
64
|
+
int vips_threadset_run( VipsThreadset *set,
|
|
65
|
+
const char *domain, GFunc func, gpointer data );
|
|
66
|
+
void vips_threadset_free( VipsThreadset *set );
|
|
67
|
+
|
|
68
|
+
#ifdef __cplusplus
|
|
69
|
+
}
|
|
70
|
+
#endif /*__cplusplus*/
|
|
71
|
+
|
|
72
|
+
#endif /*VIPS_THREAD_H*/
|