Ugly merge Reviewed-on: #6 Co-authored-by: Craig Everett <zxq9@zxq9.com> Co-committed-by: Craig Everett <zxq9@zxq9.com>
45 lines
1.1 KiB
Erlang
45 lines
1.1 KiB
Erlang
-module(gd_v).
|
|
-vsn("0.5.1").
|
|
-author("Craig Everett <craigeverett@qpq.swiss>").
|
|
-copyright("QPQ AG <info@qpq.swiss>").
|
|
-license("GPL-3.0-or-later").
|
|
|
|
-export([safe_size/2]).
|
|
|
|
|
|
-callback to_front(Window) -> ok
|
|
when Window :: wx:wx_object().
|
|
|
|
|
|
|
|
-spec safe_size(Frame, Prefs) -> ok
|
|
when Frame :: wx:wx_object(),
|
|
Prefs :: map().
|
|
|
|
safe_size(Frame, Prefs) ->
|
|
case safe_size(Prefs) of
|
|
{pref, max} ->
|
|
wxTopLevelWindow:maximize(Frame);
|
|
{pref, WSize} ->
|
|
wxFrame:setSize(Frame, WSize);
|
|
{center, WSize} ->
|
|
ok = wxFrame:setSize(Frame, WSize),
|
|
wxFrame:center(Frame)
|
|
end.
|
|
|
|
|
|
safe_size(Prefs) ->
|
|
Display = wxDisplay:new(),
|
|
GSize = wxDisplay:getGeometry(Display),
|
|
ok = wxDisplay:destroy(Display),
|
|
case maps:find(geometry, Prefs) of
|
|
{ok, none} ->
|
|
{X, Y, _, _} = GSize,
|
|
{center, {X, Y, 700, 500}};
|
|
{ok, G} ->
|
|
{pref, G};
|
|
error ->
|
|
{X, Y, _, _} = GSize,
|
|
{center, {X, Y, 700, 500}}
|
|
end.
|