Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
filmstrip.c File Reference

FILMSTRIP frontend of the thumbtable: the horizontal strip used by darkroom, map and print, and its layout-ops vtable. The shared engine lives in thumbtable.c; see thumbtable_internal.h for the ops contract. More...

#include "common/darktable.h"
#include "control/control.h"
#include "control/signal.h"
#include "dtgtk/thumbtable.h"
#include "dtgtk/thumbtable_internal.h"
#include "dtgtk/thumbnail.h"
#include "gui/gtk.h"
#include "views/view.h"
+ Include dependency graph for filmstrip.c:

Go to the source code of this file.

Functions

static GtkWidget_filmstrip_create_content_widget (void)
 
static void _filmstrip_configure_dims (dt_thumbtable_t *table, int *new_width, int *new_height, int *per_row, int *thumb_width, int *thumb_height)
 
static void _filmstrip_rowid_to_position (dt_thumbtable_t *table, int rowid, int *x, int *y)
 
static int _filmstrip_position_to_rowid (dt_thumbtable_t *table, const double x, const double y)
 
static void _filmstrip_get_row_ids (dt_thumbtable_t *table, int *rowid_min, int *rowid_max)
 
static gboolean _filmstrip_is_rowid_visible (dt_thumbtable_t *table, int rowid)
 
static void _filmstrip_update_content_size (dt_thumbtable_t *table)
 
static void _filmstrip_group_borders (dt_thumbtable_t *table, dt_thumbnail_t *thumb, dt_thumbnail_border_t *borders)
 
static void _filmstrip_place_child (dt_thumbtable_t *table, dt_thumbnail_t *thumb)
 
static void _filmstrip_move_child (dt_thumbtable_t *table, dt_thumbnail_t *thumb)
 
static gboolean _filmstrip_wants_scroll_value (dt_thumbtable_t *table, GtkAdjustment *adjustment)
 
static gboolean _filmstrip_wants_page_size_notify (dt_thumbtable_t *table, GObject *object)
 
static gboolean _filmstrip_relevant_scrollbar_changed (dt_thumbtable_t *table, GtkWidget *widget, GtkAllocation *allocation)
 
static gboolean _filmstrip_is_thumb_highlighted (dt_thumbtable_t *table, int32_t imgid)
 
static void _filmstrip_on_thumbnail_added (dt_thumbtable_t *table, dt_thumbnail_t *thumb)
 
static void _filmstrip_on_drag_begin (dt_thumbtable_t *table, int32_t imgid)
 
static void _filmstrip_setup_parent (dt_thumbtable_t *table)
 
const dt_thumbtable_layout_ops_tdt_thumbtable_filmstrip_ops (void)
 

Detailed Description

FILMSTRIP frontend of the thumbtable: the horizontal strip used by darkroom, map and print, and its layout-ops vtable. The shared engine lives in thumbtable.c; see thumbtable_internal.h for the ops contract.

Definition in file filmstrip.c.

Function Documentation

◆ _filmstrip_configure_dims()

static void _filmstrip_configure_dims ( dt_thumbtable_t table,
int *  new_width,
int *  new_height,
int *  per_row,
int *  thumb_width,
int *  thumb_height 
)
static

◆ _filmstrip_create_content_widget()

static GtkWidget * _filmstrip_create_content_widget ( void  )
static

Definition at line 37 of file filmstrip.c.

Referenced by dt_thumbtable_filmstrip_ops().

◆ _filmstrip_get_row_ids()

static void _filmstrip_get_row_ids ( dt_thumbtable_t table,
int *  rowid_min,
int *  rowid_max 
)
static

◆ _filmstrip_group_borders()

◆ _filmstrip_is_rowid_visible()

static gboolean _filmstrip_is_rowid_visible ( dt_thumbtable_t table,
int  rowid 
)
static

◆ _filmstrip_is_thumb_highlighted()

static gboolean _filmstrip_is_thumb_highlighted ( dt_thumbtable_t table,
int32_t  imgid 
)
static

◆ _filmstrip_move_child()

static void _filmstrip_move_child ( dt_thumbtable_t table,
dt_thumbnail_t thumb 
)
static

◆ _filmstrip_on_drag_begin()

static void _filmstrip_on_drag_begin ( dt_thumbtable_t table,
int32_t  imgid 
)
static

◆ _filmstrip_on_thumbnail_added()

static void _filmstrip_on_thumbnail_added ( dt_thumbtable_t table,
dt_thumbnail_t thumb 
)
static

◆ _filmstrip_place_child()

static void _filmstrip_place_child ( dt_thumbtable_t table,
dt_thumbnail_t thumb 
)
static

◆ _filmstrip_position_to_rowid()

static int _filmstrip_position_to_rowid ( dt_thumbtable_t table,
const double  x,
const double  y 
)
static

Definition at line 93 of file filmstrip.c.

References dt_thumbtable_t::thumb_width, dt_thumbtable_t::view_width, and x.

Referenced by dt_thumbtable_filmstrip_ops().

◆ _filmstrip_relevant_scrollbar_changed()

static gboolean _filmstrip_relevant_scrollbar_changed ( dt_thumbtable_t table,
GtkWidget widget,
GtkAllocation *  allocation 
)
static

◆ _filmstrip_rowid_to_position()

static void _filmstrip_rowid_to_position ( dt_thumbtable_t table,
int  rowid,
int *  x,
int *  y 
)
static

Definition at line 87 of file filmstrip.c.

References dt_thumbtable_t::thumb_width, and x.

Referenced by dt_thumbtable_filmstrip_ops().

◆ _filmstrip_setup_parent()

static void _filmstrip_setup_parent ( dt_thumbtable_t table)
static

◆ _filmstrip_update_content_size()

◆ _filmstrip_wants_page_size_notify()

static gboolean _filmstrip_wants_page_size_notify ( dt_thumbtable_t table,
GObject *  object 
)
static

Definition at line 179 of file filmstrip.c.

References FALSE.

Referenced by dt_thumbtable_filmstrip_ops().

◆ _filmstrip_wants_scroll_value()

static gboolean _filmstrip_wants_scroll_value ( dt_thumbtable_t table,
GtkAdjustment *  adjustment 
)
static

Definition at line 174 of file filmstrip.c.

References dt_thumbtable_t::h_scrollbar.

Referenced by dt_thumbtable_filmstrip_ops().

◆ dt_thumbtable_filmstrip_ops()