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
Definition common/metadata.c:61
dt_imageio_module_storage_t * dt_imageio_get_storage_by_index(int index)
Definition imageio_module.c:324
void dt_imageio_cleanup(dt_imageio_t *iio)
Definition imageio_module.c:245
void dt_imageio_remove_storage(dt_imageio_module_storage_t *storage)
Definition imageio_module.c:350
dt_imageio_module_storage_t * dt_imageio_get_storage()
Definition imageio_module.c:280
int dt_imageio_get_index_of_format(dt_imageio_module_format_t *format)
Definition imageio_module.c:332
dt_imageio_format_flags_t
Definition imageio_module.h:53
@ FORMAT_FLAGS_SUPPORT_LAYERS
Definition imageio_module.h:56
@ FORMAT_FLAGS_SUPPORT_XMP
Definition imageio_module.h:54
@ FORMAT_FLAGS_NO_TMPFILE
Definition imageio_module.h:55
int dt_imageio_get_index_of_storage(dt_imageio_module_storage_t *storage)
Definition imageio_module.c:337
dt_imageio_module_format_t * dt_imageio_get_format_by_index(int index)
Definition imageio_module.c:316
gchar * dt_imageio_resizing_factor_get_and_parsing(double *num, double *denum)
Definition imageio_module.c:356
dt_imageio_module_format_t * dt_imageio_get_format()
Definition imageio_module.c:268
void dt_imageio_init(dt_imageio_t *iio)
Definition imageio_module.c:236
void dt_imageio_insert_storage(dt_imageio_module_storage_t *storage)
Definition imageio_module.c:343
dt_imageio_module_format_t * dt_imageio_get_format_by_name(const char *name)
Definition imageio_module.c:292
dt_imageio_module_storage_t * dt_imageio_get_storage_by_name(const char *name)
Definition imageio_module.c:304
struct _GtkWidget GtkWidget
Definition splash.h:29
Definition pixelpipe_hb.h:218
Definition imageio_module.h:73
int width
Definition imageio_module.h:75
char style[128]
Definition imageio_module.h:76
int max_width
Definition imageio_module.h:74
int max_height
Definition imageio_module.h:74
int height
Definition imageio_module.h:75
Definition imageio_module.h:83
gboolean ready
Definition imageio_module.h:97
GModule *GtkWidget * widget
Definition imageio_module.h:92
char plugin_name[128]
Definition imageio_module.h:88
void * gui_data
Definition imageio_module.h:95
Definition imageio_module.h:103
char plugin_name[128]
Definition imageio_module.h:108
void * gui_data
Definition imageio_module.h:115
GModule *GtkWidget * widget
Definition imageio_module.h:112
Definition imageio_module.h:122
GList * plugins_storage
Definition imageio_module.h:124
GList * plugins_format
Definition imageio_module.h:123