Plan canvas toolbar bindings
This commit is contained in:
@@ -1526,6 +1526,20 @@ const char* canvas_tool_operation_name(pp::app::CanvasToolOperation operation) n
|
||||
return "select-mode";
|
||||
}
|
||||
|
||||
const char* canvas_tool_toolbar_action_name(pp::app::CanvasToolToolbarAction action) noexcept
|
||||
{
|
||||
switch (action) {
|
||||
case pp::app::CanvasToolToolbarAction::select_mode:
|
||||
return "select-mode";
|
||||
case pp::app::CanvasToolToolbarAction::toggle_picking:
|
||||
return "toggle-picking";
|
||||
case pp::app::CanvasToolToolbarAction::toggle_touch_lock:
|
||||
return "toggle-touch-lock";
|
||||
}
|
||||
|
||||
return "select-mode";
|
||||
}
|
||||
|
||||
const char* canvas_tool_mode_name(pp::app::CanvasToolMode mode) noexcept
|
||||
{
|
||||
switch (mode) {
|
||||
@@ -2210,6 +2224,7 @@ void print_help()
|
||||
<< " plan-stroke-composite [--width N] [--height N] [--layer-blend N] [--stroke-blend N] [--dual-blend] [--pattern-blend] [--framebuffer-fetch] [--texture-copy] [--blit] [--explicit-transitions] [--render-only] [--depth]\n"
|
||||
<< " plan-canvas-hotkey --event key-down|key-up|touch-tap --key e|z|s|tab|alt|android-back|bracket-left|bracket-right [--ctrl] [--shift] [--mouse-focus] [--undo-count N] [--redo-count N] [--touch-fingers N]\n"
|
||||
<< " plan-canvas-tool --kind draw|erase|line|camera|grid|copy|cut|fill|mask-free|mask-line|bucket|pick|touch-lock [--current-mode-draw]\n"
|
||||
<< " plan-canvas-tool-toolbar\n"
|
||||
<< " plan-canvas-tool-state [--mode draw|erase|line|camera|grid|copy|cut|fill|mask-free|mask-line|bucket] [--picking] [--touch-lock]\n"
|
||||
<< " plan-canvas-camera-reset\n"
|
||||
<< " plan-canvas-view-density [--density N] [--bad-float]\n"
|
||||
@@ -7666,6 +7681,34 @@ int plan_canvas_tool(int argc, char** argv)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int plan_canvas_tool_toolbar(int argc, char** argv)
|
||||
{
|
||||
if (argc > 2) {
|
||||
print_error("plan-canvas-tool-toolbar", "unknown option");
|
||||
return 2;
|
||||
}
|
||||
|
||||
const auto toolbar = pp::app::plan_canvas_tool_toolbar();
|
||||
std::cout << "{\"ok\":true,\"command\":\"plan-canvas-tool-toolbar\""
|
||||
<< ",\"defaultMode\":\"" << canvas_tool_mode_name(toolbar.default_mode)
|
||||
<< "\",\"bindingCount\":" << toolbar.bindings.size()
|
||||
<< ",\"bindings\":[";
|
||||
for (std::size_t i = 0; i < toolbar.bindings.size(); ++i) {
|
||||
const auto& binding = toolbar.bindings[i];
|
||||
if (i > 0) {
|
||||
std::cout << ",";
|
||||
}
|
||||
std::cout << "{\"id\":\"" << json_escape(binding.button_id)
|
||||
<< "\",\"action\":\"" << canvas_tool_toolbar_action_name(binding.action)
|
||||
<< "\",\"mode\":\"" << canvas_tool_mode_name(binding.mode)
|
||||
<< "\",\"customButton\":" << json_bool(binding.custom_button)
|
||||
<< ",\"defaultOnInit\":" << json_bool(binding.applies_default_on_init)
|
||||
<< "}";
|
||||
}
|
||||
std::cout << "]}\n";
|
||||
return 0;
|
||||
}
|
||||
|
||||
pp::foundation::Result<pp::app::CanvasHotkeyEvent> parse_canvas_hotkey_event(std::string_view event)
|
||||
{
|
||||
if (event == "key-down") {
|
||||
@@ -11172,6 +11215,10 @@ int main(int argc, char** argv)
|
||||
return plan_canvas_tool(argc, argv);
|
||||
}
|
||||
|
||||
if (command == "plan-canvas-tool-toolbar") {
|
||||
return plan_canvas_tool_toolbar(argc, argv);
|
||||
}
|
||||
|
||||
if (command == "plan-canvas-tool-state") {
|
||||
return plan_canvas_tool_state(argc, argv);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user