diff options
author | Øyvind Kolås <ok@src.gnome.org> | 2008-04-16 09:44:54 +0000 |
---|---|---|
committer | Øyvind Kolås <ok@src.gnome.org> | 2008-04-16 09:44:54 +0000 |
commit | ef31ac21b17bafd4be50283473ff0df6485729a9 (patch) | |
tree | a1348c0e482ee15bc81fc8e27d34fcc9e12e90c6 /babl/babl-image.h | |
parent | d475a81961694bf19da2094d4a480bfe52dc2c43 (diff) |
split up into ... Separate header files.
* babl/babl.h: split up into ...
Separate header files.
* babl/babl-component.h:
* babl/babl-conversion.h:
* babl/babl-extension.h:
* babl/babl-fish.h:
* babl/babl-format.h:
* babl/babl-image.h:
* babl/babl-model.h:
* babl/babl-sampling.h:
* babl/babl-type.h:
* babl/Makefile.am: install new headers.
svn path=/trunk/; revision=309
Diffstat (limited to 'babl/babl-image.h')
-rw-r--r-- | babl/babl-image.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/babl/babl-image.h b/babl/babl-image.h new file mode 100644 index 0000000..353144e --- /dev/null +++ b/babl/babl-image.h @@ -0,0 +1,61 @@ +/* babl - dynamically extendable universal pixel conversion library. + * Copyright (C) 2005-2008, Øyvind Kolås and others. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see + * <http://www.gnu.org/licenses/>. + */ + +#ifndef _BABL_H +#error this file is only to be included by babl.h +#endif + +/****************************************************************/ +/* BablImage */ +BABL_CLASS (image); +/* + * Babl images can be used for planar buffers instead of linear buffers for + * babl_process(), BablImages are still experimental, for now BablImages can be + * passed to babl_process, two different babl_process() functions will be + * needed for this since the polymorphism cannot be trusted to work on linear + * buffers that originate outside babl's control. + * + * Babl * babl_image (BablComponent *component1, + * void *data, + * int pitch, + * int stride, + * [BablComponent *component1, + * void *data, + * int pitch, + * int stride, + * ...] + * NULL); + */ +Babl * babl_image (void *first_component, + ...) BABL_ARG_NULL_TERMINATED; +Babl *babl_image_id (int id); +void babl_image_each (BablEachFunction each_fun, + void *user_data); +typedef struct +{ + BablInstance instance; + BablFormat *format; /*< (if known) */ + BablModel *model; /*< (always known) */ + int components; + BablComponent **component; + BablType **type; + BablSampling **sampling; + char **data; + int *pitch; + int *stride; +} BablImage; |