Draw Manager: Introduce a foreach function for all shgroups in a pass.
This commit is contained in:
parent
bde4499496
commit
54bde82445
|
@ -291,6 +291,7 @@ void DRW_shgroup_uniform_mat4(DRWShadingGroup *shgroup, const char *name, const
|
|||
|
||||
/* Passes */
|
||||
DRWPass *DRW_pass_create(const char *name, DRWState state);
|
||||
void DRW_pass_foreach_shgroup(DRWPass *pass, void (*callback)(void *userData, DRWShadingGroup *shgrp), void *userData);
|
||||
|
||||
/* Viewport */
|
||||
typedef enum {
|
||||
|
|
|
@ -1023,6 +1023,13 @@ void DRW_pass_free(DRWPass *pass)
|
|||
BLI_freelistN(&pass->shgroups);
|
||||
}
|
||||
|
||||
void DRW_pass_foreach_shgroup(DRWPass *pass, void (*callback)(void *userData, DRWShadingGroup *shgrp), void *userData)
|
||||
{
|
||||
for (DRWShadingGroup *shgroup = pass->shgroups.first; shgroup; shgroup = shgroup->next) {
|
||||
callback(userData, shgroup);
|
||||
}
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue