Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
view.c File Reference
#include "views/view.h"
#include "bauhaus/bauhaus.h"
#include "common/collection.h"
#include "common/darktable.h"
#include "common/debug.h"
#include "common/image_cache.h"
#include "common/mipmap_cache.h"
#include "common/module.h"
#include "common/selection.h"
#include "common/undo.h"
#include "common/usermanual_url.h"
#include "control/conf.h"
#include "control/control.h"
#include "develop/develop.h"
#include "dtgtk/button.h"
#include "dtgtk/expander.h"
#include "dtgtk/thumbtable.h"
#include "gui/draw.h"
#include "gui/gtk.h"
#include "libs/lib.h"
#include <glib.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include "views/view_api.h"
+ Include dependency graph for view.c:

Data Structures

struct  dt_view_surface_fetch_job_t
 
struct  dt_view_surface_fetch_commit_t
 

Macros

#define DECORATION_SIZE_LIMIT   40
 
#define INCLUDE_API_FROM_MODULE_LOAD   "view_load_module"
 

Typedefs

typedef struct dt_view_surface_fetch_job_t dt_view_surface_fetch_job_t
 
typedef struct dt_view_surface_fetch_commit_t dt_view_surface_fetch_commit_t
 

Functions

static void dt_view_manager_load_modules (dt_view_manager_t *vm)
 
static int dt_view_load_module (void *v, const char *libname, const char *module_name)
 
static void dt_view_unload_module (dt_view_t *view)
 
static int32_t _view_surface_fetch_job_run (dt_job_t *job)
 
void dt_view_manager_init (dt_view_manager_t *vm)
 
void dt_view_manager_gui_init (dt_view_manager_t *vm)
 
void dt_view_manager_cleanup (dt_view_manager_t *vm)
 
const dt_view_tdt_view_manager_get_current_view (dt_view_manager_t *vm)
 
static gint sort_views (gconstpointer a, gconstpointer b)
 
static uint32_t default_flags ()
 
void dt_vm_remove_child (GtkWidget *widget, gpointer data)
 
static void _remove_child (GtkWidget *child, GtkContainer *container)
 
int dt_view_manager_switch (dt_view_manager_t *vm, const char *view_name)
 
int dt_view_manager_switch_by_view (dt_view_manager_t *vm, const dt_view_t *nv)
 
const char * dt_view_manager_name (dt_view_manager_t *vm)
 
void dt_view_manager_expose (dt_view_manager_t *vm, cairo_t *cr, int32_t width, int32_t height, int32_t pointerx, int32_t pointery)
 
void dt_view_manager_reset (dt_view_manager_t *vm)
 
void dt_view_manager_mouse_leave (dt_view_manager_t *vm)
 
void dt_view_manager_mouse_enter (dt_view_manager_t *vm)
 
void dt_view_manager_mouse_moved (dt_view_manager_t *vm, double x, double y, double pressure, int which)
 
int dt_view_manager_key_pressed (dt_view_manager_t *vm, GdkEventKey *event)
 
int dt_view_manager_button_released (dt_view_manager_t *vm, double x, double y, int which, uint32_t state)
 
int dt_view_manager_button_pressed (dt_view_manager_t *vm, double x, double y, double pressure, int which, int type, uint32_t state)
 
void dt_view_manager_configure (dt_view_manager_t *vm, int width, int height)
 
int dt_view_manager_scrolled (dt_view_manager_t *vm, double x, double y, int up, int state, int delta_y)
 
static dt_view_surface_value_t _view_image_get_surface_internal (int32_t imgid, int width, int height, cairo_surface_t **surface, int zoom, dt_atomic_int *shutdown)
 
static void _destroy_surface (cairo_surface_t **surface)
 
static gboolean _view_surface_matches (const dt_view_image_surface_fetcher_t *fetcher, cairo_surface_t **target, const int32_t imgid, const int width, const int height, const int zoom)
 
static void _enqueue_surface_fetch (dt_view_image_surface_fetcher_t *fetcher)
 
static gboolean _view_surface_commit_main (gpointer user_data)
 
void dt_view_image_surface_fetcher_init (dt_view_image_surface_fetcher_t *fetcher)
 
