Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
utility.h File Reference
#include <gtk/gtk.h>
#include <string.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()
 
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)
 
gboolean dt_has_same_path_basename (const char *filename1, const char *filename2)
 
char * dt_copy_filename_extension (const char *filename1, const char *filename2)
 
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 Documentation

◆ dt_logo_season_t

Enumeration Type Documentation

◆ dt_logo_season_t

Enumerator
DT_LOGO_SEASON_NONE 
DT_LOGO_SEASON_HALLOWEEN 
DT_LOGO_SEASON_XMAS 
DT_LOGO_SEASON_EASTER 

Function Documentation

◆ dt_cleanup_separators()

gchar * dt_cleanup_separators ( gchar *  string)

References dt_str_replace().

Referenced by _path_cleanup().

◆ dt_copy_file()

void dt_copy_file ( const char *  src,
const char *  dst 
)

◆ dt_copy_filename_extension()

char * dt_copy_filename_extension ( const char *  filename1,
const char *  filename2 
)

◆ dt_copy_resource_file()

void dt_copy_resource_file ( const char *  src,
const char *  dst 
)

◆ dt_get_svg_dimension()

RsvgDimensionData dt_get_svg_dimension ( RsvgHandle *  svg)

References dimension(), height, and width.

Referenced by _util_get_svg_img(), and process().

◆ dt_has_same_path_basename()

gboolean dt_has_same_path_basename ( const char *  filename1,
const char *  filename2 
)

References FALSE, and TRUE.

◆ dt_read_file()

char * dt_read_file ( const char *  filename,
size_t *  filesize 
)

◆ dt_render_svg()

void dt_render_svg ( RsvgHandle *  svg,
cairo_t *  cr,
double  width,
double  height,
double  offset_x,
double  offset_y 
)

References height, and width.

Referenced by _util_get_svg_img(), and process().

◆ dt_str_replace()

gchar * dt_str_replace ( const char *  string,
const char *  search,
const char *  replace 
)

Referenced by dt_cleanup_separators().

◆ dt_utf8_strlcpy()

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

Referenced by _get_profiles(), and gui_init().

◆ dt_util_dir_exist()

gboolean dt_util_dir_exist ( const char *  dir)

returns true if the path represents directories

Referenced by _import_copy_file(), and dt_collection_load_filmroll().

◆ dt_util_dstrcat()

gchar * dt_util_dstrcat ( gchar *  str,
const gchar *  format,
  ... 
)

dynamically allocate and concatenate string

◆ dt_util_elevation_str()

gchar * dt_util_elevation_str ( float  elevation)

◆ dt_util_fix_path()

gchar * dt_util_fix_path ( const gchar *  path)

fixes the given path by replacing a possible tilde with the correct home directory

References dt_loc_get_home_dir().

Referenced by dt_loc_init_generic(), films_new(), import_images(), and store().

◆ dt_util_foo_to_utf8()

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

Referenced by _exif_decode_iptc_data(), and _sanitize_db().

◆ dt_util_format_exposure()

gchar * dt_util_format_exposure ( const float  exposuretime)

◆ dt_util_get_file_datetime()

GDateTime * dt_util_get_file_datetime ( const char *const  path)

Referenced by _init_expansion().

◆ dt_util_get_logo()

cairo_surface_t * dt_util_get_logo ( const float  size)

◆ dt_util_get_logo_season()

dt_logo_season_t dt_util_get_logo_season ( void  )

returns the dt logo season to use right now

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

◆ dt_util_get_logo_text()

cairo_surface_t * dt_util_get_logo_text ( const float  size)

References _util_get_svg_img(), and size.

◆ dt_util_glist_to_str()

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.

References items.

Referenced by _event_dnd_get(), _get_base_value(), _save_last_tag_used(), dt_history_get_items_as_string(), dt_styles_get_item_list_as_string(), dt_tag_import(), get_query_string(), and store().

◆ dt_util_glist_uniq()

GList * dt_util_glist_uniq ( GList *  items)

take a list of strings and remove all duplicates. the result will be sorted.

References items.

Referenced by dt_tag_get_list(), and dt_tag_get_list_export().

◆ dt_util_gps_elevation_to_number()

gboolean dt_util_gps_elevation_to_number ( const double  r_1,
const double  r_2,
char  sign,
double result 
)

References FALSE, sign(), and TRUE.

Referenced by _exif_decode_exif_data(), and _exif_decode_xmp_data().

◆ dt_util_gps_rationale_to_number()

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 
)

References FALSE, sign(), and TRUE.

Referenced by _exif_decode_exif_data().

◆ dt_util_gps_string_to_number()

double dt_util_gps_string_to_number ( const gchar *  input)

Referenced by _exif_decode_xmp_data(), and _lrop().

◆ dt_util_is_dir_empty()

gboolean dt_util_is_dir_empty ( const char *  dirname)

returns true if dirname is empty

References FALSE, and TRUE.

Referenced by dt_film_remove_empty().

◆ dt_util_latitude_str()

◆ dt_util_longitude_str()

◆ dt_util_normalize_path()

◆ dt_util_path_get_dirname()

gchar * dt_util_path_get_dirname ( const gchar *  filename)

Referenced by _import_job(), and update_preview_cb().

◆ dt_util_remove_whitespace()

gchar * dt_util_remove_whitespace ( const gchar *  path)

Referenced by _path_cleanup().

◆ dt_util_str_occurence()

guint dt_util_str_occurence ( const gchar *  haystack,
const gchar *  needle 
)

count the number of occurrences of needle in haystack

Referenced by dt_util_str_replace().

◆ dt_util_str_replace()

gchar gchar * dt_util_str_replace ( const gchar *  string,
const gchar *  pattern,
const gchar *  substitute 
)

◆ dt_util_str_to_glist()

GList * dt_util_str_to_glist ( const gchar *  separator,
const gchar *  text 
)

◆ dt_util_str_to_loc_numbers_format()

void dt_util_str_to_loc_numbers_format ( char *  data)

Referenced by dt_get_printer_info().

◆ dt_util_string_count_char()

guint dt_util_string_count_char ( const char *  text,
const char  needle 
)

returns the number of occurence of character in a text.

Referenced by dt_tag_get_subtags().

◆ dt_util_test_image_file()

gboolean dt_util_test_image_file ( const char *  filename)

returns true if a file is regular, has read access and a filesize > 0

References FALSE.

Referenced by _image_import_internal(), dt_image_find_xmps(), generate_cache(), generate_thumbnail_cache(), and preload_image_cache().

◆ dt_util_test_writable_dir()

gboolean dt_util_test_writable_dir ( const char *  path)

returns true if the path represents a directory with write access

References FALSE, and TRUE.

Referenced by _import_copy_file(), and generate_cache().

◆ safe_strlen()

size_t safe_strlen ( const char *  str)

check if the string is empty or NULL before calling strlen()

Parameters
str
Returns
size_t length of the string

Referenced by dt_control_merge_hdr_job_run(), and dt_import_duplicate_get_dest_name().