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-2021 darktable developers.
4
5 darktable is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 darktable is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with darktable. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "common/colorspaces.h"
22#include "common/darktable.h"
24#include <gmodule.h>
25#include <gtk/gtk.h>
26#include <inttypes.h>
27#ifdef USE_LUA
28#include "lua/call.h"
29#include "lua/events.h"
30#include "lua/format.h"
31#include "lua/modules.h"
32#include "lua/storage.h"
33#include "lua/types.h"
34#endif
35
36#ifdef __cplusplus
37extern "C" {
38#endif
39
47
56/*
57 * custom data for the module. append private stuff after these.
58 * this will be inited once when the export button is hit, so the user can make
59 * gui adjustments that won't affect the currently running export.
60 */
67
70/* responsible for image encoding, such as jpg,png,etc */
72{
73#define INCLUDE_API_FROM_MODULE_H
75
76 // office use only:
77 char plugin_name[128];
78 GModule *module;
79
80 // gui stuff:
81 GtkWidget *widget;
82
83 // data for you to initialize
84 void *gui_data;
85
87
88 gboolean ready;
90
91
92/* responsible for image storage, such as flickr, harddisk, etc */
94{
95#define INCLUDE_API_FROM_MODULE_H
97
98 // office use only:
99 char plugin_name[128];
100 GModule *module;
101
102 // gui stuff:
103 GtkWidget *widget;
104
105 // data for you to initialize
106 void *gui_data;
107
110
111
112/* main struct */
118
119/* load all modules */
121/* cleanup */
123
124/* get selected imageio plugin for export */
126
127/* get selected imageio plugin for export */
129
130/* get by name. */
133
134/* get by index */
139
140/* add a module into the known module list */
142/* remove a module from the known module list */
144
145// This function returns value of string which stored in the
146// "plugins/lighttable/export/resizing_factor" parameter of the configuration file
147// and its "num" and "denum" fraction's elements to calculate the scaling factor
148// and improve the readability of the displayed string itself in the "scale" field
149// of the settings export.
150gchar *dt_imageio_resizing_factor_get_and_parsing(double *num, double *denum);
151
152#ifdef __cplusplus
153}
154#endif
155
156// clang-format off
157// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
158// vim: shiftwidth=2 expandtab tabstop=2 cindent
159// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
160// clang-format on
char * name
Definition common/metadata.c:41
dt_imageio_module_storage_t * dt_imageio_get_storage_by_index(int index)
Definition imageio_module.c:343
void dt_imageio_cleanup(dt_imageio_t *iio)
Definition imageio_module.c:264
void dt_imageio_remove_storage(dt_imageio_module_storage_t *storage)
Definition imageio_module.c:369
dt_imageio_module_storage_t * dt_imageio_get_storage()
Definition imageio_module.c:299
int dt_imageio_get_index_of_format(dt_imageio_module_format_t *format)
Definition imageio_module.c:351
dt_imageio_format_flags_t
Definition imageio_module.h:42
@ FORMAT_FLAGS_SUPPORT_LAYERS
Definition imageio_module.h:45
@ FORMAT_FLAGS_SUPPORT_XMP
Definition imageio_module.h:43
@ FORMAT_FLAGS_NO_TMPFILE
Definition imageio_module.h:44
int dt_imageio_get_index_of_storage(dt_imageio_module_storage_t *storage)
Definition imageio_module.c:356
dt_imageio_module_format_t * dt_imageio_get_format_by_index(int index)
Definition imageio_module.c:335
gchar * dt_imageio_resizing_factor_get_and_parsing(double *num, double *denum)
Definition imageio_module.c:375
dt_imageio_module_format_t * dt_imageio_get_format()
Definition imageio_module.c:287
void dt_imageio_init(dt_imageio_t *iio)
Definition imageio_module.c:255
void dt_imageio_insert_storage(dt_imageio_module_storage_t *storage)
Definition imageio_module.c:362
dt_imageio_module_format_t * dt_imageio_get_format_by_name(const char *name)
Definition imageio_module.c:311
dt_imageio_module_storage_t * dt_imageio_get_storage_by_name(const char *name)
Definition imageio_module.c:323
int luaA_Type
Definition lua.h:92
Definition pixelpipe_hb.h:127
Definition imageio_module.h:62
int width
Definition imageio_module.h:64
char style[128]
Definition imageio_module.h:65
int max_width
Definition imageio_module.h:63
int max_height
Definition imageio_module.h:63
int height
Definition imageio_module.h:64
Definition imageio_module.h:72
gboolean ready
Definition imageio_module.h:88
GModule *GtkWidget * widget
Definition imageio_module.h:81
luaA_Type parameter_lua_type
Definition imageio_module.h:86
char plugin_name[128]
Definition imageio_module.h:77
void * gui_data
Definition imageio_module.h:84
Definition imageio_module.h:94
char plugin_name[128]
Definition imageio_module.h:99
void * gui_data
Definition imageio_module.h:106
luaA_Type parameter_lua_type
Definition imageio_module.h:108
GModule *GtkWidget * widget
Definition imageio_module.h:103
Definition imageio_module.h:114
GList * plugins_storage
Definition imageio_module.h:116
GList * plugins_format
Definition imageio_module.h:115