Skip to content

osd: centre dot - #140

Merged
vertexodessa merged 1 commit into
OpenIPC:masterfrom
vertexodessa:osd-centre-dot
Oct 31, 2026
Merged

vertexodessa merged 1 commit into
OpenIPC:masterfrom
vertexodessa:osd-centre-dot

Conversation

@vertexodessa

@vertexodessa vertexodessa commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Adds a small red dot in the centre of the video as an aiming reference. It's a normal OSD item: on by default, can be turned off in the OSD menu, can't be moved, and stays hidden in VR mode.

OSDElement gets a second constructor for a fixed view with a default-enabled flag. Movable items work as before.

Tested on a Pixel 7 Pro.
pr-centre-dot

A small red dot at the centre of the video, as an aiming reference. It
is an OSD item like the others (toggled in the OSD menu), on by default,
fixed in place, and hidden in VR mode.

OSDElement gets a second form for a fixed view with a default-enabled
flag; movable items keep working as before.
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Add a default-enabled center dot to the video OSD

✨ Enhancement 🕐 10-20 Minutes

Grey Divider

AI Description

• Adds a fixed red aiming reference at the center of the video.
• Lets users toggle the dot through the OSD menu; it stays hidden in VR mode.
• Supports fixed OSD items while preserving movable items’ existing behavior.
Diagram

graph TD
  Menu["OSD menu"] --> Manager["OSD manager"] --> Element["OSD element"] --> Mode{"Single video?"} --> Dot["Center dot"]
  Element --> Movable["Movable items"]
  Manager <-->|"read and save"| Prefs["OSD preferences"]
Loading
High-Level Assessment

Using the existing OSD item, menu, and preference flow is the smallest coherent approach. An independent overlay toggle would duplicate that behavior, while wrapping a fixed dot in a movable layout would add positioning behavior it does not need.

Files changed (4) +56 / -8

Enhancement (4) +56 / -8
OSDElement.javaRepresent fixed views alongside movable OSD layouts +18/-1

Represent fixed views alongside movable OSD layouts

• Adds a constructor for fixed views with a configurable default-enabled state. A view accessor lets the manager control visibility for either item type; existing movable items remain disabled by default.

app/src/main/java/com/openipc/pixelpilot/osd/OSDElement.java

OSDManager.javaRegister and manage the default-enabled center dot +12/-7

Register and manage the default-enabled center dot

• Registers the dot as an OSD item and restores its enabled state using its default when no preference exists. Skips movement and position handling for fixed items and keeps the dot hidden when neither standard video view is visible.

app/src/main/java/com/openipc/pixelpilot/osd/OSDManager.java

osd_center_dot.xmlDefine the red center-dot drawable +12/-0

Define the red center-dot drawable

• Adds an 8dp red oval with a dark rim for contrast against bright video.

app/src/main/res/drawable/osd_center_dot.xml

activity_video.xmlPlace a fixed dot over the video center +14/-0

Place a fixed dot over the video center

• Adds an initially hidden view constrained to the center of the video layout, above the OSD layer. The view is not wrapped in a movable layout.

app/src/main/res/layout/activity_video.xml

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can keep summaries lean with Findings visible per group, which tucks the rest behind a View link

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@vertexodessa
vertexodessa merged commit 9a59113 into OpenIPC:master Oct 31, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant