diff options
Diffstat (limited to 'source/blender/editors/include/ED_uvedit.h')
-rw-r--r-- | source/blender/editors/include/ED_uvedit.h | 82 |
1 files changed, 61 insertions, 21 deletions
diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h index f656aaf9c07..53fb79bb012 100644 --- a/source/blender/editors/include/ED_uvedit.h +++ b/source/blender/editors/include/ED_uvedit.h @@ -21,8 +21,7 @@ * \ingroup editors */ -#ifndef __ED_UVEDIT_H__ -#define __ED_UVEDIT_H__ +#pragma once #ifdef __cplusplus extern "C" { @@ -47,6 +46,7 @@ struct wmKeyConfig; /* uvedit_ops.c */ void ED_operatortypes_uvedit(void); +void ED_operatormacros_uvedit(void); void ED_keymap_uvedit(struct wmKeyConfig *keyconf); bool ED_uvedit_minmax(const struct Scene *scene, @@ -114,51 +114,72 @@ bool uvedit_uv_select_test(const struct Scene *scene, struct BMLoop *l, const int cd_loop_uv_offset); /* uv face */ -bool uvedit_face_select_set(const struct Scene *scene, +void uvedit_face_select_set_with_sticky(const struct SpaceImage *sima, + const struct Scene *scene, + struct BMEditMesh *em, + struct BMFace *efa, + const bool select, + const bool do_history, + const int cd_loop_uv_offset); +void uvedit_face_select_set(const struct Scene *scene, struct BMEditMesh *em, struct BMFace *efa, const bool select, const bool do_history, const int cd_loop_uv_offset); -bool uvedit_face_select_enable(const struct Scene *scene, +void uvedit_face_select_enable(const struct Scene *scene, struct BMEditMesh *em, struct BMFace *efa, const bool do_history, const int cd_loop_uv_offset); -bool uvedit_face_select_disable(const struct Scene *scene, +void uvedit_face_select_disable(const struct Scene *scene, struct BMEditMesh *em, struct BMFace *efa, const int cd_loop_uv_offset); /* uv edge */ -void uvedit_edge_select_set(struct BMEditMesh *em, - const struct Scene *scene, +void uvedit_edge_select_set_with_sticky(const struct SpaceImage *sima, + const struct Scene *scene, + struct BMEditMesh *em, + struct BMLoop *l, + const bool select, + const bool do_history, + const uint cd_loop_uv_offset); +void uvedit_edge_select_set(const struct Scene *scene, + struct BMEditMesh *em, struct BMLoop *l, const bool select, const bool do_history, const int cd_loop_uv_offset); -void uvedit_edge_select_enable(struct BMEditMesh *em, - const struct Scene *scene, +void uvedit_edge_select_enable(const struct Scene *scene, + struct BMEditMesh *em, struct BMLoop *l, const bool do_history, const int cd_loop_uv_offset); -void uvedit_edge_select_disable(struct BMEditMesh *em, - const struct Scene *scene, +void uvedit_edge_select_disable(const struct Scene *scene, + struct BMEditMesh *em, struct BMLoop *l, const int cd_loop_uv_offset); /* uv vert */ -void uvedit_uv_select_set(struct BMEditMesh *em, - const struct Scene *scene, +void uvedit_uv_select_set_with_sticky(const struct SpaceImage *sima, + const struct Scene *scene, + struct BMEditMesh *em, + struct BMLoop *l, + const bool select, + const bool do_history, + const uint cd_loop_uv_offset); +void uvedit_uv_select_set(const struct Scene *scene, + struct BMEditMesh *em, struct BMLoop *l, const bool select, const bool do_history, const int cd_loop_uv_offset); -void uvedit_uv_select_enable(struct BMEditMesh *em, - const struct Scene *scene, +void uvedit_uv_select_enable(const struct Scene *scene, + struct BMEditMesh *em, struct BMLoop *l, const bool do_history, const int cd_loop_uv_offset); -void uvedit_uv_select_disable(struct BMEditMesh *em, - const struct Scene *scene, +void uvedit_uv_select_disable(const struct Scene *scene, + struct BMEditMesh *em, struct BMLoop *l, const int cd_loop_uv_offset); @@ -174,8 +195,29 @@ bool ED_uvedit_nearest_uv_multi(const struct Scene *scene, float *dist_sq, float r_uv[2]); -void ED_uvedit_get_aspect( - const struct Scene *scene, struct Object *ob, struct BMesh *em, float *r_aspx, float *r_aspy); +struct BMFace **ED_uvedit_selected_faces(struct Scene *scene, + struct BMesh *bm, + int len_max, + int *r_faces_len); +struct BMLoop **ED_uvedit_selected_edges(struct Scene *scene, + struct BMesh *bm, + int len_max, + int *r_edges_len); +struct BMLoop **ED_uvedit_selected_verts(struct Scene *scene, + struct BMesh *bm, + int len_max, + int *r_verts_len); + +void ED_uvedit_get_aspect(struct Object *obedit, float *r_aspx, float *r_aspy); + +void ED_uvedit_active_vert_loop_set(struct BMesh *bm, struct BMLoop *l); +struct BMLoop *ED_uvedit_active_vert_loop_get(struct BMesh *bm); + +void ED_uvedit_active_edge_loop_set(struct BMesh *bm, struct BMLoop *l); +struct BMLoop *ED_uvedit_active_edge_loop_get(struct BMesh *bm); + +char ED_uvedit_select_mode_get(const Scene *scene); +void ED_uvedit_select_sync_flush(const ToolSettings *ts, struct BMEditMesh *em, const bool select); /* uvedit_unwrap_ops.c */ void ED_uvedit_live_unwrap_begin(struct Scene *scene, struct Object *obedit); @@ -200,5 +242,3 @@ void ED_uvedit_buttons_register(struct ARegionType *art); #ifdef __cplusplus } #endif - -#endif /* __ED_UVEDIT_H__ */ |