diff options
author | Germano Cavalcante <mano-wii> | 2021-10-18 06:32:23 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-10-18 07:58:00 +0300 |
commit | 69d6222481b4342dc2a153e62752145aa37ea101 (patch) | |
tree | fe84a99c2cf3bc7b2ddce62a302e5498a126a9e4 /source/blender/editors/include/ED_gizmo_library.h | |
parent | be22e36692f0989e52b4a4f286d7d3d3fe8186bd (diff) |
Snap and Placement Gizmo Refactor
Move most of the gizmo snap and placement code to `view_cursor_snap.c`.
Simplify and extend the snap API.
Differential Revision: https://developer.blender.org/D12868
Diffstat (limited to 'source/blender/editors/include/ED_gizmo_library.h')
-rw-r--r-- | source/blender/editors/include/ED_gizmo_library.h | 41 |
1 files changed, 9 insertions, 32 deletions
diff --git a/source/blender/editors/include/ED_gizmo_library.h b/source/blender/editors/include/ED_gizmo_library.h index 9bef5a17d12..4d922162ee9 100644 --- a/source/blender/editors/include/ED_gizmo_library.h +++ b/source/blender/editors/include/ED_gizmo_library.h @@ -41,11 +41,7 @@ void ED_gizmotypes_primitive_3d(void); void ED_gizmotypes_blank_3d(void); void ED_gizmotypes_snap_3d(void); -struct ARegion; -struct Depsgraph; struct Object; -struct SnapObjectContext; -struct View3D; struct bContext; struct wmGizmo; struct wmWindowManager; @@ -248,41 +244,22 @@ void ED_gizmotypes_dial_3d_draw_util(const float matrix_basis[4][4], struct Dial3dParams *params); /* snap3d_gizmo.c */ -#define USE_SNAP_DETECT_FROM_KEYMAP_HACK -void ED_gizmotypes_snap_3d_draw_util(struct RegionView3D *rv3d, - const float loc_prev[3], - const float loc_curr[3], - const float normal[3], - const uchar color_line[4], - const uchar color_point[4], - const short snap_elem_type); struct SnapObjectContext *ED_gizmotypes_snap_3d_context_ensure(struct Scene *scene, struct wmGizmo *gz); -typedef enum { - ED_SNAPGIZMO_TOGGLE_ALWAYS_TRUE = 1 << 0, - ED_SNAPGIZMO_OCCLUSION_ALWAYS_TRUE = 1 << 1, - ED_SNAPGIZMO_OCCLUSION_ALWAYS_FALSE = 1 << 2, /* TODO. */ - ED_SNAPGIZMO_SNAP_ONLY_ACTIVE = 1 << 3, - ED_SNAPGIZMO_SNAP_EDIT_GEOM_FINAL = 1 << 4, - ED_SNAPGIZMO_SNAP_EDIT_GEOM_CAGE = 1 << 5, -} eSnapGizmo; - -void ED_gizmotypes_snap_3d_flag_set(struct wmGizmo *gz, eSnapGizmo flag); -void ED_gizmotypes_snap_3d_flag_clear(struct wmGizmo *gz, eSnapGizmo flag); -bool ED_gizmotypes_snap_3d_flag_test(struct wmGizmo *gz, eSnapGizmo flag); +void ED_gizmotypes_snap_3d_flag_set(struct wmGizmo *gz, int flag); +void ED_gizmotypes_snap_3d_flag_clear(struct wmGizmo *gz, int flag); +bool ED_gizmotypes_snap_3d_flag_test(struct wmGizmo *gz, int flag); bool ED_gizmotypes_snap_3d_invert_snap_get(struct wmGizmo *gz); bool ED_gizmotypes_snap_3d_is_enabled(const struct wmGizmo *gz); -short ED_gizmotypes_snap_3d_update(struct wmGizmo *gz, - struct Depsgraph *depsgraph, - const struct ARegion *region, - const struct View3D *v3d, - const struct wmWindowManager *wm, - const float mval_fl[2]); -void ED_gizmotypes_snap_3d_data_get( - struct wmGizmo *gz, float r_loc[3], float r_nor[3], int r_elem_index[3], int *r_snap_elem); +void ED_gizmotypes_snap_3d_data_get(const struct bContext *C, + struct wmGizmo *gz, + float r_loc[3], + float r_nor[3], + int r_elem_index[3], + int *r_snap_elem); #ifdef __cplusplus } |