Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
draw.h File Reference
#include "common/curve_tools.h"
#include "common/darktable.h"
#include "common/splines.h"
#include "control/conf.h"
#include "develop/develop.h"
#include <cairo.h>
#include <glib.h>
#include <math.h>
#include <stdint.h>
#include <stdlib.h>
#include <gui/gtk.h>
+ Include dependency graph for draw.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dt_draw_curve_t
 

Macros

#define M_PI   3.141592654
 
#define DT_DRAW_SIZE_LINE   DT_PIXEL_APPLY_DPI(1.5f)
 
#define DT_DRAW_SIZE_LINE_SELECTED   DT_PIXEL_APPLY_DPI(3.0f)
 
#define DT_DRAW_SIZE_LINE_HIGHLIGHT   (DT_PIXEL_APPLY_DPI(4.0f) + DT_DRAW_SIZE_LINE)
 
#define DT_DRAW_SIZE_LINE_HIGHLIGHT_SELECTED   (DT_PIXEL_APPLY_DPI(5.0f) + DT_DRAW_SIZE_LINE_SELECTED)
 
#define DT_DRAW_SIZE_CROSS   DT_PIXEL_APPLY_DPI(7.0f)
 
#define DT_DRAW_SCALE_DASH   DT_PIXEL_APPLY_DPI(12.0f)
 
#define DT_DRAW_SCALE_ARROW   DT_PIXEL_APPLY_DPI(18.0f)
 
#define DT_DRAW_RADIUS_NODE   DT_PIXEL_APPLY_DPI(5.0f)
 
#define DT_DRAW_RADIUS_NODE_SELECTED   (1.5f * DT_DRAW_RADIUS_NODE)
 
#define DT_DRAW_SELECTION_RADIUS_NO_UPSCALE(dev)   (2.0f * DT_DRAW_RADIUS_NODE / dt_dev_get_zoom_level((dt_develop_t *)dev))
 
#define DT_DRAW_SELECTION_RADIUS(dev)   (DT_DRAW_SELECTION_RADIUS_NO_UPSCALE((dt_develop_t*)dev) * darktable.gui->ppd)
 
#define DT_DRAW_SELECTION_ROTATION_AREA   DT_PIXEL_APPLY_DPI(50.0f)
 
#define DT_DRAW_SELECTION_ROTATION_RADIUS(dev)   (DT_DRAW_SELECTION_ROTATION_AREA / dt_dev_get_zoom_level((dt_develop_t *)dev))
 

Typedefs

typedef enum dt_masks_dash_type_t dt_masks_dash_type_t
 
typedef struct dt_draw_curve_t dt_draw_curve_t
 
typedef void(* shape_draw_function_t) (cairo_t *cr, const float *points, const int points_count, const int nb, const gboolean border, const gboolean source)
 

Enumerations

enum  dt_masks_dash_type_t {
  DT_MASKS_NO_DASH = 0 ,
  DT_MASKS_DASH_STICK = 1 ,
  DT_MASKS_DASH_ROUND = 2
}
 

Functions

static void dt_draw_set_color_overlay (cairo_t *cr, gboolean bright, double alpha)
 
static void dt_draw_star (cairo_t *cr, float x, float y, float r1, float r2)
 
static void dt_draw_line (cairo_t *cr, float left, float top, float right, float bottom)
 
static void dt_draw_grid (cairo_t *cr, const int num, const int left, const int top, const int right, const int bottom)
 
static float dt_curve_to_mouse (const float x, const float zoom_factor, const float offset)
 
static void dt_draw_grid_zoomed (cairo_t *cr, const int num, const float left, const float top, const float right, const float bottom, const float width, const float height, const float zoom_factor, const float zoom_offset_x, const float zoom_offset_y)
 
static float dt_log_scale_axis (const float x, const float base)
 
static void dt_draw_loglog_grid (cairo_t *cr, const int num, const int left, const int top, const int right, const int bottom, const float base)
 
static void dt_draw_semilog_x_grid (cairo_t *cr, const int num, const int left, const int top, const int right, const int bottom, const float base)
 
static void dt_draw_semilog_y_grid (cairo_t *cr, const int num, const int left, const int top, const int right, const int bottom, const float base)
 
static void dt_draw_vertical_lines (cairo_t *cr, const int num, const int left, const int top, const int right, const int bottom)
 
