2 utility functions added for projection painting.

* BLI_linklist_index() - to get an items index in a  LinkList
* BLI_memarena_use_malloc() - BLI_memarena_use_calloc alredy existed but there was no way to switch back to malloc.

also added texnodes to cmake
This commit is contained in:
2008-11-12 22:35:58 +00:00
parent 8449f0d776
commit a35345f8ba
5 changed files with 19 additions and 1 deletions

View File

@@ -45,6 +45,7 @@ typedef struct LinkNode {
} LinkNode;
int BLI_linklist_length (struct LinkNode *list);
int BLI_linklist_index (struct LinkNode *list, void *ptr);
void BLI_linklist_reverse (struct LinkNode **listp);

View File

@@ -50,6 +50,7 @@ typedef struct MemArena MemArena;
struct MemArena* BLI_memarena_new (int bufsize);
void BLI_memarena_free (struct MemArena *ma);
void BLI_memarena_use_malloc (struct MemArena *ma);
void BLI_memarena_use_calloc (struct MemArena *ma);
void* BLI_memarena_alloc (struct MemArena *ma, int size);

View File

@@ -50,6 +50,18 @@ int BLI_linklist_length(LinkNode *list) {
}
}
int BLI_linklist_index(struct LinkNode *list, void *ptr)
{
int index;
for (index = 0; list; list= list->next, index++) {
if (list->link == ptr)
return index;
}
return -1;
}
void BLI_linklist_reverse(LinkNode **listp) {
LinkNode *rhead= NULL, *cur= *listp;

View File

@@ -60,6 +60,10 @@ void BLI_memarena_use_calloc(MemArena *ma) {
ma->use_calloc= 1;
}
void BLI_memarena_use_malloc(MemArena *ma) {
ma->use_calloc= 0;
}
void BLI_memarena_free(MemArena *ma) {
BLI_linklist_free(ma->bufs, (void(*)(void*)) MEM_freeN);
MEM_freeN(ma);

View File

@@ -23,7 +23,7 @@
#
# ***** END GPL LICENSE BLOCK *****
FILE(GLOB SRC intern/*.c intern/CMP_nodes/*.c intern/SHD_nodes/*.c)
FILE(GLOB SRC intern/*.c intern/CMP_nodes/*.c intern/SHD_nodes/*.c intern/TEX_nodes/*.c)
SET(INC
. ../../../intern/guardedalloc ../include ../blenlib ../makesdna