2023-01-25 09:47:19 -06:00
|
|
|
#pragma once
|
|
|
|
#include "common/String.h"
|
|
|
|
#include "graphics/Pixel.h"
|
2023-02-12 06:58:54 -06:00
|
|
|
#include "FpsLimit.h"
|
2023-01-25 09:47:19 -06:00
|
|
|
#include <cstdint>
|
|
|
|
#include <SDL.h>
|
2023-02-12 06:58:54 -06:00
|
|
|
#include <variant>
|
2023-01-25 09:47:19 -06:00
|
|
|
|
|
|
|
extern int desktopWidth;
|
|
|
|
extern int desktopHeight;
|
|
|
|
extern SDL_Window *sdl_window;
|
|
|
|
extern SDL_Renderer *sdl_renderer;
|
|
|
|
extern SDL_Texture *sdl_texture;
|
|
|
|
extern int scale;
|
|
|
|
extern bool fullscreen;
|
|
|
|
extern bool altFullscreen;
|
|
|
|
extern bool forceIntegerScaling;
|
|
|
|
extern bool resizable;
|
|
|
|
extern bool momentumScroll;
|
|
|
|
extern bool showAvatars;
|
|
|
|
extern uint64_t lastTick;
|
|
|
|
extern uint64_t lastFpsUpdate;
|
|
|
|
extern bool showLargeScreenDialog;
|
|
|
|
extern int mousex;
|
|
|
|
extern int mousey;
|
|
|
|
extern int mouseButton;
|
|
|
|
extern bool mouseDown;
|
|
|
|
extern bool calculatedInitialMouse;
|
|
|
|
extern bool hasMouseMoved;
|
|
|
|
|
2023-02-12 06:32:05 -06:00
|
|
|
void MainLoop();
|
2023-01-25 09:47:19 -06:00
|
|
|
void EngineProcess();
|
|
|
|
void StartTextInput();
|
|
|
|
void StopTextInput();
|
|
|
|
void SetTextInputRect(int x, int y, int w, int h);
|
|
|
|
void ClipboardPush(ByteString text);
|
|
|
|
ByteString ClipboardPull();
|
|
|
|
int GetModifiers();
|
|
|
|
unsigned int GetTicks();
|
|
|
|
void CalculateMousePosition(int *x, int *y);
|
|
|
|
void blit(pixel *vid);
|
|
|
|
void SDLOpen();
|
2023-01-26 04:38:17 -06:00
|
|
|
void SDLClose();
|
2023-01-25 09:47:19 -06:00
|
|
|
void SDLSetScreen(int scale_, bool resizable_, bool fullscreen_, bool altFullscreen_, bool forceIntegerScaling_);
|
2023-02-12 06:58:54 -06:00
|
|
|
void SetFpsLimit(FpsLimit newFpsLimit);
|
2023-01-25 09:47:19 -06:00
|
|
|
bool RecreateWindow();
|
|
|
|
void LoadWindowPosition();
|
|
|
|
void SaveWindowPosition();
|
|
|
|
void LargeScreenDialog();
|
|
|
|
void TickClient();
|
|
|
|
void EventProcess(const SDL_Event &event);
|
2023-06-27 03:56:16 -05:00
|
|
|
void UpdateFpsLimit();
|