static void dt_draw_horizontal_lines (cairo_t *cr, const int num, const int left, const int top, const int right, const int bottom)
 
static dt_draw_curve_tdt_draw_curve_new (const float min, const float max, unsigned int type)
 
static void dt_draw_curve_destroy (dt_draw_curve_t *c)
 
static void dt_draw_curve_set_point (dt_draw_curve_t *c, const int num, const float x, const float y)
 
static void dt_draw_curve_smaple_values (dt_draw_curve_t *c, const float min, const float max, const int res, float *x, float *y)
 
static void dt_draw_curve_calc_values (dt_draw_curve_t *c, const float min, const float max, const int res, float *x, float *y)
 
static void dt_draw_curve_calc_values_V2_nonperiodic (dt_draw_curve_t *c, const float min, const float max, const int res, float *x, float *y)
 
static void dt_draw_curve_calc_values_V2_periodic (dt_draw_curve_t *c, const float min, const float max, const int res, float *x, float *y)
 
static void dt_draw_curve_calc_values_V2 (dt_draw_curve_t *c, const float min, const float max, const int res, float *x, float *y, const gboolean periodic)
 
static float dt_draw_curve_calc_value (dt_draw_curve_t *c, const float x)
 
static int dt_draw_curve_add_point (dt_draw_curve_t *c, const float x, const float y)
 
static void dt_draw_histogram_8_linxliny (cairo_t *cr, const uint32_t *hist, int32_t channels, int32_t channel)
 
static void dt_draw_histogram_8_zoomed (cairo_t *cr, const uint32_t *hist, int32_t channels, int32_t channel, const float zoom_factor, const float zoom_offset_x, const float zoom_offset_y, gboolean linear)
 
static void dt_draw_histogram_8_logxliny (cairo_t *cr, const uint32_t *hist, int32_t channels, int32_t channel, float base_log)
 
static void dt_draw_histogram_8_logxlogy (cairo_t *cr, const uint32_t *hist, int32_t channels, int32_t channel, float base_log)
 
static void dt_draw_histogram_8_linxlogy (cairo_t *cr, const uint32_t *hist, int32_t channels, int32_t channel)
 
static void dt_draw_histogram_8_log_base (cairo_t *cr, const uint32_t *hist, int32_t channels, int32_t channel, const gboolean linear, float base_log)
 
static void dt_draw_histogram_8 (cairo_t *cr, const uint32_t *hist, int32_t channels, int32_t channel, const gboolean linear)
 
static void dt_draw_cairo_to_gdk_pixbuf (uint8_t *data, unsigned int width, unsigned int height)
 
static void dt_cairo_perceptual_gradient (cairo_pattern_t *grad, double alpha)
 
static GdkPixbuf * dt_draw_paint_to_pixbuf (GtkWidget *widget, const guint pixbuf_size, const int flags, void(*dtgtk_cairo_paint_fct)(cairo_t *cr, gint x, gint y, gint w, gint h, gint flags, void *data))
 
static void dt_draw_set_dash_style (cairo_t *cr, dt_masks_dash_type_t type, float zoom_scale)
 
static void dt_draw_node (cairo_t *cr, const gboolean square, const gboolean point_action, const gboolean selected, const float zoom_scale, const float x, const float y)
 Draw an node point of a mask.
 
static void dt_draw_handle (cairo_t *cr, const float pt_x, const float pt_y, const float zoom_scale, const float handle_x, const float handle_y, const gboolean selected)
 Draw & control handle of a point with a tail bet.
 
static void dt_draw_shape_lines (const dt_masks_dash_type_t dash_type, const gboolean source, cairo_t *cr, const int nb, const gboolean selected, const float zoom_scale, const float *points, const int points_count, const shape_draw_function_t *draw_shape_func)
 Draw the lines of a mask shape.
 
static void dt_draw_stroke_line (const dt_masks_dash_type_t dash_type, const gboolean source, cairo_t *cr, const gboolean selected, const float zoom_scale)
 Stroke a line with style.
 
static void _draw_arrow_head (cairo_t *cr, const float arrow[2], const float arrow_x_a, const float arrow_y_a, const float arrow_x_b, const float arrow_y_b)
 
static void _draw_arrow_tail (cairo_t *cr, const float arrow_bud_x, const float arrow_bud_y, const float tail[2], const gboolean draw_tail)
 
