Blender V5.0
ED_mask.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2012 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "DNA_mask_types.h"
12
13struct ARegion;
14struct Depsgraph;
15struct KeyframeEditData;
16struct MaskLayer;
17struct MaskLayerShape;
18struct Scene;
19struct ScrArea;
20struct bContext;
21struct wmKeyConfig;
22
23/* `mask_edit.cc` */
24
33
43
51
60
62
64void ED_keymap_mask(wmKeyConfig *keyconf);
66
67/* `mask_query.cc` */
68
69void ED_mask_get_size(ScrArea *area, int *r_width, int *r_height);
70void ED_mask_zoom(ScrArea *area, ARegion *region, float *r_zoomx, float *r_zoomy);
71void ED_mask_get_aspect(ScrArea *area, ARegion *region, float *r_aspx, float *r_aspy);
72
73void ED_mask_pixelspace_factor(ScrArea *area, ARegion *region, float *r_scalex, float *r_scaley);
77void ED_mask_mouse_pos(ScrArea *area, ARegion *region, const int mval[2], float r_co[2]);
78
83void ED_mask_point_pos(ScrArea *area, ARegion *region, float x, float y, float *r_x, float *r_y);
85 ScrArea *area, ARegion *region, float x, float y, float *r_x, float *r_y);
86
87void ED_mask_cursor_location_get(ScrArea *area, float cursor[2]);
89 float min[2],
90 float max[2],
91 bool handles_as_control_point);
92
94 const bContext *C, ScrArea *area, float r_center[2], char mode, bool *r_has_select);
95
96/* `mask_draw.cc` */
97
102void ED_mask_draw_region(Depsgraph *depsgraph,
103 Mask *mask,
104 ARegion *region,
105 bool show_overlays,
106 char draw_flag,
107 char draw_type,
108 eMaskOverlayMode overlay_mode,
109 float blend_factor,
110 int width_i,
111 int height_i,
112 float aspx,
113 float aspy,
114 bool do_scale_applied,
115 bool do_draw_cb,
116 float stabmat[4][4],
117 const bContext *C);
118
119void ED_mask_draw_frames(Mask *mask, ARegion *region, int cfra, int sfra, int efra);
120
121/* `mask_shapekey.cc` */
122
123void ED_mask_layer_shape_auto_key(MaskLayer *mask_layer, int frame);
126
127/* ----------- Mask AnimEdit API ------------------ */
128
133 Scene *scene,
134 bool (*mask_layer_shape_cb)(MaskLayerShape *, Scene *));
138void ED_masklayer_make_cfra_list(MaskLayer *mask_layer, ListBase *elems, bool onlysel);
139
143bool ED_masklayer_frame_select_check(const MaskLayer *mask_layer);
147void ED_masklayer_frame_select_set(MaskLayer *mask_layer, short mode);
152 float min,
153 float max,
154 short select_mode);
159 MaskLayer *mask_layer,
160 short tool,
161 short select_mode);
165void ED_mask_select_frames(MaskLayer *mask_layer, short select_mode);
169void ED_mask_select_frame(MaskLayer *mask_layer, int selx, short select_mode);
170
174bool ED_masklayer_frames_delete(MaskLayer *mask_layer);
179
183void ED_masklayer_snap_frames(MaskLayer *mask_layer, Scene *scene, short mode);
184
185#if 0
186void free_gpcopybuf();
187void copy_gpdata();
188void paste_gpdata();
189
190void mirror_masklayer_frames(MaskLayer *mask_layer, short mode);
191#endif
eMaskOverlayMode
void ED_mask_mouse_pos(ScrArea *area, ARegion *region, const int mval[2], float r_co[2])
void ED_mask_draw_region(Depsgraph *depsgraph, Mask *mask, ARegion *region, bool show_overlays, char draw_flag, char draw_type, eMaskOverlayMode overlay_mode, float blend_factor, int width_i, int height_i, float aspx, float aspy, bool do_scale_applied, bool do_draw_cb, float stabmat[4][4], const bContext *C)
Definition mask_draw.cc:641
void ED_mask_center_from_pivot_ex(const bContext *C, ScrArea *area, float r_center[2], char mode, bool *r_has_select)
void ED_mask_point_pos(ScrArea *area, ARegion *region, float x, float y, float *r_x, float *r_y)
void ED_operatormacros_mask()
Definition mask_edit.cc:168
bool ED_masklayer_frame_select_check(const MaskLayer *mask_layer)
void ED_mask_layer_shape_auto_key(MaskLayer *mask_layer, int frame)
void ED_mask_zoom(ScrArea *area, ARegion *region, float *r_zoomx, float *r_zoomy)
void ED_mask_select_frame(MaskLayer *mask_layer, int selx, short select_mode)
void ED_keymap_mask(wmKeyConfig *keyconf)
Definition mask_edit.cc:162
void ED_mask_select_frames(MaskLayer *mask_layer, short select_mode)
void ED_masklayer_snap_frames(MaskLayer *mask_layer, Scene *scene, short mode)
bool ED_masklayer_frames_duplicate(MaskLayer *mask_layer)
void ED_masklayer_frames_select_region(KeyframeEditData *ked, MaskLayer *mask_layer, short tool, short select_mode)
bool ED_masklayer_frames_delete(MaskLayer *mask_layer)
void ED_operatortypes_mask()
Definition mask_edit.cc:98
void ED_mask_draw_frames(Mask *mask, ARegion *region, int cfra, int sfra, int efra)
Definition mask_draw.cc:791
void ED_masklayer_frames_select_box(MaskLayer *mask_layer, float min, float max, short select_mode)
void ED_mask_get_size(ScrArea *area, int *r_width, int *r_height)
void ED_mask_cursor_location_get(ScrArea *area, float cursor[2])
bool ED_masklayer_frames_looper(MaskLayer *mask_layer, Scene *scene, bool(*mask_layer_shape_cb)(MaskLayerShape *, Scene *))
bool ED_maskedit_visible_splines_poll(bContext *C)
Definition mask_edit.cc:44
void ED_mask_point_pos__reverse(ScrArea *area, ARegion *region, float x, float y, float *r_x, float *r_y)
bool ED_mask_selected_minmax(const bContext *C, float min[2], float max[2], bool handles_as_control_point)
void ED_mask_pixelspace_factor(ScrArea *area, ARegion *region, float *r_scalex, float *r_scaley)
bool ED_maskedit_mask_poll(bContext *C)
Definition mask_edit.cc:60
void ED_mask_get_aspect(ScrArea *area, ARegion *region, float *r_aspx, float *r_aspy)
bool ED_maskedit_poll(bContext *C)
Definition mask_edit.cc:28
bool ED_mask_layer_shape_auto_key_select(Mask *mask, int frame)
bool ED_maskedit_mask_visible_splines_poll(bContext *C)
Definition mask_edit.cc:76
void ED_masklayer_make_cfra_list(MaskLayer *mask_layer, ListBase *elems, bool onlysel)
bool ED_mask_layer_shape_auto_key_all(Mask *mask, int frame)
void ED_masklayer_frame_select_set(MaskLayer *mask_layer, short mode)
void ED_mask_deselect_all(const bContext *C)
#define C
Definition RandGen.cpp:29
BPy_StructRNA * depsgraph
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
#define min(a, b)
Definition sort.cc:36
max
Definition text_draw.cc:251