![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include "control/user_message.h"#include "math/math.h"#include "system/macros.h"#include "system/openmp.h"#include "common/logging.h"#include "common/times.h"#include "caches/pixelpipe_cache_alloc.h"#include "common/conf.h"#include "develop/imageop.h"#include "develop/masks.h"#include "develop/masks_gui.h"#include "develop/masks/masks_functions.h"#include "develop/masks/masks_touched.h"#include "math/openmp_maths.h"#include "widgets/accelerators.h"
Include dependency graph for ellipse.c:Go to the source code of this file.
Data Structures | |
| struct | dt_masks_ellipse_creation_values_t |
Macros | |
| #define | FADING_MIN 0.0005f |
| #define | FADING_MAX 1.0f |
| #define | BORDER_MIN 0.00005f |
| #define | BORDER_MAX 0.5f |
| #define | RADIUS_CLONE_MIN 0.00005f |
| #define | RADIUS_CLONE_MAX 0.5f |
| #define | RADIUS_NON_CLONE_MIN 0.0005f |
| #define | RADIUS_NON_CLONE_MAX 1.0f |
Typedefs | |
| typedef struct dt_masks_ellipse_creation_values_t | dt_masks_ellipse_creation_values_t |
Functions | |
| static void | _ellipse_point_transform (const float xref, const float yref, const float x, const float y, const float sinr, const float cosr, float *xnew, float *ynew) |
| static int | _ellipse_point_close_to_path (float x, float y, float mouse_radius, float *points, int points_count) |
| static void | _ellipse_get_distance (float x, float y, float mouse_radius, dt_masks_form_gui_t *gui, int index, int num_points, int *inside, int *inside_border, int *near_handle, int *inside_source, float *dist) |
| static void | _ellipse_get_creation_values (const dt_masks_form_t *form, dt_masks_ellipse_creation_values_t *values) |
| static void | _ellipse_init_new (dt_masks_form_t *form, dt_masks_form_gui_t *gui, dt_masks_node_ellipse_t *ellipse) |
| static int | _ellipse_get_points (dt_develop_t *dev, float xx, float yy, float radius_a, float radius_b, float rotation, float **points, int *points_count) |
| static int | _ellipse_get_creation_preview (dt_masks_form_t *form, dt_masks_form_gui_t *gui, dt_masks_preview_buffers_t *preview) |
| static float * | _points_to_transform (dt_develop_t *dev, float xx, float yy, float radius_a, float radius_b, float rotation, float wd, float ht, int *points_count) |
| static int | _ellipse_get_points_source (dt_develop_t *dev, float xx, float yy, float xs, float ys, float radius_a, float radius_b, float rotation, float **points, int *points_count, const dt_iop_module_t *module) |
| static dt_masks_raster_result_t | _ellipse_get_points_border (dt_develop_t *dev, struct dt_masks_form_t *form, float **points, int *points_count, float **border, int *border_count, dt_masks_skip_range_t **border_skips, int *border_skip_count, int source, const dt_iop_module_t *module) |
| static void | _ellipse_node_position_cb (const dt_masks_form_gui_points_t *gui_points, int node_index, float *node_x, float *node_y, void *user_data) |
| Ellipse-specific node position lookup. | |
| static void | _ellipse_distance_cb (float pointer_x, float pointer_y, float cursor_radius, dt_masks_form_gui_t *mask_gui, int form_index, int node_count, int *inside, int *inside_border, int *near_handle, int *inside_source, float *dist, void *user_data) |
| Ellipse-specific inside/border hit testing adapter. | |
| static void | _ellipse_post_select_cb (dt_masks_form_gui_t *mask_gui, int inside, int inside_border, int inside_source, void *user_data) |
| Ellipse-specific post-selection hook. | |
| static int | _find_closest_handle (dt_masks_form_t *mask_form, dt_masks_form_gui_t *mask_gui, int form_index) |
| static int | _init_fading (dt_masks_form_t *form, const float amount, const dt_masks_increment_t increment, const int flow) |
| static int | _init_size (dt_masks_form_t *form, const float amount, const dt_masks_increment_t increment, const int flow) |
| static int | _init_opacity (dt_masks_form_t *form, const float amount, const dt_masks_increment_t increment, const int flow) |
| static int | _init_rotation (dt_masks_form_t *form, const float amount, const dt_masks_increment_t increment, const int flow) |
| static float | _ellipse_get_interaction_value (const dt_masks_form_t *form, dt_masks_interaction_t interaction) |
| static gboolean | _ellipse_get_gravity_center (dt_develop_t *dev, const dt_masks_form_t *form, float center[2], float *area) |
| static int | _change_fading (dt_masks_form_t *form, dt_masks_form_gui_t *gui, struct dt_iop_module_t *module, int index, const float amount, const dt_masks_increment_t increment, const int flow) |
| static int | _change_size (dt_masks_form_t *form, dt_masks_form_gui_t *gui, struct dt_iop_module_t *module, int index, const float amount, const dt_masks_increment_t increment, const int flow) |
| static int | _change_rotation (dt_masks_form_t *form, dt_masks_form_gui_t *gui, struct dt_iop_module_t *module, int index, const float amount, const dt_masks_increment_t increment, const int flow) |
| static float | _ellipse_set_interaction_value (dt_masks_form_t *form, dt_masks_interaction_t interaction, float value, dt_masks_increment_t increment, int flow, dt_masks_form_gui_t *gui, struct dt_iop_module_t *module) |
| static int | _ellipse_events_mouse_scrolled (struct dt_iop_module_t *module, double x, double y, int up, const int flow, uint32_t state, dt_masks_form_t *form, int parentid, dt_masks_form_gui_t *gui, int index, dt_masks_interaction_t interaction) |
| static int | _ellipse_events_button_pressed (struct dt_iop_module_t *module, double x, double y, double pressure, int which, int type, uint32_t state, dt_masks_form_t *form, int parentid, dt_masks_form_gui_t *gui, int index) |
| static int | _ellipse_events_button_released (struct dt_iop_module_t *module, double x, double y, int which, uint32_t state, dt_masks_form_t *form, int parentid, dt_masks_form_gui_t *gui, int index) |
| static int | _ellipse_events_key_pressed (struct dt_iop_module_t *module, GdkEventKey *event, dt_masks_form_t *form, int parentid, dt_masks_form_gui_t *gui, int index) |
| static int | _ellipse_events_mouse_moved (struct dt_iop_module_t *module, double x, double y, double pressure, int which, dt_masks_form_t *form, int parentid, dt_masks_form_gui_t *gui, int index) |
| static void | _ellipse_draw_shape (dt_develop_t *dev, cairo_t *cr, const float *points, const int points_count, const int nb, const gboolean border, const gboolean source, const dt_masks_skip_range_t *skips, const int skip_count) |
| static void | _ellipse_draw_handles (const dt_masks_form_gui_t *gui, cairo_t *cr, const float zoom_scale, dt_masks_form_gui_points_t *gpt, const int index) |
| static void | _ellipse_events_post_expose (cairo_t *cr, float zoom_scale, dt_masks_form_gui_t *gui, int index, int num_points) |
| static void | _fill_mask (const size_t numpoints, float *const bufptr, const float *const points, const float *const center, const float a, const float b, const float ta, const float tb, const float alpha, const size_t out_scale) |
| static float *const | _ellipse_points_to_transform (dt_develop_t *dev, const float center_x, const float center_y, const float dim1, const float dim2, const float rotation, const float wd, const float ht, size_t *point_count) |
| static dt_masks_raster_result_t | _ellipse_get_source_area (dt_iop_module_t *module, dt_dev_pixelpipe_t *pipe, dt_dev_pixelpipe_iop_t *piece, dt_masks_form_t *form, int *width, int *height, int *posx, int *posy) |
| static dt_masks_raster_result_t | _ellipse_get_area (const dt_iop_module_t *const module, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *const piece, dt_masks_form_t *const form, int *width, int *height, int *posx, int *posy) |
| static dt_masks_raster_result_t | _ellipse_get_mask (const dt_iop_module_t *const module, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *const piece, dt_masks_form_t *const form, float **buffer, int *width, int *height, int *posx, int *posy) |
| static dt_masks_raster_result_t | _ellipse_get_mask_roi (const dt_iop_module_t *const module, dt_dev_pixelpipe_t *pipe, const dt_dev_pixelpipe_iop_t *const piece, dt_masks_form_t *const form, const dt_iop_roi_t *roi, float *buffer, dt_iop_roi_t *touched) |
| static void | _ellipse_set_form_name (struct dt_masks_form_t *const form, const size_t nb) |
| static void | _ellipse_duplicate_points (dt_develop_t *const dev, dt_masks_form_t *const base, dt_masks_form_t *const dest) |
| static void | _ellipse_initial_source_pos (dt_develop_t *dev, const float iwd, const float iht, float *x, float *y) |
| static void | _ellipse_set_hint_message (const dt_masks_form_gui_t *const gui, const dt_masks_form_t *const form, char *const restrict msgbuf, const size_t msgbuf_len) |
| static void | _ellipse_sanitize_config (dt_masks_type_t type) |
Variables | |
| const dt_masks_functions_t | dt_masks_functions_ellipse |
|
static |
Definition at line 596 of file ellipse.c.
References _init_fading(), dt_masks_node_ellipse_t::border, CLAMPF, dt_masks_apply_increment(), dt_masks_gui_form_create(), FADING_MAX, FADING_MIN, IS_NULL_PTR, and dt_masks_form_t::points.
Referenced by _ellipse_events_mouse_scrolled(), and _ellipse_set_interaction_value().
|
static |
Definition at line 636 of file ellipse.c.
References _init_rotation(), dt_masks_apply_increment(), dt_masks_gui_form_create(), DT_MASKS_INCREMENT_OFFSET, IS_NULL_PTR, dt_masks_form_t::points, and dt_masks_node_ellipse_t::rotation.
Referenced by _ellipse_events_mouse_moved(), _ellipse_events_mouse_scrolled(), and _ellipse_set_interaction_value().
|
static |
Definition at line 613 of file ellipse.c.
References _init_size(), dt_masks_node_ellipse_t::border, dt_masks_apply_increment(), dt_masks_gui_form_create(), DT_MASKS_INCREMENT_SCALE, IS_NULL_PTR, dt_masks_form_t::points, and dt_masks_node_ellipse_t::radius.
Referenced by _ellipse_events_mouse_scrolled(), and _ellipse_set_interaction_value().
|
static |
Ellipse-specific inside/border hit testing adapter.
Definition at line 477 of file ellipse.c.
References _ellipse_get_distance(), and dist().
Referenced by _find_closest_handle().
|
static |
Definition at line 996 of file ellipse.c.
References _ellipse_point_transform(), dt_draw_node(), dt_masks_gui_selected_node_index(), i, IS_NULL_PTR, dt_masks_form_gui_t::node_dragging, dt_masks_form_gui_t::node_hovered, dt_masks_form_gui_points_t::points, dt_masks_form_gui_points_t::points_count, r, selected, TRUE, and x.
Referenced by _ellipse_events_post_expose().
|
static |
|
static |
Definition at line 1549 of file ellipse.c.
References dt_masks_duplicate_points().
|
static |
Definition at line 705 of file ellipse.c.
References _ellipse_init_new(), dt_masks_form_gui_t::border_selected, dt_masks_form_gui_t::border_toggling, dt_masks_form_gui_t::creation, dt_masks_form_gui_t::creation_module, dt_masks_form_gui_t::delta, dt_masks_form_gui_t::dev, DT_MASKS_CLONE, DT_MASKS_EDIT_FULL, dt_masks_gui_form_save_creation(), dt_masks_set_source_pos_initial_state(), dt_modifier_is(), DT_PRIMARY_MASK, dt_masks_form_gui_t::edit_mode, else, dt_masks_form_gui_t::form_rotating, dt_masks_form_gui_t::form_selected, IS_NULL_PTR, dt_masks_form_gui_t::node_hovered, dt_masks_form_t::points, dt_masks_form_gui_points_t::points, dt_masks_form_gui_t::points, dt_masks_form_gui_t::pos, dt_masks_form_gui_points_t::source, dt_masks_form_gui_t::source_selected, state, TRUE, and dt_masks_form_t::type.
|
static |
Definition at line 782 of file ellipse.c.
References dt_masks_node_ellipse_t::border, dt_masks_form_gui_t::border_toggling, dt_conf_set_float(), dt_conf_set_int(), DT_MASKS_CLONE, DT_MASKS_EDIT_FULL, DT_MASKS_ELLIPSE_PROPORTIONAL, dt_masks_gui_form_create(), DT_MASKS_NON_CLONE, dt_masks_form_gui_t::edit_mode, FALSE, dt_masks_node_ellipse_t::flags, dt_masks_form_gui_t::form_dragging, dt_masks_form_gui_t::form_rotating, IS_NULL_PTR, dt_masks_form_gui_t::node_dragging, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, dt_masks_form_gui_t::source_dragging, and dt_masks_form_t::type.
|
static |
|
static |
Definition at line 868 of file ellipse.c.
References _change_rotation(), dt_masks_node_ellipse_t::center, dt_masks_form_gui_t::creation, d, dt_masks_form_gui_t::delta, dt_masks_form_gui_t::dev, dt_conf_set_float(), DT_MASKS_CLONE, dt_masks_gui_delta_to_raw_norm(), dt_masks_gui_form_create(), DT_MASKS_INCREMENT_OFFSET, DT_MASKS_NON_CLONE, dt_masks_rotate_with_anchor(), dt_masks_form_gui_t::form_dragging, dt_masks_form_gui_t::form_rotating, IS_NULL_PTR, k, MAX, dt_masks_form_gui_t::node_dragging, dt_masks_form_t::points, dt_masks_form_gui_points_t::points, dt_masks_form_gui_t::points, dt_masks_form_gui_t::pos, r, dt_masks_node_ellipse_t::radius, dt_masks_form_t::source, dt_masks_form_gui_t::source_dragging, and dt_masks_form_t::type.
|
static |
Definition at line 661 of file ellipse.c.
References _change_fading(), _change_rotation(), _change_size(), _init_fading(), _init_opacity(), _init_rotation(), _init_size(), dt_masks_form_gui_t::creation, dt_masks_form_gui_t::dev, dt_masks_form_change_opacity(), DT_MASKS_INCREMENT_OFFSET, DT_MASKS_INCREMENT_SCALE, DT_MASKS_INTERACTION_FADING, DT_MASKS_INTERACTION_OPACITY, DT_MASKS_INTERACTION_ROTATION, DT_MASKS_INTERACTION_SIZE, and dt_masks_form_gui_t::form_selected.
|
static |
Definition at line 1018 of file ellipse.c.
References _ellipse_draw_handles(), _ellipse_get_creation_preview(), dt_develop_t::border, dt_masks_form_gui_points_t::border, dt_masks_form_gui_points_t::border_count, dt_masks_form_gui_t::border_selected, dt_masks_form_gui_t::creation, dt_masks_form_gui_t::dev, dt_masks_functions_t::draw_shape, dt_draw_node(), dt_draw_shape_lines(), DT_MASKS_DASH_STICK, dt_masks_draw_preview_shape(), dt_masks_draw_source(), dt_masks_draw_source_preview(), dt_masks_form_is_clone(), dt_masks_functions_ellipse, dt_masks_get_visible_form(), DT_MASKS_NO_DASH, dt_masks_preview_buffers_cleanup(), FALSE, dt_masks_form_gui_t::form_dragging, dt_masks_form_gui_t::form_rotating, dt_masks_form_gui_t::form_selected, dt_masks_form_gui_t::group_selected, IS_NULL_PTR, dt_masks_gui_center_point_t::main, dt_masks_form_gui_t::pivot_selected, dt_masks_form_gui_points_t::points, dt_masks_form_gui_t::points, dt_masks_form_gui_points_t::points_count, dt_masks_form_gui_t::pos, preview, selected, dt_masks_form_gui_points_t::source, dt_masks_form_gui_points_t::source_count, and TRUE.
|
static |
Definition at line 1231 of file ellipse.c.
References _ellipse_points_to_transform(), dt_masks_node_ellipse_t::border, dt_masks_node_ellipse_t::center, dt_iop_module_t::dev, dt_dev_distort_transform_plus(), DT_DEV_TRANSFORM_DIR_BACK_INCL, DT_MASKS_ELLIPSE_PROPORTIONAL, dt_masks_points_bounding_box(), DT_MASKS_RASTER_EMPTY, DT_MASKS_RASTER_ERROR, DT_MASKS_RASTER_OK, dt_pixelpipe_cache_free_align, dt_masks_node_ellipse_t::flags, height, dt_dev_pixelpipe_t::iheight, dt_iop_module_t::iop_order, IS_NULL_PTR, dt_dev_pixelpipe_t::iwidth, MIN, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, dt_masks_node_ellipse_t::rotation, and width.
Referenced by _ellipse_get_mask().
|
static |
Definition at line 291 of file ellipse.c.
References _ellipse_get_creation_values(), _ellipse_get_points(), dt_masks_form_gui_t::dev, DT_MASKS_ELLIPSE_PROPORTIONAL, dt_masks_form_is_clone(), dt_masks_gui_cursor_to_raw_norm(), dt_masks_preview_add_clone_source(), dt_masks_preview_buffers_cleanup(), and preview.
Referenced by _ellipse_events_post_expose().
|
static |
Definition at line 253 of file ellipse.c.
References dt_conf_get_float(), dt_conf_get_int(), and dt_masks_form_uses_spot_defaults().
Referenced by _ellipse_get_creation_preview(), and _ellipse_init_new().
|
static |
Definition at line 184 of file ellipse.c.
References _ellipse_point_close_to_path(), dt_masks_form_gui_points_t::border, dt_masks_form_gui_points_t::border_count, dist(), dt_masks_gui_points_reach(), dt_masks_point_in_form_exact(), IS_NULL_PTR, k, dt_masks_form_gui_points_t::points, dt_masks_form_gui_t::points, dt_masks_form_gui_points_t::points_count, dt_masks_form_gui_points_t::source, dt_masks_form_gui_points_t::source_count, and x.
Referenced by _ellipse_distance_cb().
|
static |
Definition at line 552 of file ellipse.c.
References dt_masks_node_ellipse_t::center, FALSE, IS_NULL_PTR, M_PI_F, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, and TRUE.
|
static |
Definition at line 533 of file ellipse.c.
References dt_masks_node_ellipse_t::border, DT_MASKS_INTERACTION_FADING, DT_MASKS_INTERACTION_ROTATION, DT_MASKS_INTERACTION_SIZE, IS_NULL_PTR, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, and dt_masks_node_ellipse_t::rotation.
Referenced by _ellipse_set_interaction_value().
|
static |
Definition at line 1269 of file ellipse.c.
References __OMP_PARALLEL_FOR__, _ellipse_get_area(), _fill_mask(), dt_masks_node_ellipse_t::border, dt_masks_node_ellipse_t::center, DT_DEBUG_MASKS, DT_DEBUG_PERF, dt_dev_distort_backtransform_plus(), DT_DEV_TRANSFORM_DIR_BACK_INCL, dt_get_debug_flags(), dt_get_wtime(), DT_MASKS_ELLIPSE_PROPORTIONAL, DT_MASKS_RASTER_EMPTY, DT_MASKS_RASTER_ERROR, DT_MASKS_RASTER_OK, dt_pixelpipe_cache_alloc_align_float_cache, dt_pixelpipe_cache_free_align, dt_print(), dt_masks_node_ellipse_t::flags, height, i, dt_dev_pixelpipe_t::iheight, dt_iop_module_t::iop_order, IS_NULL_PTR, dt_dev_pixelpipe_t::iwidth, M_PI, MIN, dt_masks_form_t::name, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, dt_masks_node_ellipse_t::rotation, and width.
|
static |
Definition at line 1377 of file ellipse.c.
References __OMP_PARALLEL_FOR__, _fill_mask(), dt_masks_node_ellipse_t::border, dt_masks_node_ellipse_t::center, DT_DEBUG_MASKS, DT_DEBUG_PERF, dt_dev_distort_transform_plus(), DT_DEV_TRANSFORM_DIR_BACK_INCL, dt_get_debug_flags(), dt_get_wtime(), DT_MASKS_ELLIPSE_PROPORTIONAL, DT_MASKS_RASTER_EMPTY, DT_MASKS_RASTER_ERROR, DT_MASKS_RASTER_OK, dt_masks_sample_grid_backtransform(), dt_masks_sample_grid_interpolate(), dt_masks_touched_none(), dt_masks_touched_set(), dt_pixelpipe_cache_alloc_align_float_cache, dt_pixelpipe_cache_free_align, dt_print(), dt_masks_node_ellipse_t::flags, gh(), dt_iop_roi_t::height, dt_dev_pixelpipe_t::iheight, dt_iop_module_t::iop_order, IS_NULL_PTR, iscale, dt_dev_pixelpipe_t::iwidth, M_PI, MAX, MIN, n, dt_masks_form_t::name, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, dt_masks_node_ellipse_t::rotation, dt_iop_roi_t::scale, dt_iop_roi_t::width, dt_iop_roi_t::x, dt_masks_sample_grid_t::x0, and dt_iop_roi_t::y.
|
static |
Definition at line 395 of file ellipse.c.
References _points_to_transform(), dt_dev_coordinates_raw_abs_to_image_abs(), dt_dev_geometry_snapshot(), dt_pixelpipe_cache_free_align, geometry, and IS_NULL_PTR.
Referenced by _ellipse_get_creation_preview(), and _ellipse_get_points_border().
|
static |
Definition at line 417 of file ellipse.c.
References _ellipse_get_points(), _ellipse_get_points_source(), dt_masks_node_ellipse_t::border, dt_masks_node_ellipse_t::center, DT_MASKS_ELLIPSE_PROPORTIONAL, DT_MASKS_RASTER_EMPTY, DT_MASKS_RASTER_ERROR, dt_masks_raster_from_status(), DT_MASKS_RASTER_OK, dt_masks_node_ellipse_t::flags, IS_NULL_PTR, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, dt_masks_node_ellipse_t::rotation, dt_masks_form_t::source, and x.
|
static |
Definition at line 379 of file ellipse.c.
References _points_to_transform(), dt_dev_geometry_snapshot(), dt_masks_points_shift_to_source(), geometry, and IS_NULL_PTR.
Referenced by _ellipse_get_points_border().
|
static |
Definition at line 1191 of file ellipse.c.
References _ellipse_points_to_transform(), dt_masks_node_ellipse_t::border, dt_iop_module_t::dev, dt_dev_distort_transform_plus(), DT_DEV_TRANSFORM_DIR_BACK_INCL, DT_MASKS_ELLIPSE_PROPORTIONAL, dt_masks_points_bounding_box(), DT_MASKS_RASTER_EMPTY, DT_MASKS_RASTER_ERROR, DT_MASKS_RASTER_OK, dt_pixelpipe_cache_free_align, dt_masks_node_ellipse_t::flags, height, dt_dev_pixelpipe_t::iheight, dt_iop_module_t::iop_order, IS_NULL_PTR, dt_dev_pixelpipe_t::iwidth, MIN, dt_masks_form_t::points, dt_masks_node_ellipse_t::radius, dt_masks_node_ellipse_t::rotation, dt_masks_form_t::source, and width.
|
static |
Definition at line 268 of file ellipse.c.
References _ellipse_get_creation_values(), dt_masks_node_ellipse_t::border, dt_masks_node_ellipse_t::center, dt_masks_form_gui_t::dev, dt_masks_form_is_clone(), dt_masks_gui_cursor_to_raw_norm(), dt_masks_reset_source(), dt_masks_set_source_pos_initial_value(), dt_masks_node_ellipse_t::flags, dt_masks_node_ellipse_t::radius, and dt_masks_node_ellipse_t::rotation.
Referenced by _ellipse_events_button_pressed().
|
static |
Definition at line 1555 of file ellipse.c.
References dt_conf_get_float(), dt_dev_coordinates_raw_norm_to_raw_abs(), and x.
|
static |
Ellipse-specific node position lookup.
Ellipse GUI nodes are stored as center + 4 control points; apply the same transform logic used in the original hit testing.
Definition at line 463 of file ellipse.c.
References _ellipse_point_transform(), and dt_masks_form_gui_points_t::points.
Referenced by _find_closest_handle().
|
static |
|
inlinestatic |
Definition at line 65 of file ellipse.c.
References x.
Referenced by _ellipse_draw_handles(), and _ellipse_node_position_cb().
|
static |
Definition at line 1132 of file ellipse.c.
References dt_dev_coordinates_raw_norm_to_raw_abs(), dt_pixelpipe_cache_alloc_align_float_cache, i, IS_NULL_PTR, M_PI, v, and x.
Referenced by _ellipse_get_area(), and _ellipse_get_source_area().
|
static |
Ellipse-specific post-selection hook.
Ellipse uses the border hit to arm the pivot interaction.
Definition at line 490 of file ellipse.c.
References FALSE, dt_masks_form_gui_t::pivot_selected, and TRUE.
Referenced by _find_closest_handle().
|
static |
Definition at line 1589 of file ellipse.c.
References CLAMPS, dt_conf_get_and_sanitize_float(), dt_conf_get_and_sanitize_int(), dt_conf_get_float(), DT_CONF_SET_SANITIZED_FLOAT, DT_MASKS_CLONE, DT_MASKS_ELLIPSE_EQUIDISTANT, DT_MASKS_ELLIPSE_PROPORTIONAL, DT_MASKS_NON_CLONE, flags, reference(), and type.
|
static |
Definition at line 1544 of file ellipse.c.
References dt_masks_form_t::name.
|
static |
Definition at line 1567 of file ellipse.c.
References dt_masks_form_gui_t::border_selected, dt_masks_form_gui_t::creation, dt_masks_form_is_clone(), dt_masks_form_gui_t::form_selected, dt_masks_form_gui_t::node_hovered, and dt_masks_form_gui_t::source_selected.
|
static |
Definition at line 570 of file ellipse.c.
References _change_fading(), _change_rotation(), _change_size(), _ellipse_get_interaction_value(), DT_MASKS_INTERACTION_FADING, DT_MASKS_INTERACTION_ROTATION, DT_MASKS_INTERACTION_SIZE, dt_masks_form_gui_t::group_selected, IS_NULL_PTR, and value.
|
static |
Definition at line 1084 of file ellipse.c.
References __OMP_PARALLEL_FOR_SIMD__, CLIP, f, i, l2, and x.
Referenced by _ellipse_get_mask(), and _ellipse_get_mask_roi().
|
static |
Definition at line 496 of file ellipse.c.
References _ellipse_distance_cb(), _ellipse_node_position_cb(), _ellipse_post_select_cb(), dt_masks_find_closest_handle_common(), FALSE, and dt_masks_form_gui_t::pivot_selected.
|
static |
Definition at line 504 of file ellipse.c.
References dt_masks_get_set_conf_value_with_toast(), FADING_MAX, and FADING_MIN.
Referenced by _change_fading(), and _ellipse_events_mouse_scrolled().
|
static |
Definition at line 519 of file ellipse.c.
References dt_masks_get_set_conf_value_with_toast().
Referenced by _ellipse_events_mouse_scrolled().
|
static |
Definition at line 526 of file ellipse.c.
References dt_masks_get_set_conf_value_with_toast().
Referenced by _change_rotation(), and _ellipse_events_mouse_scrolled().
|
static |
Definition at line 511 of file ellipse.c.
References dt_masks_get_set_conf_value(), dt_toast_log(), FADING_MAX, and FADING_MIN.
Referenced by _change_size(), and _ellipse_events_mouse_scrolled().
|
static |
Definition at line 323 of file ellipse.c.
References __OMP_PARALLEL_FOR_SIMD__, dt_dev_coordinates_raw_norm_to_raw_abs(), dt_pixelpipe_cache_alloc_align_float_cache, i, IS_NULL_PTR, M_PI, MAX, MIN, n, v, and x.
Referenced by _ellipse_get_points(), and _ellipse_get_points_source().
| const dt_masks_functions_t dt_masks_functions_ellipse |
Definition at line 1643 of file ellipse.c.
Referenced by _ellipse_events_post_expose(), dt_masks_create(), and main().