71 for (
id = lb->
first;
id !=
NULL;
id = id_next) {
217 const int cb_flag = cb_data->
cb_flag;
226 *entry_p =
MEM_callocN(
sizeof(**entry_p), __func__);
233 to_id_entry->
next = (*entry_p)->to_ids;
235 to_id_entry->
session_uuid = (*id_pointer !=
NULL) ? (*id_pointer)->session_uuid :
238 (*entry_p)->to_ids = to_id_entry;
242 if (*id_pointer !=
NULL) {
245 *entry_p =
MEM_callocN(
sizeof(**entry_p), __func__);
246 (*entry_p)->session_uuid = (*id_pointer)->session_uuid;
249 BLI_assert((*entry_p)->session_uuid == (*id_pointer)->session_uuid);
253 from_id_entry->
next = (*entry_p)->from_ids;
257 (*entry_p)->from_ids = from_id_entry;
287 *entry_p =
MEM_callocN(
sizeof(**entry_p), __func__);
288 (*entry_p)->session_uuid =
id->session_uuid;
376 data->width = img->
x;
377 data->height = img->
y;
398 if (!
data && bmain) {
475 return &(bmain->
ipo);
483 return &(bmain->
fonts);
485 return &(bmain->
texts);
511 return &(bmain->
masks);
523 return &(bmain->
hairs);
@ LIB_ID_FREE_NO_USER_REFCOUNT
#define MAIN_ID_SESSION_UUID_UNSET
void BKE_id_free_ex(struct Main *bmain, void *idv, int flag, const bool use_flag_from_idtag)
void BKE_library_foreach_ID_link(struct Main *bmain, struct ID *id, LibraryIDLinkCallback callback, void *user_data, int flag)
#define FOREACH_MAIN_ID_END
@ MAINIDRELATIONS_INCLUDE_UI
#define FOREACH_MAIN_ID_BEGIN(_bmain, _id)
#define BLEN_THUMB_MEMSIZE(_x, _y)
#define BLI_assert_unreachable()
void BLI_ghashIterator_step(GHashIterator *ghi)
unsigned int BLI_ghashutil_ptrhash(const void *key)
BLI_INLINE bool BLI_ghashIterator_done(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
void BLI_ghashIterator_free(GHashIterator *ghi)
BLI_INLINE void * BLI_ghashIterator_getValue(GHashIterator *ghi) ATTR_WARN_UNUSED_RESULT
GHash * BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
GSet * BLI_gset_new(GSetHashFP hashfp, GSetCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
bool BLI_ghashutil_ptrcmp(const void *a, const void *b)
GHashIterator * BLI_ghashIterator_new(GHash *gh) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
bool BLI_ghash_ensure_p(GHash *gh, void *key, void ***r_val) ATTR_WARN_UNUSED_RESULT
bool BLI_gset_add(GSet *gs, void *key)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
BLI_mempool * BLI_mempool_create(unsigned int esize, unsigned int totelem, unsigned int pchunk, unsigned int flag) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void * BLI_mempool_alloc(BLI_mempool *pool) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_mempool_destroy(BLI_mempool *pool) ATTR_NONNULL(1)
pthread_spinlock_t SpinLock
void BLI_spin_init(SpinLock *spin)
void BLI_spin_unlock(SpinLock *spin)
void BLI_spin_lock(SpinLock *spin)
void BLI_spin_end(SpinLock *spin)
ID and Library types, which are fundamental for sdna.
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
struct ImBuf * IMB_allocImBuf(unsigned int x, unsigned int y, unsigned char planes, unsigned int flags)
void IMB_rect_from_float(struct ImBuf *ibuf)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
int set_listbasepointers(Main *bmain, ListBase *lb[INDEX_ID_MAX])
BlendThumbnail * BKE_main_thumbnail_from_imbuf(Main *bmain, ImBuf *img)
void BKE_main_relations_tag_set(struct Main *bmain, const MainIDRelationsEntryTags tag, const bool value)
void BKE_main_thumbnail_create(struct Main *bmain)
void BKE_main_unlock(struct Main *bmain)
const char * BKE_main_blendfile_path(const Main *bmain)
ImBuf * BKE_main_thumbnail_to_imbuf(Main *bmain, BlendThumbnail *data)
void BKE_main_lock(struct Main *bmain)
void BKE_main_relations_create(Main *bmain, const short flag)
GSet * BKE_main_gset_create(Main *bmain, GSet *gset)
ListBase * which_libbase(Main *bmain, short type)
static int main_relations_create_idlink_cb(LibraryIDLinkCallbackData *cb_data)
Main * BKE_main_new(void)
void BKE_main_free(Main *mainvar)
void BKE_main_relations_free(Main *bmain)
const char * BKE_main_blendfile_path_from_global(void)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
void *(* MEM_mallocN)(size_t len, const char *str)
unsigned int session_uuid
struct MainIDRelationsEntryItem * next
union MainIDRelationsEntryItem::@40 id_pointer
struct BLI_mempool * entry_items_pool
struct GHash * relations_from_pointers
BlendThumbnail * blen_thumb
struct MainIDRelations * relations