Skip to content

Commit a5b51bf

Browse files
authored
Merge pull request #14 from nefarius/shoulder-ui-rework
Changed render of shoulder and trigger UI visuals
2 parents 2eb4d5c + a49da8e commit a5b51bf

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

src/gamepad_renderer.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ static const LayoutCoords XBOX_LAYOUT = {
3232
275.f, 85.f, // face buttons
3333
125.f, 85.f, // left stick upper-left
3434
252.f, 158.f, // right stick
35-
72.f, 32.f, 162.f, 50.f, // left bumper
36-
238.f, 32.f, 328.f, 50.f, // right bumper
37-
58.f, 10.f, 88.f, 36.f, // left trigger
38-
312.f, 10.f, 342.f, 36.f, // right trigger
35+
83.f, 33.f, 151.f, 47.f, // left bumper (smaller)
36+
249.f, 33.f, 317.f, 47.f, // right bumper
37+
34.f, 108.f, 46.f, 248.f, // left trigger: slim, tall, on left grip
38+
354.f, 108.f, 366.f, 248.f, // right trigger: mirror on right grip
3939
182.f, 88.f, 200.f, 100.f, 218.f, 88.f,
4040
"A", "B", "X", "Y",
4141
"Back", "Guide", "Start"
@@ -52,10 +52,10 @@ static const LayoutCoords SONY_LAYOUT = {
5252
285.f, 96.f, // face buttons
5353
160.f, 130.f, // left stick lower-left (Sony symmetrical)
5454
240.f, 130.f, // right stick
55-
72.f, 32.f, 162.f, 50.f,
56-
238.f, 32.f, 328.f, 50.f,
57-
58.f, 10.f, 88.f, 36.f,
58-
312.f, 10.f, 342.f, 36.f,
55+
83.f, 33.f, 151.f, 47.f,
56+
249.f, 33.f, 317.f, 47.f,
57+
34.f, 108.f, 46.f, 248.f,
58+
354.f, 108.f, 366.f, 248.f,
5959
182.f, 88.f, 200.f, 100.f, 218.f, 88.f,
6060
SONY_FACE_A, SONY_FACE_B, SONY_FACE_X, SONY_FACE_Y,
6161
"Share", "PS", "Options"
@@ -235,12 +235,14 @@ static void DrawBumper(ImDrawList* dl, const Layout& L,
235235

236236
static void DrawTrigger(ImDrawList* dl, const Layout& L,
237237
ImVec2 tl, ImVec2 br, float value) {
238-
float rnd = L.S(4);
238+
float w = br.x - tl.x;
239+
float h = br.y - tl.y;
240+
float rnd = std::min(L.S(4.f), 0.5f * std::min(w, h));
239241
dl->AddRectFilled(tl, br, IM_COL32(35, 35, 38, 255), rnd);
240242
dl->AddRect(tl, br, Outline(), rnd, 0, L.S(1.5f));
241243

242244
if (value > 0.01f) {
243-
float fillH = (br.y - tl.y) * value;
245+
float fillH = h * value;
244246
ImVec2 ftl(tl.x, br.y - fillH);
245247
dl->AddRectFilled(ftl, br, IM_COL32(100, 200, 255, 220), rnd);
246248
}

0 commit comments

Comments
 (0)