more docs stuff
This commit is contained in:
parent
2b086cfe6e
commit
78a50f6ec5
@ -17,7 +17,7 @@
|
||||
<refsect1 id="binding-goi">
|
||||
<title>Binding and gobject-introspection</title>
|
||||
<para>
|
||||
Stuff about goi.
|
||||
Write this section once the vips8 Python binding is done.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
@ -17,8 +17,22 @@
|
||||
<refsect1 id="extending-subclassing">
|
||||
<title>Adding operations to VIPS</title>
|
||||
<para>
|
||||
all about subclassing.
|
||||
All about subclassing. Copy-paste from the blog post about extending
|
||||
vips8.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
If you are writing a language binding, you won't need these. Instead, make
|
||||
a new operation with vips_operation_new() (all it does is look up the
|
||||
operation by name with vips_type_find(), then call g_object_new() for you),
|
||||
then use vips_argument_map() and friends to loop over the operation's
|
||||
arguments setting them. Once you have set all arguments, use
|
||||
vips_cache_operation_build() to look up the operation in the cache and
|
||||
either build or dup it. If something goes wrong, you'll need to use
|
||||
vips_object_unref_outputs() and g_object_unref() to free the
|
||||
partially-built object.
|
||||
</para>
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
@ -131,16 +131,13 @@
|
||||
* 3. #VipsObject::postclose. This runs right at the end. The object
|
||||
* pointer is still valid, but nothing else is.
|
||||
*
|
||||
* ## The #VipsOperation cache
|
||||
* ## #VipsArgument
|
||||
*
|
||||
* Because all #VipsObject are immutable, they can be cached. The cache is
|
||||
* very simple to use: instead of calling vips_object_build(), instead call
|
||||
* vips_cache_operation_build(). This function calculates a hash from the
|
||||
* operations's input arguments and looks it up in table of all recent
|
||||
* operations. If there's a hit, the new operation is unreffed, the old
|
||||
* operation reffed, and the old operation returned in place of the new one.
|
||||
* libvips has a simple mechanism for automating at least some aspects of
|
||||
* %GObject properties. You add a set of macros to your _class_init() which
|
||||
* describe the arguments, and set the get and set functions to the vips ones.
|
||||
*
|
||||
* The cache size is controlled with vips_cache_set_max() and friends.
|
||||
* See <link linkend="extending">extending</link> for a complete example.
|
||||
*
|
||||
* ## The #VipsObject reference counting convention
|
||||
*
|
||||
|
@ -60,8 +60,7 @@
|
||||
* on #VipsObject to provide the introspection and command-line interface to
|
||||
* libvips.
|
||||
*
|
||||
* It also maintains a cache of recent operations. You can tune the cache
|
||||
* behaviour in various ways, see vips_cache_set_max() and friends.
|
||||
* It also maintains a cache of recent operations. See below.
|
||||
*
|
||||
* vips_call(), vips_call_split() and vips_call_split_option_string() are used
|
||||
* by vips to implement the C API. They can execute any #VipsOperation,
|
||||
@ -86,18 +85,6 @@
|
||||
* }
|
||||
* ]|
|
||||
*
|
||||
* If you are writing a language binding, you won't need these. Instead, make
|
||||
* a new operation with vips_operation_new() (all it does is look up the
|
||||
* operation by name with vips_type_find(), then call g_object_new() for you),
|
||||
* then use vips_argument_map() and friends to loop over the operation's
|
||||
* arguments setting them. Once you have set all arguments, use
|
||||
* vips_cache_operation_build() to look up the operation in the cache and
|
||||
* either build or dup it. If something goes wrong, you'll need to use
|
||||
* vips_object_unref_outputs() and g_object_unref() to free the
|
||||
* partially-built object. See
|
||||
* <link linkend="binding">binding</link> for an introduction to libvips
|
||||
* introspection.
|
||||
*
|
||||
* Use vips_call_argv() to run any vips operation from a command-line style
|
||||
* argc/argv array. This is the thing used by the vips main program to
|
||||
* implement the vips command-line interface.
|
||||
@ -157,6 +144,16 @@
|
||||
* (or #VipsImage, in this case) where when @parent is freed, all non-NULL
|
||||
* #VipsObject in the array are also unreffed.
|
||||
*
|
||||
* ## The #VipsOperation cache
|
||||
*
|
||||
* Because all #VipsObject are immutable, they can be cached. The cache is
|
||||
* very simple to use: instead of calling vips_object_build(), instead call
|
||||
* vips_cache_operation_build(). This function calculates a hash from the
|
||||
* operations's input arguments and looks it up in table of all recent
|
||||
* operations. If there's a hit, the new operation is unreffed, the old
|
||||
* operation reffed, and the old operation returned in place of the new one.
|
||||
*
|
||||
* The cache size is controlled with vips_cache_set_max() and friends.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user