TIC-80-guile/src/system.h

40 lines
962 B
C
Raw Normal View History

2018-02-14 12:52:10 +01:00
#pragma once
2018-02-14 13:14:05 +01:00
#include "ticapi.h"
2018-02-14 12:52:10 +01:00
#include "ext/file_dialog.h"
typedef struct
{
void (*setClipboardText)(const char* text);
bool (*hasClipboardText)();
char* (*getClipboardText)();
u64 (*getPerformanceCounter)();
u64 (*getPerformanceFrequency)();
void* (*getUrlRequest)(const char* url, s32* size);
2018-02-14 13:14:05 +01:00
void (*fileDialogLoad)(file_dialog_load_callback callback, void* data);
void (*fileDialogSave)(file_dialog_save_callback callback, const char* name, const u8* buffer, size_t size, void* data, u32 mode);
2018-02-14 12:52:10 +01:00
void (*goFullscreen)();
void (*showMessageBox)(const char* title, const char* message);
void (*setWindowTitle)(const char* title);
void (*openSystemPath)(const char* path);
} System;
2018-02-14 13:14:05 +01:00
typedef struct
{
tic_mem* tic;
bool quit;
void (*tick)(void* pixels);
2018-02-14 13:23:26 +01:00
void (*exit)();
2018-02-14 13:14:05 +01:00
void (*close)();
void (*updateProject)();
} Studio;
TIC80_API Studio* studioInit(s32 argc, char **argv, s32 samplerate, const char* appFolder, System* system);