diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-10-01 17:07:06 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-10-01 17:44:17 +0300 |
commit | 151cc02b6f8234c94a65618ae0437403e1aba689 (patch) | |
tree | e49366a9c58f8d12d091da69f6a3941895ac13ac /source/blender/editors/include | |
parent | bdd142bc022b131db7435a9d01ceaf1fdb1d8f24 (diff) |
Image: support storing full image buffers for each undo step
Update image undo to store buffers for each step:
- Undo buffers share tiles to avoid using too much memory.
- Undo support for different sized buffers
allowing operations such as crop or resize.
- Paint tiles have been split into separate API/storage.
- Painting speed wont be impacted significantly
since storing the extra tiles is done after the stroke & only
for the first undo step.
Resolves T61263, see D5939 for details.
Diffstat (limited to 'source/blender/editors/include')
-rw-r--r-- | source/blender/editors/include/ED_paint.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/editors/include/ED_paint.h b/source/blender/editors/include/ED_paint.h index 88cc8a85897..81252ad2516 100644 --- a/source/blender/editors/include/ED_paint.h +++ b/source/blender/editors/include/ED_paint.h @@ -42,6 +42,10 @@ void ED_imapaint_bucket_fill(struct bContext *C, float color[3], struct wmOperat /* paint_image_undo.c */ void ED_image_undo_push_begin(const char *name, int paint_mode); +void ED_image_undo_push_begin_with_image(const char *name, + struct Image *image, + struct ImBuf *ibuf); + void ED_image_undo_push_end(void); void ED_image_undo_restore(struct UndoStep *us); |