Commit Graph

85 Commits

Author SHA1 Message Date
Lovell Fuller 3ca21ee2e8 Increase minimum glib-2.0 dependency to v2.15 (released March 2012) 2020-03-26 19:13:21 +00:00
John Cupitt d4f12a9999 move VipsGInputStream to public API
Since we will need it for pdfload as well.
2020-03-11 17:17:45 +00:00
John Cupitt 3847f71c54 rename bufis as well 2019-12-30 16:57:19 +00:00
John Cupitt 119dd2cb72 pytest passes again after stream -> source/target 2019-12-29 23:08:33 +00:00
John Cupitt 4c5873809f experiment with renaming stream
rename as VipsConnection, VipsSource, VipsTarget etc.

see https://github.com/libvips/libvips/issues/1494#issuecomment-569498619

renamed with this script:

```

set -e

edit() {
        sed -i -E "$1" rename
}

for i in $*; do
        cp $i rename

        edit s/VIPS_STREAMOU/VIPS_TARGET_CUSTOM/g
        edit s/VIPS_STREAMO/VIPS_TARGET/g
        edit s/VIPS_STREAMIU/VIPS_SOURCE_CUSTOM/g
        edit s/VIPS_STREAMI/VIPS_SOURCE/g
        edit s/VIPS_STREAM/VIPS_CONNECTION/g

        edit s/vips_streamou/vips_target_custom/g
        edit s/vips_streamo/vips_target/g
        edit s/vips_streamiu/vips_source_custom/g
        edit s/vips_streami/vips_source/g
        edit s/vips_stream/vips_connection/g

        edit s/VipsStreamou/VipsTargetCustom/g
        edit s/VipsStreamo/VipsTarget/g
        edit s/VipsStreamiu/VipsSourceCustom/g
        edit s/VipsStreami/VipsSource/g
        edit s/VipsStream/VipsConnection/g

        # eg. VIPS_TYPE_STREAM or VIPS_IS_STREAM
        edit "s/VIPS_([A-Z]+)_STREAMOU/VIPS_\1_TARGET_CUSTOM/g"
        edit "s/VIPS_([A-Z]+)_STREAMO/VIPS_\1_TARGET/g"
        edit "s/VIPS_([A-Z]+)_STREAMIU/VIPS_\1_SOURCE_CUSTOM/g"
        edit "s/VIPS_([A-Z]+)_STREAMI/VIPS_\1_SOURCE/g"
        edit "s/VIPS_([A-Z]+)_STREAM/VIPS_\1_CONNECTION/g"

        edit s/streamou/target_custom/g
        edit s/streamo/target/g
        edit s/streamiu/source_custom/g
        edit s/streami/source/g

        # various identifiers which also change
        edit s/is_a_stream/is_a_source/g
        edit s/find_load_stream/find_load_source/g
        edit s/find_save_stream/find_save_target/g
        edit s/new_from_stream/new_from_source/g
        edit s/write_to_stream/write_to_target/g
        edit s/vips_thumbnail_stream/vips_thumbnail_source/g

        # eg. vips_webpload_stream
        edit "s/vips_([a-z]+)load_stream/vips_\1load_source/g"

        # eg. vips_webpsave_stream
        edit "s/vips_([a-z]+)save_stream/vips_\1save_target/g"

        mv rename $i
done
```
2019-12-29 21:40:21 +00:00
John Cupitt 91b0703921 add VipsStreamou
An output stream subclass you can easily connect to other destinations.
2019-11-21 17:54:10 +00:00
John Cupitt 857aafc8c2 add VipsStreamiu
a streami subclass (u for user?) with actions signals you can connect to
to provide implementations of read and seek
2019-11-21 16:22:43 +00:00
John Cupitt 73dd7eebe5 move streamiw inside svgload
since that's the only place it is used
2019-11-18 15:07:37 +00:00
John Cupitt 09325600ee rename VipsStreamib as VipsBufis
The VipsStreamib (stream input buffered) was misleading -- it was
implemented on top of VipsStreami, but was not a subclass.

Rename as VipsBufis (buffered input stream). It's a silly name, but
easy to remember and reflects the purpose better,
2019-11-18 13:09:04 +00:00
Kleis Auke Wolthuizen 609fdb4fb6 WiP: Add svgload_stream
TODO: Should we `#ifdef HAVE_RSVG` the VipsStreamiw class?
2019-11-09 18:19:54 +01:00
John Cupitt 35d661c307 make streamib a wrapper rather than a subclass
makes integration with the rest of foreign simpler
2019-11-02 16:50:59 +00:00
John Cupitt d49e816641 start cleaning up 2019-10-21 10:57:20 +01:00
John Cupitt 4a311a5cdd Revert "start splitting up stream class"
This reverts commit 7756b8da71.
2019-10-18 18:00:23 +01:00
John Cupitt 7756b8da71 start splitting up stream class 2019-10-18 15:33:26 +01:00
John Cupitt 372bbc8020 paste stream.c back in
revise stream.h, implement it next
2019-10-08 17:52:30 +01:00
John Cupitt d7f9ad8b41 improve base64 encode
- better data source too large check
- could write up to three bytes too far in worst case
- remove dead base64.h
- add an assert for overflow

