Commit Graph

184 Commits

Author SHA1 Message Date
John Cupitt 0e3cac1a72 make cpp overloads const
all overloads are declared const now, where possible

also revised cpp examples and ran them to check

see https://github.com/jcupitt/libvips/issues/983
2018-06-11 15:24:11 +01:00
John Cupitt ca6410e1a6 make members and getters "const" in cpp api
eg. VImage::width() is now

	int VImage::width() const;

ie. it does not alter the image objects. In factr we can mark almost all
members const.

see https://github.com/jcupitt/libvips/issues/983
2018-06-11 14:30:17 +01:00
Lovell Fuller cea15b2d8f Prevent compiler warning with size_t to int cast 2018-02-03 18:05:07 +00:00
John Cupitt 10eef89a7f update c++ bindings 2017-11-26 17:45:04 +00:00
John Cupitt e179e3b11f premultiply alpha (if necessary) in affine 2017-11-18 10:59:20 +00:00
John Cupitt e52d2c9f7f add composite shortcut to cpp
two composite just two images
2017-10-06 16:56:20 +01:00
John Cupitt f0aeed1c64 regenerate cpp binding for new methods 2017-10-06 16:39:52 +01:00
John Cupitt d601c5ee19 remmove extra null check
see https://github.com/jcupitt/libvips/issues/761
2017-10-01 19:08:51 +01:00
Lovell Fuller 8bd2208e5e cplusplus: offset coords are int rather than double 2017-09-14 10:25:15 +01:00
John Cupitt 1504fb0249 use bandjoin_const from cpp 2017-04-29 10:17:38 +01:00
John Cupitt 7882602dfe C/C++ done
python next
2017-04-26 14:52:28 +01:00
John Cupitt fd6006bacb Merge branch 'master' into add-smartcrop 2017-03-13 20:41:22 +00:00
John Cupitt 8062a4b1e6 update cpp API for arg order changes
hopefully user code won't see this
2017-03-13 13:28:37 +00:00
John Cupitt d40773515c add smartcrop 2017-03-01 15:41:26 +00:00
John Cupitt b140c18a37 various tweaks to calm coverity
passes cleanly now
2017-01-20 08:55:13 +00:00
John Cupitt 2be0b97dce switch to g_warning()_/g_info()
we had vips_warn() and vips_info(), but they are a bit crappy ... switch
to g_warning() and g_info() instead

see https://github.com/jcupitt/libvips/issues/544
2017-01-03 15:52:27 +00:00
John Cupitt 7d0c821a6e add tests for thumbnail 2016-11-02 13:51:09 +00:00
Lovell Fuller e1aef0445b MSVC requires __declspec first for return by reference
Ensure consistent modifier order across all exported functions
Move assignment operators to be "outside" definitions to aid export
2016-10-15 22:02:24 +01:00
John Cupitt 8503065faa regen cpp binding
need to update for the xshrink -> hshrink change
2016-08-18 16:03:33 +01:00
John Cupitt 0c7053bae1 Merge branch 'master' of github.com:jcupitt/libvips 2016-08-04 12:38:04 +01:00
John Cupitt ad046680f7 tiny polish to cpp 2016-08-04 12:37:48 +01:00
John Cupitt d78f87702d missing unref in cpp binding
operation was not unreffed if build failed
2016-07-29 15:09:53 +01:00
John Cupitt bd9cc25278 tiny 2016-07-29 10:16:33 +01:00
John Cupitt 2dc43198e4 final fixups 2016-07-24 14:47:22 +01:00
John Cupitt eb7768ff61 Merge branch 'master' into add-assignment-overloads 2016-06-11 20:15:42 +01:00
John Cupitt 83b1c33441 add tests for C++ += etc
all seems to work!
2016-06-11 20:14:48 +01:00
John Cupitt 28efdf1695 working! 2016-06-11 17:36:06 +01:00
John Cupitt 8667dd0d18 VImage::ifthenelse() fix
the prototype was missing =0 on options for scalar constant forms
2016-06-10 17:34:41 +01:00
John Cupitt 93951fd04a start adding 2016-06-10 14:57:46 +01:00
John Cupitt ad56c57830 add implementation for VImage::write()
oops, it was missing