static void dt_draw_arrow (cairo_t *cr, const float zoom_scale, const gboolean selected, const gboolean draw_tail, const dt_masks_dash_type_t dash_style, const float arrow[2], const float tail[2])
 Draw an arrow with head and, if needed, tail. The length of the arrow head is defined by DT_DRAW_SCALE_ARROW. This is used for the clone mask source indicator.
 

Macro Definition Documentation

◆ DT_DRAW_RADIUS_NODE

#define DT_DRAW_RADIUS_NODE   DT_PIXEL_APPLY_DPI(5.0f)

◆ DT_DRAW_RADIUS_NODE_SELECTED

#define DT_DRAW_RADIUS_NODE_SELECTED   (1.5f * DT_DRAW_RADIUS_NODE)

◆ DT_DRAW_SCALE_ARROW

#define DT_DRAW_SCALE_ARROW   DT_PIXEL_APPLY_DPI(18.0f)

◆ DT_DRAW_SCALE_DASH

#define DT_DRAW_SCALE_DASH   DT_PIXEL_APPLY_DPI(12.0f)

stuff's scale

◆ DT_DRAW_SELECTION_RADIUS

#define DT_DRAW_SELECTION_RADIUS (   dev)    (DT_DRAW_SELECTION_RADIUS_NO_UPSCALE((dt_develop_t*)dev) * darktable.gui->ppd)

◆ DT_DRAW_SELECTION_RADIUS_NO_UPSCALE

#define DT_DRAW_SELECTION_RADIUS_NO_UPSCALE (   dev)    (2.0f * DT_DRAW_RADIUS_NODE / dt_dev_get_zoom_level((dt_develop_t *)dev))

◆ DT_DRAW_SELECTION_ROTATION_AREA

#define DT_DRAW_SELECTION_ROTATION_AREA   DT_PIXEL_APPLY_DPI(50.0f)

◆ DT_DRAW_SELECTION_ROTATION_RADIUS

#define DT_DRAW_SELECTION_ROTATION_RADIUS (   dev)    (DT_DRAW_SELECTION_ROTATION_AREA / dt_dev_get_zoom_level((dt_develop_t *)dev))

◆ DT_DRAW_SIZE_CROSS

#define DT_DRAW_SIZE_CROSS   DT_PIXEL_APPLY_DPI(7.0f)

◆ DT_DRAW_SIZE_LINE

#define DT_DRAW_SIZE_LINE   DT_PIXEL_APPLY_DPI(1.5f)

line sizes for drawing

◆ DT_DRAW_SIZE_LINE_HIGHLIGHT

#define DT_DRAW_SIZE_LINE_HIGHLIGHT   (DT_PIXEL_APPLY_DPI(4.0f) + DT_DRAW_SIZE_LINE)

◆ DT_DRAW_SIZE_LINE_HIGHLIGHT_SELECTED

#define DT_DRAW_SIZE_LINE_HIGHLIGHT_SELECTED   (DT_PIXEL_APPLY_DPI(5.0f) + DT_DRAW_SIZE_LINE_SELECTED)

◆ DT_DRAW_SIZE_LINE_SELECTED

#define DT_DRAW_SIZE_LINE_SELECTED   DT_PIXEL_APPLY_DPI(3.0f)

◆ M_PI

#define M_PI   3.141592654

some common drawing routines.

Typedef Documentation

◆ dt_draw_curve_t

wrapper around nikon curve.

◆ dt_masks_dash_type_t

◆ shape_draw_function_t

typedef void(* shape_draw_function_t) (cairo_t *cr, const float *points, const int points_count, const int nb, const gboolean border, const gboolean source)

Enumeration Type Documentation

◆ dt_masks_dash_type_t

dash type

Enumerator
DT_MASKS_NO_DASH 
DT_MASKS_DASH_STICK 
DT_MASKS_DASH_ROUND 

Function Documentation

◆ _draw_arrow_head()

static void _draw_arrow_head ( cairo_t *  cr,
const float  arrow[2],
const float  arrow_x_a,
const float  arrow_y_a,
const float  arrow_x_b,
const float  arrow_y_b 
)
static

Referenced by dt_draw_arrow().

◆ _draw_arrow_tail()

static void _draw_arrow_tail ( cairo_t *  cr,
const float  arrow_bud_x,
const float  arrow_bud_y,
const float  tail[2],
const gboolean  draw_tail 
)
static

