Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
imageio_module.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2010-2011 Henrik Andersson.
4 Copyright (C) 2010-2011 johannes hanika.
5 Copyright (C) 2012, 2014, 2020-2021 Pascal Obry.
6 Copyright (C) 2012 Richard Wonka.
7 Copyright (C) 2012 Simon Spannagel.
8 Copyright (C) 2012, 2014-2017, 2019-2020 Tobias Ellinghaus.
9 Copyright (C) 2013-2015 Jérémy Rosen.
10 Copyright (C) 2013 Ulrich Pegelow.
11 Copyright (C) 2016 Roman Lebedev.
12 Copyright (C) 2017 luzpaz.
13 Copyright (C) 2019 Denis Dyakov.
14 Copyright (C) 2019 Edgardo Hoszowski.
15 Copyright (C) 2019 Philippe Weyland.
16 Copyright (C) 2020 a.
17 Copyright (C) 2020 Andreas Schneider.
18 Copyright (C) 2021 Bill Ferguson.
19 Copyright (C) 2021 Diederik Ter Rahe.
20 Copyright (C) 2022 Martin Bařinka.
21 Copyright (C) 2025 Alynx Zhou.
22 Copyright (C) 2025 Aurélien PIERRE.
23
24 darktable is free software: you can redistribute it and/or modify
25 it under the terms of the GNU General Public License as published by
26 the Free Software Foundation, either version 3 of the License, or
27 (at your option) any later version.
28
29 darktable is distributed in the hope that it will be useful,
30 but WITHOUT ANY WARRANTY; without even the implied warranty of
31 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32 GNU General Public License for more details.
33
34 You should have received a copy of the GNU General Public License
35 along with darktable. If not, see <http://www.gnu.org/licenses/>.
36*/
37
38#pragma once
39
40#include "common/colorspaces.h"
41#include "common/darktable.h"
43#include <gmodule.h>
44#include <gtk/gtk.h>
45#include <inttypes.h>
46
47#ifdef __cplusplus
48extern "C" {
49#endif
50
58
67/*
68 * custom data for the module. append private stuff after these.
69 * this will be inited once when the export button is hit, so the user can make
70 * gui adjustments that won't affect the currently running export.
71 */
78
81/* responsible for image encoding, such as jpg,png,etc */
83{
84#define INCLUDE_API_FROM_MODULE_H
86
87 // office use only:
88 char plugin_name[128];
89 GModule *module;
90
91 // gui stuff:
93
94 // data for you to initialize
95 void *gui_data;
96
97 gboolean ready;
99
100
101/* responsible for image storage, such as flickr, harddisk, etc */
103{
104#define INCLUDE_API_FROM_MODULE_H
106
107 // office use only:
108 char plugin_name[128];
109 GModule *module;
110
111 // gui stuff:
113
114 // data for you to initialize
115 void *gui_data;
116
118
119
120/* main struct */
126
127/* load all modules */
129/* cleanup */
131
132/* get selected imageio plugin for export */
134
135/* get selected imageio plugin for export */
137
138/* get by name. */
141
142/* get by index */
147
148/* add a module into the known module list */
150/* remove a module from the known module list */
152
153// This function returns value of string which stored in the
154// "plugins/lighttable/export/resizing_factor" parameter of the configuration file
155// and its "num" and "denum" fraction's elements to calculate the scaling factor
156// and improve the readability of the displayed string itself in the "scale" field
157// of the settings export.
158gchar *dt_imageio_resizing_factor_get_and_parsing(double *num, double *denum);
159
160#ifdef __cplusplus
161}
162#endif
163
164// clang-format off
165// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
166// vim: shiftwidth=2 expandtab tabstop=2 cindent
167// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
168// clang-format on
char * name
dt_imageio_module_storage_t * dt_imageio_get_storage_by_index(int index)
void dt_imageio_cleanup(dt_imageio_t *iio)
void dt_imageio_remove_storage(dt_imageio_module_storage_t *storage)
dt_imageio_module_storage_t * dt_imageio_get_storage()
int dt_imageio_get_index_of_format(dt_imageio_module_format_t *format)
dt_imageio_format_flags_t
@ FORMAT_FLAGS_SUPPORT_LAYERS
@ FORMAT_FLAGS_SUPPORT_XMP
@ FORMAT_FLAGS_NO_TMPFILE
int dt_imageio_get_index_of_storage(dt_imageio_module_storage_t *storage)
dt_imageio_module_format_t * dt_imageio_get_format_by_index(int index)
gchar * dt_imageio_resizing_factor_get_and_parsing(double *num, double *denum)
dt_imageio_module_format_t * dt_imageio_get_format()
void dt_imageio_init(dt_imageio_t *iio)
void dt_imageio_insert_storage(dt_imageio_module_storage_t *storage)
dt_imageio_module_format_t * dt_imageio_get_format_by_name(const char *name)
dt_imageio_module_storage_t * dt_imageio_get_storage_by_name(const char *name)
struct _GtkWidget GtkWidget
Definition splash.h:29
GModule *GtkWidget * widget
GModule *GtkWidget * widget
GList * plugins_storage
GList * plugins_format