L2: task-grouped action bar + kit-drawn dock panel
New pure action_bar module (clusters, keybinding sub-labels, overflow, hit-test) supersedes the flat M11 strip; bank_panel chrome/buttons/tabs/grid now draw through the L1 kit by role with hover. Expose draw_kit::toLice in header to fix drawThumbnail forward-refs. CTest 27/27.
This commit is contained in:
+21
-1
@@ -355,6 +355,21 @@ target_include_directories(theme PUBLIC src)
|
||||
add_library(component_geometry STATIC src/component_geometry.cpp)
|
||||
target_include_directories(component_geometry PUBLIC src)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2o) Pure action_bar library — NO REAPER, NO SWELL, NO LICE. The Phase L (L2)
|
||||
# dock-panel layout redesign core: the TASK-GROUPED action bar geometry that
|
||||
# supersedes the flat M11 action_buttons strip for the panel's action inventory —
|
||||
# clusters (capture / placement / maintenance) tile the bar at a fixed button
|
||||
# width with intra/inter-cluster gaps, each button carrying a label + keybinding
|
||||
# micro sub-rect, whole trailing buttons dropped (never clipped) on a narrow panel,
|
||||
# and point -> flat action index hit-test. Split out so the layout + hit-test math
|
||||
# is unit-tested outside the DAW; the bank_panel L1-kit draw + NamedCommandLookup/
|
||||
# Main_OnCommand dispatch + kbd_getTextFromCmd query are DAW-verified. Mirror of
|
||||
# mode_switch / action_buttons / prune_button.
|
||||
# ---------------------------------------------------------------------------
|
||||
add_library(action_bar STATIC src/action_bar.cpp)
|
||||
target_include_directories(action_bar PUBLIC src)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3) Standalone tests for the pure modules (run without launching REAPER).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -465,6 +480,10 @@ add_executable(component_geometry_tests tests/test_component_geometry.cpp)
|
||||
target_link_libraries(component_geometry_tests PRIVATE component_geometry)
|
||||
add_test(NAME component_geometry_tests COMMAND component_geometry_tests)
|
||||
|
||||
add_executable(action_bar_tests tests/test_action_bar.cpp)
|
||||
target_link_libraries(action_bar_tests PRIVATE action_bar)
|
||||
add_test(NAME action_bar_tests COMMAND action_bar_tests)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 4) The REAPER extension — a loadable module (dlopen'd by REAPER, not linked).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -508,8 +527,9 @@ add_library(reaper_reasampler MODULE
|
||||
src/bank_book.cpp
|
||||
src/owned_manifest.cpp
|
||||
src/drag_out_win.cpp
|
||||
src/action_bar.cpp
|
||||
)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid mode_switch tab_strip view_mode_model insert_plan render_settings batch_capture tail_control realtime_record bank_book wav_trim owned_manifest prune_reconcile prune_button app_version provenance action_buttons drag_out theme component_geometry)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid mode_switch tab_strip view_mode_model insert_plan render_settings batch_capture tail_control realtime_record bank_book wav_trim owned_manifest prune_reconcile prune_button app_version provenance action_buttons drag_out theme component_geometry action_bar)
|
||||
target_include_directories(reaper_reasampler PRIVATE ${SDK_INC} ${WDL_INC})
|
||||
# OUTPUT_NAME is channel-derived (Phase V, V4): "reaper_reasampler" (stable, default) or
|
||||
# "reaper_reasampler_beta" (beta). REAPER dlopen's any reaper_* module, so both channels'
|
||||
|
||||
Reference in New Issue
Block a user