References dt_draw_line().

Referenced by dt_draw_arrow().

◆ dt_cairo_perceptual_gradient()

static void dt_cairo_perceptual_gradient ( cairo_pattern_t *  grad,
double  alpha 
)
inlinestatic

◆ dt_curve_to_mouse()

static float dt_curve_to_mouse ( const float  x,
const float  zoom_factor,
const float  offset 
)
inlinestatic

Referenced by dt_draw_grid_zoomed().

◆ dt_draw_arrow()

static void dt_draw_arrow ( cairo_t *  cr,
const float  zoom_scale,
const gboolean  selected,
const gboolean  draw_tail,
const dt_masks_dash_type_t  dash_style,
const float  arrow[2],
const float  tail[2] 
)
inlinestatic

Draw an arrow with head and, if needed, tail. The length of the arrow head is defined by DT_DRAW_SCALE_ARROW. This is used for the clone mask source indicator.

Parameters
crthe cairo context to draw into
zoom_scalethe current zoom scale of the image
selectedTRUE if the shape needs to be highlighted
draw_tailTRUE to draw the tail line
dash_stylethe dash style to use for the tail line
arrowthe position of the arrow tip
tailthe position of the tail point

References _draw_arrow_head(), _draw_arrow_tail(), DT_DRAW_SCALE_ARROW, dt_draw_set_color_overlay(), dt_draw_set_dash_style(), DT_DRAW_SIZE_LINE, DT_DRAW_SIZE_LINE_HIGHLIGHT, DT_DRAW_SIZE_LINE_HIGHLIGHT_SELECTED, DT_MASKS_NO_DASH, FALSE, and TRUE.

Referenced by dt_masks_draw_source().

◆ dt_draw_cairo_to_gdk_pixbuf()

static void dt_draw_cairo_to_gdk_pixbuf ( uint8_t *  data,
unsigned int  width,
unsigned int  height 
)
inlinestatic

transform a data blob from cairo's premultiplied rgba/bgra to GdkPixbuf's un-premultiplied bgra/rgba

References height, and width.

Referenced by _draw_ellipse(), _draw_rectangle(), _get_pixbuf_from_cairo(), _init_image_pin(), _init_place_pin(), _view_map_images_count(), dt_draw_paint_to_pixbuf(), and tree_insert_presets().

◆ dt_draw_curve_add_point()

static int dt_draw_curve_add_point ( dt_draw_curve_t c,
const float  x,
const float  y 
)
inlinestatic

◆ dt_draw_curve_calc_value()

◆ dt_draw_curve_calc_values()

static void dt_draw_curve_calc_values ( dt_draw_curve_t c,
const float  min,
const float  max,
const int  res,
float *  x,
float *  y 
)
inlinestatic

◆ dt_draw_curve_calc_values_V2()

static void dt_draw_curve_calc_values_V2 ( dt_draw_curve_t c,
const float  min,
const float  max,
const int  res,
float *  x,
float *  y,
const gboolean  periodic 
)
inlinestatic

◆ dt_draw_curve_calc_values_V2_nonperiodic()

static void dt_draw_curve_calc_values_V2_nonperiodic ( dt_draw_curve_t c,
const float  min,
const float  max,
const int  res,
float *  x,
float *  y 
)
inlinestatic

◆ dt_draw_curve_calc_values_V2_periodic()

static void dt_draw_curve_calc_values_V2_periodic ( dt_draw_curve_t c,
const float  min,
const float  max,
const int  res,
float *  x,
float *  y 
)
inlinestatic

◆ dt_draw_curve_destroy()

◆ dt_draw_curve_new()

static dt_draw_curve_t * dt_draw_curve_new ( const float  min,
const float  max,
unsigned int  type 
)
inlinestatic

◆ dt_draw_curve_set_point()

static void dt_draw_curve_set_point ( dt_draw_curve_t c,
const int  num,
const float  x,
const float  y 
)
inlinestatic

◆ dt_draw_curve_smaple_values()

static void dt_draw_curve_smaple_values ( dt_draw_curve_t c,
const float  min,
const float  max,
const int  res,
float *  x,
float *  y 
)
inlinestatic

◆ dt_draw_grid()

static void dt_draw_grid ( cairo_t *  cr,
const int  num,
const int  left,
const int  top,
const int  right,
const int  bottom 
)
inlinestatic

