Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/gizmo_library/gizmo_library_presets.c')
-rw-r--r--source/blender/editors/gizmo_library/gizmo_library_presets.c120
1 files changed, 61 insertions, 59 deletions
diff --git a/source/blender/editors/gizmo_library/gizmo_library_presets.c b/source/blender/editors/gizmo_library/gizmo_library_presets.c
index 9dba0c0d515..ce62171ccb0 100644
--- a/source/blender/editors/gizmo_library/gizmo_library_presets.c
+++ b/source/blender/editors/gizmo_library/gizmo_library_presets.c
@@ -48,97 +48,99 @@
#include "ED_screen.h"
/* own includes */
-#include "ED_gizmo_library.h" /* own include */
-#include "gizmo_library_intern.h" /* own include */
+#include "ED_gizmo_library.h" /* own include */
+#include "gizmo_library_intern.h" /* own include */
/* TODO, this is to be used by RNA. might move to ED_gizmo_library */
/**
* Given a single axis, orient the matrix to a different direction.
*/
-static void single_axis_convert(
- int src_axis, float src_mat[4][4],
- int dst_axis, float dst_mat[4][4])
+static void single_axis_convert(int src_axis,
+ float src_mat[4][4],
+ int dst_axis,
+ float dst_mat[4][4])
{
- copy_m4_m4(dst_mat, src_mat);
- if (src_axis == dst_axis) {
- return;
- }
-
- float rotmat[3][3];
- mat3_from_axis_conversion_single(src_axis, dst_axis, rotmat);
- transpose_m3(rotmat);
- mul_m4_m4m3(dst_mat, src_mat, rotmat);
+ copy_m4_m4(dst_mat, src_mat);
+ if (src_axis == dst_axis) {
+ return;
+ }
+
+ float rotmat[3][3];
+ mat3_from_axis_conversion_single(src_axis, dst_axis, rotmat);
+ transpose_m3(rotmat);
+ mul_m4_m4m3(dst_mat, src_mat, rotmat);
}
/**
* Use for all geometry.
*/
-static void ed_gizmo_draw_preset_geometry(
- const struct wmGizmo *gz, float mat[4][4], int select_id,
- const GizmoGeomInfo *info)
+static void ed_gizmo_draw_preset_geometry(const struct wmGizmo *gz,
+ float mat[4][4],
+ int select_id,
+ const GizmoGeomInfo *info)
{
- const bool is_select = (select_id != -1);
- const bool is_highlight = is_select && (gz->state & WM_GIZMO_STATE_HIGHLIGHT) != 0;
+ const bool is_select = (select_id != -1);
+ const bool is_highlight = is_select && (gz->state & WM_GIZMO_STATE_HIGHLIGHT) != 0;
- float color[4];
- gizmo_color_get(gz, is_highlight, color);
+ float color[4];
+ gizmo_color_get(gz, is_highlight, color);
- if (is_select) {
- GPU_select_load_id(select_id);
- }
+ if (is_select) {
+ GPU_select_load_id(select_id);
+ }
- GPU_matrix_push();
- GPU_matrix_mul(mat);
- wm_gizmo_geometryinfo_draw(info, is_select, color);
- GPU_matrix_pop();
+ GPU_matrix_push();
+ GPU_matrix_mul(mat);
+ wm_gizmo_geometryinfo_draw(info, is_select, color);
+ GPU_matrix_pop();
- if (is_select) {
- GPU_select_load_id(-1);
- }
+ if (is_select) {
+ GPU_select_load_id(-1);
+ }
}
-void ED_gizmo_draw_preset_box(
- const struct wmGizmo *gz, float mat[4][4], int select_id)
+void ED_gizmo_draw_preset_box(const struct wmGizmo *gz, float mat[4][4], int select_id)
{
- ed_gizmo_draw_preset_geometry(gz, mat, select_id, &wm_gizmo_geom_data_cube);
+ ed_gizmo_draw_preset_geometry(gz, mat, select_id, &wm_gizmo_geom_data_cube);
}
-void ED_gizmo_draw_preset_arrow(
- const struct wmGizmo *gz, float mat[4][4], int axis, int select_id)
+void ED_gizmo_draw_preset_arrow(const struct wmGizmo *gz, float mat[4][4], int axis, int select_id)
{
- float mat_rotate[4][4];
- single_axis_convert(OB_POSZ, mat, axis, mat_rotate);
- ed_gizmo_draw_preset_geometry(gz, mat_rotate, select_id, &wm_gizmo_geom_data_arrow);
+ float mat_rotate[4][4];
+ single_axis_convert(OB_POSZ, mat, axis, mat_rotate);
+ ed_gizmo_draw_preset_geometry(gz, mat_rotate, select_id, &wm_gizmo_geom_data_arrow);
}
-void ED_gizmo_draw_preset_circle(
- const struct wmGizmo *gz, float mat[4][4], int axis, int select_id)
+void ED_gizmo_draw_preset_circle(const struct wmGizmo *gz,
+ float mat[4][4],
+ int axis,
+ int select_id)
{
- float mat_rotate[4][4];
- single_axis_convert(OB_POSZ, mat, axis, mat_rotate);
- ed_gizmo_draw_preset_geometry(gz, mat_rotate, select_id, &wm_gizmo_geom_data_dial);
+ float mat_rotate[4][4];
+ single_axis_convert(OB_POSZ, mat, axis, mat_rotate);
+ ed_gizmo_draw_preset_geometry(gz, mat_rotate, select_id, &wm_gizmo_geom_data_dial);
}
void ED_gizmo_draw_preset_facemap(
- const bContext *C, const struct wmGizmo *gz, Object *ob, const int facemap, int select_id)
+ const bContext *C, const struct wmGizmo *gz, Object *ob, const int facemap, int select_id)
{
- const bool is_select = (select_id != -1);
- const bool is_highlight = is_select && (gz->state & WM_GIZMO_STATE_HIGHLIGHT) != 0;
+ const bool is_select = (select_id != -1);
+ const bool is_highlight = is_select && (gz->state & WM_GIZMO_STATE_HIGHLIGHT) != 0;
- float color[4];
- gizmo_color_get(gz, is_highlight, color);
+ float color[4];
+ gizmo_color_get(gz, is_highlight, color);
- if (is_select) {
- GPU_select_load_id(select_id);
- }
+ if (is_select) {
+ GPU_select_load_id(select_id);
+ }
- GPU_matrix_push();
- GPU_matrix_mul(ob->obmat);
- ED_draw_object_facemap(CTX_data_depsgraph(C), ob, color, facemap);
- GPU_matrix_pop();
+ GPU_matrix_push();
+ GPU_matrix_mul(ob->obmat);
+ ED_draw_object_facemap(CTX_data_depsgraph(C), ob, color, facemap);
+ GPU_matrix_pop();
- if (is_select) {
- GPU_select_load_id(-1);
- }
+ if (is_select) {
+ GPU_select_load_id(-1);
+ }
}