blob: 09e83a0d4c8ad2827ea0b5456d15b8ccb8e7468c [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