also, change the return type from void to VImage. This makes chaining
possible, eg.:

   VImage memory = im.write( Viameg::new_memory() );
2016-06-10 14:22:08 +01:00
Henri Chain 5678f93257 Add buffer-write support for Radiance 2016-05-23 16:37:28 +02:00
John Cupitt d1e7b78bbd Merge branch 'master' of github.com:jcupitt/libvips 2016-04-17 10:24:18 +01:00
John Cupitt 567ea0c1c2 comment reformat 2016-04-17 10:22:20 +01:00
Lovell Fuller baa175c4c0 Allow MSVC to link CPP overloads introduced in da43a40 2016-04-15 22:16:29 +01:00
John Cupitt da43a4041f move cpp overloads outside class
so they are true functions and we can take their address

see https://github.com/jcupitt/libvips/issues/409
2016-03-25 06:09:07 +00:00
John Cupitt c2be771342 fix load from buffer, update APIs 2016-02-12 20:04:46 +00:00
John Cupitt 153886d2eb add svgload
load from bubffer is not working though, strange ... it seems to be
generating a 16-biit image?
2016-02-09 11:01:12 +00:00
John Cupitt 9f566fa4a9 update cplusplus binding 2016-02-08 20:26:22 +00:00
John Cupitt 8cffd136e9 finish reduce
and fix up bicubic a bit, it works better on int32 images now
2016-02-07 17:41:39 +00:00
Lovell Fuller 20ae80397d Enable compilation of vips8 C++ bindings with MSVC
Add VIPS_CPLUSPLUS_API macro to allow DLL creation
2016-01-11 17:56:02 +00:00
John Cupitt 50db131865 VImage::get_typeof() returns GType
it was int, causing some compiler warnings on some platforms.

see https://github.com/jcupitt/libvips/issues/362
2016-01-09 20:27:14 +00:00
John Cupitt bf64fde872 regen C++ interface 2016-01-09 15:08:17 +00:00
John Cupitt 66373e9b41 remove exception specs from vips8 C++ interface
We had exception specs on the C++ interface, but C++11 does not support
them and some compilers have never honoured them. Remove all specs.
Thanks Lovell.

See https://github.com/jcupitt/libvips/issues/362
2016-01-09 14:52:05 +00:00
John Cupitt ca51b46e9a docs, c++, all done 2015-11-07 20:54:00 +00:00
John Cupitt 2b2bf30fbd oops, update cpp binding 2015-10-06 22:45:37 +01:00
John Cupitt 01025328da fix some cppcheck warnings
try:

$ cppcheck -f --enable=warning,performance,portability -j4 . 2> err.txt

there are still some left, see:

see https://github.com/jcupitt/libvips/issues/331
2015-09-28 22:01:15 +01:00
John Cupitt f38c3956af better test of C++ API 2015-05-05 09:10:08 +01:00
John Cupitt db4ee8d6b6 fix a ref leak in the C++ API
see https://github.com/jcupitt/libvips/issues/290

thanks huskier

added a write-to-buffer example as well
2015-05-04 19:44:56 +01:00
John Cupitt ad017dc56f add more C++ convenience functions
flipver() etc.
2015-04-24 10:10:44 +01:00
John Cupitt ded01df512 c++: add [], change ()
() used to return element zero, just return a vector

