Blender
V3.3
|
#include "CLG_log.h"
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_map.hh"
#include "BLI_math.h"
#include "BLI_threads.h"
#include "BLI_utildefines.h"
#include "DNA_image_types.h"
#include "DNA_object_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "BKE_context.h"
#include "BKE_image.h"
#include "BKE_paint.h"
#include "BKE_undo_system.h"
#include "DEG_depsgraph.h"
#include "ED_object.h"
#include "ED_paint.h"
#include "ED_undo.h"
#include "ED_util.h"
#include "WM_api.h"
Go to the source code of this file.
Classes | |
struct | PaintTileKey |
struct | PaintTile |
struct | PaintTileMap |
struct | UndoImageTile |
struct | UndoImageBuf |
struct | UndoImageHandle |
struct | ImageUndoStep |
Functions | |
Paint Tiles | |
Created on demand while painting, use to access the previous state for some paint operations. These buffers are also used for undo when available. | |
static ImBuf * | imbuf_alloc_temp_tile () |
static void | ptile_free (PaintTile *ptile) |
static void | ptile_invalidate_map (PaintTileMap *paint_tile_map) |
void * | ED_image_paint_tile_find (PaintTileMap *paint_tile_map, Image *image, ImBuf *ibuf, ImageUser *iuser, int x_tile, int y_tile, ushort **r_mask, bool validate) |
void * | ED_image_paint_tile_push (PaintTileMap *paint_tile_map, Image *image, ImBuf *ibuf, ImBuf **tmpibuf, ImageUser *iuser, int x_tile, int y_tile, ushort **r_mask, bool **r_valid, bool use_thread_lock, bool find_prev) |
static void | ptile_restore_runtime_map (PaintTileMap *paint_tile_map) |
Image Undo Tile | |
static uint32_t | index_from_xy (uint32_t tile_x, uint32_t tile_y, const uint32_t tiles_dims[2]) |
static UndoImageTile * | utile_alloc (bool has_float) |
static void | utile_init_from_imbuf (UndoImageTile *utile, const uint32_t x, const uint32_t y, const ImBuf *ibuf, ImBuf *tmpibuf) |
static void | utile_restore (const UndoImageTile *utile, const uint x, const uint y, ImBuf *ibuf, ImBuf *tmpibuf) |
static void | utile_decref (UndoImageTile *utile) |
Image Undo Internal Utilities | |
static UndoImageBuf * | uhandle_lookup_ubuf (UndoImageHandle *uh, const Image *UNUSED(image), const char *ibuf_name) |
static UndoImageBuf * | uhandle_add_ubuf (UndoImageHandle *uh, Image *image, ImBuf *ibuf) |
static UndoImageBuf * | uhandle_ensure_ubuf (UndoImageHandle *uh, Image *image, ImBuf *ibuf) |
static UndoImageHandle * | uhandle_lookup_by_name (ListBase *undo_handles, const Image *image, int tile_number) |
static UndoImageHandle * | uhandle_lookup (ListBase *undo_handles, const Image *image, int tile_number) |
static UndoImageHandle * | uhandle_add (ListBase *undo_handles, Image *image, ImageUser *iuser) |
static UndoImageHandle * | uhandle_ensure (ListBase *undo_handles, Image *image, ImageUser *iuser) |
Implements ED Undo System | |
static UndoImageBuf * | ubuf_lookup_from_reference (ImageUndoStep *us_prev, const Image *image, int tile_number, const UndoImageBuf *ubuf) |
static bool | image_undosys_poll (bContext *C) |
static void | image_undosys_step_encode_init (struct bContext *UNUSED(C), UndoStep *us_p) |
static bool | image_undosys_step_encode (struct bContext *C, struct Main *UNUSED(bmain), UndoStep *us_p) |
static void | image_undosys_step_decode_undo_impl (ImageUndoStep *us, bool is_final) |
static void | image_undosys_step_decode_redo_impl (ImageUndoStep *us) |
static void | image_undosys_step_decode_undo (ImageUndoStep *us, bool is_final) |
static void | image_undosys_step_decode_redo (ImageUndoStep *us) |
static void | image_undosys_step_decode (struct bContext *C, struct Main *bmain, UndoStep *us_p, const eUndoStepDir dir, bool is_final) |
static void | image_undosys_step_free (UndoStep *us_p) |
static void | image_undosys_foreach_ID_ref (UndoStep *us_p, UndoTypeForEachIDRefFn foreach_ID_ref_fn, void *user_data) |
void | ED_image_undosys_type (UndoType *ut) |
Utilities | |
Unlike most other undo stacks this is needed:
| |
PaintTileMap * | ED_image_paint_tile_map_get (void) |
void | ED_image_undo_restore (UndoStep *us) |
static ImageUndoStep * | image_undo_push_begin (const char *name, int paint_mode) |
void | ED_image_undo_push_begin (const char *name, int paint_mode) |
void | ED_image_undo_push_begin_with_image (const char *name, Image *image, ImBuf *ibuf, ImageUser *iuser) |
void | ED_image_undo_push_end (void) |
Variables | |
static CLG_LogRef | LOG = {"ed.image.undo"} |
Image Undo Buffer | |
typedef struct UndoImageBuf | UndoImageBuf |
static UndoImageBuf * | ubuf_from_image_no_tiles (Image *image, const ImBuf *ibuf) |
static void | ubuf_from_image_all_tiles (UndoImageBuf *ubuf, const ImBuf *ibuf) |
static void | ubuf_ensure_compat_ibuf (const UndoImageBuf *ubuf, ImBuf *ibuf) |
static void | ubuf_free (UndoImageBuf *ubuf) |
Image Undo Handle | |
typedef struct UndoImageHandle | UndoImageHandle |
static void | uhandle_restore_list (ListBase *undo_handles, bool use_init) |
static void | uhandle_free_list (ListBase *undo_handles) |
Thread Locking | |
static SpinLock | paint_tiles_lock |
void | ED_image_paint_tile_lock_init (void) |
void | ED_image_paint_tile_lock_end (void) |
When the undo system manages an image, there will always be a full copy (as a UndoImageBuf) each new undo step only stores modified tiles.
Definition in file image_undo.cc.
typedef struct UndoImageBuf UndoImageBuf |
typedef struct UndoImageHandle UndoImageHandle |
void* ED_image_paint_tile_find | ( | PaintTileMap * | paint_tile_map, |
Image * | image, | ||
ImBuf * | ibuf, | ||
ImageUser * | iuser, | ||
int | x_tile, | ||
int | y_tile, | ||
ushort ** | r_mask, | ||
bool | validate | ||
) |
Definition at line 158 of file image_undo.cc.
References ED_IMAGE_UNDO_TILE_SIZE, PaintTileKey::ibuf, image(), PaintTileKey::image, PaintTileKey::iuser_tile, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_ptr(), PaintTileMap::map, PaintTile::mask, MEM_callocN, PaintTile::pt, PaintTile::rect, square_i(), ImageUser::tile, PaintTile::valid, PaintTileKey::x_tile, and PaintTileKey::y_tile.
Referenced by ED_image_paint_tile_push(), and paint_2d_do_making_brush().
Definition at line 69 of file image_undo.cc.
References BLI_spin_end(), and paint_tiles_lock.
Referenced by project_paint_end().
Definition at line 64 of file image_undo.cc.
References BLI_spin_init(), and paint_tiles_lock.
Referenced by proj_paint_state_thread_init().
PaintTileMap* ED_image_paint_tile_map_get | ( | void | ) |
Definition at line 1061 of file image_undo.cc.
References BKE_undosys_stack_init_or_active_with_type(), BKE_UNDOSYS_TYPE_IMAGE, BLI_assert, ED_undo_stack_get(), ImageUndoStep::paint_mode, PAINT_MODE_TEXTURE_2D, ImageUndoStep::paint_tile_map, and UndoStack::step_init.
Referenced by ED_imapaint_dirty_region(), paint_2d_do_making_brush(), project_paint_undo_subtiles(), and blender::ed::sculpt_paint::paint::image::push_undo().
void* ED_image_paint_tile_push | ( | PaintTileMap * | paint_tile_map, |
Image * | image, | ||
ImBuf * | ibuf, | ||
ImBuf ** | tmpibuf, | ||
ImageUser * | iuser, | ||
int | x_tile, | ||
int | y_tile, | ||
ushort ** | r_mask, | ||
bool ** | r_valid, | ||
bool | use_thread_lock, | ||
bool | find_prev | ||
) |
Definition at line 192 of file image_undo.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify(), BLI_spin_lock(), BLI_spin_unlock(), data, ED_image_paint_tile_find(), ED_IMAGE_UNDO_TILE_SIZE, PaintTile::fp, PaintTileKey::ibuf, PaintTile::ibuf, image(), PaintTileKey::image, PaintTile::image, IMB_rectcpy(), imbuf_alloc_temp_tile(), PaintTile::iuser, PaintTileKey::iuser_tile, PaintTileMap::map, PaintTile::mask, MEM_callocN, paint_tiles_lock, PaintTile::pt, ptile_free(), PaintTile::rect, ImBuf::rect_float, ImageUser::scene, square_i(), SWAP, ImageUser::tile, PaintTile::uint, PaintTile::use_float, PaintTile::valid, PaintTileKey::x_tile, PaintTile::x_tile, PaintTileKey::y_tile, and PaintTile::y_tile.
Referenced by ED_imapaint_dirty_region(), project_paint_undo_subtiles(), and blender::ed::sculpt_paint::paint::image::push_undo().
void ED_image_undo_push_begin | ( | const char * | name, |
int | paint_mode | ||
) |
The caller is responsible for running ED_image_undo_push_end, failure to do so causes an invalid state for the undo system.
Definition at line 1095 of file image_undo.cc.
References image_undo_push_begin().
Referenced by ED_imapaint_bucket_fill(), sculpt_stroke_test_start(), texture_paint_camera_project_exec(), and blender::ed::sculpt_paint::image::ops::paint::texture_paint_init().
void ED_image_undo_push_begin_with_image | ( | const char * | name, |
Image * | image, | ||
ImBuf * | ibuf, | ||
ImageUser * | iuser | ||
) |
Definition at line 1100 of file image_undo.cc.
References BKE_image_get_tile, BKE_UNDOSYS_TYPE_IMAGE, BLI_assert, ED_undo_stack_get(), ImageUndoStep::handles, image(), image_undo_push_begin(), PAINT_MODE_TEXTURE_2D, UndoImageBuf::post, UndoStep::prev, ImageUndoStep::step, UndoStack::step_active, ImageUser::tile, UndoImageBuf::tiles, UndoImageBuf::tiles_len, UndoStep::type, ubuf_from_image_all_tiles(), ubuf_lookup_from_reference(), uhandle_ensure(), uhandle_ensure_ubuf(), and UndoImageTile::users.
Referenced by image_flip_exec(), image_invert_exec(), and image_scale_exec().
Definition at line 1133 of file image_undo.cc.
References BKE_undosys_stack_limit_steps_and_memory_defaults, BKE_undosys_step_push(), ED_undo_stack_get(), and WM_file_tag_modified().
Referenced by ED_imapaint_bucket_fill(), image_flip_exec(), image_invert_exec(), image_scale_exec(), blender::ed::sculpt_paint::image::ops::paint::paint_stroke_done(), sculpt_stroke_done(), and texture_paint_camera_project_exec().
Restore painting image to previous state. Used for anchored and drag-dot style brushes.
Definition at line 1077 of file image_undo.cc.
References ptile_invalidate_map(), and ptile_restore_runtime_map().
Referenced by blender::ed::sculpt_paint::image::ops::paint::paint_stroke_update_step().
Export for ED_undo_sys.
Definition at line 1027 of file image_undo.cc.
References UndoType::flags, image_undosys_foreach_ID_ref(), image_undosys_poll(), image_undosys_step_decode(), image_undosys_step_encode(), image_undosys_step_encode_init(), image_undosys_step_free(), UndoType::name, UndoType::poll, UndoType::step_decode, UndoType::step_encode, UndoType::step_encode_init, UndoType::step_foreach_ID_ref, UndoType::step_free, UndoType::step_size, and UNDOTYPE_FLAG_DECODE_ACTIVE_STEP.
Referenced by ED_undosys_type_init().
|
static |
Definition at line 1084 of file image_undo.cc.
References BKE_undosys_step_push_init_with_type(), BKE_UNDOSYS_TYPE_IMAGE, BLI_assert, C, ED_undo_stack_get(), ELEM, ImageUndoStep::paint_mode, PAINT_MODE_SCULPT, PAINT_MODE_TEXTURE_2D, and PAINT_MODE_TEXTURE_3D.
Referenced by ED_image_undo_push_begin(), and ED_image_undo_push_begin_with_image().
|
static |
Definition at line 1017 of file image_undo.cc.
References ImageUndoStep::handles, UndoImageHandle::image_ref, LISTBASE_FOREACH, and user_data.
Referenced by ED_image_undosys_type().
Definition at line 763 of file image_undo.cc.
References blender::compositor::area(), C, CTX_data_active_object(), CTX_wm_area(), if(), Object::mode, SpaceImage::mode, OB_MODE_TEXTURE_PAINT, SI_MODE_PAINT, and SPACE_IMAGE.
Referenced by ED_image_undosys_type().
|
static |
Definition at line 985 of file image_undo.cc.
References BLI_assert, C, ED_editors_init_for_undo(), ED_object_mode_set_ex(), image_undosys_step_decode_redo(), image_undosys_step_decode_undo(), OB_MODE_TEXTURE_PAINT, ImageUndoStep::paint_mode, PAINT_MODE_TEXTURE_3D, STEP_INVALID, STEP_REDO, and STEP_UNDO.
Referenced by ED_image_undosys_type().
|
static |
Definition at line 967 of file image_undo.cc.
References image_undosys_step_decode_redo_impl(), UndoStep::is_applied, UndoStep::next, UndoStep::prev, ImageUndoStep::step, and UndoStep::type.
Referenced by image_undosys_step_decode().
|
static |
Definition at line 939 of file image_undo.cc.
References BLI_assert, ImageUndoStep::handles, UndoStep::is_applied, ImageUndoStep::step, and uhandle_restore_list().
Referenced by image_undosys_step_decode_redo().
|
static |
Definition at line 946 of file image_undo.cc.
References BLI_assert, image_undosys_step_decode_undo_impl(), UndoStep::is_applied, UndoStep::next, UndoStep::prev, ImageUndoStep::step, and UndoStep::type.
Referenced by image_undosys_step_decode().
|
static |
Definition at line 932 of file image_undo.cc.
References BLI_assert, ImageUndoStep::handles, UndoStep::is_applied, ImageUndoStep::step, and uhandle_restore_list().
Referenced by image_undosys_step_decode_undo().
|
static |
Definition at line 791 of file image_undo.cc.
References BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), BKE_paintmode_get_active_from_context(), BKE_UNDOSYS_TYPE_IMAGE, BLI_assert, UndoImageHandle::buffers, C, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), UndoStep::data_size, ED_IMAGE_UNDO_TILE_BITS, ED_undo_stack_get(), ELEM, ImageUndoStep::handles, UndoImageBuf::image_dims, UndoImageHandle::image_ref, IMB_freeImBuf(), imbuf_alloc_temp_tile(), index_from_xy(), UndoStep::is_applied, ImageUndoStep::is_encode_init, UndoImageHandle::iuser, LISTBASE_FOREACH, PaintTileMap::map, MEM_callocN, ImageUndoStep::paint_mode, PAINT_MODE_TEXTURE_2D, PAINT_MODE_TEXTURE_3D, ImageUndoStep::paint_tile_map, UndoImageBuf::post, UndoStep::prev, UndoImageTile::pt, ptile_free(), UndoImageTile::rect, ImBuf::rect_float, ImageUndoStep::step, UndoStack::step_active, ImageUser::tile, tile_index, UndoImageBuf::tiles, UndoImageBuf::tiles_dims, UndoImageBuf::tiles_len, UndoStep::type, ubuf_from_image_all_tiles(), ubuf_from_image_no_tiles(), ubuf_lookup_from_reference(), uhandle_ensure(), uhandle_ensure_ubuf(), uhandle_restore_list(), UndoImageTile::users, utile_alloc(), utile_init_from_imbuf(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values(), x, and y.
Referenced by ED_image_undosys_type().
Definition at line 782 of file image_undo.cc.
References BLI_listbase_clear(), ImageUndoStep::handles, ImageUndoStep::is_encode_init, and ImageUndoStep::paint_tile_map.
Referenced by ED_image_undosys_type().
Definition at line 1007 of file image_undo.cc.
References ImageUndoStep::handles, ImageUndoStep::paint_tile_map, and uhandle_free_list().
Referenced by ED_image_undosys_type().
|
static |
Definition at line 86 of file image_undo.cc.
References ED_IMAGE_UNDO_TILE_SIZE, IB_rect, IB_rectfloat, and IMB_allocImBuf().
Referenced by ED_image_paint_tile_push(), image_undosys_step_encode(), ptile_restore_runtime_map(), ubuf_from_image_all_tiles(), and uhandle_restore_list().
|
static |
Definition at line 347 of file image_undo.cc.
References BLI_assert.
Referenced by image_undosys_step_encode().
Definition at line 129 of file image_undo.cc.
References PaintTile::mask, MEM_freeN, PaintTile::pt, and PaintTile::rect.
Referenced by ED_image_paint_tile_push(), image_undosys_step_encode(), and PaintTileMap::~PaintTileMap().
|
static |
Definition at line 151 of file image_undo.cc.
References PaintTileMap::map, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by ED_image_undo_restore().
|
static |
Definition at line 292 of file image_undo.cc.
References BKE_image_acquire_ibuf(), BKE_image_free_gputextures(), BKE_image_release_ibuf(), ED_IMAGE_UNDO_TILE_SIZE, IB_DISPLAY_BUFFER_INVALID, IB_MIPMAP_INVALID, IB_RECT_INVALID, image(), IMB_freeImBuf(), IMB_rectcpy(), imbuf_alloc_temp_tile(), PaintTileMap::map, ImBuf::mipmap, ImBuf::rect, ImBuf::rect_float, SWAP, ImBuf::userflags, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by ED_image_undo_restore().
|
static |
Ensure we can copy the ubuf into the ibuf.
Definition at line 511 of file image_undo.cc.
References UndoImageBuf::image_dims, UndoImageBuf::image_state, imb_addrectfloatImBuf(), imb_addrectImBuf(), imb_freerectfloatImBuf(), imb_freerectImbuf_all(), IMB_rect_size_set(), ImBuf::rect, ImBuf::rect_float, UndoImageBuf::use_float, ImBuf::x, and ImBuf::y.
Referenced by uhandle_restore_list().
|
static |
Definition at line 535 of file image_undo.cc.
References MEM_freeN, UndoImageBuf::post, UndoImageBuf::tiles, UndoImageBuf::tiles_len, and utile_decref().
Referenced by uhandle_free_list().
|
static |
Definition at line 484 of file image_undo.cc.
References BLI_assert, ED_IMAGE_UNDO_TILE_BITS, IMB_freeImBuf(), imbuf_alloc_temp_tile(), ImBuf::rect_float, UndoImageBuf::tiles, UndoImageBuf::tiles_dims, UndoImageBuf::tiles_len, UndoImageTile::users, utile_alloc(), utile_init_from_imbuf(), x, and y.
Referenced by ED_image_undo_push_begin_with_image(), and image_undosys_step_encode().
|
static |
Definition at line 462 of file image_undo.cc.
References BLI_strncpy(), ED_IMAGE_UNDO_TILE_NUMBER, UndoImageBuf::gen_type, UndoImageBuf::ibuf_name, image(), UndoImageBuf::image_dims, UndoImageBuf::image_state, MEM_callocN, ImBuf::name, ImBuf::rect_float, UndoImageBuf::source, UndoImageBuf::tiles, UndoImageBuf::tiles_dims, UndoImageBuf::tiles_len, UndoImageBuf::use_float, ImBuf::x, and ImBuf::y.
Referenced by image_undosys_step_encode(), and uhandle_add_ubuf().
|
static |
Find the previous undo buffer from this one.
Definition at line 743 of file image_undo.cc.
References ImageUndoStep::handles, UndoImageBuf::ibuf_name, image(), UndoImageBuf::image_dims, UndoImageBuf::post, uhandle_lookup_by_name(), and uhandle_lookup_ubuf().
Referenced by ED_image_undo_push_begin_with_image(), and image_undosys_step_encode().
|
static |
Definition at line 697 of file image_undo.cc.
References BLI_addtail(), BLI_assert, image(), UndoImageHandle::image_ref, UndoImageHandle::iuser, MEM_callocN, ImageUser::scene, ImageUser::tile, and uhandle_lookup().
Referenced by uhandle_ensure().
|
static |
Definition at line 655 of file image_undo.cc.
References BLI_addtail(), BLI_assert, UndoImageHandle::buffers, image(), ImBuf::name, UndoImageBuf::post, ubuf_from_image_no_tiles(), and uhandle_lookup_ubuf().
Referenced by uhandle_ensure_ubuf().
|
static |
Definition at line 708 of file image_undo.cc.
References image(), UndoImageHandle::iuser, ImageUser::tile, uhandle_add(), and uhandle_lookup().
Referenced by ED_image_undo_push_begin_with_image(), and image_undosys_step_encode().
|
static |
Definition at line 666 of file image_undo.cc.
References image(), ImBuf::name, uhandle_add_ubuf(), and uhandle_lookup_ubuf().
Referenced by ED_image_undo_push_begin_with_image(), and image_undosys_step_encode().
Definition at line 624 of file image_undo.cc.
References BLI_listbase_clear(), LISTBASE_FOREACH_MUTABLE, MEM_freeN, and ubuf_free().
Referenced by image_undosys_step_free().
|
static |
Definition at line 687 of file image_undo.cc.
References image(), UndoImageHandle::image_ref, UndoImageHandle::iuser, LISTBASE_FOREACH, and ImageUser::tile.
Referenced by uhandle_add(), and uhandle_ensure().
|
static |
Definition at line 675 of file image_undo.cc.
References image(), UndoImageHandle::image_ref, UndoImageHandle::iuser, LISTBASE_FOREACH, STREQ, and ImageUser::tile.
Referenced by ubuf_lookup_from_reference().
|
static |
UndoImageHandle utilities
Definition at line 643 of file image_undo.cc.
References UndoImageHandle::buffers, LISTBASE_FOREACH, and STREQ.
Referenced by ubuf_lookup_from_reference(), uhandle_add_ubuf(), and uhandle_ensure_ubuf().
Definition at line 573 of file image_undo.cc.
References BKE_image_acquire_ibuf(), BKE_image_mark_dirty(), BKE_image_partial_update_mark_full_update(), BKE_image_release_ibuf(), CLOG_ERROR, DEG_id_tag_update(), ED_IMAGE_UNDO_TILE_BITS, IB_DISPLAY_BUFFER_INVALID, IB_MIPMAP_INVALID, IB_RECT_INVALID, image(), IMB_freeImBuf(), imbuf_alloc_temp_tile(), LISTBASE_FOREACH, LOG, ImBuf::mipmap, UndoImageBuf::post, ImBuf::rect_float, UndoImageBuf::tiles, UndoImageBuf::tiles_dims, ubuf_ensure_compat_ibuf(), UNLIKELY, ImBuf::userflags, utile_restore(), x, and y.
Referenced by image_undosys_step_decode_redo_impl(), image_undosys_step_decode_undo_impl(), and image_undosys_step_encode().
|
static |
Definition at line 362 of file image_undo.cc.
References ED_IMAGE_UNDO_TILE_SIZE, UndoImageTile::fp, MEM_callocN, MEM_mallocN, UndoImageTile::rect, square_i(), and UndoImageTile::uint_ptr.
Referenced by image_undosys_step_encode(), and ubuf_from_image_all_tiles().
|
static |
Definition at line 419 of file image_undo.cc.
References BLI_assert, MEM_freeN, UndoImageTile::pt, UndoImageTile::rect, and UndoImageTile::users.
Referenced by ubuf_free().
|
static |
Definition at line 377 of file image_undo.cc.
References ED_IMAGE_UNDO_TILE_SIZE, UndoImageTile::fp, IMB_rectcpy(), UndoImageTile::rect, ImBuf::rect, ImBuf::rect_float, SWAP, UndoImageTile::uint_ptr, x, and y.
Referenced by image_undosys_step_encode(), and ubuf_from_image_all_tiles().
|
static |
Definition at line 399 of file image_undo.cc.
References ED_IMAGE_UNDO_TILE_SIZE, UndoImageTile::fp, IMB_rectcpy(), UndoImageTile::rect, ImBuf::rect, ImBuf::rect_float, UndoImageTile::uint_ptr, x, and y.
Referenced by uhandle_restore_list().
|
static |
Definition at line 53 of file image_undo.cc.
Referenced by uhandle_restore_list().
|
static |
Definition at line 62 of file image_undo.cc.
Referenced by ED_image_paint_tile_lock_end(), ED_image_paint_tile_lock_init(), and ED_image_paint_tile_push().