![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "common/darktable.h"
#include "common/iop_order.h"
#include "common/styles.h"
#include "common/debug.h"
#include "develop/imageop.h"
#include "develop/pixelpipe.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Macros | |
#define | DT_IOP_ORDER_VERSION 5 |
#define | DT_IOP_ORDER_INFO (darktable.unmuted & DT_DEBUG_IOPORDER) |
Functions | |
static void | _ioppr_reset_iop_order (GList *iop_order_list) |
const char * | dt_iop_order_string (const dt_iop_order_t order) |
static void * | _dup_iop_order_entry (const void *src, gpointer data) |
static int | _count_entries_operation (GList *e_list, const char *operation) |
static GList * | _insert_before (GList *iop_order_list, const char *module, const char *new_module) |
dt_iop_order_t | dt_ioppr_get_iop_order_version (const int32_t imgid) |
GList * | dt_ioppr_get_iop_order_rules () |
GList * | dt_ioppr_get_iop_order_link (GList *iop_order_list, const char *op_name, const int multi_priority) |
dt_iop_order_entry_t * | dt_ioppr_get_iop_order_entry (GList *iop_order_list, const char *op_name, const int multi_priority) |
int | dt_ioppr_get_iop_order (GList *iop_order_list, const char *op_name, const int multi_priority) |
gint | dt_sort_iop_list_by_order (gconstpointer a, gconstpointer b) |
gint | dt_sort_iop_list_by_order_f (gconstpointer a, gconstpointer b) |
dt_iop_order_t | dt_ioppr_get_iop_order_list_kind (GList *iop_order_list) |
gboolean | dt_ioppr_has_multiple_instances (GList *iop_order_list) |
gboolean | dt_ioppr_write_iop_order (const dt_iop_order_t kind, GList *iop_order_list, const int32_t imgid) |
gboolean | dt_ioppr_write_iop_order_list (GList *iop_order_list, const int32_t imgid) |
GList * | _table_to_list (const dt_iop_order_entry_t entries[]) |
GList * | dt_ioppr_get_iop_order_list_version (dt_iop_order_t version) |
gboolean | dt_ioppr_has_iop_order_list (int32_t imgid) |
GList * | dt_ioppr_get_iop_order_list (int32_t imgid, gboolean sorted) |
void | dt_ioppr_resync_iop_list (dt_develop_t *dev) |
void | dt_ioppr_resync_modules_order (dt_develop_t *dev) |
void | dt_ioppr_set_default_iop_order (dt_develop_t *dev, const int32_t imgid) |
void | dt_ioppr_migrate_iop_order (struct dt_develop_t *dev, const int32_t imgid) |
void | dt_ioppr_change_iop_order (struct dt_develop_t *dev, const int32_t imgid, GList *new_iop_list) |
GList * | dt_ioppr_extract_multi_instances_list (GList *iop_order_list) |
GList * | dt_ioppr_merge_module_multi_instance_iop_order_list (GList *iop_order_list, const char *operation, GList *multi_instance_list) |
GList * | dt_ioppr_merge_multi_instance_iop_order_list (GList *iop_order_list, GList *multi_instance_list) |
static void | _count_iop_module (GList *iop, const char *operation, int *max_multi_priority, int *count, int *max_multi_priority_enabled, int *count_enabled) |
static gboolean | _operation_already_handled (GList *e_list, const char *operation) |
int | _get_multi_priority (dt_develop_t *dev, const char *operation, const int n, const gboolean only_disabled) |
void | dt_ioppr_update_for_entries (dt_develop_t *dev, GList *entry_list, gboolean append) |
void | dt_ioppr_update_for_style_items (dt_develop_t *dev, GList *st_items, gboolean append) |
void | dt_ioppr_update_for_modules (dt_develop_t *dev, GList *modules, gboolean append) |
static dt_dev_history_item_t * | _ioppr_search_history_by_module (GList *history_list, dt_iop_module_t *mod) |
void | dt_ioppr_check_duplicate_iop_order (GList **_iop_list, GList *history_list) |
int | dt_ioppr_check_so_iop_order (GList *iop_list, GList *iop_order_list) |
GList * | dt_ioppr_iop_order_copy_deep (GList *iop_order_list) |
gint | dt_sort_iop_by_order (gconstpointer a, gconstpointer b) |
gboolean | dt_ioppr_check_can_move_before_iop (GList *iop_list, dt_iop_module_t *module, dt_iop_module_t *module_next) |
gboolean | dt_ioppr_check_can_move_after_iop (GList *iop_list, dt_iop_module_t *module, dt_iop_module_t *module_prev) |
gboolean | dt_ioppr_move_iop_before (struct dt_develop_t *dev, dt_iop_module_t *module, dt_iop_module_t *module_next) |
gboolean | dt_ioppr_move_iop_after (struct dt_develop_t *dev, dt_iop_module_t *module, dt_iop_module_t *module_prev) |
void | dt_ioppr_print_module_iop_order (GList *iop_list, const char *msg) |
void | dt_ioppr_print_history_iop_order (GList *history_list, const char *msg) |
void | dt_ioppr_print_iop_order (GList *iop_order_list, const char *msg) |
static GList * | _get_fence_modules_list (GList *iop_list) |
static void | _ioppr_check_rules (GList *iop_list, const int32_t imgid, const char *msg) |
void | dt_ioppr_insert_module_instance (struct dt_develop_t *dev, dt_iop_module_t *module) |
int | dt_ioppr_check_iop_order (dt_develop_t *dev, const int32_t imgid, const char *msg) |
void * | dt_ioppr_serialize_iop_order_list (GList *iop_order_list, size_t *size) |
char * | dt_ioppr_serialize_text_iop_order_list (GList *iop_order_list) |
static gboolean | _ioppr_sanity_check_iop_order (GList *list) |
GList * | dt_ioppr_deserialize_text_iop_order_list (const char *buf) |
GList * | dt_ioppr_deserialize_iop_order_list (const char *buf, size_t size) |
Variables | |
const char * | iop_order_string [] |
const dt_iop_order_entry_t | legacy_order [] |
const dt_iop_order_entry_t | v30_order [] |
const dt_iop_order_entry_t | v30_jpg_order [] |
#define DT_IOP_ORDER_INFO (darktable.unmuted & DT_DEBUG_IOPORDER) |
#define DT_IOP_ORDER_VERSION 5 |
|
static |
|
static |
Referenced by dt_ioppr_update_for_entries().
Referenced by dt_ioppr_extract_multi_instances_list(), and dt_ioppr_iop_order_copy_deep().
|
static |
References IOP_FLAGS_FENCE.
Referenced by _ioppr_check_rules().
int _get_multi_priority | ( | dt_develop_t * | dev, |
const char * | operation, | ||
const int | n, | ||
const gboolean | only_disabled | ||
) |
References FALSE, and dt_develop_t::iop.
Referenced by dt_ioppr_update_for_entries().
|
static |
References FALSE, dt_iop_order_entry_t::instance, dt_iop_order_entry_t::iop_order, dt_iop_order_entry_t::o, dt_iop_order_entry_t::operation, and TRUE.
Referenced by dt_ioppr_get_iop_order_list().
|
static |
References _get_fence_modules_list(), darktable, dt_iop_module_t::iop_order, darktable_t::iop_order_rules, dt_iop_module_t::multi_name, and dt_iop_module_t::op.
Referenced by dt_ioppr_check_iop_order().
|
static |
References dt_iop_order_entry_t::iop_order, and dt_iop_order_entry_t::o.
Referenced by dt_ioppr_deserialize_iop_order_list(), dt_ioppr_deserialize_text_iop_order_list(), dt_ioppr_get_iop_order_list(), dt_ioppr_resync_modules_order(), dt_ioppr_set_default_iop_order(), and dt_ioppr_update_for_entries().
|
static |
References dt_iop_order_entry_t::operation, and TRUE.
Referenced by dt_ioppr_deserialize_text_iop_order_list().
|
static |
Referenced by dt_ioppr_check_duplicate_iop_order().
|
static |
Referenced by dt_ioppr_update_for_entries().
GList * _table_to_list | ( | const dt_iop_order_entry_t | entries[] | ) |
const char * dt_iop_order_string | ( | const dt_iop_order_t | order | ) |
return the name string for that dy_iop_order
References DT_IOP_ORDER_LAST, and iop_order_string.
Referenced by _gui_styles_dialog_run(), dt_gui_hist_dialog_new(), get_query_string(), list_view(), and update().
void dt_ioppr_change_iop_order | ( | struct dt_develop_t * | dev, |
const int32_t | imgid, | ||
GList * | new_iop_list | ||
) |
References darktable, darktable_t::develop, dt_dev_write_history(), DT_IOP_ORDER_CUSTOM, dt_ioppr_extract_multi_instances_list(), dt_ioppr_iop_order_copy_deep(), dt_ioppr_merge_multi_instance_iop_order_list(), dt_ioppr_migrate_iop_order(), dt_ioppr_write_iop_order(), and dt_develop_t::iop_order_list.
Referenced by gui_reset(), and set_params().
gboolean dt_ioppr_check_can_move_after_iop | ( | GList * | iop_list, |
struct dt_iop_module_t * | module, | ||
struct dt_iop_module_t * | module_prev | ||
) |
returns the iop_order after module_prev if module can be moved
References dt_ioppr_check_can_move_before_iop(), FALSE, dt_iop_module_t::iop_order, dt_iop_module_t::multi_name, dt_iop_module_t::op, dt_iop_module_t::raster_mask, dt_iop_module_t::sink, and dt_iop_module_t::source.
Referenced by _dev_module_update_multishow(), and _on_drag_motion().
gboolean dt_ioppr_check_can_move_before_iop | ( | GList * | iop_list, |
struct dt_iop_module_t * | module, | ||
struct dt_iop_module_t * | module_next | ||
) |
returns the iop_order before module_next if module can be moved
References darktable, FALSE, IOP_FLAGS_FENCE, dt_iop_module_t::iop_order, darktable_t::iop_order_rules, dt_iop_module_t::multi_name, dt_iop_module_t::op, dt_iop_module_t::raster_mask, dt_iop_module_t::sink, dt_iop_module_t::source, and TRUE.
Referenced by _dev_module_update_multishow(), _on_drag_motion(), and dt_ioppr_check_can_move_after_iop().
void dt_ioppr_check_duplicate_iop_order | ( | GList ** | _iop_list, |
GList * | history_list | ||
) |
check if there's duplicate iop_order entries in iop_list
References _ioppr_search_history_by_module(), dt_ioppr_check_duplicate_iop_order(), dt_iop_module_t::enabled, dt_iop_module_t::iop_order, dt_iop_module_t::multi_name, and dt_iop_module_t::op.
Referenced by dt_dev_pop_history_items_ext(), and dt_ioppr_check_duplicate_iop_order().
int dt_ioppr_check_iop_order | ( | dt_develop_t * | dev, |
const int32_t | imgid, | ||
const char * | msg | ||
) |
References _ioppr_check_rules(), DT_DEBUG_PARAMS, dt_print(), dt_develop_t::history, dt_develop_t::iop, dt_iop_module_t::iop_order, dt_iop_module_t::multi_name, dt_iop_module_t::multi_priority, and dt_iop_module_t::op.
Referenced by _apply_style_before_export(), _gui_movedown_callback(), _gui_moveup_callback(), _history_copy_and_paste_on_image_merge(), _on_drag_data_received(), dt_dev_modules_update_multishow(), dt_dev_pop_history_items_ext(), dt_dev_read_history_ext(), dt_history_merge_module_into_history(), and dt_styles_apply_to_image().
int dt_ioppr_check_so_iop_order | ( | GList * | iop_list, |
GList * | iop_order_list | ||
) |
returns 1 if there's a module_so without a iop_order defined
References dt_ioppr_get_iop_order_entry().
Referenced by dt_init().
GList * dt_ioppr_deserialize_iop_order_list | ( | const char * | buf, |
size_t | size | ||
) |
returns the iop_order_list from the serialized form found in buf (blob in preset table)
References _ioppr_reset_iop_order(), error(), dt_iop_order_entry_t::instance, dt_iop_order_entry_t::iop_order, dt_iop_order_entry_t::o, dt_iop_order_entry_t::operation, and size.
Referenced by _dev_auto_apply_presets(), set_params(), and update().
GList * dt_ioppr_deserialize_text_iop_order_list | ( | const char * | buf | ) |
References _ioppr_reset_iop_order(), _ioppr_sanity_check_iop_order(), dt_util_str_to_glist(), error(), dt_iop_order_entry_t::instance, dt_iop_order_entry_t::iop_order, dt_iop_order_entry_t::o, and dt_iop_order_entry_t::operation.
Referenced by dt_exif_xmp_read(), dt_ioppr_get_iop_order_list(), dt_styles_module_order_list(), and dt_styles_style_text_handler().
GList * dt_ioppr_extract_multi_instances_list | ( | GList * | iop_order_list | ) |
extract all modules with multi-instances
References _count_entries_operation(), and _dup_iop_order_entry().
Referenced by dt_ioppr_change_iop_order(), and dt_styles_apply_to_image().
int dt_ioppr_get_iop_order | ( | GList * | iop_order_list, |
const char * | op_name, | ||
const int | multi_priority | ||
) |
returns the iop_order from iop_order_list list with operation = op_name
References dt_ioppr_get_iop_order_entry().
Referenced by _process_history_db_entry(), _show_hide_colorspace(), default_input_format(), default_output_format(), default_tiling_callback(), dt_ioppr_get_pipe_current_profile_info(), dt_ioppr_resync_modules_order(), dt_ioppr_update_for_modules(), dt_ioppr_update_for_style_items(), and sanity_check().
dt_iop_order_entry_t * dt_ioppr_get_iop_order_entry | ( | GList * | iop_order_list, |
const char * | op_name, | ||
const int | multi_priority | ||
) |
returns the dt_iop_order_entry_t of iop_order_list with operation = op_name
References dt_ioppr_get_iop_order_link().
Referenced by dt_ioppr_check_so_iop_order(), and dt_ioppr_get_iop_order().
GList * dt_ioppr_get_iop_order_link | ( | GList * | iop_order_list, |
const char * | op_name, | ||
const int | multi_priority | ||
) |
likewise, but returns the link in the list instead of the entry
References dt_iop_order_entry_t::instance, and dt_iop_order_entry_t::operation.
Referenced by dt_exif_xmp_read(), dt_ioppr_get_iop_order_entry(), dt_ioppr_merge_module_multi_instance_iop_order_list(), dt_ioppr_move_iop_after(), and dt_ioppr_move_iop_before().
GList * dt_ioppr_get_iop_order_list | ( | int32_t | imgid, |
gboolean | sorted | ||
) |
returns a list of dt_iop_order_entry_t and updates *_version
References _insert_before(), _ioppr_reset_iop_order(), _table_to_list(), darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, DT_IOP_ORDER_CUSTOM, DT_IOP_ORDER_LEGACY, DT_IOP_ORDER_V30, DT_IOP_ORDER_V30_JPG, dt_ioppr_deserialize_text_iop_order_list(), dt_sort_iop_list_by_order(), legacy_order, v30_jpg_order, and v30_order.
Referenced by _dt_style_update_iop_order(), _exif_xmp_read_data(), _exif_xmp_read_data_export(), dt_history_copy_and_paste_on_image(), dt_init(), dt_ioppr_set_default_iop_order(), dt_styles_apply_to_image(), and dt_styles_create_from_image().
dt_iop_order_t dt_ioppr_get_iop_order_list_kind | ( | GList * | iop_order_list | ) |
returns the kind of the list by looking at the order of the modules, it is either one of the built-in version or a customr order
References DT_IOP_ORDER_CUSTOM, DT_IOP_ORDER_LEGACY, DT_IOP_ORDER_V30, DT_IOP_ORDER_V30_JPG, FALSE, legacy_order, TRUE, v30_jpg_order, and v30_order.
Referenced by _upgrade_library_schema_step(), dt_ioppr_write_iop_order_list(), and update().
GList * dt_ioppr_get_iop_order_list_version | ( | dt_iop_order_t | version | ) |
return the iop-order list for the given version, this is used to get the built-in lists
References _table_to_list(), DT_IOP_ORDER_LEGACY, DT_IOP_ORDER_V30, DT_IOP_ORDER_V30_JPG, legacy_order, v30_jpg_order, and v30_order.
Referenced by _dev_auto_apply_presets(), _upgrade_data_schema_step(), _upgrade_library_schema_step(), dt_exif_xmp_read(), gui_reset(), and init_presets().
GList * dt_ioppr_get_iop_order_rules | ( | ) |
References dt_iop_order_rule_t::op_next, and dt_iop_order_rule_t::op_prev.
Referenced by dt_init().
dt_iop_order_t dt_ioppr_get_iop_order_version | ( | const int32_t | imgid | ) |
return the iop-order-version used by imgid (DT_IOP_ORDER_V30 if unknown iop-order-version)
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, and DT_IOP_ORDER_V30.
Referenced by _exif_xmp_read_data(), _exif_xmp_read_data_export(), _gui_styles_dialog_run(), and dt_gui_hist_dialog_new().
gboolean dt_ioppr_has_iop_order_list | ( | int32_t | imgid | ) |
returns true if imgid has an iop-order set
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_PREPARE_V2, and FALSE.
Referenced by _dev_auto_apply_presets().
gboolean dt_ioppr_has_multiple_instances | ( | GList * | iop_order_list | ) |
For a non custom order, returns TRUE if iop_order_list has multiple instances grouped together
Referenced by _exif_xmp_read_data(), _exif_xmp_read_data_export(), and dt_ioppr_write_iop_order().
void dt_ioppr_insert_module_instance | ( | struct dt_develop_t * | dev, |
struct dt_iop_module_t * | module | ||
) |
insert a match for module into the iop-order list
References dt_iop_order_entry_t::instance, dt_iop_order_entry_t::iop_order, dt_develop_t::iop_order_list, dt_iop_order_entry_t::o, and dt_iop_order_entry_t::operation.
Referenced by dt_dev_module_duplicate().
GList * dt_ioppr_iop_order_copy_deep | ( | GList * | iop_order_list | ) |
returns a duplicate of iop_order_list
References _dup_iop_order_entry().
Referenced by _gui_delete_callback(), _lib_history_change_callback(), _pop_undo(), dt_dev_pixelpipe_create_nodes(), dt_dev_undo_start_record(), dt_ioppr_change_iop_order(), and dt_ioppr_merge_multi_instance_iop_order_list().
GList * dt_ioppr_merge_module_multi_instance_iop_order_list | ( | GList * | iop_order_list, |
const char * | operation, | ||
GList * | multi_instance_list | ||
) |
References _count_entries_operation(), dt_ioppr_get_iop_order_link(), g_list_shorter_than(), and dt_iop_order_entry_t::instance.
Referenced by dt_ioppr_merge_multi_instance_iop_order_list().
GList * dt_ioppr_merge_multi_instance_iop_order_list | ( | GList * | iop_order_list, |
GList * | multi_instance_list | ||
) |
merge all modules with multi-instances as extracted with routine above into a canonical iop-order list
References dt_ioppr_iop_order_copy_deep(), dt_ioppr_merge_module_multi_instance_iop_order_list(), and dt_iop_order_entry_t::operation.
Referenced by dt_ioppr_change_iop_order(), and dt_styles_apply_to_image().
void dt_ioppr_migrate_iop_order | ( | struct dt_develop_t * | dev, |
const int32_t | imgid | ||
) |
References dt_dev_reload_history_items(), and dt_ioppr_set_default_iop_order().
Referenced by dt_ioppr_change_iop_order().
gboolean dt_ioppr_move_iop_after | ( | struct dt_develop_t * | dev, |
dt_iop_module_t * | module, | ||
dt_iop_module_t * | module_prev | ||
) |
gboolean dt_ioppr_move_iop_before | ( | struct dt_develop_t * | dev, |
struct dt_iop_module_t * | module, | ||
struct dt_iop_module_t * | module_next | ||
) |
moves module before/after module_next/previous on pipe
References dt_ioppr_get_iop_order_link(), dt_ioppr_resync_modules_order(), FALSE, dt_develop_t::iop_order_list, dt_iop_module_t::multi_priority, dt_iop_module_t::op, and TRUE.
Referenced by _gui_movedown_callback(), and _on_drag_data_received().
void dt_ioppr_print_history_iop_order | ( | GList * | history_list, |
const char * | msg | ||
) |
void dt_ioppr_print_iop_order | ( | GList * | iop_order_list, |
const char * | msg | ||
) |
void dt_ioppr_print_module_iop_order | ( | GList * | iop_list, |
const char * | msg | ||
) |
void dt_ioppr_resync_iop_list | ( | dt_develop_t * | dev | ) |
References dt_iop_get_module_by_op_priority(), dt_develop_t::iop, and dt_develop_t::iop_order_list.
Referenced by dt_dev_read_history_ext().
void dt_ioppr_resync_modules_order | ( | dt_develop_t * | dev | ) |
References _ioppr_reset_iop_order(), dt_ioppr_get_iop_order(), dt_sort_iop_by_order(), dt_develop_t::iop, dt_iop_module_t::iop_order, dt_develop_t::iop_order_list, dt_iop_module_t::multi_priority, and dt_iop_module_t::op.
Referenced by _pop_undo(), dt_dev_pop_history_items_ext(), dt_dev_read_history_ext(), dt_history_merge_module_into_history(), dt_imageio_export_with_flags(), dt_ioppr_move_iop_after(), dt_ioppr_move_iop_before(), and dt_ioppr_set_default_iop_order().
void * dt_ioppr_serialize_iop_order_list | ( | GList * | iop_order_list, |
size_t * | size | ||
) |
char * dt_ioppr_serialize_text_iop_order_list | ( | GList * | iop_order_list | ) |
likewise but a text serializer/deserializer
Referenced by _dt_style_update_iop_order(), _exif_xmp_read_data(), _exif_xmp_read_data_export(), _upgrade_library_schema_step(), dt_ioppr_write_iop_order(), dt_styles_create_style_header(), dt_styles_save_to_file(), and update().
void dt_ioppr_set_default_iop_order | ( | struct dt_develop_t * | dev, |
const int32_t | imgid | ||
) |
sets the default iop_order to iop_list
References _ioppr_reset_iop_order(), dt_ioppr_get_iop_order_list(), dt_ioppr_resync_modules_order(), FALSE, and dt_develop_t::iop_order_list.
Referenced by _dev_auto_apply_presets(), dt_dev_read_history_ext(), and dt_ioppr_migrate_iop_order().
void dt_ioppr_update_for_entries | ( | struct dt_develop_t * | dev, |
GList * | entry_list, | ||
gboolean | append | ||
) |
update target_iop_order_list to ensure that modules in iop_order_list are in target_iop_order_list note that iop_order_list contains a set of dt_iop_order_entry_t where order is the multi-priority
References _count_entries_operation(), _count_iop_module(), _get_multi_priority(), _ioppr_reset_iop_order(), _operation_already_handled(), dt_iop_get_module_by_instance_name(), FALSE, dt_iop_order_entry_t::instance, dt_develop_t::iop, dt_iop_order_entry_t::iop_order, dt_develop_t::iop_order_list, MAX, dt_iop_order_entry_t::o, dt_iop_order_entry_t::operation, and TRUE.
Referenced by dt_ioppr_update_for_modules(), and dt_ioppr_update_for_style_items().
void dt_ioppr_update_for_modules | ( | dt_develop_t * | dev, |
GList * | modules, | ||
gboolean | append | ||
) |
References dt_ioppr_get_iop_order(), dt_ioppr_update_for_entries(), dt_iop_order_entry_t::instance, dt_iop_order_entry_t::iop_order, dt_iop_module_t::iop_order, dt_develop_t::iop_order_list, dt_iop_module_t::multi_priority, dt_iop_order_entry_t::name, dt_iop_order_entry_t::o, dt_iop_module_t::op, and dt_iop_order_entry_t::operation.
Referenced by _history_copy_and_paste_on_image_merge().
void dt_ioppr_update_for_style_items | ( | dt_develop_t * | dev, |
GList * | st_items, | ||
gboolean | append | ||
) |
References dt_ioppr_get_iop_order(), dt_ioppr_update_for_entries(), dt_iop_order_entry_t::instance, dt_iop_order_entry_t::iop_order, dt_style_item_t::iop_order, dt_develop_t::iop_order_list, dt_style_item_t::multi_priority, dt_iop_order_entry_t::name, dt_iop_order_entry_t::o, dt_iop_order_entry_t::operation, and dt_style_item_t::operation.
Referenced by _apply_style_before_export(), and dt_styles_apply_to_image().
gboolean dt_ioppr_write_iop_order | ( | const dt_iop_order_t | kind, |
GList * | iop_order_list, | ||
const int32_t | imgid | ||
) |
References darktable, darktable_t::db, dt_database_get(), DT_DEBUG_SQLITE3_BIND_INT, DT_DEBUG_SQLITE3_BIND_TEXT, DT_DEBUG_SQLITE3_PREPARE_V2, DT_IOP_ORDER_CUSTOM, dt_ioppr_has_multiple_instances(), dt_ioppr_serialize_text_iop_order_list(), FALSE, and TRUE.
Referenced by dt_ioppr_change_iop_order(), and dt_ioppr_write_iop_order_list().
gboolean dt_ioppr_write_iop_order_list | ( | GList * | iop_order_list, |
const int32_t | imgid | ||
) |
gint dt_sort_iop_by_order | ( | gconstpointer | a, |
gconstpointer | b | ||
) |
sort two modules by iop_order
Referenced by _check_deleted_instances(), _create_deleted_modules(), _pop_undo(), dt_dev_module_duplicate(), dt_history_merge_module_into_history(), dt_iop_load_modules_ext(), and dt_ioppr_resync_modules_order().
gint dt_sort_iop_list_by_order | ( | gconstpointer | a, |
gconstpointer | b | ||
) |
Referenced by dt_ioppr_get_iop_order_list().
gint dt_sort_iop_list_by_order_f | ( | gconstpointer | a, |
gconstpointer | b | ||
) |
Referenced by _upgrade_library_schema_step(), and dt_exif_xmp_read().
const char* iop_order_string[] |
Note : we do not use finite-math-only and fast-math because divisions by zero are not manually avoided in the code fp-contract=fast enables hardware-accelerated Fused Multiply-Add the rest is loop reorganization and vectorization optimization
Referenced by dt_iop_order_string().
const dt_iop_order_entry_t legacy_order[] |
const dt_iop_order_entry_t v30_jpg_order[] |
const dt_iop_order_entry_t v30_order[] |