app/internal/window: [Windows] fix min/max size

Fixes gio#141

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-06-26 16:14:41 +01:00
parent acc0424dd7
commit 31e8339e1b
+8 -8
View File
@@ -153,10 +153,10 @@ func initResources() error {
func getWindowConstraints(cfg unit.Metric, opts *Options, d winDeltas) winConstraints { func getWindowConstraints(cfg unit.Metric, opts *Options, d winDeltas) winConstraints {
var minmax winConstraints var minmax winConstraints
minmax.minWidth = int32(cfg.Px(opts.MinWidth)) + d.width minmax.minWidth = int32(cfg.Px(opts.MinWidth))
minmax.minHeight = int32(cfg.Px(opts.MinHeight)) + d.height minmax.minHeight = int32(cfg.Px(opts.MinHeight))
minmax.maxWidth = int32(cfg.Px(opts.MaxWidth)) + d.width minmax.maxWidth = int32(cfg.Px(opts.MaxWidth))
minmax.maxHeight = int32(cfg.Px(opts.MaxHeight)) + d.height minmax.maxHeight = int32(cfg.Px(opts.MaxHeight))
return minmax return minmax
} }
@@ -288,14 +288,14 @@ func windowProc(hwnd syscall.Handle, msg uint32, wParam, lParam uintptr) uintptr
mm := (*windows.MinMaxInfo)(unsafe.Pointer(uintptr(lParam))) mm := (*windows.MinMaxInfo)(unsafe.Pointer(uintptr(lParam)))
if w.minmax.minWidth > 0 || w.minmax.minHeight > 0 { if w.minmax.minWidth > 0 || w.minmax.minHeight > 0 {
mm.PtMinTrackSize = windows.Point{ mm.PtMinTrackSize = windows.Point{
w.minmax.minWidth, w.minmax.minWidth+w.deltas.width,
w.minmax.minHeight, w.minmax.minHeight+w.deltas.height,
} }
} }
if w.minmax.maxWidth > 0 || w.minmax.maxHeight > 0 { if w.minmax.maxWidth > 0 || w.minmax.maxHeight > 0 {
mm.PtMaxTrackSize = windows.Point{ mm.PtMaxTrackSize = windows.Point{
w.minmax.maxWidth, w.minmax.maxWidth+w.deltas.width,
w.minmax.maxHeight, w.minmax.maxHeight+w.deltas.height,
} }
} }
} }