void dt_view_image_surface_fetcher_cleanup (dt_view_image_surface_fetcher_t *fetcher)
 
void dt_view_image_surface_fetcher_invalidate (dt_view_image_surface_fetcher_t *fetcher, cairo_surface_t **target)
 
dt_view_surface_value_t dt_view_image_get_surface_async (dt_view_image_surface_fetcher_t *fetcher, int32_t imgid, int width, int height, cairo_surface_t **target, GtkWidget *widget, int zoom)
 
cairo_surface_t * dt_cairo_rescale_surface (cairo_surface_t *src, int dst_w, int dst_h)
 
void dt_cairo_sharpen_surface_rgb24 (cairo_surface_t *surface)
 
dt_view_surface_value_t dt_view_image_get_surface (int32_t imgid, int width, int height, cairo_surface_t **surface, int zoom)
 
char * dt_view_extend_modes_str (const char *name, const gboolean is_hdr, const gboolean is_bw, const gboolean is_bw_flow)
 
void dt_view_active_images_reset (gboolean raise)
 
void dt_view_active_images_add (int32_t imgid, gboolean raise)
 
void dt_view_active_images_remove (int32_t imgid, gboolean raise)
 
gboolean dt_view_active_images_has_imgid (int32_t imgid)
 
GList * dt_view_active_images_get_all ()
 
int32_t dt_view_active_images_get_first ()
 
void dt_view_active_images_set (GList *images, gboolean raise)
 
void dt_view_manager_module_toolbox_add (dt_view_manager_t *vm, GtkWidget *tool, dt_view_type_flags_t views)
 
dt_darkroom_layout_t dt_view_darkroom_get_layout (dt_view_manager_t *vm)
 
static void _audio_child_watch (GPid pid, gint status, gpointer data)
 
void dt_view_audio_start (dt_view_manager_t *vm, int32_t imgid)
 
void dt_view_audio_stop (dt_view_manager_t *vm)
 
void dt_view_image_info_update (int32_t imgid)
 

Macro Definition Documentation

◆ DECORATION_SIZE_LIMIT

#define DECORATION_SIZE_LIMIT   40

◆ INCLUDE_API_FROM_MODULE_LOAD

#define INCLUDE_API_FROM_MODULE_LOAD   "view_load_module"

Typedef Documentation

◆ dt_view_surface_fetch_commit_t

◆ dt_view_surface_fetch_job_t

Function Documentation

◆ _audio_child_watch()

static void _audio_child_watch ( GPid  pid,
gint  status,
gpointer  data 
)
static

◆ _destroy_surface()

static void _destroy_surface ( cairo_surface_t **  surface)
static

◆ _enqueue_surface_fetch()

◆ _remove_child()

static void _remove_child ( GtkWidget child,
GtkContainer *  container 
)
static

◆ _view_image_get_surface_internal()

◆ _view_surface_commit_main()

◆ _view_surface_fetch_job_run()

◆ _view_surface_matches()

static gboolean _view_surface_matches ( const dt_view_image_surface_fetcher_t fetcher,
cairo_surface_t **  target,
const int32_t  imgid,
const int  width,
const int  height,
const int  zoom 
)
static

◆ default_flags()

static uint32_t default_flags ( void  )
static

◆ dt_cairo_rescale_surface()

cairo_surface_t * dt_cairo_rescale_surface ( cairo_surface_t *  src,
int  dst_w,
int  dst_h 
)

rescale the image surface pending the real updated image availability

References double(), and MIN.

◆ dt_cairo_sharpen_surface_rgb24()

void dt_cairo_sharpen_surface_rgb24 ( cairo_surface_t *  surface)

◆ dt_view_active_images_add()

◆ dt_view_active_images_get_all()

◆ dt_view_active_images_get_first()

◆ dt_view_active_images_has_imgid()

gboolean dt_view_active_images_has_imgid ( int32_t  imgid)

◆ dt_view_active_images_remove()

◆ dt_view_active_images_reset()

◆ dt_view_active_images_set()

◆ dt_view_audio_start()

◆ dt_view_audio_stop()

◆ dt_view_darkroom_get_layout()

◆ dt_view_extend_modes_str()

char * dt_view_extend_modes_str ( const char *  name,
const gboolean  is_hdr,
const gboolean  is_bw,
const gboolean  is_bw_flow 
)

