Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
iop_order.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dt_iop_order_entry_t
 
struct  dt_iop_order_rule_t
 

Typedefs

typedef enum dt_iop_order_t dt_iop_order_t
 
typedef struct dt_iop_order_entry_t dt_iop_order_entry_t
 
typedef struct dt_iop_order_rule_t dt_iop_order_rule_t
 

Enumerations

enum  dt_iop_order_t {
  DT_IOP_ORDER_CUSTOM = 0 ,
  DT_IOP_ORDER_LEGACY = 1 ,
  DT_IOP_ORDER_V30 = 2 ,
  DT_IOP_ORDER_V30_JPG = 3 ,
  DT_IOP_ORDER_LAST = 4
}
 

Functions

const char * dt_iop_order_string (const dt_iop_order_t order)
 
dt_iop_order_t dt_ioppr_get_iop_order_version (const int32_t imgid)
 
dt_iop_order_t dt_ioppr_get_iop_order_list_kind (GList *iop_order_list)
 
gboolean dt_ioppr_has_iop_order_list (int32_t imgid)
 
GList * dt_ioppr_get_iop_order_list (int32_t imgid, gboolean sorted)
 
GList * dt_ioppr_get_iop_order_list_version (dt_iop_order_t version)
 
dt_iop_order_entry_tdt_ioppr_get_iop_order_entry (GList *iop_order_list, const char *op_name, const int multi_priority)
 
GList * dt_ioppr_get_iop_order_link (GList *iop_order_list, const char *op_name, const int multi_priority)
 
gboolean dt_ioppr_has_multiple_instances (GList *iop_order_list)
 
int dt_ioppr_get_iop_order (GList *iop_order_list, const char *op_name, const int multi_priority)
 
gboolean dt_ioppr_write_iop_order_list (GList *iop_order_list, const int32_t imgid)
 
gboolean dt_ioppr_write_iop_order (const dt_iop_order_t kind, GList *iop_order_list, const int32_t imgid)
 
voiddt_ioppr_serialize_iop_order_list (GList *iop_order_list, size_t *size)
 
GList * dt_ioppr_deserialize_iop_order_list (const char *buf, size_t size)
 
char * dt_ioppr_serialize_text_iop_order_list (GList *iop_order_list)
 
GList * dt_ioppr_deserialize_text_iop_order_list (const char *buf)
 
void dt_ioppr_insert_module_instance (struct dt_develop_t *dev, struct dt_iop_module_t *module)
 
void dt_ioppr_resync_modules_order (struct dt_develop_t *dev)
 
void dt_ioppr_resync_iop_list (struct dt_develop_t *dev)
 
void dt_ioppr_update_for_entries (struct dt_develop_t *dev, GList *entry_list, gboolean append)
 
void dt_ioppr_update_for_style_items (struct dt_develop_t *dev, GList *st_items, gboolean append)
 
void dt_ioppr_update_for_modules (struct dt_develop_t *dev, GList *modules, gboolean append)
 
void dt_ioppr_check_duplicate_iop_order (GList **_iop_list, GList *history_list)
 
void dt_ioppr_set_default_iop_order (struct 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_multi_instance_iop_order_list (GList *iop_order_list, GList *multi_instance_list)
 
int dt_ioppr_check_so_iop_order (GList *iop_list, GList *iop_order_list)
 
GList * dt_ioppr_get_iop_order_rules ()
 
GList * dt_ioppr_iop_order_copy_deep (GList *iop_order_list)
 
gint dt_sort_iop_by_order (gconstpointer a, gconstpointer b)
 
gint dt_sort_iop_list_by_order_f (gconstpointer a, gconstpointer b)
 
gboolean dt_ioppr_check_can_move_before_iop (GList *iop_list, struct dt_iop_module_t *module, struct dt_iop_module_t *module_next)
 
gboolean dt_ioppr_check_can_move_after_iop (GList *iop_list, struct dt_iop_module_t *module, struct 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)
 
gboolean dt_ioppr_move_iop_after (struct dt_develop_t *dev, struct dt_iop_module_t *module, struct dt_iop_module_t *module_prev)
 
int dt_ioppr_check_iop_order (struct dt_develop_t *dev, const int32_t imgid, const char *msg)
 
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)
 

Typedef Documentation

◆ dt_iop_order_entry_t

◆ dt_iop_order_rule_t

◆ dt_iop_order_t

Enumeration Type Documentation

◆ dt_iop_order_t

Enumerator
DT_IOP_ORDER_CUSTOM 
DT_IOP_ORDER_LEGACY 
DT_IOP_ORDER_V30 
DT_IOP_ORDER_V30_JPG 
DT_IOP_ORDER_LAST 

Function Documentation

◆ dt_iop_order_string()

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().

◆ dt_ioppr_change_iop_order()

