77 lines · 1.9 KB · C
RawDownload
#pragma once #include <stdint.h>#include <stdbool.h>#include "ft2_header.h"#include "ft2_palette.h"#include "ft2_audio.h"#include "ft2_hpc.h" enum{	SPRITE_LEFT_LOOP_PIN = 0,	SPRITE_RIGHT_LOOP_PIN = 1,	SPRITE_TEXT_CURSOR = 2,	SPRITE_MOUSE_POINTER = 3, // priority above all other sprites 	SPRITE_NUM}; typedef struct video_t{	bool fullscreen, showFPSCounter, useDesktopMouseCoords;	uint32_t xScale, yScale;	uint32_t *frameBuffer, palette[PAL_NUM];#ifdef _WIN32	HWND hWnd;#endif	hpc_t vblankHpc;	SDL_Window *window;	double dMonitorRefreshRate;	float fMouseXMul, fMouseYMul;	uint8_t upscaleFactor;	bool vsync60HzPresent, windowHidden;	int32_t renderX, renderY, renderW, renderH, displayW, displayH, windowW, windowH;	SDL_Renderer *renderer;	SDL_Texture *texture;	SDL_Surface *iconSurface;} video_t; typedef struct{	uint32_t *refreshBuffer;	const uint8_t *data;	bool visible;	int16_t newX, newY, x, y;	uint16_t w, h;} sprite_t; extern video_t video; // ft2_video.c void resetFPSCounter(void);void beginFPSCounter(void);void endFPSCounter(void);void flipFrame(void);void showErrorMsgBox(const char *fmt, ...);void updateWindowTitle(bool forceUpdate);void handleScopesFromChQueue(chSyncData_t *chSyncData, uint8_t *scopeUpdateStatus);bool setupWindow(void);bool setupRenderer(void);void closeVideo(void);void setLeftLoopPinState(bool clicked);void setRightLoopPinState(bool clicked);int32_t getSpritePosX(int32_t sprite);void eraseSprites(void);void renderLoopPins(void);void renderSprites(void);bool setupSprites(void);void freeSprites(void);void setSpritePos(int32_t sprite, int32_t x, int32_t y);void changeSpriteData(int32_t sprite, const uint8_t *data);void hideSprite(int32_t sprite);void handleRedrawing(void);void enterFullscreen(void);void leaveFullscreen(void);void setWindowSizeFromConfig(bool updateRenderer);bool recreateTexture(void);void toggleFullscreen(void);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t