Blender V4.3
ED_undo.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "BLI_compiler_attrs.h"
12#include "BLI_sys_types.h"
13#include "BLI_vector.hh"
14
15struct Base;
16struct CLG_LogRef;
17struct Object;
18struct Scene;
19struct MemFile;
20struct UndoStack;
21struct ViewLayer;
22struct bContext;
23struct wmOperator;
24struct wmOperatorType;
25struct wmWindowManager;
26
27/* undo.c */
28
35void ED_undo_push(bContext *C, const char *str);
37void ED_undo_grouped_push(bContext *C, const char *str);
40void ED_undo_pop(bContext *C);
41void ED_undo_redo(bContext *C);
47
55void ED_undo_operator_repeat_cb(bContext *C, void *arg_op, void *arg_unused);
56void ED_undo_operator_repeat_cb_evt(bContext *C, void *arg_op, int arg_unused);
57
61bool ED_undo_is_valid(const bContext *C, const char *undoname);
62
64
65/* Unfortunate workaround for limits mixing undo systems. */
66
76
92 const Scene *scene_ref,
93 Scene **scene_p,
94 ViewLayer **view_layer_p);
95
100 ViewLayer *view_layer,
101 Object **object_array,
102 uint object_array_len,
103 uint object_array_stride);
104
106 ViewLayer *view_layer);
108 ViewLayer *view_layer);
109
118
119/* Helpers. */
120
122 Scene *scene, ViewLayer *view_layer, Object *ob, const char *info, CLG_LogRef *log);
123
124/* `undo_system_types.cc` */
125
128
129/* `memfile_undo.cc` */
130
unsigned int uint
void ED_undo_object_set_active_or_warn(Scene *scene, ViewLayer *view_layer, Object *ob, const char *info, CLG_LogRef *log)
Definition ed_undo.cc:790
void ED_undo_push(bContext *C, const char *str)
Definition ed_undo.cc:104
void ED_OT_redo(wmOperatorType *ot)
Definition ed_undo.cc:614
UndoStack * ED_undo_stack_get()
Definition ed_undo.cc:455
blender::Vector< Base * > ED_undo_editmode_bases_from_view_layer(const Scene *scene, ViewLayer *view_layer)
Definition ed_undo.cc:901
void ED_undosys_type_free()
void ED_undosys_type_init()
void ED_undo_push_op(bContext *C, wmOperator *op)
Definition ed_undo.cc:381
bool ED_undo_is_legacy_compatible_for_property(bContext *C, ID *id)
Definition ed_undo.cc:427
void ED_undosys_stack_memfile_id_changed_tag(UndoStack *ustack, ID *id)
void ED_undo_pop_op(bContext *C, wmOperator *op)
Definition ed_undo.cc:397
MemFile * ED_undosys_stack_memfile_get_if_active(UndoStack *ustack)
void ED_undo_group_begin(bContext *C)
Definition ed_undo.cc:92
bool ED_undo_is_valid(const bContext *C, const char *undoname)
Definition ed_undo.cc:403
void ED_OT_undo_redo(wmOperatorType *ot)
Definition ed_undo.cc:626
void ED_OT_undo_push(wmOperatorType *ot)
Definition ed_undo.cc:583
void ED_undo_operator_repeat_cb_evt(bContext *C, void *arg_op, int arg_unused)
Definition ed_undo.cc:728
int ED_undo_operator_repeat(bContext *C, wmOperator *op)
Definition ed_undo.cc:644
void ED_undo_operator_repeat_cb(bContext *C, void *arg_op, void *arg_unused)
Definition ed_undo.cc:723
void ED_undo_redo(bContext *C)
Definition ed_undo.cc:376
bool ED_undo_is_state_valid(bContext *C)
Definition ed_undo.cc:69
void ED_OT_undo(wmOperatorType *ot)
Definition ed_undo.cc:571
void ED_OT_undo_history(wmOperatorType *ot)
Definition ed_undo.cc:769
void ED_undo_object_editmode_restore_helper(Scene *scene, ViewLayer *view_layer, Object **object_array, uint object_array_len, uint object_array_stride)
Definition ed_undo.cc:826
void ED_undo_grouped_push_op(bContext *C, wmOperator *op)
Definition ed_undo.cc:387
blender::Vector< Object * > ED_undo_editmode_objects_from_view_layer(const Scene *scene, ViewLayer *view_layer)
Definition ed_undo.cc:871
bool ED_undo_is_memfile_compatible(const bContext *C)
Definition ed_undo.cc:409
void ED_undo_pop(bContext *C)
Definition ed_undo.cc:372
void ED_undo_object_editmode_validate_scene_from_windows(wmWindowManager *wm, const Scene *scene_ref, Scene **scene_p, ViewLayer **view_layer_p)
Definition ed_undo.cc:809
void ED_undo_group_end(bContext *C)
Definition ed_undo.cc:98
void ED_undo_grouped_push(bContext *C, const char *str)
Definition ed_undo.cc:359
#define str(s)
ccl_device_inline float3 log(float3 v)
Definition DNA_ID.h:413
wmOperatorType * ot
Definition wm_files.cc:4125