platform-game/Forráskód/modules/auxiliary/auxSDL.h
Andras Schmelczer ba2d649de7
All checks were successful
Build & deploy web version / Build WebAssembly & deploy (push) Successful in 1m0s
Fix scaling on mobile
2026-08-10 08:16:56 +01:00

47 lines
2.1 KiB
C

#ifndef AUXSDL_H_INCLUDED
#define AUXSDL_H_INCLUDED
#include "../global.h"
#include "unicodePrint.h"
#define mouseSize 20 /**< Az egérmutató négyzetnek az oldalhosszusága. */
#define defaultWindowWidth 1920 /**< Az ablak alapértelmezett szélessége. */
#define defaultWindowHeight 1080 /**< Az ablak alapértelmezett magassága. */
/** \brief Böngészőben legfeljebb ennyi rajzfelület-pixel jusson egy css-pixelre.
* A teljes képet a processzor rajzolja, így a költsége a pixelek számával nő. Egy retina
* kijelzőn a natív felbontás négyszer annyi pixelt jelentene; helyette css-méretben rajzolunk,
* a vásznat pedig a böngésző nagyítja fel, ami már ingyen van.
*/
#define maxDevicePixelRatio 1.0
/** \brief Mobilon ennél is elmehetünk, mert ott a vászon css-ben is kicsi.
* Egy telefon képernyője css-pixelben nagyjából ötöde egy asztali ablakénak, így a
* kétszeres arány még mindig kevesebb rajzolandó pixelt jelent, mint amennyivel a
* gépen számolunk. Cserébe a kicsi, sűrű kijelzőn ez látszik meg a legjobban.
*/
#define maxMobileDevicePixelRatio 2.0
/** \brief Eddig a css-pixelben mért rövidebb képernyőoldalig tekintünk egy eszközt mobilnak.
* A mutatóeszköz mellé azért kell a méret is, mert egy nagy, ujjal kezelt panel (például
* egy kihelyezett érintőképernyő) is az ujjat mondja fő mutatóeszköznek, a duplázás
* viszont ott már ugyanolyan drága lenne, mint az asztali gépen. A határ a legnagyobb
* kézbe fogható eszköz rövidebb oldala: efölött már nem telefonról vagy táblagépről van szó.
*/
#define mobileScreenLimit 1024
typedef struct mousePos {
Uint16 x, y;
} mousePos;
void openWindow();
void handleResize();
void presentFrame();
void closeWindow();
void setMousePosition(Uint16 x, Uint16 y);
mousePos getMousePosition();
void drawMouse(bool isBW);
bool isMouseOverRect(int xCenter, int yCenter, int xSize, int ySize);
#endif // AUXSDL_H_INCLUDED