add [] overload
2015-03-01 10:43:02 +00:00
John Cupitt 367819b5cc oops 2015-02-28 22:56:09 +00:00
John Cupitt 5d912fdbbb add [] overload to python
index and slice image bands
2015-02-28 16:53:06 +00:00
Maurus Cuelenaere dba1b1d81b Add ImageMagick buffer support
This commits adds buffer support for the ImageMagick backend, using the Blob
API.
2015-02-15 21:45:17 +01:00
John Cupitt ce557ba6de add VInterpolate wrapper class
to cplusplus, see https://github.com/jcupitt/libvips/issues/230
2015-01-30 21:19:58 +00:00
John Cupitt 6f101ae86b remove VImage::scale()
it clashed with the VipsScale operator, see

https://github.com/jcupitt/libvips/pull/213
2015-01-06 12:00:11 +00:00
John Cupitt 6440830315 required C++ output params were broken
see https://github.com/jcupitt/libvips/pull/213

this now works:

        VImage rows;
	VImage cols = in.profile( &rows );
2015-01-06 11:51:53 +00:00
John Cupitt 32625146db cpp can set enums from strings
eg.

	set("extend", "copy")->
2014-12-30 11:27:04 +00:00
John Cupitt ba6f8044af final doc fixups
and update cplusplus binding
2014-12-18 17:20:59 +00:00
John Cupitt c120edde0d get make dist going 2014-11-18 14:52:52 +00:00
John Cupitt 71c5069b42 revise cplusplus gen scripts 2014-11-16 12:19:04 +00:00
John Cupitt 7ae35c3edb start pydocs again 2014-11-05 14:56:59 +00:00
John Cupitt 8267dd2621 naming improvements
and test_overloads.cpp has started working
2014-11-05 14:04:46 +00:00
John Cupitt bbf49be063 cleanup and bump to 7.42 2014-11-03 12:01:53 +00:00
John Cupitt ca6eb088f3 add () overload for read pixel 2014-10-31 20:24:40 +00:00
John Cupitt 5694bf6f4c add all new() and write() methods
VImage::new_from_buffer() etc.
2014-10-31 19:15:29 +00:00
John Cupitt 2a992375fe add more type conversions
so we automatically do int and double -> doublevec and intvec
2014-10-31 18:11:26 +00:00
John Cupitt 35bcd4eaa0 reformat 2014-10-30 22:11:43 +00:00
John Cupitt d6a6d7ae71 set of overloads for new cpp API
all the usual ones .. compiles, but untested
2014-10-30 21:53:24 +00:00
John Cupitt 4173ddfa9c add make constant image 2014-10-29 12:39:25 +00:00
John Cupitt d012cef3b4 add some simple extras
.bandjoin(), .bandsplit(), .sin() etc etc
2014-10-29 09:47:02 +00:00
John Cupitt cabb4488be full cpp wrapper compiles 2014-10-28 10:12:06 +00:00
John Cupitt 63d4370043 split to a separate branch 2014-10-27 18:17:49 +00:00
John Cupitt 070a437f61 cleanups ready for proto gen 2014-10-27 14:17:33 +00:00
John Cupitt b5cd4ac144 oops 2014-10-27 13:49:09 +00:00
John Cupitt 4f588ce908 package up new vips8 C++ API 2014-10-27 13:41:44 +00:00
John Cupitt 266e120676 new C++ interface works!
phew
2014-10-27 12:57:28 +00:00
John Cupitt b1609e8006 cplusplus sort-of working
refs need fixing up
2014-10-27 08:44:10 +00:00
John Cupitt 66445c359d more cpp tinkering 2014-10-24 14:57:01 +01:00
John Cupitt ceb143a22a another stab at a C++ API design 2014-10-24 10:32:50 +01:00
John Cupitt 73cb17e925 more experimentation 2014-10-22 14:58:53 +01:00
John Cupitt 952241a426 more cplusplus hackery 2014-10-21 14:55:38 +01:00
John Cupitt 904803510d box/unbox hooks in C API
should help us pass C++ objects as args
2014-10-21 09:27:34 +01:00
John Cupitt f2898a8e3b more C++ hacking 2014-10-20 14:54:03 +01:00
John Cupitt 022150ceea start vips8++ 2014-10-20 11:50:34 +01:00