summaryrefslogtreecommitdiff
path: root/babl/babl-image.h
diff options
context:
space:
mode:
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
commitef31ac21b17bafd4be50283473ff0df6485729a9 (patch)
treea1348c0e482ee15bc81fc8e27d34fcc9e12e90c6 /babl/babl-image.h
parentd475a81961694bf19da2094d4a480bfe52dc2c43 (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.h61
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;