Change font size and use outlines

This commit is contained in:
2026-06-18 10:23:58 -07:00
parent 1e6c10d156
commit 2f8a3706c5
5 changed files with 254 additions and 85 deletions

View File

@@ -148,23 +148,29 @@ of {PROJECT_DIR}/build/radar_simulator.
In the CMakeLists.txt, plese use the name radar_simulator for the add_executable call.
There will be three main areas of the screen. On the right hand side will be the radar
scope.
There will be three screen areas (viewports):
On the left hand side of the screen will be a text description of the scope as well
as the controls of the scope and keyboard keys for each control. This text will be
white while the control labels will be red and the keystrokes will be in pink.
At some point, pending a decision with the museum, we may purchase components to mount the controls on a panel. Until that is done, the controls will be on the keyboard.
1. Left text panel (upper-left): displays the description of the current scope and the
keyboard controls for that scope. Text is white; control labels are red; keystrokes
are pink. This panel occupies the upper portion of the left side of the window.
At some point, pending a decision with the museum, we may purchase components to
mount the controls on a panel. Until that is done, the controls will be on the keyboard.
On the right hand side of the screen, below the scope, would be a text status window, showing current
maximum range, range, and bearing as appropriate to which scope we are using as well as the identification
of the scope that we are using.
2. Status bar (lower-left): sits directly below the left text panel. It shows the current
control values — maximum range, range cursor, bearing cursor, and scope identification
as appropriate to whichever scope is active. This text will be yellow.
Suggest that we use glViewport to define the left-hand text area, the main scope,
and the yellow status bar. This allows you to render the scope with its own coordinate
system while keeping the text fixed. Along with glViewport, use glScissor and glEnable(GL_SCISSOR_TEST)
3. Scope (right side, full height): the radar scope takes the entire right side of the
window from top to bottom. There is no status bar below the scope.
Below the scope will be a text status window. This text will be yellow
Use glViewport, glScissor, and glEnable(GL_SCISSOR_TEST) to define each of the three
areas so that each can render with its own coordinate system.
The left side dimensions are defined in settings.h:
LEFT_PANEL_WIDTH — horizontal width of the left side
STATUS_BAR_HEIGHT — height of the status bar (bottom of left side)
LEFT_TEXT_HEIGHT — height of the text panel (top of left side; = WINDOW_HEIGHT - STATUS_BAR_HEIGHT)
The scope fills the remaining right side at full window height (SCOPE_WIDTH x WINDOW_HEIGHT).
Scopes in the right panel