mirror of
https://github.com/glfw/glfw.git
synced 2024-11-22 13:04:35 +00:00
Add shared min and max functions for int
(cherry picked from commit 3ee5031fd7
)
This commit is contained in:
parent
b43c122dd1
commit
3006c02bc2
10
src/init.c
10
src/init.c
@ -150,6 +150,16 @@ char* _glfw_strdup(const char* source)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int _glfw_min(int a, int b)
|
||||||
|
{
|
||||||
|
return a < b ? a : b;
|
||||||
|
}
|
||||||
|
|
||||||
|
int _glfw_max(int a, int b)
|
||||||
|
{
|
||||||
|
return a > b ? a : b;
|
||||||
|
}
|
||||||
|
|
||||||
float _glfw_fminf(float a, float b)
|
float _glfw_fminf(float a, float b)
|
||||||
{
|
{
|
||||||
if (a != a)
|
if (a != a)
|
||||||
|
@ -777,6 +777,8 @@ const char* _glfwGetVulkanResultString(VkResult result);
|
|||||||
size_t _glfwEncodeUTF8(char* s, uint32_t codepoint);
|
size_t _glfwEncodeUTF8(char* s, uint32_t codepoint);
|
||||||
|
|
||||||
char* _glfw_strdup(const char* source);
|
char* _glfw_strdup(const char* source);
|
||||||
|
int _glfw_min(int a, int b);
|
||||||
|
int _glfw_max(int a, int b);
|
||||||
float _glfw_fminf(float a, float b);
|
float _glfw_fminf(float a, float b);
|
||||||
float _glfw_fmaxf(float a, float b);
|
float _glfw_fmaxf(float a, float b);
|
||||||
|
|
||||||
|
@ -504,10 +504,8 @@ static void maximizeWindowManually(_GLFWwindow* window)
|
|||||||
|
|
||||||
if (window->maxwidth != GLFW_DONT_CARE && window->maxheight != GLFW_DONT_CARE)
|
if (window->maxwidth != GLFW_DONT_CARE && window->maxheight != GLFW_DONT_CARE)
|
||||||
{
|
{
|
||||||
if (rect.right - rect.left > window->maxwidth)
|
rect.right = _glfw_min(rect.right, rect.left + window->maxwidth);
|
||||||
rect.right = rect.left + window->maxwidth;
|
rect.bottom = _glfw_min(rect.bottom, rect.top + window->maxheight);
|
||||||
if (rect.bottom - rect.top > window->maxheight)
|
|
||||||
rect.bottom = rect.top + window->maxheight;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
style = GetWindowLongW(window->win32.handle, GWL_STYLE);
|
style = GetWindowLongW(window->win32.handle, GWL_STYLE);
|
||||||
@ -530,8 +528,7 @@ static void maximizeWindowManually(_GLFWwindow* window)
|
|||||||
OffsetRect(&rect, 0, GetSystemMetrics(SM_CYCAPTION));
|
OffsetRect(&rect, 0, GetSystemMetrics(SM_CYCAPTION));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rect.bottom > mi.rcWork.bottom)
|
rect.bottom = _glfw_min(rect.bottom, mi.rcWork.bottom);
|
||||||
rect.bottom = mi.rcWork.bottom;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SetWindowPos(window->win32.handle, HWND_TOP,
|
SetWindowPos(window->win32.handle, HWND_TOP,
|
||||||
|
@ -43,11 +43,6 @@
|
|||||||
#include <wayland-client.h>
|
#include <wayland-client.h>
|
||||||
|
|
||||||
|
|
||||||
static inline int min(int n1, int n2)
|
|
||||||
{
|
|
||||||
return n1 < n2 ? n1 : n2;
|
|
||||||
}
|
|
||||||
|
|
||||||
static _GLFWwindow* findWindowFromDecorationSurface(struct wl_surface* surface,
|
static _GLFWwindow* findWindowFromDecorationSurface(struct wl_surface* surface,
|
||||||
int* which)
|
int* which)
|
||||||
{
|
{
|
||||||
@ -784,7 +779,7 @@ static void registryHandleGlobal(void* data,
|
|||||||
{
|
{
|
||||||
if (strcmp(interface, "wl_compositor") == 0)
|
if (strcmp(interface, "wl_compositor") == 0)
|
||||||
{
|
{
|
||||||
_glfw.wl.compositorVersion = min(3, version);
|
_glfw.wl.compositorVersion = _glfw_min(3, version);
|
||||||
_glfw.wl.compositor =
|
_glfw.wl.compositor =
|
||||||
wl_registry_bind(registry, name, &wl_compositor_interface,
|
wl_registry_bind(registry, name, &wl_compositor_interface,
|
||||||
_glfw.wl.compositorVersion);
|
_glfw.wl.compositorVersion);
|
||||||
@ -812,7 +807,7 @@ static void registryHandleGlobal(void* data,
|
|||||||
{
|
{
|
||||||
if (!_glfw.wl.seat)
|
if (!_glfw.wl.seat)
|
||||||
{
|
{
|
||||||
_glfw.wl.seatVersion = min(4, version);
|
_glfw.wl.seatVersion = _glfw_min(4, version);
|
||||||
_glfw.wl.seat =
|
_glfw.wl.seat =
|
||||||
wl_registry_bind(registry, name, &wl_seat_interface,
|
wl_registry_bind(registry, name, &wl_seat_interface,
|
||||||
_glfw.wl.seatVersion);
|
_glfw.wl.seatVersion);
|
||||||
|
@ -460,11 +460,7 @@ static void checkScaleChange(_GLFWwindow* window)
|
|||||||
int maxScale = 1;
|
int maxScale = 1;
|
||||||
|
|
||||||
for (int i = 0; i < window->wl.monitorsCount; i++)
|
for (int i = 0; i < window->wl.monitorsCount; i++)
|
||||||
{
|
maxScale = _glfw_max(window->wl.monitors[i]->wl.scale, maxScale);
|
||||||
const int scale = window->wl.monitors[i]->wl.scale;
|
|
||||||
if (maxScale < scale)
|
|
||||||
maxScale = scale;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Only change the framebuffer size if the scale changed.
|
// Only change the framebuffer size if the scale changed.
|
||||||
if (window->wl.scale != maxScale)
|
if (window->wl.scale != maxScale)
|
||||||
|
Loading…
Reference in New Issue
Block a user