John Cupitt
5569022dbd
use G_GNUC_* attribute system
...
Instead of our own compiler attr thing.
see https://github.com/libvips/libvips/issues/2871
2022-09-23 14:37:35 +01:00
Kleis Auke Wolthuizen
07edfe37b1
Improve symbol visibility ( #2688 )
...
* Improve symbol visibility
* Decorate required internal symbols with VIPS_API
* Remove a couple of stray header decls
* Incorporate review comment
- Ensure symbol visibility is also set on static libraries.
- Prefer to use `cc.has_function_attribute('visibility:hidden')`.
* Don't export internal deprecated symbols
* Move deprecated symbols to vips7compat.h
* `IM_FORMAT_H` -> `VIPS_FORMAT_H`
* Move `vips_window_ref` compat stub to `vips7compat.c`
* Disable deprecation warnings internally
* `vips_image_get_kill` -> `vips_image_iskilled`
* Ensure API compatibility
* Add missing include directives
* Move `vips__init` decl to vips7compat
* Move `vips__get_sizeof_vipsobject` to vips7compat
* Fix introspection build
* Fix 2 introspection warnings
* Ensure compatibility with vipsdisp
/usr/bin/ld: tilesource.o: in function `tile_source_new_from_source':
vipsdisp/tilesource.c:1627: undefined reference to `vips__region_no_ownership'
2022-04-16 10:58:55 +01:00
Kleis Auke Wolthuizen
330ebf3cd7
Mosaicing fixes and improvements ( #2705 )
...
* Fix segv in `vips_mosaic1`
* Fix ref handling in `rotjoin_search`
* Pass `oarea` to `vips_affine` as `VipsArrayInt` instead
* Flip X/Y positions in `vips__coeff`
* Fix `-Wunused-but-set-variable` warning
* Deprecate unused mosaicing arguments
* Remove a couple of stray header decls
2022-03-03 20:10:20 +00:00
Kleis Auke Wolthuizen
a0f9cd95e0
Ensure compatibility with nip2 ( #2704 )
...
nip2 uses the `VIPS_EXEEXT` definition.
2022-03-03 18:51:33 +00:00
Kleis Auke Wolthuizen
f11b58ff6c
Remove `VIPS_EXEEXT` and `VIPS_SONAME` definitions ( #2694 )
...
And the corresponding `soname.h` header.
2022-02-27 15:27:37 +00:00
Kleis Auke Wolthuizen
1044dd46eb
Move vips__ink_to_vector and im__vector_to_ink to compat ( #2488 )
...
It was only used by getpoint in vips8, which is simpler to inline.
2021-10-20 13:00:01 +01:00
Kleis Auke Wolthuizen
4c263a36e9
Don't run sinkscreen thread in threadpool
...
Since threads on Windows can be terminated prior to the execution
of the atexit registered functions (i.e. vips_shutdown), causing
a surprising deadlock. This thread is never recycled, so it should
be fine.
Reverts commit d1b4d12388
partially.
2021-06-07 14:39:47 +02:00
Kleis Auke Wolthuizen
d1b4d12388
Move sink_disc and sink_screen threads to threadpool
...
And deprecate the vips_g_thread_new and vips_g_thread_join
functions.
2021-05-03 13:21:45 +02:00
John Cupitt
58b6d73a70
deprecate vips_popen()
...
it didn't work well on win, and we no longer use it anyway
2020-07-27 15:21:59 +01:00
Kleis Auke Wolthuizen
9226303b1c
Add missing vips7 compat wrappers
...
For im_{lr,tb}mosaic and im_correl.
2020-07-13 15:38:09 +02:00
John Cupitt
0803de07e7
move vips__lr|tbmerge to private API
2020-07-01 17:31:25 +01:00
Kleis Auke Wolthuizen
c3da8ee583
Convert the mosaicing directory to vips8
2020-06-18 14:36:46 +02:00
John Cupitt
b085908558
remove vips7 stuff from API
...
You must now include vips7 support explicitly with
#include <vips/vips7compat.h>
in your code just after including `vips.h`.
The old vips7 names, such as `Rect`, were starting to cause problems
with other packages like opencv.
2018-05-16 15:08:21 +01:00
John Cupitt
24c07cfde2
revert an accidental ABI break
...
the new window manager code in 8.6.1 changed the prototype of an internal
function which was visible in the public API
this patch renames the function, adds it to an internal header instead,
and adds a stub for the old prototype
see https://github.com/jcupitt/libvips/issues/854
2018-01-12 11:56:17 +00:00
John Cupitt
77287a938f
fix misspelling of IPTC as IPCT
...
the letters have been accidentally swapped for years
add a compat macro so older code still works
2017-12-31 10:23:27 +00:00
John Cupitt
1615cb41e1
remove old compat macro
...
thanks benjamin!
2017-06-13 07:31:14 +01:00
Lovell Fuller
0cac224431
Replace use of "Duff's device" with for-loop to allow compiler to optimise.
...
Reduces CPU instruction count of conv_gen function by ~30%.
Improves performance of convolution operation by 20-25%.
2016-01-25 21:17:41 +00:00
John Cupitt
dbdcf91171
remove some stray decls
...
see https://github.com/jcupitt/libvips/issues/288
version bump as well
2015-05-04 19:41:08 +01:00
John Cupitt
7495690cd6
remove vips__image_sizeof_bandformat
...
we had main API macros which used an array behind the scenes,
vips__image_sizeof_bandformat[]. Swap this for a function,
vips_format_sizeof(), to help DLLs.
the array symbol is still there for compatibility
2015-04-20 14:18:17 +01:00
John Cupitt
29d073c04c
now compiles cleanly with -Wstrict-prototypes
...
some downstream packages were seeing lots of spurious warnings
2015-01-21 09:02:56 +00:00
John Cupitt
dda412c85f
add command-line option parsing to python
2014-11-18 11:29:32 +00:00
John Cupitt
394149e9e8
fix all docs warnings
2014-11-17 10:32:40 +00:00
John Cupitt
ca2ae681cd
add --with-gmic configure option
2014-10-07 14:54:53 +01:00
John Cupitt
6f8b5c6745
bring the rest of the API into python
2014-09-05 23:18:16 +01:00
John Cupitt
92570b119c
python new_from_memory()/write_to_memory() done
2014-09-05 12:54:07 +01:00
John Cupitt
f8f288c1a6
vips_init() comes back
...
we need a public function for bindings
2014-08-29 13:51:03 +01:00
John Cupitt
a70da5b2d9
Merge remote-tracking branch 'origin/7.40'
2014-08-18 17:41:17 +01:00
John Cupitt
1abcc1eae4
rename vips_init() as VIPS_INIT()
...
stops a deprecation warning from gtk-doc
vips_init() is now a compat macro
2014-08-18 15:27:10 +01:00
John Cupitt
32a8fe117e
start working on --disable-deprecated
...
need to move im_conv() etc to classes to finish this
2014-07-25 18:06:52 +01:00
John Cupitt
cdecee2705
more vips7 compat fixes
...
thanks steve
2014-07-16 09:40:26 +01:00
John Cupitt
df289f1bea
better im_openout() compat
2014-07-15 22:00:45 +01:00
John Cupitt
170efb1452
redo im_*merge1() as classes
2014-05-28 18:15:20 +01:00
John Cupitt
adfda3cf14
redo im_*mosaic1() as classes
2014-05-28 15:15:06 +01:00
John Cupitt
b8886fc209
wrap im_remosaic() as a class
2014-05-27 15:18:19 +01:00
John Cupitt
781a7d4dc9
wrap im_global_balance*() as a class
2014-05-26 15:02:15 +01:00
John Cupitt
246525e649
more hackery
2014-05-26 11:24:46 +01:00
John Cupitt
be6503e47a
definition oops
2014-05-18 11:19:09 +01:00
John Cupitt
22d525d54f
export a better cache operator for nip2
2014-05-10 14:00:01 +01:00
John Cupitt
1a3c62851e
move some junk to deprecated/
2014-05-06 22:01:20 +01:00
John Cupitt
025e56c894
im_label_regions() is a class
2014-02-11 14:55:31 +00:00
John Cupitt
f4e970fb72
im_draw_smudge() done
2014-02-11 13:28:13 +00:00
John Cupitt
25fbe71c74
do im_read_point() / im_draw_point()
2014-02-10 21:54:54 +00:00
John Cupitt
33551fbf4c
im_draw_rect() is a class
2014-02-10 11:07:00 +00:00
John Cupitt
495a6c7af1
im_draw_image() is a class
2014-02-09 19:38:53 +00:00
John Cupitt
da6de1f10e
im_draw_mask() is now a class
2014-02-07 17:15:21 +00:00
John Cupitt
95a9c52138
start line draw
...
line is working, doing a line_mask subclass
2014-02-06 14:46:45 +00:00
John Cupitt
de0448b53d
undeprecate VIPS_MASK_*
...
ruby-vips was using them, thanks ahacking
2014-02-04 09:11:43 +00:00
John Cupitt
5983833caa
deprecate im_zerox(), not very useful
...
morph now done
2014-01-17 18:03:46 +00:00
John Cupitt
cd7fcf5cfe
redo im_rank() as a class
2014-01-17 14:44:25 +00:00
John Cupitt
cb96ed814e
redo im_cntlines() as a class
2014-01-17 11:18:05 +00:00