Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_control_t Struct Reference

#include <control.h>

+ Collaboration diagram for dt_control_t:

Data Fields

double tabborder
 
int32_t width
 
int32_t height
 
pthread_t gui_thread
 
int button_down
 
int button_down_which
 
int button_type
 
double button_x
 
double button_y
 
int history_start
 
int32_t mouse_over_id
 
int32_t keyboard_over_id
 
struct { 
 
   gboolean   lock 
 
   dt_cursor_t   shape 
 
   dt_cursor_t   current_shape 
 
   gchar *   shape_str 
 
   gchar *   current_shape_str 
 
   gboolean   hide 
 
cursor 
 
int log_pos
 
int log_ack
 
char log_message [10][1000]
 
guint log_message_timeout_id
 
int log_busy
 
dt_pthread_mutex_t log_mutex
 
int toast_pos
 
int toast_ack
 
char toast_message [10][300]
 
guint toast_message_timeout_id
 
int toast_busy
 
dt_pthread_mutex_t toast_mutex
 
dt_pthread_mutex_t global_mutex
 
dt_pthread_mutex_t image_mutex
 
double last_expose_time
 
int32_t running
 
gboolean export_scheduled
 
dt_pthread_mutex_t queue_mutex
 
dt_pthread_mutex_t cond_mutex
 
dt_pthread_mutex_t run_mutex
 
pthread_cond_t cond
 
int32_t num_threads
 
pthread_t * thread
 
pthread_t kick_on_workers_thread
 
dt_job_t ** job
 
GList * queues [DT_JOB_QUEUE_MAX]
 
size_t queue_length [DT_JOB_QUEUE_MAX]
 
dt_pthread_mutex_t res_mutex
 
dt_job_tjob_res [DT_CTL_WORKER_RESERVED]
 
uint8_t new_res [DT_CTL_WORKER_RESERVED]
 
pthread_t thread_res [DT_CTL_WORKER_RESERVED]
 
struct { 
 
   GList *   list 
 
   size_t   list_length 
 
   size_t   n_progress_bar 
 
   double   global_progress 
 
   dt_pthread_mutex_t   mutex 
 
   struct { 
 
      dt_lib_module_t *void *(*   added )(dt_lib_module_t *self,
          gboolean has_progress_bar,
          const gchar *message) 
 
      void(*   destroyed )(dt_lib_module_t *self,
          struct
         dt_lib_backgroundjob_element_t
         *instance) 
 
      void(*   cancellable )(dt_lib_module_t *self,
          struct
         dt_lib_backgroundjob_element_t
         *instance, dt_progress_t
         *progress) 
 
      void(*   updated )(dt_lib_module_t *self,
          struct
         dt_lib_backgroundjob_element_t
         *instance, double value
 
      void(*   message_updated )(dt_lib_module_t *self,
          struct
         dt_lib_backgroundjob_element_t
         *instance, const char *message) 
 
   }   proxy 
 
progress_system 
 
struct { 
 
   struct { 
 
