From 56ad2f0f1a0017ce5529862d572602e4984e3874 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 13 Jun 2017 12:02:08 +0200 Subject: Woarkspace: Remove residue of hidden type There is no reason to be special for workspace and go against other design decision in Blender. If something like this is going to become a common practice in Blender it should be well thought and well tested, including tests of all supported compilers and configurations. This feature was relying on type re-definition, which is not only confusing but also available in C11 only. --- source/blender/blenkernel/BKE_workspace.h | 76 ++++++++++------------ source/blender/blenkernel/intern/context.c | 1 + source/blender/blenkernel/intern/layer.c | 1 + source/blender/blenkernel/intern/library_remap.c | 1 + source/blender/blenkernel/intern/screen.c | 1 + source/blender/blenloader/intern/versioning_280.c | 1 + source/blender/editors/object/object_edit.c | 1 + source/blender/editors/object/object_select.c | 1 + source/blender/editors/screen/screen_context.c | 1 + source/blender/editors/screen/screen_edit.c | 1 + source/blender/editors/screen/screen_ops.c | 1 + source/blender/editors/transform/transform.c | 1 + .../editors/transform/transform_orientations.c | 1 + source/blender/makesrna/intern/rna_screen.c | 1 + source/blender/makesrna/intern/rna_space.c | 1 + source/blender/makesrna/intern/rna_workspace.c | 1 + .../blender/windowmanager/intern/wm_event_system.c | 1 + source/blender/windowmanager/intern/wm_files.c | 1 + 18 files changed, 53 insertions(+), 40 deletions(-) diff --git a/source/blender/blenkernel/BKE_workspace.h b/source/blender/blenkernel/BKE_workspace.h index 5595c874e27..43962c2eb35 100644 --- a/source/blender/blenkernel/BKE_workspace.h +++ b/source/blender/blenkernel/BKE_workspace.h @@ -30,10 +30,6 @@ struct bScreen; struct TransformOrientation; -typedef struct WorkSpace WorkSpace; -typedef struct WorkSpaceInstanceHook WorkSpaceInstanceHook; -typedef struct WorkSpaceLayout WorkSpaceLayout; - /** * Plan is to store the object-mode per workspace, not per object anymore. * However, there's quite some work to be done for that, so for now, there is just a basic @@ -48,41 +44,41 @@ typedef struct WorkSpaceLayout WorkSpaceLayout; /* -------------------------------------------------------------------- */ /* Create, delete, init */ -WorkSpace *BKE_workspace_add(struct Main *bmain, const char *name); -void BKE_workspace_free(WorkSpace *workspace); -void BKE_workspace_remove(struct Main *bmain, WorkSpace *workspace); +struct WorkSpace *BKE_workspace_add(struct Main *bmain, const char *name); +void BKE_workspace_free(struct WorkSpace *workspace); +void BKE_workspace_remove(struct Main *bmain, struct WorkSpace *workspace); -WorkSpaceInstanceHook *BKE_workspace_instance_hook_create(const struct Main *bmain); -void BKE_workspace_instance_hook_free(const struct Main *bmain, WorkSpaceInstanceHook *hook); +struct WorkSpaceInstanceHook *BKE_workspace_instance_hook_create(const struct Main *bmain); +void BKE_workspace_instance_hook_free(const struct Main *bmain, struct WorkSpaceInstanceHook *hook); struct WorkSpaceLayout *BKE_workspace_layout_add( - WorkSpace *workspace, + struct WorkSpace *workspace, struct bScreen *screen, const char *name) ATTR_NONNULL(); void BKE_workspace_layout_remove( struct Main *bmain, - WorkSpace *workspace, WorkSpaceLayout *layout) ATTR_NONNULL(); + struct WorkSpace *workspace, struct WorkSpaceLayout *layout) ATTR_NONNULL(); /* -------------------------------------------------------------------- */ /* General Utils */ void BKE_workspace_transform_orientation_remove( - WorkSpace *workspace, struct TransformOrientation *orientation) ATTR_NONNULL(); + struct WorkSpace *workspace, struct TransformOrientation *orientation) ATTR_NONNULL(); struct TransformOrientation *BKE_workspace_transform_orientation_find( - const WorkSpace *workspace, const int index) ATTR_NONNULL(); + const struct WorkSpace *workspace, const int index) ATTR_NONNULL(); int BKE_workspace_transform_orientation_get_index( - const WorkSpace *workspace, const struct TransformOrientation *orientation) ATTR_NONNULL(); + const struct WorkSpace *workspace, const struct TransformOrientation *orientation) ATTR_NONNULL(); -WorkSpaceLayout *BKE_workspace_layout_find( - const WorkSpace *workspace, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT; -WorkSpaceLayout *BKE_workspace_layout_find_global( +struct WorkSpaceLayout *BKE_workspace_layout_find( + const struct WorkSpace *workspace, const struct bScreen *screen) ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT; +struct WorkSpaceLayout *BKE_workspace_layout_find_global( const struct Main *bmain, const struct bScreen *screen, - WorkSpace **r_workspace) ATTR_NONNULL(1, 2); + struct WorkSpace **r_workspace) ATTR_NONNULL(1, 2); -WorkSpaceLayout *BKE_workspace_layout_iter_circular( - const WorkSpace *workspace, WorkSpaceLayout *start, - bool (*callback)(const WorkSpaceLayout *layout, void *arg), +struct WorkSpaceLayout *BKE_workspace_layout_iter_circular( + const struct WorkSpace *workspace, struct WorkSpaceLayout *start, + bool (*callback)(const struct WorkSpaceLayout *layout, void *arg), void *arg, const bool iter_backward); @@ -92,32 +88,32 @@ WorkSpaceLayout *BKE_workspace_layout_iter_circular( #define GETTER_ATTRS ATTR_NONNULL() ATTR_WARN_UNUSED_RESULT #define SETTER_ATTRS ATTR_NONNULL(1) -WorkSpace *BKE_workspace_active_get(WorkSpaceInstanceHook *hook) GETTER_ATTRS; -void BKE_workspace_active_set(WorkSpaceInstanceHook *hook, WorkSpace *workspace) SETTER_ATTRS; -WorkSpaceLayout *BKE_workspace_active_layout_get(const WorkSpaceInstanceHook *hook) GETTER_ATTRS; -void BKE_workspace_active_layout_set(WorkSpaceInstanceHook *hook, WorkSpaceLayout *layout) SETTER_ATTRS; -struct bScreen *BKE_workspace_active_screen_get(const WorkSpaceInstanceHook *hook) GETTER_ATTRS; +struct WorkSpace *BKE_workspace_active_get(struct WorkSpaceInstanceHook *hook) GETTER_ATTRS; +void BKE_workspace_active_set(struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace) SETTER_ATTRS; +struct WorkSpaceLayout *BKE_workspace_active_layout_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS; +void BKE_workspace_active_layout_set(struct WorkSpaceInstanceHook *hook, struct WorkSpaceLayout *layout) SETTER_ATTRS; +struct bScreen *BKE_workspace_active_screen_get(const struct WorkSpaceInstanceHook *hook) GETTER_ATTRS; void BKE_workspace_active_screen_set( - WorkSpaceInstanceHook *hook, struct WorkSpace *workspace, struct bScreen *screen) SETTER_ATTRS; -enum ObjectMode BKE_workspace_object_mode_get(const WorkSpace *workspace) GETTER_ATTRS; + struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace, struct bScreen *screen) SETTER_ATTRS; +enum ObjectMode BKE_workspace_object_mode_get(const struct WorkSpace *workspace) GETTER_ATTRS; #ifdef USE_WORKSPACE_MODE -void BKE_workspace_object_mode_set(WorkSpace *workspace, const enum ObjectMode mode) SETTER_ATTRS; +void BKE_workspace_object_mode_set(struct WorkSpace *workspace, const enum ObjectMode mode) SETTER_ATTRS; #endif -struct ListBase *BKE_workspace_transform_orientations_get(WorkSpace *workspace) GETTER_ATTRS; -struct SceneLayer *BKE_workspace_render_layer_get(const WorkSpace *workspace) GETTER_ATTRS; -void BKE_workspace_render_layer_set(WorkSpace *workspace, struct SceneLayer *layer) SETTER_ATTRS; -struct ListBase *BKE_workspace_layouts_get(WorkSpace *workspace) GETTER_ATTRS; +struct ListBase *BKE_workspace_transform_orientations_get(struct WorkSpace *workspace) GETTER_ATTRS; +struct SceneLayer *BKE_workspace_render_layer_get(const struct WorkSpace *workspace) GETTER_ATTRS; +void BKE_workspace_render_layer_set(struct WorkSpace *workspace, struct SceneLayer *layer) SETTER_ATTRS; +struct ListBase *BKE_workspace_layouts_get(struct WorkSpace *workspace) GETTER_ATTRS; -const char *BKE_workspace_layout_name_get(const WorkSpaceLayout *layout) GETTER_ATTRS; +const char *BKE_workspace_layout_name_get(const struct WorkSpaceLayout *layout) GETTER_ATTRS; void BKE_workspace_layout_name_set( - WorkSpace *workspace, WorkSpaceLayout *layout, const char *new_name) ATTR_NONNULL(); -struct bScreen *BKE_workspace_layout_screen_get(const WorkSpaceLayout *layout) GETTER_ATTRS; -void BKE_workspace_layout_screen_set(WorkSpaceLayout *layout, struct bScreen *screen) SETTER_ATTRS; + struct WorkSpace *workspace, struct WorkSpaceLayout *layout, const char *new_name) ATTR_NONNULL(); +struct bScreen *BKE_workspace_layout_screen_get(const struct WorkSpaceLayout *layout) GETTER_ATTRS; +void BKE_workspace_layout_screen_set(struct WorkSpaceLayout *layout, struct bScreen *screen) SETTER_ATTRS; -WorkSpaceLayout *BKE_workspace_hook_layout_for_workspace_get( - const WorkSpaceInstanceHook *hook, const WorkSpace *workspace) GETTER_ATTRS; +struct WorkSpaceLayout *BKE_workspace_hook_layout_for_workspace_get( + const struct WorkSpaceInstanceHook *hook, const struct WorkSpace *workspace) GETTER_ATTRS; void BKE_workspace_hook_layout_for_workspace_set( - WorkSpaceInstanceHook *hook, WorkSpace *workspace, WorkSpaceLayout *layout) ATTR_NONNULL(); + struct WorkSpaceInstanceHook *hook, struct WorkSpace *workspace, struct WorkSpaceLayout *layout) ATTR_NONNULL(); #undef GETTER_ATTRS #undef SETTER_ATTRS diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index 7f24f1c2e5e..ac214a70b75 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -38,6 +38,7 @@ #include "DNA_object_types.h" #include "DNA_linestyle_types.h" #include "DNA_gpencil_types.h" +#include "DNA_workspace_types.h" #include "DEG_depsgraph.h" diff --git a/source/blender/blenkernel/intern/layer.c b/source/blender/blenkernel/intern/layer.c index f9c9f218628..78954e56f8c 100644 --- a/source/blender/blenkernel/intern/layer.c +++ b/source/blender/blenkernel/intern/layer.c @@ -46,6 +46,7 @@ #include "DNA_node_types.h" #include "DNA_scene_types.h" #include "DNA_windowmanager_types.h" +#include "DNA_workspace_types.h" #include "DRW_engine.h" diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c index 42dc1230586..be16e7ce448 100644 --- a/source/blender/blenkernel/intern/library_remap.c +++ b/source/blender/blenkernel/intern/library_remap.c @@ -61,6 +61,7 @@ #include "DNA_text_types.h" #include "DNA_vfont_types.h" #include "DNA_windowmanager_types.h" +#include "DNA_workspace_types.h" #include "DNA_world_types.h" #include "BLI_blenlib.h" diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index 91d675535f3..f3a93a0a42c 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -45,6 +45,7 @@ #include "DNA_screen_types.h" #include "DNA_space_types.h" #include "DNA_view3d_types.h" +#include "DNA_workspace_types.h" #include "BLI_listbase.h" #include "BLI_utildefines.h" diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index b0a0d885654..e9146ba86dd 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -39,6 +39,7 @@ #include "DNA_screen_types.h" #include "DNA_view3d_types.h" #include "DNA_genfile.h" +#include "DNA_workspace_types.h" #include "BKE_collection.h" #include "BKE_customdata.h" diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c index f9254096290..b7012810fd1 100644 --- a/source/blender/editors/object/object_edit.c +++ b/source/blender/editors/object/object_edit.c @@ -58,6 +58,7 @@ #include "DNA_meshdata_types.h" #include "DNA_vfont_types.h" #include "DNA_mesh_types.h" +#include "DNA_workspace_types.h" #include "IMB_imbuf_types.h" diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c index 60c8fa6f28d..0a9b8b749f1 100644 --- a/source/blender/editors/object/object_select.c +++ b/source/blender/editors/object/object_select.c @@ -41,6 +41,7 @@ #include "DNA_scene_types.h" #include "DNA_armature_types.h" #include "DNA_lamp_types.h" +#include "DNA_workspace_types.h" #include "BLI_math.h" #include "BLI_listbase.h" diff --git a/source/blender/editors/screen/screen_context.c b/source/blender/editors/screen/screen_context.c index d4e9609904e..3c7ea9a0f7e 100644 --- a/source/blender/editors/screen/screen_context.c +++ b/source/blender/editors/screen/screen_context.c @@ -38,6 +38,7 @@ #include "DNA_screen_types.h" #include "DNA_space_types.h" #include "DNA_windowmanager_types.h" +#include "DNA_workspace_types.h" #include "BLI_utildefines.h" diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index a33019ce621..c97b52ae1cd 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -34,6 +34,7 @@ #include "MEM_guardedalloc.h" #include "DNA_scene_types.h" +#include "DNA_workspace_types.h" #include "DNA_userdef_types.h" #include "BLI_math.h" diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index 5cd68f5121c..b5bf60e92c5 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -48,6 +48,7 @@ #include "DNA_meta_types.h" #include "DNA_mask_types.h" #include "DNA_node_types.h" +#include "DNA_workspace_types.h" #include "DNA_userdef_types.h" #include "BKE_context.h" diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index 2c05ba52fe0..1bcb03d71db 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -43,6 +43,7 @@ #include "DNA_mask_types.h" #include "DNA_movieclip_types.h" #include "DNA_scene_types.h" /* PET modes */ +#include "DNA_workspace_types.h" #include "BLI_alloca.h" #include "BLI_utildefines.h" diff --git a/source/blender/editors/transform/transform_orientations.c b/source/blender/editors/transform/transform_orientations.c index 5aa391f1f0b..c0db83ffa5e 100644 --- a/source/blender/editors/transform/transform_orientations.c +++ b/source/blender/editors/transform/transform_orientations.c @@ -38,6 +38,7 @@ #include "DNA_screen_types.h" #include "DNA_space_types.h" #include "DNA_view3d_types.h" +#include "DNA_workspace_types.h" #include "BLI_math.h" #include "BLI_listbase.h" diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c index 2cda1558ec9..003445889c3 100644 --- a/source/blender/makesrna/intern/rna_screen.c +++ b/source/blender/makesrna/intern/rna_screen.c @@ -35,6 +35,7 @@ #include "DNA_screen_types.h" #include "DNA_scene_types.h" +#include "DNA_workspace_types.h" EnumPropertyItem rna_enum_region_type_items[] = { {RGN_TYPE_WINDOW, "WINDOW", 0, "Window", ""}, diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index dbd74a0c0c0..38fbdbd895e 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -45,6 +45,7 @@ #include "DNA_sequence_types.h" #include "DNA_mask_types.h" #include "DNA_view3d_types.h" +#include "DNA_workspace_types.h" #include "RNA_access.h" #include "RNA_define.h" diff --git a/source/blender/makesrna/intern/rna_workspace.c b/source/blender/makesrna/intern/rna_workspace.c index adea8ea4556..c09cc204bbc 100644 --- a/source/blender/makesrna/intern/rna_workspace.c +++ b/source/blender/makesrna/intern/rna_workspace.c @@ -42,6 +42,7 @@ #include "DNA_object_types.h" #include "DNA_screen_types.h" +#include "DNA_workspace_types.h" #include "RNA_access.h" diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 7ef36c3bd48..b7fb757fc5c 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -40,6 +40,7 @@ #include "DNA_screen_types.h" #include "DNA_scene_types.h" #include "DNA_windowmanager_types.h" +#include "DNA_workspace_types.h" #include "DNA_userdef_types.h" #include "MEM_guardedalloc.h" diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 4e8a0cf8d05..251952f6907 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -69,6 +69,7 @@ #include "DNA_scene_types.h" #include "DNA_screen_types.h" #include "DNA_windowmanager_types.h" +#include "DNA_workspace_types.h" #include "BKE_appdir.h" #include "BKE_utildefines.h" -- cgit v1.2.3