returns an uppercase string of file extension plus some flag information

References dt_free, and name.

Referenced by _thumb_write_extension().

◆ dt_view_image_get_surface()

dt_view_surface_value_t dt_view_image_get_surface ( int32_t  imgid,
int  width,
int  height,
cairo_surface_t **  surface,
int  zoom 
)

expose an image and return a cair0_surface.

References _view_image_get_surface_internal(), height, and width.

Referenced by _draw_transient_image(), and _get_image_buffer().

◆ dt_view_image_get_surface_async()

◆ dt_view_image_info_update()

◆ dt_view_image_surface_fetcher_cleanup()

◆ dt_view_image_surface_fetcher_init()

◆ dt_view_image_surface_fetcher_invalidate()

◆ dt_view_load_module()

static int dt_view_load_module ( void v,
const char *  libname,
const char *  module_name 
)
static

load a view module

Referenced by dt_view_manager_load_modules().

◆ dt_view_manager_button_pressed()

◆ dt_view_manager_button_released()

int dt_view_manager_button_released ( dt_view_manager_t vm,
double  x,
double  y,
int  which,
uint32_t  state 
)

◆ dt_view_manager_cleanup()

◆ dt_view_manager_configure()

void dt_view_manager_configure ( dt_view_manager_t vm,
int  width,
int  height 
)

◆ dt_view_manager_expose()

void dt_view_manager_expose ( dt_view_manager_t vm,
cairo_t *  cr,
int32_t  width,
int32_t  height,
int32_t  pointerx,
int32_t  pointery 
)

◆ dt_view_manager_get_current_view()

◆ dt_view_manager_gui_init()

void dt_view_manager_gui_init ( dt_view_manager_t vm)

References dt_view_t::data, view(), and dt_view_manager_t::views.

Referenced by dt_init().

◆ dt_view_manager_init()

◆ dt_view_manager_key_pressed()

int dt_view_manager_key_pressed ( dt_view_manager_t vm,
GdkEventKey *  event 
)

◆ dt_view_manager_load_modules()

static void dt_view_manager_load_modules ( dt_view_manager_t vm)
static

◆ dt_view_manager_module_toolbox_add()

void dt_view_manager_module_toolbox_add ( dt_view_manager_t vm,
GtkWidget tool,
dt_view_type_flags_t  view 
)

add widget to the current module toolbox

References dt_view_manager_t::add, dt_view_manager_t::module_toolbox, dt_view_manager_t::proxy, and views().

Referenced by gui_init().

◆ dt_view_manager_mouse_enter()

void dt_view_manager_mouse_enter ( dt_view_manager_t vm)

◆ dt_view_manager_mouse_leave()

◆ dt_view_manager_mouse_moved()

void dt_view_manager_mouse_moved ( dt_view_manager_t vm,
double  x,
double  y,
double  pressure,
int  which 
)

◆ dt_view_manager_name()

const char * dt_view_manager_name ( dt_view_manager_t vm)

return translated name.

References dt_view_manager_t::current_view, IS_NULL_PTR, and dt_view_t::module_name.

Referenced by dt_gui_refocus_center().

◆ dt_view_manager_reset()

void dt_view_manager_reset ( dt_view_manager_t vm)

reset current view.

References dt_view_manager_t::current_view, and IS_NULL_PTR.

Referenced by dt_film_open().

◆ dt_view_manager_scrolled()

int dt_view_manager_scrolled ( dt_view_manager_t vm,
double  x,
double  y,
int  up,
int  state,
int  delta_y 
)

◆ dt_view_manager_switch()

int dt_view_manager_switch ( dt_view_manager_t vm,
const char *  view_name 
)

◆ dt_view_manager_switch_by_view()

◆ dt_view_unload_module()

static void dt_view_unload_module ( dt_view_t view)
static

unload, cleanup

References view().

Referenced by dt_view_manager_cleanup().

◆ dt_vm_remove_child()

void dt_vm_remove_child ( GtkWidget widget,
gpointer  data 
)

◆ sort_views()

static gint sort_views ( gconstpointer  a,
gconstpointer  b 
)
static

References i, and dt_view_t::module_name.

Referenced by dt_view_manager_load_modules().