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_group_types/value2d_gizmo_group.c')
-rw-r--r--source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c153
1 files changed, 75 insertions, 78 deletions
diff --git a/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c b/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
index 28a5200a041..3b61aed5e27 100644
--- a/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
+++ b/source/blender/editors/gizmo_library/gizmo_group_types/value2d_gizmo_group.c
@@ -44,118 +44,115 @@
* \{ */
struct ValueOpRedoGroup {
- wmGizmo *gizmo;
- struct {
- const bContext *context; /* needed for redo. */
- wmOperator *op;
- } state;
+ wmGizmo *gizmo;
+ struct {
+ const bContext *context; /* needed for redo. */
+ wmOperator *op;
+ } state;
};
static void gizmo_op_redo_exec(struct ValueOpRedoGroup *igzgroup)
{
- wmOperator *op = igzgroup->state.op;
- if (op == WM_operator_last_redo((bContext *)igzgroup->state.context)) {
- ED_undo_operator_repeat((bContext *)igzgroup->state.context, op);
- }
+ wmOperator *op = igzgroup->state.op;
+ if (op == WM_operator_last_redo((bContext *)igzgroup->state.context)) {
+ ED_undo_operator_repeat((bContext *)igzgroup->state.context, op);
+ }
}
/* translate callbacks */
-static void gizmo_value_operator_redo_value_get(
- const wmGizmo *gz, wmGizmoProperty *gz_prop,
- void *value_p)
+static void gizmo_value_operator_redo_value_get(const wmGizmo *gz,
+ wmGizmoProperty *gz_prop,
+ void *value_p)
{
- float *value = value_p;
- BLI_assert(gz_prop->type->array_length == 1);
- UNUSED_VARS_NDEBUG(gz_prop);
+ float *value = value_p;
+ BLI_assert(gz_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(gz_prop);
- struct ValueOpRedoGroup *igzgroup = gz->parent_gzgroup->customdata;
- wmOperator *op = igzgroup->state.op;
- *value = RNA_property_float_get(op->ptr, op->type->prop);
+ struct ValueOpRedoGroup *igzgroup = gz->parent_gzgroup->customdata;
+ wmOperator *op = igzgroup->state.op;
+ *value = RNA_property_float_get(op->ptr, op->type->prop);
}
-static void gizmo_value_operator_redo_value_set(
- const wmGizmo *gz, wmGizmoProperty *gz_prop,
- const void *value_p)
+static void gizmo_value_operator_redo_value_set(const wmGizmo *gz,
+ wmGizmoProperty *gz_prop,
+ const void *value_p)
{
- const float *value = value_p;
- BLI_assert(gz_prop->type->array_length == 1);
- UNUSED_VARS_NDEBUG(gz_prop);
-
- struct ValueOpRedoGroup *igzgroup = gz->parent_gzgroup->customdata;
- wmOperator *op = igzgroup->state.op;
- RNA_property_float_set(op->ptr, op->type->prop, *value);
- gizmo_op_redo_exec(igzgroup);
+ const float *value = value_p;
+ BLI_assert(gz_prop->type->array_length == 1);
+ UNUSED_VARS_NDEBUG(gz_prop);
+
+ struct ValueOpRedoGroup *igzgroup = gz->parent_gzgroup->customdata;
+ wmOperator *op = igzgroup->state.op;
+ RNA_property_float_set(op->ptr, op->type->prop, *value);
+ gizmo_op_redo_exec(igzgroup);
}
-static void WIDGETGROUP_value_operator_redo_modal_from_setup(
- const bContext *C, wmGizmoGroup *gzgroup)
+static void WIDGETGROUP_value_operator_redo_modal_from_setup(const bContext *C,
+ wmGizmoGroup *gzgroup)
{
- /* Start off dragging. */
- wmWindow *win = CTX_wm_window(C);
- wmGizmo *gz = gzgroup->gizmos.first;
- wmGizmoMap *gzmap = gzgroup->parent_gzmap;
- WM_gizmo_modal_set_from_setup(
- gzmap, (bContext *)C, gz, 0, win->eventstate);
+ /* Start off dragging. */
+ wmWindow *win = CTX_wm_window(C);
+ wmGizmo *gz = gzgroup->gizmos.first;
+ wmGizmoMap *gzmap = gzgroup->parent_gzmap;
+ WM_gizmo_modal_set_from_setup(gzmap, (bContext *)C, gz, 0, win->eventstate);
}
static void WIDGETGROUP_value_operator_redo_setup(const bContext *C, wmGizmoGroup *gzgroup)
{
- struct ValueOpRedoGroup *igzgroup = MEM_mallocN(sizeof(struct ValueOpRedoGroup), __func__);
+ struct ValueOpRedoGroup *igzgroup = MEM_mallocN(sizeof(struct ValueOpRedoGroup), __func__);
- igzgroup->gizmo = WM_gizmo_new("GIZMO_GT_value_2d", gzgroup, NULL);
- wmGizmo *gz = igzgroup->gizmo;
+ igzgroup->gizmo = WM_gizmo_new("GIZMO_GT_value_2d", gzgroup, NULL);
+ wmGizmo *gz = igzgroup->gizmo;
- igzgroup->state.context = C;
- igzgroup->state.op = WM_operator_last_redo(C);
+ igzgroup->state.context = C;
+ igzgroup->state.op = WM_operator_last_redo(C);
- gzgroup->customdata = igzgroup;
+ gzgroup->customdata = igzgroup;
- UI_GetThemeColor3fv(TH_GIZMO_PRIMARY, gz->color);
- UI_GetThemeColor3fv(TH_GIZMO_HI, gz->color_hi);
+ UI_GetThemeColor3fv(TH_GIZMO_PRIMARY, gz->color);
+ UI_GetThemeColor3fv(TH_GIZMO_HI, gz->color_hi);
- WM_gizmo_target_property_def_func(
- gz, "offset",
- &(const struct wmGizmoPropertyFnParams) {
- .value_get_fn = gizmo_value_operator_redo_value_get,
- .value_set_fn = gizmo_value_operator_redo_value_set,
- .range_get_fn = NULL,
- .user_data = igzgroup,
- });
+ WM_gizmo_target_property_def_func(gz,
+ "offset",
+ &(const struct wmGizmoPropertyFnParams){
+ .value_get_fn = gizmo_value_operator_redo_value_get,
+ .value_set_fn = gizmo_value_operator_redo_value_set,
+ .range_get_fn = NULL,
+ .user_data = igzgroup,
+ });
- /* Become modal as soon as it's started. */
- WIDGETGROUP_value_operator_redo_modal_from_setup(C, gzgroup);
+ /* Become modal as soon as it's started. */
+ WIDGETGROUP_value_operator_redo_modal_from_setup(C, gzgroup);
}
-static void WIDGETGROUP_value_operator_redo_refresh(const bContext *UNUSED(C), wmGizmoGroup *gzgroup)
+static void WIDGETGROUP_value_operator_redo_refresh(const bContext *UNUSED(C),
+ wmGizmoGroup *gzgroup)
{
- struct ValueOpRedoGroup *igzgroup = gzgroup->customdata;
- wmGizmo *gz = igzgroup->gizmo;
- wmOperator *op = WM_operator_last_redo((bContext *)igzgroup->state.context);
- wmGizmoMap *gzmap = gzgroup->parent_gzmap;
-
- /* FIXME */
- extern struct wmGizmo *wm_gizmomap_modal_get(struct wmGizmoMap *gzmap);
- if ((op != igzgroup->state.op) ||
- (wm_gizmomap_modal_get(gzmap) != gz))
- {
- WM_gizmo_group_type_unlink_delayed_ptr(gzgroup->type);
- }
+ struct ValueOpRedoGroup *igzgroup = gzgroup->customdata;
+ wmGizmo *gz = igzgroup->gizmo;
+ wmOperator *op = WM_operator_last_redo((bContext *)igzgroup->state.context);
+ wmGizmoMap *gzmap = gzgroup->parent_gzmap;
+
+ /* FIXME */
+ extern struct wmGizmo *wm_gizmomap_modal_get(struct wmGizmoMap * gzmap);
+ if ((op != igzgroup->state.op) || (wm_gizmomap_modal_get(gzmap) != gz)) {
+ WM_gizmo_group_type_unlink_delayed_ptr(gzgroup->type);
+ }
}
static void WM_GGT_value_operator_redo(wmGizmoGroupType *gzgt)
{
- gzgt->name = "Value Operator Redo";
- gzgt->idname = "WM_GGT_value_operator_redo";
+ gzgt->name = "Value Operator Redo";
+ gzgt->idname = "WM_GGT_value_operator_redo";
- /* FIXME, allow multiple. */
- gzgt->flag = WM_GIZMOGROUPTYPE_3D | WM_GIZMOGROUPTYPE_TOOL_INIT;
+ /* FIXME, allow multiple. */
+ gzgt->flag = WM_GIZMOGROUPTYPE_3D | WM_GIZMOGROUPTYPE_TOOL_INIT;
- gzgt->gzmap_params.spaceid = SPACE_VIEW3D;
- gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
+ gzgt->gzmap_params.spaceid = SPACE_VIEW3D;
+ gzgt->gzmap_params.regionid = RGN_TYPE_WINDOW;
-
- gzgt->setup = WIDGETGROUP_value_operator_redo_setup;
- gzgt->refresh = WIDGETGROUP_value_operator_redo_refresh;
+ gzgt->setup = WIDGETGROUP_value_operator_redo_setup;
+ gzgt->refresh = WIDGETGROUP_value_operator_redo_refresh;
}
/** \} */
@@ -166,7 +163,7 @@ static void WM_GGT_value_operator_redo(wmGizmoGroupType *gzgt)
void ED_gizmogrouptypes_value_2d(void)
{
- WM_gizmogrouptype_append(WM_GGT_value_operator_redo);
+ WM_gizmogrouptype_append(WM_GGT_value_operator_redo);
}
/** \} */