diff options
author | Jacques Lucke <jacques@blender.org> | 2020-10-30 16:44:03 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2020-10-30 16:44:03 +0300 |
commit | bcb612e3615e216f6defb2d631ef0f8c3c6d6c82 (patch) | |
tree | 1797c55a543d234f59db5ce25d3509cce306b081 /source/blender/blenkernel | |
parent | ada45463b3c24e2ba28bfd97ebe08acd970c7694 (diff) |
Refactor: move view3dshading .blend I/O to blenkernel
Ref T76372.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_screen.h | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/screen.c | 17 |
2 files changed, 25 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h index 35a3d0415a8..857d344cf7e 100644 --- a/source/blender/blenkernel/BKE_screen.h +++ b/source/blender/blenkernel/BKE_screen.h @@ -58,6 +58,8 @@ struct wmMsgBus; struct wmNotifier; struct wmWindow; struct wmWindowManager; +struct BlendWriter; +struct BlendDataReader; /* spacetype has everything stored to get an editor working, it gets initialized via * ED_spacetypes_init() in editors/space_api/spacetypes.c */ @@ -449,6 +451,12 @@ void BKE_screen_remove_unused_scrverts(struct bScreen *screen); void BKE_screen_header_alignment_reset(struct bScreen *screen); +/* .blend file I/O */ +void BKE_screen_view3d_shading_blend_write(struct BlendWriter *writer, + struct View3DShading *shading); +void BKE_screen_view3d_shading_blend_read_data(struct BlendDataReader *reader, + struct View3DShading *shading); + #ifdef __cplusplus } #endif diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index d9686eba29a..098dbf6a84e 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -57,6 +57,8 @@ #include "BKE_screen.h" #include "BKE_workspace.h" +#include "BLO_read_write.h" + static void screen_free_data(ID *id) { bScreen *screen = (bScreen *)id; @@ -1111,3 +1113,18 @@ void BKE_screen_header_alignment_reset(bScreen *screen) } screen->do_refresh = true; } + +void BKE_screen_view3d_shading_blend_write(BlendWriter *writer, View3DShading *shading) +{ + if (shading->prop) { + IDP_BlendWrite(writer, shading->prop); + } +} + +void BKE_screen_view3d_shading_blend_read_data(BlendDataReader *reader, View3DShading *shading) +{ + if (shading->prop) { + BLO_read_data_address(reader, &shading->prop); + IDP_BlendDataRead(reader, &shading->prop); + } +} |