blob: a378924dfc58853e58a91ea0015a48b609794723 [file] [log] [blame]
/*
* Copyright 2022 Rive
*/
#ifndef _RIVE_COUNTER_HPP_
#define _RIVE_COUNTER_HPP_
#include "rive/rive_types.hpp"
namespace rive
{
struct Counter
{
enum Type
{
kFile,
kArtboardInstance,
kLinearAnimationInstance,
kStateMachineInstance,
kBuffer,
kPath,
kPaint,
kShader,
kImage,
kLastType = kImage,
};
static constexpr int kNumTypes = Type::kLastType + 1;
static int counts[kNumTypes];
static void update(Type ct, int delta)
{
assert(delta == 1 || delta == -1);
counts[ct] += delta;
assert(counts[ct] >= 0);
}
};
} // namespace rive
#endif