see https://github.com/libvips/libvips/issues/1263
2019-03-20 12:50:44 +00:00
Simon Harris 36076f8294 Adds VipsRegionShrink type 2018-03-28 07:35:49 +11:00
John Cupitt 653e99ea82 don't build enumtypes so often
we were only replacing enumtypes if it had changed, but this meant that
make usually thought it was out of date compared to the source files,
and rebuilt it, which needed perl

now we always replace it, so (hopefully) perl is no longer a
compile-time dependency
2017-08-30 14:37:48 +01:00
John Cupitt e1b9c789cb add dbuf object
dynamically expanding buffer

also, escape "<>& appropriately when we write xml
2017-02-26 17:37:46 +00:00
John Cupitt 3d216da8c9 rename recomp as reorder 2017-01-12 09:15:10 +00:00
John Cupitt d1ef5a6890 compiles, needs more testing 2017-01-11 14:05:50 +00:00
John Cupitt c31f4ec2d7 add VIPS_SONAME etc.
helps check ABI and php-vips-ext lock the right library
2016-12-31 17:58:33 +00:00
John Cupitt a26291a426 reducehl3 is done
sort of anyway, tinkering with optimization
2016-03-09 22:47:02 +00:00
John Cupitt 6e2135d8b5 mask builders take prec, not integer
vips_gaussmat() and vips_logmat() used to default to float, but
vips_conv() defaulted to int ... so this failed:

	vips gaussmat m.v 2 0.1 --separable
	vips convsep k2.jpg x.jpg m.v

since we were using a small float mask with an integer convolution

This change makes everything int by default, with gaussmat having a new
param called --precision whose arg can be int or float.

The old @integer param is deprecated.
2014-12-16 20:48:11 +00:00
John Cupitt 6f8b5c6745 bring the rest of the API into python 2014-09-05 23:18:16 +01:00
John Cupitt a17ef9b7c8 vips_system() allows many input images
you can change the image argument order too, with %Ns

added postbuild signal
2014-04-09 11:42:03 +01:00
John Cupitt 9b13188fc1 add "mode" to vips_draw_image() 2014-03-28 13:55:56 +00:00
John Cupitt 693ed09edd add --vips-profile
only added a few gates so far, try a visualiser next
2013-11-18 18:31:49 +00:00
John Cupitt 5475cabbf2 redo im_dilate()/erode() as classes
just a thin wrapper over the vips7 operations for now
2013-10-23 13:15:31 +01:00
John Cupitt 45a9e417f4 start vips_conv() 2013-10-01 14:26:13 +01:00
John Cupitt b405047132 im_system*() -> a class
vips_system() is a bit more flexible too
2013-06-04 13:25:38 +01:00
John Cupitt 90709538e6 update configure system 2013-01-23 10:17:51 +00:00
John Cupitt e793d38aa7 new icc transformer compiles 2012-09-25 22:06:24 +01:00
John Cupitt 643dc28950 turn on seq mode automatically in cli
cli operations turn on seq mode automatically when they can

vips_operation_get_flags() added: lets you attach a set of flags to an
operation

flags for now are "nocache" (replacing the old nocache system) and "seqential"

if vips_object_set_argument_from_string() from string sees "seq" flag on the
object for which it is setting the arg, it enables sequential mode

all operations which can run sequentially have been tagged

the operation printer knows about flags and can display them
2012-07-10 10:51:40 +01:00
John Cupitt 15c5f330c4 small compiler fixes 2012-03-07 12:25:14 +00:00
John Cupitt 3dcd3729a0 fix interlaced png read
also remove old sinkmemory
2012-02-17 17:59:09 +00:00
John Cupitt fcf052ab09 new sinkmemory works, more png fixing 2012-02-17 17:12:51 +00:00
John Cupitt 56fb2126b8 rename VipsFile as VipsForeign 2011-11-29 11:43:08 +00:00
John Cupitt 2c641c6644 sync 2011-11-24 14:53:30 +00:00
John Cupitt 020073606f add classes for all the math functions 2011-11-04 17:55:06 +00:00
John Cupitt 550b914fa6 remove vipspool
vips_object_local_array() is much better ... get embed using this as
well
2011-11-01 14:45:56 +00:00
John Cupitt c1f1957e88 break out libvip gtypes
all libvips gtype definitions broken out and renamed for consistency
2011-10-28 10:28:31 +01:00
John Cupitt 8dfb3056ac added VipsEmbed
added VipsEmbed class, new macros for arg boilerplate, new priority
thing for arg ordering
2011-10-16 14:48:47 +01:00
John Cupitt 53b3018f41 add vipsobject cache
added the cache ... compiles, but not yet in use
2011-09-06 16:41:37 +01:00
John Cupitt eda7a9d9d7 fixes to get win32 building 2011-07-26 16:40:26 +01:00
John Cupitt 971615d6ae back to fixed refs, add a pool system instead
floating refs were very confusing and annoying, instead use simple fixed
refs and add a pool system to track refs for you

also fixed a couple of dumb errors in close callbacks
2011-06-02 12:23:56 +01:00
John Cupitt db41b6ac4e add VipsOperation
abstract base class for all operations goes in
2011-03-29 12:12:20 +01:00
John Cupitt c7b74f620f yet more cleanups
just util.c left now, woo
2011-03-28 14:57:43 +01:00
John Cupitt b13872f111 clean up sink
common up some stuff in the sinks
2011-03-28 14:08:42 +01:00
John Cupitt 6bca2616bc move vips7compat to deprecated
makes sense, really
2011-03-28 10:44:07 +01:00