![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include <gtk/gtk.h>#include <string.h>#include <stdio.h>#include <librsvg/rsvg.h>
Include dependency graph for utility.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Typedefs | |
| typedef enum dt_logo_season_t | dt_logo_season_t |
Enumerations | |
| enum | dt_logo_season_t { DT_LOGO_SEASON_NONE = 0 , DT_LOGO_SEASON_HALLOWEEN = 1 , DT_LOGO_SEASON_XMAS = 2 , DT_LOGO_SEASON_EASTER = 3 } |
Functions | |
| size_t | safe_strlen (const char *str) |
| check if the string is empty or NULL before calling strlen() | |
| int | dt_util_streams_equal (FILE *first, FILE *second) |
| Compare the remaining bytes of two borrowed binary streams. | |
| gchar * | dt_util_dstrcat (gchar *str, const gchar *format,...) __attribute__((format(printf |
| gchar gchar * | dt_util_str_replace (const gchar *string, const gchar *pattern, const gchar *substitute) |
| guint | dt_util_str_occurence (const gchar *haystack, const gchar *needle) |
| gchar * | dt_util_glist_to_str (const gchar *separator, GList *items) |
| GList * | dt_util_str_to_glist (const gchar *separator, const gchar *text) |
| GList * | dt_util_glist_uniq (GList *items) |
| gchar * | dt_util_fix_path (const gchar *path) |
| size_t | dt_utf8_strlcpy (char *dest, const char *src, size_t n) |
| gboolean | dt_util_test_image_file (const char *filename) |
| gboolean | dt_util_test_writable_dir (const char *path) |
| gboolean | dt_util_dir_exist (const char *dir) |
| gboolean | dt_util_is_dir_empty (const char *dirname) |
| gchar * | dt_util_foo_to_utf8 (const char *string) |
| guint | dt_util_string_count_char (const char *text, const char needle) |
| void | dt_util_str_to_loc_numbers_format (char *data) |
| dt_logo_season_t | dt_util_get_logo_season (void) |
| cairo_surface_t * | dt_util_get_logo (const float size) |
| cairo_surface_t * | dt_util_get_logo_text (const float size) |
| gchar * | dt_util_latitude_str (float latitude) |
| gchar * | dt_util_longitude_str (float longitude) |
| gchar * | dt_util_elevation_str (float elevation) |
| double | dt_util_gps_string_to_number (const gchar *input) |
| gboolean | dt_util_gps_rationale_to_number (const double r0_1, const double r0_2, const double r1_1, const double r1_2, const double r2_1, const double r2_2, char sign, double *result) |
| gboolean | dt_util_gps_elevation_to_number (const double r_1, const double r_2, char sign, double *result) |
| gchar * | dt_util_normalize_path (const gchar *input) |
| gchar * | dt_util_path_get_dirname (const gchar *filename) |
| gchar * | dt_util_format_exposure (const float exposuretime) |
| char * | dt_read_file (const char *filename, size_t *filesize) |
| void | dt_copy_file (const char *src, const char *dst) |
| void | dt_copy_resource_file (const char *src, const char *dst) |
| RsvgDimensionData | dt_get_svg_dimension (RsvgHandle *svg) |
| void | dt_render_svg (RsvgHandle *svg, cairo_t *cr, double width, double height, double offset_x, double offset_y) |
| const char * | dt_util_path_get_extension (const char *path) |
| Locate a normal filename extension in a path basename. | |
| gboolean | dt_has_same_path_basename (const char *filename1, const char *filename2) |
| Test whether two paths are byte-identical before their normal extensions. | |
| char * | dt_copy_filename_extension (const char *filename1, const char *filename2) |
| Replace filename1's normal extension with filename2's normal extension. | |
| gchar * | dt_str_replace (const char *string, const char *search, const char *replace) |
| gchar * | dt_cleanup_separators (gchar *string) |
| gchar * | dt_util_remove_whitespace (const gchar *path) |
| GDateTime * | dt_util_get_file_datetime (const char *const path) |
| typedef enum dt_logo_season_t dt_logo_season_t |
| enum dt_logo_season_t |
| gchar * dt_cleanup_separators | ( | gchar * | string | ) |
Definition at line 1091 of file utility.c.
References dt_str_replace().
Referenced by _path_cleanup(), and button_clicked().
| void dt_copy_file | ( | const char * | src, |
| const char * | dst | ||
| ) |
Definition at line 943 of file utility.c.
References IS_NULL_PTR.
Referenced by dt_copy_resource_file(), and write_image().
| char * dt_copy_filename_extension | ( | const char * | filename1, |
| const char * | filename2 | ||
| ) |
Replace filename1's normal extension with filename2's normal extension.
Definition at line 1062 of file utility.c.
References dt_util_path_get_extension(), and IS_NULL_PTR.
Referenced by _test_extension_contract(), and _test_extension_utility_rejections().
| void dt_copy_resource_file | ( | const char * | src, |
| const char * | dst | ||
| ) |
Definition at line 975 of file utility.c.
References dt_copy_file(), dt_free, dt_loc_get_datadir(), and DT_PATH_MAX.
Referenced by finalize_store().
| RsvgDimensionData dt_get_svg_dimension | ( | RsvgHandle * | svg | ) |
Definition at line 984 of file utility.c.
References dimension(), height, and width.
Referenced by _util_get_svg_img(), and process().
| gboolean dt_has_same_path_basename | ( | const char * | filename1, |
| const char * | filename2 | ||
| ) |
Test whether two paths are byte-identical before their normal extensions.
Definition at line 1049 of file utility.c.
References dt_util_path_get_extension(), FALSE, and IS_NULL_PTR.
Referenced by _test_extension_contract(), and _test_extension_utility_rejections().
| char * dt_read_file | ( | const char * | filename, |
| size_t * | filesize | ||
| ) |
Definition at line 919 of file utility.c.
References dt_free, and IS_NULL_PTR.
Referenced by _read_xmp_packet(), dt_exif_xmp_write_with_imgpath(), dt_pdf_add_icc(), and load_profile_from_dir().
| gchar * dt_str_replace | ( | const char * | string, |
| const char * | search, | ||
| const char * | replace | ||
| ) |
| size_t dt_utf8_strlcpy | ( | char * | dest, |
| const char * | src, | ||
| size_t | n | ||
| ) |
dt_utf8_strlcpy: @dest: buffer to fill with characters from @src @src: UTF-8 encoded string
: size of @dest
Like the BSD-standard strlcpy() function, but is careful not to truncate in the middle of a character. The @src string must be valid UTF-8 encoded text. (Use g_utf8_validate() on all text before trying to use UTF-8 utility functions with it.)
Return value: strlen(src) Implementation by Philip Page, see https://bugzilla.gnome.org/show_bug.cgi?id=520116
Definition at line 316 of file utility.c.
References n.
Referenced by _get_profiles().
| gboolean dt_util_dir_exist | ( | const char * | dir | ) |
returns true if the path represents directories
Definition at line 394 of file utility.c.
References IS_NULL_PTR.
Referenced by _import_copy_file(), and dt_collection_load_filmroll().
| gchar * dt_util_dstrcat | ( | gchar * | str, |
| const gchar * | format, | ||
| ... | |||
| ) |
dynamically allocate and concatenate string
| gchar * dt_util_elevation_str | ( | float | elevation | ) |
Definition at line 613 of file utility.c.
References OSD_ELEVATION_ASL, and OSD_ELEVATION_BSL.
Referenced by _metadata_view_update_values().
| gchar * dt_util_fix_path | ( | const gchar * | path | ) |
fixes the given path by replacing a possible tilde with the correct home directory
Definition at line 249 of file utility.c.
References dt_free, dt_loc_get_home_dir(), and IS_NULL_PTR.
Referenced by _update_preview(), dt_loc_init_generic(), and store().
| gchar * dt_util_foo_to_utf8 | ( | const char * | string | ) |
returns a valid UTF-8 string for the given char array. has to be freed with g_free().
Definition at line 419 of file utility.c.
References IS_NULL_PTR.
Referenced by _exif_decode_iptc_data(), and _sanitize_db().
| gchar * dt_util_format_exposure | ( | const float | exposuretime | ) |
Definition at line 891 of file utility.c.
Referenced by _create_alternative_view(), _expand_exif_and_gps(), _metadata_view_update_values(), dt_image_print_exif(), and update_preview_cb().
| GDateTime * dt_util_get_file_datetime | ( | const char *const | path | ) |
Definition at line 815 of file utility.c.
References error(), and IS_NULL_PTR.
Referenced by _init_expansion().
| cairo_surface_t * dt_util_get_logo | ( | const float | size | ) |
Definition at line 547 of file utility.c.
References _util_get_svg_img(), DT_LOGO_SEASON_NONE, dt_util_get_logo_season(), and size.
Referenced by size_allocate_callback().
| dt_logo_season_t dt_util_get_logo_season | ( | void | ) |
returns the dt logo season to use right now
Definition at line 461 of file utility.c.
References DT_LOGO_SEASON_EASTER, DT_LOGO_SEASON_HALLOWEEN, DT_LOGO_SEASON_NONE, DT_LOGO_SEASON_XMAS, and easter().
Referenced by dt_util_get_logo().
| cairo_surface_t * dt_util_get_logo_text | ( | const float | size | ) |
Definition at line 559 of file utility.c.
References _util_get_svg_img(), and size.
| gchar * dt_util_glist_to_str | ( | const gchar * | separator, |
| GList * | items | ||
| ) |
generate a string from the elements of the list, separated by separator. the result has to be freed.
Definition at line 193 of file utility.c.
References dt_free, i, IS_NULL_PTR, and items.
Referenced by _event_dnd_get(), _expand_geometry_and_misc(), _expand_rating_and_metadata(), _save_last_tag_used(), dt_history_get_items_as_string(), dt_styles_get_item_list_as_string(), dt_tag_import(), and get_query_string().
| GList * dt_util_glist_uniq | ( | GList * | items | ) |
take a list of strings and remove all duplicates. the result will be sorted.
Definition at line 220 of file utility.c.
References dt_free, IS_NULL_PTR, items, and value.
Referenced by dt_tag_get_list(), and dt_tag_get_list_export().
| gboolean dt_util_gps_elevation_to_number | ( | const double | r_1, |
| const double | r_2, | ||
| char | sign, | ||
| double * | result | ||
| ) |
Definition at line 688 of file utility.c.
References FALSE, IS_NULL_PTR, res, sign, and TRUE.
Referenced by _exif_decode_exif_data(), and dt_exif_decode_xmp_data().
| gboolean dt_util_gps_rationale_to_number | ( | const double | r0_1, |
| const double | r0_2, | ||
| const double | r1_1, | ||
| const double | r1_2, | ||
| const double | r2_1, | ||
| const double | r2_2, | ||
| char | sign, | ||
| double * | result | ||
| ) |
Definition at line 650 of file utility.c.
References FALSE, IS_NULL_PTR, min, res, sign, and TRUE.
Referenced by _exif_decode_exif_data().
| double dt_util_gps_string_to_number | ( | const gchar * | input | ) |
Definition at line 632 of file utility.c.
References res.
Referenced by _lrop(), and dt_exif_decode_xmp_data().
| gboolean dt_util_is_dir_empty | ( | const char * | dirname | ) |
returns true if dirname is empty
Definition at line 402 of file utility.c.
References FALSE, IS_NULL_PTR, n, and TRUE.
Referenced by dt_film_remove_empty().
| gchar * dt_util_latitude_str | ( | float | latitude | ) |
Definition at line 577 of file utility.c.
References OSD_COORDINATES_CHR_N, and OSD_COORDINATES_CHR_S.
Referenced by _lib_location_place_widget_new(), _metadata_view_update_values(), _toast_log_lat_lon(), and _variables_get_latitude().
| gchar * dt_util_longitude_str | ( | float | longitude | ) |
Definition at line 595 of file utility.c.
References OSD_COORDINATES_CHR_E, and OSD_COORDINATES_CHR_W.
Referenced by _lib_location_place_widget_new(), _metadata_view_update_values(), _toast_log_lat_lon(), and _variables_get_longitude().
| gchar * dt_util_normalize_path | ( | const gchar * | input | ) |
Definition at line 706 of file utility.c.
References dt_free, FALSE, g_realpath(), and IS_NULL_PTR.
Referenced by _image_import_internal(), dt_build_filename_from_pattern(), dt_conf_expand_default_dir(), dt_import_duplicate_get_dest_name(), dt_init(), dt_load_from_string(), and dt_pathlist_import_create().
| gchar * dt_util_path_get_dirname | ( | const gchar * | filename | ) |
Definition at line 800 of file utility.c.
Referenced by _import_job(), and update_preview_cb().
| const char * dt_util_path_get_extension | ( | const char * | path | ) |
Locate a normal filename extension in a path basename.
Both '/' and '\' delimit the basename on every platform. The final '.' qualifies only when it is not the basename's first byte and at least one byte follows it. Thus extensionless names, single-component dotfiles, empty basenames, and trailing dots have no extension; .profile.jpg has extension jpg.
| path | Caller-owned, NUL-terminated path. The public caller contract requires a non-NULL pointer. |
path is valid and must never be freed or modified through this return value. Definition at line 1033 of file utility.c.
References IS_NULL_PTR.
Referenced by _expand_file_and_folder(), _image_import_internal(), _init_expansion(), _test_extension_contract(), dt_copy_filename_extension(), dt_has_same_path_basename(), and dt_import_sequence_assign().
| gchar * dt_util_remove_whitespace | ( | const gchar * | path | ) |
| guint dt_util_str_occurence | ( | const gchar * | haystack, |
| const gchar * | needle | ||
| ) |
count the number of occurrences of needle in haystack
Definition at line 146 of file utility.c.
Referenced by dt_util_str_replace().
| gchar gchar * dt_util_str_replace | ( | const gchar * | string, |
| const gchar * | pattern, | ||
| const gchar * | substitute | ||
| ) |
replace all occurrences of pattern by substitute. the returned value has to be freed after use.
Definition at line 163 of file utility.c.
References dt_util_str_occurence(), and p.
Referenced by _expand_exif_and_gps(), _string_escape(), _string_substitute(), _variable_get_value(), button_clicked(), dt_bauhaus_combobox_from_params(), dt_bauhaus_slider_from_params(), dt_bauhaus_toggle_from_params(), dt_gui_load_theme(), dt_image_camera_missing_sample_message(), and dt_opencl_device_init().
| GList * dt_util_str_to_glist | ( | const gchar * | separator, |
| const gchar * | text | ||
| ) |
generate a GList from the elements of a string, separated by separator. the result has to be freed.
Definition at line 856 of file utility.c.
References dt_free, and IS_NULL_PTR.
Referenced by _apply_preferences(), _save_last_tag_used(), dt_bauhaus_combobox_from_conf(), dt_control_export_job_run(), dt_gui_preferences_enum(), dt_ioppr_deserialize_text_iop_order_list(), dt_lib_export_metadata_configuration_dialog(), dt_lib_export_metadata_set_conf(), get_query_string(), and list_match_string().
| void dt_util_str_to_loc_numbers_format | ( | char * | data | ) |
Definition at line 848 of file utility.c.
Referenced by dt_get_printer_info().
| int dt_util_streams_equal | ( | FILE * | first, |
| FILE * | second | ||
| ) |
Compare the remaining bytes of two borrowed binary streams.
Reads bounded chunks until a mismatch or EOF, without closing either stream. The caller retains ownership and decides whether equality permits deletion.
Definition at line 94 of file utility.c.
References dt_free, and IS_NULL_PTR.
Referenced by _import_image(), and _test_stream_comparison_boundaries().
| guint dt_util_string_count_char | ( | const char * | text, |
| const char | needle | ||
| ) |
returns the number of occurence of character in a text.
Definition at line 837 of file utility.c.
Referenced by dt_tag_get_subtags().
| gboolean dt_util_test_image_file | ( | const char * | filename | ) |
returns true if a file is regular, has read access and a filesize > 0
Definition at line 345 of file utility.c.
References dt_free, and FALSE.
Referenced by _generate_one(), _image_import_internal(), _prerender_job(), dt_image_find_xmps(), and preload_image_cache().
| gboolean dt_util_test_writable_dir | ( | const char * | path | ) |
returns true if the path represents a directory with write access
Definition at line 371 of file utility.c.
References dt_free, FALSE, IS_NULL_PTR, and TRUE.
Referenced by _directory_failure_setup(), _import_copy_file(), dt_folder_survey_can_start(), and dt_folder_survey_destination_preview().
| size_t safe_strlen | ( | const char * | str | ) |
check if the string is empty or NULL before calling strlen()
| str |
Definition at line 117 of file utility.c.
Referenced by dt_control_merge_hdr_job_run(), and dt_import_duplicate_get_dest_name().