Popup menu laf colours and font#920
Draft
davidhealey wants to merge 5 commits intochristophhart:developfrom
Draft
Popup menu laf colours and font#920davidhealey wants to merge 5 commits intochristophhart:developfrom
davidhealey wants to merge 5 commits intochristophhart:developfrom
Conversation
Allows script developers to fully customise the PerformanceLabel floating tile via a drawPerformanceLabel LAF callback. The callback object provides layout, colours, font settings, and performance metrics (CPU %, RAM bytes, voices). Rendering now uses direct painting through LookAndFeelMethods instead of an internal Label, while preserving the previous default appearance and remaining backward compatible when no ScriptedLookAndFeel is used.
Exposes the keyboard floating tile's Font and FontSize panel properties in the obj passed to drawWhiteNote and drawBlackNote scripted LAF callbacks, allowing script authors to use the configured font when drawing custom key labels. https://claude.ai/code/session_01PemsiopLqyqjZb35AWzTZx Fix font property in drawWhiteNote/drawBlackNote callbacks including style getTypefaceName() returns only the family name ("Inter"), dropping the style suffix. Add getFontName() getter to FloatingTileContent to expose the raw fontName string ("Inter Bold", "Inter Medium", etc.) and use that for the font callback property instead. https://claude.ai/code/session_01PemsiopLqyqjZb35AWzTZx
Add comprehensive scripted look-and-feel support for MidiLearnPanel and
FrontendMacroPanel floating tiles, including:
- Scripted LAF support for drawTableCell, drawTableRowBackground,
drawTableHeaderBackground, drawTableHeaderColumn, drawLinearSlider,
drawToggleButton, and drawScrollbar callbacks
- Pass floating tile properties (colours, font, fontSize) to all LAF
callbacks
- Add ColumnWidthRatio property for configurable column widths
- Add itemColour3, font, and fontSize to all drawTable LAF functions
- Change InvertedButton from TextButton to ToggleButton for
drawToggleButton
- Set component IDs on floating tile sliders ("min" and "max")
- Use visual column indices in drawTableCell and drawTableHeaderColumn
- Make textBoxOutlineColourId transparent for scripted LAF sliders
- Fix getFontName() usage for LAF font property across all table
callbacks
https://claude.ai/code/session_01E1nPYm3ugRjMYoHCwRZkR4
Remove drop shadow from popup menus using custom laf on Windows Fix square background behind rounded value popup Replace DropShadower with manually-painted DropShadow using a rounded rectangle path. The DropShadower rendered shadow based on rectangular component bounds, causing a visible square background when itemColour and itemColour2 were set to transparent. Now the shadow follows the rounded shape defined by borderRadius, allowing truly rounded popups. https://claude.ai/code/session_01V2DtUFT6hpxSYF9aozG2z6
…acks Route ComboBox and FloatingTile colour properties (bgColour, textColour, itemColour1-3) through to drawPopupMenuBackground, drawPopupMenuItem, and drawPopupMenuSectionHeader LAF callbacks. Also passes font/fontSize from the ComboBox's configured font properties. - Set HiseColourScheme colour IDs on BorderPanel for popup menu support - Add FloatingTile and TableFloatingTileBase colour support - Fix popup menu rendering by passing nullptr to callWithGraphics - Read combo box font from HiComboBox::font (kept in sync via updateFont) https://claude.ai/code/session_01MASkUkpwz1N9tJGdqrffmd Fix popup menu font name always returning default typeface name Store the configured font name string alongside the Font object in ScriptedLookAndFeel, HiComboBox, and FloatingTileContent, so that the drawPopupMenuItem LAF callback receives the user-configured name (e.g. "Default" or a custom font ID) rather than the internal typeface name (e.g. "Oxygen") obtained via getTypefaceName(). - Add getFontName() to FloatingTileContent returning fontName or "Default" - Add getFontName() to ScriptedLookAndFeel::Laf returning the stored name - Add fontName member to ScriptedLookAndFeel, set in setGlobalFont() - Add fontName member to HiComboBox, set in ComboBoxWrapper::updateFont() - Use getFontName()/fontName in drawPopupMenuItemWithOptions and drawPopupMenuSectionHeaderWithOptions instead of getTypefaceName() https://claude.ai/code/session_01MhDNx57De9NDH44TfzMYPE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Depends on #915 and #919
Fix popup menu colours: pass component and panel colours to LAF callbacks
Route ComboBox and FloatingTile colour properties (bgColour, textColour,
itemColour1-3) through to drawPopupMenuBackground, drawPopupMenuItem, and
drawPopupMenuSectionHeader LAF callbacks. Also passes font/fontSize from
the ComboBox's configured font properties.
https://claude.ai/code/session_01MASkUkpwz1N9tJGdqrffmd
Fix popup menu font name always returning default typeface name
Store the configured font name string alongside the Font object in
ScriptedLookAndFeel, HiComboBox, and FloatingTileContent, so that the
drawPopupMenuItem LAF callback receives the user-configured name (e.g.
"Default" or a custom font ID) rather than the internal typeface name
(e.g. "Oxygen") obtained via getTypefaceName().
"Default"
name
ComboBoxWrapper::updateFont()
drawPopupMenuSectionHeaderWithOptions instead of getTypefaceName()
https://claude.ai/code/session_01MhDNx57De9NDH44TfzMYPE