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:
authorCampbell Barton <ideasman42@gmail.com>2019-04-17 07:17:24 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-04-17 07:21:24 +0300
commite12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 (patch)
tree8cf3453d12edb177a218ef8009357518ec6cab6a /source/blender/blenkernel/BKE_undo_system.h
parentb3dabc200a4b0399ec6b81f2ff2730d07b44fcaa (diff)
ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
Diffstat (limited to 'source/blender/blenkernel/BKE_undo_system.h')
-rw-r--r--source/blender/blenkernel/BKE_undo_system.h208
1 files changed, 114 insertions, 94 deletions
diff --git a/source/blender/blenkernel/BKE_undo_system.h b/source/blender/blenkernel/BKE_undo_system.h
index 0469486d4e0..6852c3ee970 100644
--- a/source/blender/blenkernel/BKE_undo_system.h
+++ b/source/blender/blenkernel/BKE_undo_system.h
@@ -34,84 +34,91 @@ struct Text;
#include "DNA_ID.h"
#include "DNA_listBase.h"
-typedef struct UndoRefID { struct ID *ptr; char name[MAX_ID_NAME]; } UndoRefID;
+typedef struct UndoRefID {
+ struct ID *ptr;
+ char name[MAX_ID_NAME];
+} UndoRefID;
/* UndoRefID_Mesh & friends. */
#define UNDO_REF_ID_TYPE(ptr_ty) \
- typedef struct UndoRefID_##ptr_ty { struct ptr_ty *ptr; char name[MAX_ID_NAME]; } UndoRefID_##ptr_ty
+ typedef struct UndoRefID_##ptr_ty { \
+ struct ptr_ty *ptr; \
+ char name[MAX_ID_NAME]; \
+ } UndoRefID_##ptr_ty
UNDO_REF_ID_TYPE(Mesh);
UNDO_REF_ID_TYPE(Object);
UNDO_REF_ID_TYPE(Scene);
UNDO_REF_ID_TYPE(Text);
typedef struct UndoStack {
- ListBase steps;
- struct UndoStep *step_active;
- /**
- * The last memfile state read, used so we can be sure the names from the
- * library state matches the state an undo step was written in.
- */
- struct UndoStep *step_active_memfile;
-
- /**
- * Some undo systems require begin/end, see: #UndoType.step_encode_init
- *
- * \note This is not included in the 'steps' list.
- * That is done once end is called.
- */
- struct UndoStep *step_init;
+ ListBase steps;
+ struct UndoStep *step_active;
+ /**
+ * The last memfile state read, used so we can be sure the names from the
+ * library state matches the state an undo step was written in.
+ */
+ struct UndoStep *step_active_memfile;
+
+ /**
+ * Some undo systems require begin/end, see: #UndoType.step_encode_init
+ *
+ * \note This is not included in the 'steps' list.
+ * That is done once end is called.
+ */
+ struct UndoStep *step_init;
} UndoStack;
-
typedef struct UndoStep {
- struct UndoStep *next, *prev;
- char name[64];
- const struct UndoType *type;
- /** Size in bytes of all data in step (not including the step). */
- size_t data_size;
- /** Users should never see this step (only use for internal consistency). */
- bool skip;
- /** Some situations require the global state to be stored, edge cases when exiting modes. */
- bool use_memfile_step;
- /** For use by undo systems that accumulate changes (text editor, painting). */
- bool is_applied;
- /* Over alloc 'type->struct_size'. */
+ struct UndoStep *next, *prev;
+ char name[64];
+ const struct UndoType *type;
+ /** Size in bytes of all data in step (not including the step). */
+ size_t data_size;
+ /** Users should never see this step (only use for internal consistency). */
+ bool skip;
+ /** Some situations require the global state to be stored, edge cases when exiting modes. */
+ bool use_memfile_step;
+ /** For use by undo systems that accumulate changes (text editor, painting). */
+ bool is_applied;
+ /* Over alloc 'type->struct_size'. */
} UndoStep;
typedef void (*UndoTypeForEachIDRefFn)(void *user_data, struct UndoRefID *id_ref);
typedef struct UndoType {
- struct UndoType *next, *prev;
- /** Only for debugging. */
- const char *name;
-
- /**
- * When NULL, we don't consider this undo type for context checks.
- * Operators must explicitly set the undo type and handle adding the undo step.
- * This is needed when tools operate on data which isn't the primary mode (eg, paint-curve in sculpt mode).
- */
- bool (*poll)(struct bContext *C);
-
- /**
- * None of these callbacks manage list add/removal.
- *
- * Note that 'step_encode_init' is optional,
- * some undo types need to perform operatons before undo push finishes.
- */
- void (*step_encode_init)(struct bContext *C, UndoStep *us);
-
- bool (*step_encode)(struct bContext *C, struct Main *bmain, UndoStep *us);
- void (*step_decode)(struct bContext *C, struct Main *bmain, UndoStep *us, int dir);
-
- /**
- * \note When freeing all steps,
- * free from the last since #MemFileUndoType will merge with the next undo type in the list. */
- void (*step_free)(UndoStep *us);
-
- void (*step_foreach_ID_ref)(UndoStep *us, UndoTypeForEachIDRefFn foreach_ID_ref_fn, void *user_data);
-
- bool use_context;
-
- int step_size;
+ struct UndoType *next, *prev;
+ /** Only for debugging. */
+ const char *name;
+
+ /**
+ * When NULL, we don't consider this undo type for context checks.
+ * Operators must explicitly set the undo type and handle adding the undo step.
+ * This is needed when tools operate on data which isn't the primary mode (eg, paint-curve in sculpt mode).
+ */
+ bool (*poll)(struct bContext *C);
+
+ /**
+ * None of these callbacks manage list add/removal.
+ *
+ * Note that 'step_encode_init' is optional,
+ * some undo types need to perform operatons before undo push finishes.
+ */
+ void (*step_encode_init)(struct bContext *C, UndoStep *us);
+
+ bool (*step_encode)(struct bContext *C, struct Main *bmain, UndoStep *us);
+ void (*step_decode)(struct bContext *C, struct Main *bmain, UndoStep *us, int dir);
+
+ /**
+ * \note When freeing all steps,
+ * free from the last since #MemFileUndoType will merge with the next undo type in the list. */
+ void (*step_free)(UndoStep *us);
+
+ void (*step_foreach_ID_ref)(UndoStep *us,
+ UndoTypeForEachIDRefFn foreach_ID_ref_fn,
+ void *user_data);
+
+ bool use_context;
+
+ int step_size;
} UndoType;
/* expose since we need to perform operations on spesific undo types (rarely). */
@@ -122,36 +129,49 @@ extern const UndoType *BKE_UNDOSYS_TYPE_PARTICLE;
extern const UndoType *BKE_UNDOSYS_TYPE_SCULPT;
extern const UndoType *BKE_UNDOSYS_TYPE_TEXT;
-#define BKE_UNDOSYS_TYPE_IS_MEMFILE_SKIP(ty) \
- ELEM(ty, BKE_UNDOSYS_TYPE_IMAGE)
+#define BKE_UNDOSYS_TYPE_IS_MEMFILE_SKIP(ty) ELEM(ty, BKE_UNDOSYS_TYPE_IMAGE)
-UndoStack *BKE_undosys_stack_create(void);
-void BKE_undosys_stack_destroy(UndoStack *ustack);
-void BKE_undosys_stack_clear(UndoStack *ustack);
-void BKE_undosys_stack_clear_active(UndoStack *ustack);
-bool BKE_undosys_stack_has_undo(UndoStack *ustack, const char *name);
-void BKE_undosys_stack_init_from_main(UndoStack *ustack, struct Main *bmain);
-void BKE_undosys_stack_init_from_context(UndoStack *ustack, struct bContext *C);
-UndoStep *BKE_undosys_stack_active_with_type(UndoStack *ustack, const UndoType *ut);
-UndoStep *BKE_undosys_stack_init_or_active_with_type(UndoStack *ustack, const UndoType *ut);
-void BKE_undosys_stack_limit_steps_and_memory(UndoStack *ustack, int steps, size_t memory_limit);
+UndoStack *BKE_undosys_stack_create(void);
+void BKE_undosys_stack_destroy(UndoStack *ustack);
+void BKE_undosys_stack_clear(UndoStack *ustack);
+void BKE_undosys_stack_clear_active(UndoStack *ustack);
+bool BKE_undosys_stack_has_undo(UndoStack *ustack, const char *name);
+void BKE_undosys_stack_init_from_main(UndoStack *ustack, struct Main *bmain);
+void BKE_undosys_stack_init_from_context(UndoStack *ustack, struct bContext *C);
+UndoStep *BKE_undosys_stack_active_with_type(UndoStack *ustack, const UndoType *ut);
+UndoStep *BKE_undosys_stack_init_or_active_with_type(UndoStack *ustack, const UndoType *ut);
+void BKE_undosys_stack_limit_steps_and_memory(UndoStack *ustack, int steps, size_t memory_limit);
/* Only some UndoType's require init. */
-UndoStep *BKE_undosys_step_push_init_with_type(UndoStack *ustack, struct bContext *C, const char *name, const UndoType *ut);
+UndoStep *BKE_undosys_step_push_init_with_type(UndoStack *ustack,
+ struct bContext *C,
+ const char *name,
+ const UndoType *ut);
UndoStep *BKE_undosys_step_push_init(UndoStack *ustack, struct bContext *C, const char *name);
-bool BKE_undosys_step_push_with_type(UndoStack *ustack, struct bContext *C, const char *name, const UndoType *ut);
+bool BKE_undosys_step_push_with_type(UndoStack *ustack,
+ struct bContext *C,
+ const char *name,
+ const UndoType *ut);
bool BKE_undosys_step_push(UndoStack *ustack, struct bContext *C, const char *name);
-UndoStep *BKE_undosys_step_find_by_name_with_type(UndoStack *ustack, const char *name, const UndoType *ut);
+UndoStep *BKE_undosys_step_find_by_name_with_type(UndoStack *ustack,
+ const char *name,
+ const UndoType *ut);
UndoStep *BKE_undosys_step_find_by_type(UndoStack *ustack, const UndoType *ut);
UndoStep *BKE_undosys_step_find_by_name(UndoStack *ustack, const char *name);
-bool BKE_undosys_step_undo_with_data_ex(UndoStack *ustack, struct bContext *C, UndoStep *us, bool use_skip);
+bool BKE_undosys_step_undo_with_data_ex(UndoStack *ustack,
+ struct bContext *C,
+ UndoStep *us,
+ bool use_skip);
bool BKE_undosys_step_undo_with_data(UndoStack *ustack, struct bContext *C, UndoStep *us);
bool BKE_undosys_step_undo(UndoStack *ustack, struct bContext *C);
-bool BKE_undosys_step_redo_with_data_ex(UndoStack *ustack, struct bContext *C, UndoStep *us, bool use_skip);
+bool BKE_undosys_step_redo_with_data_ex(UndoStack *ustack,
+ struct bContext *C,
+ UndoStep *us,
+ bool use_skip);
bool BKE_undosys_step_redo_with_data(UndoStack *ustack, struct bContext *C, UndoStep *us);
bool BKE_undosys_step_redo(UndoStack *ustack, struct bContext *C);
@@ -163,31 +183,31 @@ UndoStep *BKE_undosys_step_same_type_prev(UndoStep *us);
/* Type System */
UndoType *BKE_undosys_type_append(void (*undosys_fn)(UndoType *));
-void BKE_undosys_type_free_all(void);
+void BKE_undosys_type_free_all(void);
/* ID Accessor */
-#if 0 /* functionality is only used internally for now. */
+#if 0 /* functionality is only used internally for now. */
void BKE_undosys_foreach_ID_ref(UndoStack *ustack, UndoTypeForEachIDRefFn foreach_ID_ref_fn, void *user_data);
#endif
/* Use when the undo step stores many arbitrary pointers. */
struct UndoIDPtrMap;
struct UndoIDPtrMap *BKE_undosys_ID_map_create(void);
-void BKE_undosys_ID_map_destroy(struct UndoIDPtrMap *map);
-void BKE_undosys_ID_map_add(struct UndoIDPtrMap *map, ID *id);
-struct ID *BKE_undosys_ID_map_lookup(const struct UndoIDPtrMap *map, const struct ID *id_src);
+void BKE_undosys_ID_map_destroy(struct UndoIDPtrMap *map);
+void BKE_undosys_ID_map_add(struct UndoIDPtrMap *map, ID *id);
+struct ID *BKE_undosys_ID_map_lookup(const struct UndoIDPtrMap *map, const struct ID *id_src);
-void BKE_undosys_ID_map_add_with_prev(
- struct UndoIDPtrMap *map, struct ID *id,
- struct ID **id_prev);
-struct ID *BKE_undosys_ID_map_lookup_with_prev(
- const struct UndoIDPtrMap *map, struct ID *id_src,
- struct ID *id_prev_match[2]);
+void BKE_undosys_ID_map_add_with_prev(struct UndoIDPtrMap *map,
+ struct ID *id,
+ struct ID **id_prev);
+struct ID *BKE_undosys_ID_map_lookup_with_prev(const struct UndoIDPtrMap *map,
+ struct ID *id_src,
+ struct ID *id_prev_match[2]);
-void BKE_undosys_ID_map_foreach_ID_ref(
- struct UndoIDPtrMap *map,
- UndoTypeForEachIDRefFn foreach_ID_ref_fn, void *user_data);
+void BKE_undosys_ID_map_foreach_ID_ref(struct UndoIDPtrMap *map,
+ UndoTypeForEachIDRefFn foreach_ID_ref_fn,
+ void *user_data);
void BKE_undosys_print(UndoStack *ustack);
-#endif /* __BKE_UNDO_SYSTEM_H__ */
+#endif /* __BKE_UNDO_SYSTEM_H__ */