◆ dt_draw_grid_zoomed()

static void dt_draw_grid_zoomed ( cairo_t *  cr,
const int  num,
const float  left,
const float  top,
const float  right,
const float  bottom,
const float  width,
const float  height,
const float  zoom_factor,
const float  zoom_offset_x,
const float  zoom_offset_y 
)
inlinestatic

◆ dt_draw_handle()

static void dt_draw_handle ( cairo_t *  cr,
const float  pt_x,
const float  pt_y,
const float  zoom_scale,
const float  handle_x,
const float  handle_y,
const gboolean  selected 
)
inlinestatic

Draw & control handle of a point with a tail bet.

Parameters
crthe cairo context to draw into
pt_xthe x position of the node point
pt_ythe y position of the node point
zoom_scalethe current zoom scale of the image
handle_xthe x position of the handle point
handle_ythe y position of the handle point
node_indexthe index of the node being edited (-1 if none)
handle_indexthe index of the handle being edited (-1 if none)
handle_draggingthe index of the handle being dragged (-1 if none)

References DT_DRAW_RADIUS_NODE, DT_DRAW_RADIUS_NODE_SELECTED, dt_draw_set_color_overlay(), DT_DRAW_SIZE_LINE, DT_DRAW_SIZE_LINE_HIGHLIGHT, DT_DRAW_SIZE_LINE_HIGHLIGHT_SELECTED, FALSE, M_PI, and TRUE.

Referenced by _brush_events_post_expose(), and _polygon_events_post_expose().

◆ dt_draw_histogram_8()

static void dt_draw_histogram_8 ( cairo_t *  cr,
const uint32_t *  hist,
int32_t  channels,
int32_t  channel,
const gboolean  linear 
)
inlinestatic

◆ dt_draw_histogram_8_linxliny()

static void dt_draw_histogram_8_linxliny ( cairo_t *  cr,
const uint32_t *  hist,
int32_t  channels,
int32_t  channel 
)
inlinestatic

Referenced by dt_draw_histogram_8().

◆ dt_draw_histogram_8_linxlogy()

static void dt_draw_histogram_8_linxlogy ( cairo_t *  cr,
const uint32_t *  hist,
int32_t  channels,
int32_t  channel 
)
inlinestatic

Referenced by dt_draw_histogram_8().

◆ dt_draw_histogram_8_log_base()

static void dt_draw_histogram_8_log_base ( cairo_t *  cr,
const uint32_t *  hist,
int32_t  channels,
int32_t  channel,
const gboolean  linear,
float  base_log 
)
inlinestatic

◆ dt_draw_histogram_8_logxliny()

static void dt_draw_histogram_8_logxliny ( cairo_t *  cr,
const uint32_t *  hist,
int32_t  channels,
int32_t  channel,
float  base_log 
)
inlinestatic

◆ dt_draw_histogram_8_logxlogy()

static void dt_draw_histogram_8_logxlogy ( cairo_t *  cr,
const uint32_t *  hist,
int32_t  channels,
int32_t  channel,
float  base_log 
)
inlinestatic

◆ dt_draw_histogram_8_zoomed()

static void dt_draw_histogram_8_zoomed ( cairo_t *  cr,
const uint32_t *  hist,
int32_t  channels,
int32_t  channel,
const float  zoom_factor,
const float  zoom_offset_x,
const float  zoom_offset_y,
gboolean  linear 
)
inlinestatic

References linear.

Referenced by _area_draw_callback(), and _area_draw_callback().

◆ dt_draw_horizontal_lines()

static void dt_draw_horizontal_lines ( cairo_t *  cr,
const int  num,
const int  left,
const int  top,
const int  right,
const int  bottom 
)
inlinestatic

References height.

Referenced by dt_guides_draw_grid().

◆ dt_draw_line()

◆ dt_draw_loglog_grid()

static void dt_draw_loglog_grid ( cairo_t *  cr,
const int  num,
const int  left,
const int  top,
const int  right,
const int  bottom,
const float  base 
)
inlinestatic

◆ dt_draw_node()

static void dt_draw_node ( cairo_t *  cr,
const gboolean  square,
const gboolean  point_action,
const gboolean  selected,
const float  zoom_scale,
const float  x,
const float  y 
)
inlinestatic

Draw an node point of a mask.

Parameters
crthe cairo context to draw into
squareTRUE to draw a square node, FALSE to draw a round node
point_actionTRUE if the point is selected or dragged
selectedTRUE if the shape is selected
zoom_scalethe current zoom scale of the image
xthe center x position of the anchor
ythe center y position of the anchor

References DT_DRAW_RADIUS_NODE, dt_draw_set_color_overlay(), DT_DRAW_SIZE_LINE, DT_DRAW_SIZE_LINE_SELECTED, FALSE, and TRUE.

Referenced by _brush_events_post_expose(), _ellipse_draw_node(), _ellipse_events_post_expose(), _gradient_draw_arrow(), and _polygon_events_post_expose().

◆ dt_draw_paint_to_pixbuf()

static GdkPixbuf * dt_draw_paint_to_pixbuf ( GtkWidget *  widget,
const guint  pixbuf_size,
const int  flags,
void(*)(cairo_t *cr, gint x, gint y, gint w, gint h, gint flags, void *data)  dtgtk_cairo_paint_fct 
)
inlinestatic

◆ dt_draw_semilog_x_grid()

static void dt_draw_semilog_x_grid ( cairo_t *  cr,
const int  num,
const int  left,
const int  top,
const int  right,
const int  bottom,
const float  base 
)
inlinestatic

◆ dt_draw_semilog_y_grid()

static void dt_draw_semilog_y_grid ( cairo_t *  cr,
const int  num,
const int  left,
const int  top,
const int  right,
const int  bottom,
const float  base 
)
inlinestatic

◆ dt_draw_set_color_overlay()

◆ dt_draw_set_dash_style()

static void dt_draw_set_dash_style ( cairo_t *  cr,
dt_masks_dash_type_t  type,
float  zoom_scale 
)
inlinestatic

◆ dt_draw_shape_lines()

static void dt_draw_shape_lines ( const dt_masks_dash_type_t  dash_type,
const gboolean  source,
cairo_t *  cr,
const int  nb,
const gboolean  selected,
const float  zoom_scale,
const float *  points,
const int  points_count,
const shape_draw_function_t draw_shape_func 
)
inlinestatic

Draw the lines of a mask shape.

Parameters
dash_typethe dash type to use
sourceTRUE if we draw the source shape (clone mask)
crthe cairo context to draw into
nbthe number of coord by node
selectedTRUE if the shape is selected
zoom_scalethe current zoom scale of the image
pointsthe points of the shape to draw
points_countthe number of points in the shape
functionsthe functions table of the shape

References dt_draw_set_color_overlay(), dt_draw_set_dash_style(), DT_DRAW_SIZE_LINE, DT_DRAW_SIZE_LINE_HIGHLIGHT, DT_DRAW_SIZE_LINE_HIGHLIGHT_SELECTED, DT_DRAW_SIZE_LINE_SELECTED, DT_MASKS_NO_DASH, FALSE, and TRUE.

Referenced by _brush_events_post_expose(), _circle_events_post_expose(), _ellipse_events_post_expose(), _gradient_events_post_expose(), _polygon_events_post_expose(), and dt_draw_stroke_line().

◆ dt_draw_star()

static void dt_draw_star ( cairo_t *  cr,
float  x,
float  y,
float  r1,
float  r2 
)
inlinestatic

draws a rating star

References M_PI.

Referenced by dtgtk_cairo_paint_overlays(), dtgtk_cairo_paint_star(), and dtgtk_cairo_paint_unratestar().

◆ dt_draw_stroke_line()

static void dt_draw_stroke_line ( const dt_masks_dash_type_t  dash_type,
const gboolean  source,
cairo_t *  cr,
const gboolean  selected,
const float  zoom_scale 
)
inlinestatic

Stroke a line with style.

Parameters
dash_typethe dash type to use
sourceTRUE if we draw the source shape (clone mask)
crthe cairo context to draw into
selectedTRUE if the shape is selected
zoom_scalethe current zoom scale of the image

References dt_draw_shape_lines().

Referenced by _brush_events_post_expose(), _gradient_draw_arrow(), and _polygon_events_post_expose().

◆ dt_draw_vertical_lines()

static void dt_draw_vertical_lines ( cairo_t *  cr,
const int  num,
const int  left,
const int  top,
const int  right,
const int  bottom 
)
inlinestatic

◆ dt_log_scale_axis()

static float dt_log_scale_axis ( const float  x,
const float  base 
)
inlinestatic