Files
Aerofoil/AerofoilSDL/GpFiber_SDL.h

25 lines
492 B
C
Raw Normal View History

2020-09-26 16:45:52 -04:00
#pragma once
#include "IGpFiber.h"
#include "SDL_thread.h"
struct IGpThreadEvent;
2020-09-26 16:45:52 -04:00
class GpFiber_SDL final : public IGpFiber
{
public:
explicit GpFiber_SDL(SDL_Thread *thread, IGpThreadEvent *threadEvent);
2020-09-26 16:45:52 -04:00
~GpFiber_SDL();
void YieldTo(IGpFiber *fromFiber) override;
2020-10-12 00:37:11 -04:00
void YieldToTerminal(IGpFiber *fromFiber) override;
2020-09-26 16:45:52 -04:00
void Destroy() override;
private:
static int SDLCALL InternalThreadFunction(void *data);
bool m_isDestroying;
IGpThreadEvent *m_event;
2020-09-26 16:45:52 -04:00
SDL_Thread *m_thread;
};