Blender V5.0
BLO_undofile.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2004 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11
12#include "BLI_filereader.h"
14#include "BLI_listbase.h"
15#include "BLI_map.hh"
16
17struct Main;
18struct Scene;
19
28
30 void *next, *prev;
31 const char *buf;
33 size_t size;
43};
44
54
65
67 char filepath[/*FILE_MAX*/ 1024];
69 size_t undo_size;
70};
71
72/* FileReader-compatible wrapper for reading MemFiles */
81
82/* Actually only used `writefile.cc`. */
83
85 MemFile *written_memfile,
86 MemFile *reference_memfile);
88
89void BLO_memfile_chunk_add(MemFileWriteData *mem_data, const char *buf, size_t size);
90
91/* exports */
92
96/* **************** support for memory-write, for undo buffers *************** */
97
98void BLO_memfile_free(MemFile *memfile);
103void BLO_memfile_merge(MemFile *first, MemFile *second);
107void BLO_memfile_clear_future(MemFile *memfile);
108
109/* Utilities. */
110
111Main *BLO_memfile_main_get(MemFile *memfile, Main *bmain, Scene **r_scene);
112
113FileReader *BLO_memfile_new_filereader(MemFile *memfile, int undo_direction);
Wrapper for reading from various sources (e.g. raw files, compressed files, memory....
unsigned int uint
FileReader * BLO_memfile_new_filereader(MemFile *memfile, int undo_direction)
Definition undofile.cc:265
void BLO_memfile_chunk_add(MemFileWriteData *mem_data, const char *buf, size_t size)
Definition undofile.cc:128
void BLO_memfile_write_init(MemFileWriteData *mem_data, MemFile *written_memfile, MemFile *reference_memfile)
Definition undofile.cc:97
Main * BLO_memfile_main_get(MemFile *memfile, Main *bmain, Scene **r_scene)
Definition undofile.cc:166
void BLO_memfile_clear_future(MemFile *memfile)
Definition undofile.cc:90
void BLO_memfile_free(MemFile *memfile)
Definition undofile.cc:38
void BLO_memfile_merge(MemFile *first, MemFile *second)
Definition undofile.cc:59
void BLO_memfile_write_finalize(MemFileWriteData *mem_data)
Definition undofile.cc:123
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
bool is_identical_future
const char * buf
blender::Map< uint64_t, blender::ImplicitSharingInfoAndData > sharing_info_by_address_id
char filepath[1024]
MemFile * reference_memfile
blender::Map< uint, MemFileChunk * > id_session_uid_mapping
MemFile * written_memfile
MemFileChunk * reference_current_chunk
MemFileSharedStorage * shared_storage
ListBase chunks
size_t size
bool memchunk_identical
MemFile * memfile
FileReader reader