BLI_bitmap: add a macro to set/clear the whole bitmap at once.
This commit is contained in:
@@ -272,9 +272,7 @@ static MDisps *multires_mdisps_initialize_hidden(Mesh *me, int level)
|
||||
BLI_assert(!md->hidden);
|
||||
|
||||
md->hidden = BLI_BITMAP_NEW(gridarea, "MDisps.hidden initialize");
|
||||
|
||||
for (k = 0; k < gridarea; k++)
|
||||
BLI_BITMAP_ENABLE(md->hidden, k);
|
||||
BLI_BITMAP_SET_ALL(md->hidden, true, gridarea);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -91,6 +91,16 @@ typedef unsigned int BLI_bitmap;
|
||||
BLI_BITMAP_DISABLE(_bitmap, _index); \
|
||||
} (void)0
|
||||
|
||||
/* set or clear the value of the whole bitmap (needs size info) */
|
||||
#define BLI_BITMAP_SET_ALL(_bitmap, _set, _tot) \
|
||||
{ \
|
||||
CHECK_TYPE(_bitmap, BLI_bitmap *); \
|
||||
if (_set) \
|
||||
memset(_bitmap, UCHAR_MAX, BLI_BITMAP_SIZE(_tot)); \
|
||||
else \
|
||||
memset(_bitmap, 0, BLI_BITMAP_SIZE(_tot)); \
|
||||
} (void)0
|
||||
|
||||
/* resize bitmap to have space for '_tot' bits */
|
||||
#define BLI_BITMAP_RESIZE(_bitmap, _tot) \
|
||||
{ \
|
||||
|
||||
Reference in New Issue
Block a user