aboutsummaryrefslogtreecommitdiffstats
path: root/assistant/Place.js
blob: f6d895cc61d83ddd32370e307929f2c5d1c7b2db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.pragma library
// Copyright (C) 2026 Danilo M. <danix@danix.xyz>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2 as
// published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

// Top-left corner of a size x size square on a W x H screen, margin away
// from the edges its position names. Anything unknown is the centre.
function at(position, W, H, size, margin) {
    const x = position.endsWith("left") ? margin
            : position.endsWith("right") ? W - size - margin
            : (W - size) / 2;
    const y = position.startsWith("top") ? margin
            : position.startsWith("bottom") ? H - size - margin
            : (H - size) / 2;
    return { x, y };
}