◆ dt_ioppr_check_can_move_after_iop()

gboolean dt_ioppr_check_can_move_after_iop ( GList *  iop_list,
struct dt_iop_module_t module,
struct dt_iop_module_t module_prev 
)

◆ dt_ioppr_check_can_move_before_iop()

gboolean dt_ioppr_check_can_move_before_iop ( GList *  iop_list,
struct dt_iop_module_t module,
struct dt_iop_module_t module_next 
)

◆ dt_ioppr_check_duplicate_iop_order()

void dt_ioppr_check_duplicate_iop_order ( GList **  _iop_list,
GList *  history_list 
)

◆ dt_ioppr_check_iop_order()

◆ dt_ioppr_check_so_iop_order()

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().

◆ dt_ioppr_deserialize_iop_order_list()

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().

◆ dt_ioppr_deserialize_text_iop_order_list()

◆ dt_ioppr_extract_multi_instances_list()

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().

◆ dt_ioppr_get_iop_order()

int dt_ioppr_get_iop_order ( GList *  iop_order_list,
const char *  op_name,
const int  multi_priority 
)

◆ dt_ioppr_get_iop_order_entry()

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().

◆ dt_ioppr_get_iop_order_link()

GList * dt_ioppr_get_iop_order_link ( GList *  iop_order_list,
const char *  op_name,
const int  multi_priority 
)

◆ dt_ioppr_get_iop_order_list()

◆ dt_ioppr_get_iop_order_list_kind()

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().

◆ dt_ioppr_get_iop_order_list_version()

GList * dt_ioppr_get_iop_order_list_version ( dt_iop_order_t  version)

◆ dt_ioppr_get_iop_order_rules()

GList * dt_ioppr_get_iop_order_rules ( )

◆ dt_ioppr_get_iop_order_version()

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().

◆ dt_ioppr_has_iop_order_list()

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().

◆ dt_ioppr_has_multiple_instances()

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

References FALSE, and TRUE.

Referenced by _exif_xmp_read_data(), _exif_xmp_read_data_export(), and dt_ioppr_write_iop_order().

◆ dt_ioppr_insert_module_instance()

void dt_ioppr_insert_module_instance ( struct dt_develop_t dev,
struct dt_iop_module_t module 
)

◆ dt_ioppr_iop_order_copy_deep()

GList * dt_ioppr_iop_order_copy_deep ( GList *  iop_order_list)

◆ 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().

◆ dt_ioppr_migrate_iop_order()

void dt_ioppr_migrate_iop_order ( struct dt_develop_t dev,
const int32_t  imgid 
)

◆ dt_ioppr_move_iop_after()

◆ dt_ioppr_move_iop_before()

gboolean dt_ioppr_move_iop_before ( struct dt_develop_t dev,
struct dt_iop_module_t module,
struct dt_iop_module_t module_next 
)

◆ dt_ioppr_print_history_iop_order()

void dt_ioppr_print_history_iop_order ( GList *  history_list,
const char *  msg 
)

◆ dt_ioppr_print_iop_order()

void dt_ioppr_print_iop_order ( GList *  iop_order_list,
const char *  msg 
)

◆ dt_ioppr_print_module_iop_order()

void dt_ioppr_print_module_iop_order ( GList *  iop_list,
const char *  msg 
)

◆ dt_ioppr_resync_iop_list()

void dt_ioppr_resync_iop_list ( struct dt_develop_t dev)

◆ dt_ioppr_resync_modules_order()

◆ dt_ioppr_serialize_iop_order_list()

void * dt_ioppr_serialize_iop_order_list ( GList *  iop_order_list,
size_t *  size 
)

serialize list, used for presets

References size.

Referenced by get_params(), and init_presets().

◆ dt_ioppr_serialize_text_iop_order_list()

char * dt_ioppr_serialize_text_iop_order_list ( GList *  iop_order_list)

◆ dt_ioppr_set_default_iop_order()

void dt_ioppr_set_default_iop_order ( struct dt_develop_t dev,
const int32_t  imgid 
)

◆ dt_ioppr_update_for_entries()

void dt_ioppr_update_for_entries ( struct dt_develop_t dev,
GList *  entry_list,
gboolean  append 
)

◆ dt_ioppr_update_for_modules()

◆ dt_ioppr_update_for_style_items()

◆ dt_ioppr_write_iop_order()

◆ dt_ioppr_write_iop_order_list()

gboolean dt_ioppr_write_iop_order_list ( GList *  iop_order_list,
const int32_t  imgid 
)

◆ dt_sort_iop_by_order()

gint dt_sort_iop_by_order ( gconstpointer  a,
gconstpointer  b 
)

◆ dt_sort_iop_list_by_order_f()

gint dt_sort_iop_list_by_order_f ( gconstpointer  a,
gconstpointer  b 
)