      dt_lib_module_t *void(*   set_message )(dt_lib_module_t *self, const
         gchar *message) 
 
   }   hinter 
 
proxy 
 

Detailed Description

this manages everything time-consuming. distributes the jobs on all processors, performs scheduling.

Definition at line 210 of file control.h.

Field Documentation

◆ added

dt_lib_module_t *void *(* dt_control_t::added) (dt_lib_module_t *self, gboolean has_progress_bar, const gchar *message)

Definition at line 286 of file control.h.

Referenced by dt_control_progress_create(), gui_cleanup(), and gui_init().

◆ button_down

◆ button_down_which

◆ button_type

int dt_control_t::button_type

Definition at line 216 of file control.h.

Referenced by dt_control_button_pressed().

◆ button_x

double dt_control_t::button_x

Definition at line 217 of file control.h.

Referenced by _darkroom_edge_pan_apply(), dt_control_button_pressed(), and mouse_moved().

◆ button_y

double dt_control_t::button_y

Definition at line 217 of file control.h.

Referenced by _darkroom_edge_pan_apply(), dt_control_button_pressed(), and mouse_moved().

◆ cancellable

void(* dt_control_t::cancellable) (dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance, dt_progress_t *progress)

Definition at line 288 of file control.h.

Referenced by dt_control_progress_make_cancellable(), gui_cleanup(), and gui_init().

◆ cond

◆ cond_mutex

◆ current_shape

◆ current_shape_str

gchar* dt_control_t::current_shape_str

◆ [struct]

◆ destroyed

void(* dt_control_t::destroyed) (dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance)

Definition at line 287 of file control.h.

Referenced by dt_control_progress_destroy(), gui_cleanup(), and gui_init().

◆ export_scheduled

gboolean dt_control_t::export_scheduled

Definition at line 255 of file control.h.

Referenced by dt_control_jobs_cleanup(), dt_control_run_job(), and dt_control_schedule_job().

◆ global_mutex

dt_pthread_mutex_t dt_control_t::global_mutex

◆ global_progress

double dt_control_t::global_progress

Definition at line 275 of file control.h.

Referenced by global_progress_end(), global_progress_set(), and global_progress_start().

◆ gui_thread

pthread_t dt_control_t::gui_thread

Definition at line 215 of file control.h.

Referenced by dt_control_init(), and dt_control_signal_raise().

◆ height

int32_t dt_control_t::height

Definition at line 214 of file control.h.

Referenced by dt_control_button_pressed(), and dt_control_expose().

◆ hide

gboolean dt_control_t::hide

Force a blank GTK cursor while custom drawing owns the visible cursor.

Definition at line 232 of file control.h.

Referenced by dt_control_change_cursor_by_name(), dt_control_change_cursor_EXT(), dt_control_init(), and dt_control_set_cursor_visible_EXT().

◆ [struct]

struct { ... } dt_control_t::hinter

◆ history_start

int dt_control_t::history_start

Definition at line 218 of file control.h.

◆ image_mutex

dt_pthread_mutex_t dt_control_t::image_mutex

Definition at line 250 of file control.h.

◆ job

◆ job_res

dt_job_t* dt_control_t::job_res[DT_CTL_WORKER_RESERVED]

Definition at line 266 of file control.h.

Referenced by dt_control_add_job_res(), dt_control_jobs_init(), and dt_control_run_job_res().

◆ keyboard_over_id

int32_t dt_control_t::keyboard_over_id

◆ kick_on_workers_thread

pthread_t dt_control_t::kick_on_workers_thread

Definition at line 259 of file control.h.

Referenced by dt_control_jobs_init(), and dt_control_shutdown().

◆ last_expose_time

double dt_control_t::last_expose_time

Definition at line 251 of file control.h.

◆ list

GList* dt_control_t::list

◆ list_length

size_t dt_control_t::list_length

Definition at line 273 of file control.h.

Referenced by dt_control_progress_create(), and dt_control_progress_destroy().

◆ lock

gboolean dt_control_t::lock

Prevent cursor shape commits while another subsystem owns the cursor.

Definition at line 225 of file control.h.

Referenced by dt_control_allow_change_cursor(), dt_control_change_cursor_by_name(), dt_control_change_cursor_EXT(), dt_control_forbid_change_cursor(), and dt_control_init().

◆ log_ack

◆ log_busy

int dt_control_t::log_busy

◆ log_message

char dt_control_t::log_message[10][1000]

Definition at line 237 of file control.h.

Referenced by _ui_log_redraw_callback(), and dt_control_log().

◆ log_message_timeout_id

guint dt_control_t::log_message_timeout_id

◆ log_mutex

◆ log_pos

◆ message_updated

void(* dt_control_t::message_updated) (dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance, const char *message)

Definition at line 291 of file control.h.

Referenced by dt_control_progress_set_message(), and gui_init().

◆ mouse_over_id

int32_t dt_control_t::mouse_over_id

◆ mutex

◆ n_progress_bar

size_t dt_control_t::n_progress_bar

Definition at line 274 of file control.h.

Referenced by global_progress_end(), and global_progress_start().

◆ new_res

uint8_t dt_control_t::new_res[DT_CTL_WORKER_RESERVED]

Definition at line 267 of file control.h.

Referenced by dt_control_add_job_res(), dt_control_jobs_init(), and dt_control_run_job_res().

◆ num_threads

int32_t dt_control_t::num_threads

◆ [struct]

◆ [struct] [1/2]

◆ [struct] [2/2]

struct { ... } dt_control_t::proxy
Todo:
: this is unused now, but deleting it makes g_free(darktable.control)

◆ queue_length

size_t dt_control_t::queue_length[DT_JOB_QUEUE_MAX]

Definition at line 263 of file control.h.

Referenced by dt_control_add_job(), and dt_control_schedule_job().

◆ queue_mutex

dt_pthread_mutex_t dt_control_t::queue_mutex

◆ queues

GList* dt_control_t::queues[DT_JOB_QUEUE_MAX]

Definition at line 262 of file control.h.

Referenced by dt_control_add_job(), dt_control_jobs_cleanup(), and dt_control_schedule_job().

◆ res_mutex

dt_pthread_mutex_t dt_control_t::res_mutex

◆ run_mutex

dt_pthread_mutex_t dt_control_t::run_mutex

◆ running

◆ set_message

dt_lib_module_t *void(* dt_control_t::set_message) (dt_lib_module_t *self, const gchar *message)

Definition at line 306 of file control.h.

◆ shape

dt_cursor_t dt_control_t::shape

Cursor shape to draw at the end of mouse_moved.

Definition at line 227 of file control.h.

Referenced by dt_control_commit_cursor(), dt_control_init(), and dt_control_queue_cursor_EXT().

◆ shape_str

◆ tabborder

double dt_control_t::tabborder

Definition at line 213 of file control.h.

Referenced by dt_gui_gtk_run().

◆ thread

pthread_t* dt_control_t::thread

Definition at line 259 of file control.h.

Referenced by dt_control_jobs_cleanup(), dt_control_jobs_init(), and dt_control_shutdown().

◆ thread_res

pthread_t dt_control_t::thread_res[DT_CTL_WORKER_RESERVED]

Definition at line 268 of file control.h.

Referenced by dt_control_jobs_init(), and dt_control_shutdown().

◆ toast_ack

◆ toast_busy

int dt_control_t::toast_busy

◆ toast_message

char dt_control_t::toast_message[10][300]

Definition at line 244 of file control.h.

Referenced by _toast_log(), and _ui_toast_redraw_callback().

◆ toast_message_timeout_id

guint dt_control_t::toast_message_timeout_id

◆ toast_mutex

◆ toast_pos

◆ updated

void(* dt_control_t::updated) (dt_lib_module_t *self, struct dt_lib_backgroundjob_element_t *instance, double value)

Definition at line 290 of file control.h.

Referenced by dt_control_progress_set_progress(), gui_cleanup(), and gui_init().

◆ width

int32_t dt_control_t::width

Definition at line 214 of file control.h.

Referenced by dt_control_expose().


The documentation for this struct was generated from the following file: