Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
common/styles.h
Go to the documentation of this file.
1/*
2 This file is part of darktable,
3 Copyright (C) 2010 calca.
4 Copyright (C) 2010 Henrik Andersson.
5 Copyright (C) 2012 Frédéric Grollier.
6 Copyright (C) 2012 johannes hanika.
7 Copyright (C) 2012-2013 Jérémy Rosen.
8 Copyright (C) 2012-2014, 2020-2021 Pascal Obry.
9 Copyright (C) 2012 Richard Wonka.
10 Copyright (C) 2013-2017 Tobias Ellinghaus.
11 Copyright (C) 2016 Roman Lebedev.
12 Copyright (C) 2018 Edgardo Hoszowski.
13 Copyright (C) 2020 Aldric Renaudin.
14 Copyright (C) 2020 Chris Elston.
15 Copyright (C) 2020-2021 Hubert Kowalski.
16 Copyright (C) 2020 Philippe Weyland.
17 Copyright (C) 2021 Hanno Schwalm.
18 Copyright (C) 2022 Diederik Ter Rahe.
19 Copyright (C) 2022 Martin Bařinka.
20 Copyright (C) 2025-2026 Aurélien PIERRE.
21
22 darktable is free software: you can redistribute it and/or modify
23 it under the terms of the GNU General Public License as published by
24 the Free Software Foundation, either version 3 of the License, or
25 (at your option) any later version.
26
27 darktable is distributed in the hope that it will be useful,
28 but WITHOUT ANY WARRANTY; without even the implied warranty of
29 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 GNU General Public License for more details.
31
32 You should have received a copy of the GNU General Public License
33 along with darktable. If not, see <http://www.gnu.org/licenses/>.
34*/
35
36#pragma once
37
38#include "common/darktable.h"
40#include "develop/blend.h"
41#include "develop/imageop.h"
42
43#include <glib.h>
44#include <inttypes.h>
45#include <sqlite3.h>
46
52typedef struct dt_style_t
53{
54 gchar *name;
57
63
74
76void dt_style_free(gpointer data);
77void dt_style_item_free(gpointer data);
78
81gboolean dt_styles_create_from_image(const char *name, const char *description,
82 const int32_t imgid, GList *items, gboolean copy_iop_order);
83
85void dt_styles_create_from_list(const GList *list);
86
88void dt_styles_create_from_style(const char *name, const char *newname, const char *description,
89 GList *filter, const int32_t imgid, GList *update,
90 gboolean copy_iop_order, const gboolean update_iop_order);
91
93void dt_styles_update(const char *name, const char *newname, const char *description, GList *filter,
94 const int32_t imgid, GList *update,
95 const gboolean copy_iop_order, const gboolean update_iop_order);
96
100void dt_multiple_styles_apply_to_list(GList *styles, const GList *list, gboolean duplicate);
101
104
106void dt_styles_apply_to_image(const char *name, const gboolean duplicate, const int32_t imgid);
108int dt_styles_apply_to_image_merge(const char *name, const int style_id, const int32_t newimgid,
109 const dt_history_merge_strategy_t mode);
110
112void dt_styles_delete_by_name_adv(const char *name, const gboolean raise);
113
115void dt_styles_delete_by_name(const char *name);
116
119
121int32_t dt_styles_get_id_by_name(const char *name);
122
124gboolean dt_styles_exists(const char *name);
125
127gboolean dt_styles_has_module_order(const char *name);
128
130GList *dt_styles_get_list(const char *filter);
131
136GList *dt_styles_get_item_list(const char *name, gboolean params, int32_t imgid);
137
139char *dt_styles_get_item_list_as_string(const char *name);
140
142gchar *dt_styles_get_description(const char *name);
143
145void dt_styles_save_to_file(const char *style_name, const char *filedir, gboolean overwrite);
146
148void dt_styles_import_from_file(const char *style_path);
149
151void dt_styles_cleanup(void);
152
153// clang-format off
154// modelines: These editor modelines have been set for all relevant files by tools/update_modelines.py
155// vim: shiftwidth=2 expandtab tabstop=2 cindent
156// kate: tab-indents: off; indent-width 2; replace-tabs on; indent-mode cstyle; remove-trailing-spaces modified;
157// clang-format on
const char ** description(struct dt_iop_module_t *self)
Definition ashift.c:159
char * name
Definition common/metadata.c:61
void dt_styles_cleanup(void)
Definition common/styles.c:1650
gboolean dt_styles_exists(const char *name)
Definition common/styles.c:132
void dt_styles_create_from_style(const char *name, const char *newname, const char *description, GList *filter, const int32_t imgid, GList *update, gboolean copy_iop_order, const gboolean update_iop_order)
Definition common/styles.c:435
void dt_styles_update(const char *name, const char *newname, const char *description, GList *filter, const int32_t imgid, GList *update, const gboolean copy_iop_order, const gboolean update_iop_order)
Definition common/styles.c:378
GList * dt_styles_get_item_list(const char *name, gboolean params, int32_t imgid)
Definition common/styles.c:1051
gboolean dt_styles_create_from_image(const char *name, const char *description, const int32_t imgid, GList *items, gboolean copy_iop_order)
Definition common/styles.c:510
gchar * dt_styles_get_description(const char *name)
Definition common/styles.c:1592
dt_style_applymode_t
Definition common/styles.h:59
@ DT_STYLE_HISTORY_APPEND
Definition common/styles.h:60
@ DT_STYLE_HISTORY_OVERWRITE
Definition common/styles.h:61
void dt_styles_apply_to_image(const char *name, const gboolean duplicate, const int32_t imgid)
Definition common/styles.c:1014
char * dt_styles_get_item_list_as_string(const char *name)
Definition common/styles.c:1180
void dt_multiple_styles_apply_to_list(GList *styles, const GList *list, gboolean duplicate)
Definition common/styles.c:587
void dt_styles_apply_style_item(dt_develop_t *dev, dt_style_item_t *style_item)
Definition common/styles.c:998
void dt_style_item_free(gpointer data)
Definition common/styles.c:114
void dt_styles_delete_by_name_adv(const char *name, const gboolean raise)
Definition common/styles.c:1021
void dt_styles_save_to_file(const char *style_name, const char *filedir, gboolean overwrite)
Definition common/styles.c:1236
void dt_style_free(gpointer data)
Definition common/styles.c:104
void dt_styles_delete_by_name(const char *name)
Definition common/styles.c:1046
dt_style_t * dt_styles_get_by_name(const char *name)
Definition common/styles.c:1626
int32_t dt_styles_get_id_by_name(const char *name)
Definition common/styles.c:1610
int dt_styles_apply_to_image_merge(const char *name, const int style_id, const int32_t newimgid, const dt_history_merge_strategy_t mode)
Definition common/styles.c:957
void dt_styles_create_from_list(const GList *list)
Definition common/styles.c:625
void dt_styles_import_from_file(const char *style_path)
Definition common/styles.c:1529
gboolean dt_styles_has_module_order(const char *name)
Definition common/styles.c:206
GList * dt_styles_get_list(const char *filter)
Definition common/styles.c:1201
void dt_iop_params_t
Definition dev_history.h:41
const dt_collection_sort_t items[]
Definition filter.c:103
dt_history_merge_strategy_t
Definition history_merge.h:33
void update(dt_lib_module_t *self)
Definition ioporder.c:68
Definition blend.h:198
Definition develop.h:155
Definition common/styles.h:65
dt_iop_params_t * params
Definition common/styles.h:70
dt_develop_blend_params_t * blendop_params
Definition common/styles.h:71
int multi_priority
Definition common/styles.h:66
int32_t params_size
Definition common/styles.h:72
int enabled
Definition common/styles.h:66
int module_version
Definition common/styles.h:69
int32_t blendop_params_size
Definition common/styles.h:72
int num
Definition common/styles.h:66
int blendop_version
Definition common/styles.h:69
int selimg_num
Definition common/styles.h:66
gchar * name
Definition common/styles.h:68
gchar * operation
Definition common/styles.h:68
gchar * multi_name
Definition common/styles.h:68
int iop_order
Definition common/styles.h:67
Definition common/styles.h:53
gchar * description
Definition common/styles.h:55
gchar * name
Definition common/styles.h:54