mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-10 23:02:03 +00:00
- added handling for changing the screen size (dragging the window borders / change scale factor)
This commit is contained in:
parent
3d47652d08
commit
bcb48d8441
14 changed files with 49 additions and 1 deletions
|
@ -1926,6 +1926,11 @@ void GameInterface::FreeGameData()
|
|||
ShutDown();
|
||||
}
|
||||
|
||||
void GameInterface::UpdateScreenSize()
|
||||
{
|
||||
viewResizeView(gViewSize);
|
||||
}
|
||||
|
||||
|
||||
::GameInterface* CreateInterface()
|
||||
{
|
||||
|
|
|
@ -84,6 +84,7 @@ struct GameInterface : ::GameInterface
|
|||
{
|
||||
void faketimerhandler() override;
|
||||
int app_main() override;
|
||||
void UpdateScreenSize() override;
|
||||
void FreeGameData() override;
|
||||
bool validate_hud(int) override;
|
||||
void set_hud_layout(int size) override;
|
||||
|
|
|
@ -105,6 +105,7 @@ struct GameInterface
|
|||
virtual ~GameInterface() {}
|
||||
virtual void faketimerhandler() {} // This is a remnant of older versions, but Blood backend has not updated yet.
|
||||
virtual int app_main() = 0;
|
||||
virtual void UpdateScreenSize() {}
|
||||
virtual void FreeGameData() {}
|
||||
virtual bool validate_hud(int) = 0;
|
||||
virtual void set_hud_layout(int size) = 0;
|
||||
|
|
|
@ -67,6 +67,22 @@ void I_StartTic();
|
|||
|
||||
int32_t handleevents(void)
|
||||
{
|
||||
// fullscreen toggle has been requested
|
||||
if (setmodeneeded)
|
||||
{
|
||||
setmodeneeded = false;
|
||||
screen->ToggleFullscreen(fullscreen);
|
||||
V_OutputResized(screen->GetWidth(), screen->GetHeight());
|
||||
}
|
||||
|
||||
// change the view size if needed
|
||||
if (setsizeneeded)
|
||||
{
|
||||
videoSetGameMode(vid_fullscreen, SCREENWIDTH, SCREENHEIGHT, 32, 1);
|
||||
if (gi) gi->UpdateScreenSize();
|
||||
setsizeneeded = false;
|
||||
}
|
||||
|
||||
timerUpdateClock();
|
||||
|
||||
// The mouse wheel is not a real key so in order to be "pressed" it may only be cleared at the end of the tic (or the start of the next.)
|
||||
|
|
|
@ -515,7 +515,7 @@ void V_UpdateModeSize (int width, int height)
|
|||
void V_OutputResized (int width, int height)
|
||||
{
|
||||
V_UpdateModeSize(width, height);
|
||||
// setsizeneeded = true;
|
||||
setsizeneeded = true;
|
||||
C_NewModeAdjust();
|
||||
}
|
||||
|
||||
|
|
|
@ -434,6 +434,8 @@ void ScaleWithAspect(int &w, int &h, int Width, int Height);
|
|||
int GetUIScale(int altval);
|
||||
int GetConScale(int altval);
|
||||
|
||||
extern bool setsizeneeded, setmodeneeded;
|
||||
|
||||
EXTERN_CVAR(Int, uiscale);
|
||||
EXTERN_CVAR(Int, con_scaletext);
|
||||
EXTERN_CVAR(Int, con_scale);
|
||||
|
|
|
@ -143,6 +143,7 @@ static inline int32_t G_DefaultActorHealth(int spriteNum)
|
|||
struct GameInterface : ::GameInterface
|
||||
{
|
||||
int app_main() override;
|
||||
void UpdateScreenSize() override;
|
||||
void FreeGameData() override;
|
||||
bool validate_hud(int) override;
|
||||
void set_hud_layout(int size) override;
|
||||
|
|
|
@ -6441,6 +6441,11 @@ void GameInterface::FreeGameData()
|
|||
G_Cleanup();
|
||||
}
|
||||
|
||||
void GameInterface::UpdateScreenSize()
|
||||
{
|
||||
G_UpdateScreenArea();
|
||||
}
|
||||
|
||||
::GameInterface* CreateInterface()
|
||||
{
|
||||
return new GameInterface;
|
||||
|
|
|
@ -3286,6 +3286,11 @@ bool GameInterface::CanSave()
|
|||
return !bRecord && !bPlayback && !bPause && !bInDemo && nTotalPlayers == 1;
|
||||
}
|
||||
|
||||
void GameInterface::UpdateScreenSize()
|
||||
{
|
||||
Powerslave::UpdateScreenSize();
|
||||
}
|
||||
|
||||
|
||||
::GameInterface* CreateInterface()
|
||||
{
|
||||
|
|
|
@ -273,6 +273,7 @@ void G_DoAutoload(const char* dirname);
|
|||
struct GameInterface : ::GameInterface
|
||||
{
|
||||
int app_main() override;
|
||||
void UpdateScreenSize() override;
|
||||
bool validate_hud(int) override { return true; }
|
||||
void set_hud_layout(int size) override {}
|
||||
void set_hud_scale(int size) override {}
|
||||
|
|
|
@ -146,6 +146,7 @@ static inline int32_t G_DefaultActorHealth(int spriteNum)
|
|||
struct GameInterface : ::GameInterface
|
||||
{
|
||||
int app_main() override;
|
||||
void UpdateScreenSize() override;
|
||||
void FreeGameData() override;
|
||||
bool validate_hud(int) override;
|
||||
void set_hud_layout(int size) override;
|
||||
|
|
|
@ -7888,6 +7888,11 @@ void GameInterface::FreeGameData()
|
|||
G_Cleanup();
|
||||
}
|
||||
|
||||
void GameInterface::UpdateScreenSize()
|
||||
{
|
||||
G_UpdateScreenArea();
|
||||
}
|
||||
|
||||
::GameInterface* CreateInterface()
|
||||
{
|
||||
return new GameInterface;
|
||||
|
|
|
@ -3958,6 +3958,10 @@ void GameInterface::FreeGameData()
|
|||
TerminateLevel();
|
||||
}
|
||||
|
||||
void GameInterface::UpdateScreenSize()
|
||||
{
|
||||
SetupAspectRatio();
|
||||
}
|
||||
|
||||
|
||||
#if 0 // the message input needs to be moved out of the game code!
|
||||
|
|
|
@ -2430,6 +2430,7 @@ void LoadSaveMsg(const char *msg);
|
|||
struct GameInterface : ::GameInterface
|
||||
{
|
||||
int app_main() override;
|
||||
void UpdateScreenSize() override;
|
||||
void FreeGameData() override;
|
||||
bool validate_hud(int) override;
|
||||
void set_hud_layout(int size) override;
|
||||
|
|
Loading…
Reference in a new issue