summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/render/bgfx/parameter.cpp
blob: 004d5fd17f80d4bea21431b9cd51c616917c38bf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// license:BSD-3-Clause
// copyright-holders:Ryan Holtz
//============================================================
//
//  parameter.cpp - BGFX shader parameter
//
//  A value that represents some form of parametric
//  operation, which can be fed to the input of a BGFX
//  shader uniform.
//
//============================================================

#include "emu.h"

// NB: NOT FINISHED!

#include "parameter.h"

bgfx_parameter::bgfx_parameter(std::string name, parameter_type type, int period)
	: m_name(name)
	, m_type(type)
	, m_period(period)
	, m_frame(0)
{
}

bgfx_parameter::~bgfx_parameter()
{
}

void bgfx_parameter::frame()
{
	switch(m_type)
	{
		case PARAM_FRAME_MASK:
			m_frame++;
			if (m_frame == m_period)
			{
				m_frame = 0;
			}
			break;
		default:
			break;
	}
}

bool bgfx_parameter::active()
{
	switch (m_type)
	{
		case PARAM_FRAME_MASK:
			return (m_frame % m_period == 0);
		default:
			return false;
	}
}