Blender V4.3
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
9#pragma once
10
11#include "DNA_mask_types.h"
12
13struct Depsgraph;
14struct KeyframeEditData;
15struct MaskLayer;
16struct MaskLayerShape;
17struct bContext;
18struct wmKeyConfig;
19
20/* `mask_edit.cc` */
21
30
40
48
57
58void ED_mask_deselect_all(const bContext *C);
59
61void ED_keymap_mask(wmKeyConfig *keyconf);
63
64/* `mask_query.cc` */
65
66void ED_mask_get_size(ScrArea *area, int *r_width, int *r_height);
67void ED_mask_zoom(ScrArea *area, ARegion *region, float *r_zoomx, float *r_zoomy);
68void ED_mask_get_aspect(ScrArea *area, ARegion *region, float *r_aspx, float *r_aspy);
69
70void ED_mask_pixelspace_factor(ScrArea *area, ARegion *region, float *r_scalex, float *r_scaley);
74void ED_mask_mouse_pos(ScrArea *area, ARegion *region, const int mval[2], float r_co[2]);
75
80void ED_mask_point_pos(ScrArea *area, ARegion *region, float x, float y, float *r_x, float *r_y);
82 ScrArea *area, ARegion *region, float x, float y, float *r_x, float *r_y);
83
84void ED_mask_cursor_location_get(ScrArea *area, float cursor[2]);
86 float min[2],
87 float max[2],
88 bool handles_as_control_point);
89
90/* `mask_draw.cc` */
91
96void ED_mask_draw_region(Depsgraph *depsgraph,
97 Mask *mask,
98 ARegion *region,
99 char draw_flag,
100 char draw_type,
101 eMaskOverlayMode overlay_mode,
102 float blend_factor,
103 int width_i,
104 int height_i,
105 float aspx,
106 float aspy,
107 bool do_scale_applied,
108 bool do_draw_cb,
109 float stabmat[4][4],
110 const bContext *C);
111
112void ED_mask_draw_frames(Mask *mask, ARegion *region, int cfra, int sfra, int efra);
113
114/* `mask_shapekey.cc` */
115
116void ED_mask_layer_shape_auto_key(MaskLayer *mask_layer, int frame);
117bool ED_mask_layer_shape_auto_key_all(Mask *mask, int frame);
118bool ED_mask_layer_shape_auto_key_select(Mask *mask, int frame);
119
120/* ----------- Mask AnimEdit API ------------------ */
121
126 Scene *scene,
127 bool (*mask_layer_shape_cb)(MaskLayerShape *, Scene *));
131void ED_masklayer_make_cfra_list(MaskLayer *mask_layer, ListBase *elems, bool onlysel);
132
136bool ED_masklayer_frame_select_check(const MaskLayer *mask_layer);
140void ED_masklayer_frame_select_set(MaskLayer *mask_layer, short mode);
145 float min,
146 float max,
147 short select_mode);
152 MaskLayer *mask_layer,
153 short tool,
154 short select_mode);
158void ED_mask_select_frames(MaskLayer *mask_layer, short select_mode);
162void ED_mask_select_frame(MaskLayer *mask_layer, int selx, short select_mode);
163
167bool ED_masklayer_frames_delete(MaskLayer *mask_layer);
172
176void ED_masklayer_snap_frames(MaskLayer *mask_layer, Scene *scene, short mode);
177
178#if 0
179void free_gpcopybuf();
180void copy_gpdata();
181void paste_gpdata();
182
183void mirror_masklayer_frames(MaskLayer *mask_layer, short mode);
184#endif
eMaskOverlayMode
void ED_mask_mouse_pos(ScrArea *area, ARegion *region, const int mval[2], float r_co[2])
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:170
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:164
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:100
void ED_mask_draw_frames(Mask *mask, ARegion *region, int cfra, int sfra, int efra)
Definition mask_draw.cc:771
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:46
void ED_mask_point_pos__reverse(ScrArea *area, ARegion *region, float x, float y, float *r_x, float *r_y)
void ED_mask_draw_region(Depsgraph *depsgraph, Mask *mask, ARegion *region, 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:640
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:62
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:30
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:78
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)
const Depsgraph * depsgraph
#define min(a, b)
Definition sort.c:32