21#ifndef __SPRITEHANDLE_H__
22#define __SPRITEHANDLE_H__
43 return ( ( (
SpriteHandle ) nGeneration ) << 16 ) | ( ( nIndex + 1 ) & 0xFFFF );
48 return ( int32_t ) ( handle & 0xFFFF ) - 1;
53 return ( uint16_t ) ( handle >> 16 );
81 return (
SpriteHandle ) ( ( uintptr_t ) pPtr & 0xFFFFFFFFULL );
int32_t SpriteHandleIndex(SpriteHandle handle)
Definition spritehandle.h:46
SpriteHandle MakeSpriteHandle(uint32_t nIndex, uint16_t nGeneration)
Definition spritehandle.h:41
bool IsPackedSpriteHandle(void *pPtr)
Definition spritehandle.h:74
SpriteHandle UnpackSpriteHandleFromPtr(void *pPtr)
Definition spritehandle.h:79
void * PackSpriteHandleAsPtr(SpriteHandle handle)
Definition spritehandle.h:69
const SpriteHandle INVALID_SPRITE_HANDLE
Definition spritehandle.h:39
uint16_t SpriteHandleGeneration(SpriteHandle handle)
Definition spritehandle.h:51
uint32_t SpriteHandle
Opaque handle to a sprite pool slot. Packs a slot index (low 16 bits, 1-based so 0 stays reserved for...
Definition spritehandle.h:37
const uintptr_t SPRITE_HANDLE_PTR_TAG
Definition spritehandle.h:67
Definition irendererprovider.h:32