libElysianVMU 1.6.0
Full-featured, accurate, cross-platform library emulating the Dreamcast's Visual Memory Unit
Loading...
Searching...
No Matches
evmu_clock_event.h
Go to the documentation of this file.
1/*! \file
2 * \brief EvmuClockEvent and related API
3 *
4 * \author 2023 Falco Girgis
5 * \copyright MIT License
6 */
7#ifndef EVMU_CLOCK_EVENT_H
8#define EVMU_CLOCK_EVENT_H
9
10#include <gimbal/meta/instances/gimbal_event.h>
11#include "../hw/evmu_clock.h"
12
13#define EVMU_CLOCK_EVENT_TYPE (GBL_TYPEID(EvmuClockEvent))
14#define EVMU_CLOCK_EVENT(self) (GBL_CAST(EvmuClockEvent, self))
15#define EVMU_CLOCK_EVENT_CLASS(klass) (GBL_CLASS_CAST(EvmuClockEvent, klass))
16#define EVMU_CLOCK_EVENT_GET_CLASS(self) (GBL_CLASSOF(EvmuClockevent, self))
17
18#define GBL_SELF_TYPE EvmuClockEvent
19
20GBL_DECLS_BEGIN
21
22/*! \struct EvmuClockEventClass
23 * \extends GblEventClass
24 * \brief GblClass structure for EvmuClockEvent
25 */
26GBL_CLASS_DERIVE_EMPTY(EvmuClockEvent, GblEvent)
27
28/*! \struct EvmuClockEvent
29 * \extends EvmuEvent
30 * \brief GblEvent-derived type for clock-related events
31 */
32GBL_INSTANCE_DERIVE(EvmuClockEvent, GblEvent)
33 EVMU_CLOCK_SIGNAL signal;
34 EvmuWave wave;
35GBL_INSTANCE_END
36
37EVMU_EXPORT GblType EvmuClockEvent_type(void) GBL_NOEXCEPT;
38
39GBL_DECLS_END
40
41#undef GBL_SELF_TYPE
42
43#endif // EVMU_CLOCK_EVENT_H
#define EVMU_EXPORT
Define used for adding attributes to export public symbols.
Definition evmu_api.h:18
uintptr_t GblType
GblEvent-derived type for clock-related events.
#define GBL_CLASS_CAST(cType, klass)
#define GBL_CLASSOF(cType, self)
#define GBL_CAST(cType, self)