@@ -42,15 +42,6 @@ extern Array<KeyboardKeys> KeyCodeMap;
|
||||
extern X11::Cursor Cursors[(int32)CursorType::MAX];
|
||||
extern Window* MouseTrackingWindow;
|
||||
|
||||
typedef struct XDisplayHints
|
||||
{
|
||||
unsigned long flags;
|
||||
unsigned long functions;
|
||||
unsigned long decorations;
|
||||
long inputMode;
|
||||
unsigned long status;
|
||||
} XDisplayHints;
|
||||
|
||||
static constexpr uint32 MouseDoubleClickTime = 500;
|
||||
static constexpr uint32 MaxDoubleClickDistanceSquared = 10;
|
||||
static X11::Time MouseLastButtonPressTime = 0;
|
||||
@@ -341,33 +332,6 @@ void LinuxWindow::Maximize()
|
||||
Maximize(true);
|
||||
}
|
||||
|
||||
void LinuxWindow::SetBorderless(bool isBorderless, bool maximized)
|
||||
{
|
||||
LINUX_WINDOW_PROLOG;
|
||||
if (!display)
|
||||
return;
|
||||
XDisplayHints hints;
|
||||
hints.flags = 2;
|
||||
hints.decorations = isBorderless ? 0 : 1;
|
||||
const X11::Atom property = X11::XInternAtom(display, "_MOTIF_WM_HINTS", true);
|
||||
if (property != 0) {
|
||||
X11::XChangeProperty(display, window, property, property, 32, PropModeReplace, (unsigned char *)&hints, 5);
|
||||
}
|
||||
}
|
||||
|
||||
void LinuxWindow::SetIsFullscreen(bool isFullscreen)
|
||||
{
|
||||
if (isFullscreen)
|
||||
{
|
||||
SetBorderless(true);
|
||||
Maximize(false);
|
||||
} else
|
||||
{
|
||||
SetBorderless(false);
|
||||
Restore();
|
||||
}
|
||||
}
|
||||
|
||||
void LinuxWindow::Restore()
|
||||
{
|
||||
if (IsMaximized())
|
||||
|
||||
@@ -71,16 +71,14 @@ public:
|
||||
void Hide() override;
|
||||
void Minimize() override;
|
||||
void Maximize() override;
|
||||
void SetBorderless(bool isBorderless, bool maximized = false) override;
|
||||
void Restore() override;
|
||||
void Restore() override;
|
||||
bool IsClosed() const override;
|
||||
bool IsForegroundWindow() const override;
|
||||
void BringToFront(bool force = false) override;
|
||||
void SetClientBounds(const Rectangle& clientArea) override;
|
||||
void SetPosition(const Float2& position) override;
|
||||
void SetClientPosition(const Float2& position) override;
|
||||
void SetIsFullscreen(bool isFullscreen) override;
|
||||
Float2 GetPosition() const override;
|
||||
Float2 GetPosition() const override;
|
||||
Float2 GetSize() const override;
|
||||
Float2 GetClientSize() const override;
|
||||
Float2 ScreenToClient(const Float2& screenPos) const override;
|
||||
|
||||
Reference in New Issue
Block a user