kicad-source/api/proto/common/commands/base_commands.proto
2024-11-28 17:58:23 -05:00

74 lines
1.8 KiB
Protocol Buffer

/*
* This program source code file is part of KiCad, a free EDA CAD application.
*
* Copyright (C) 2024 KiCad Developers, see AUTHORS.txt for contributors.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
syntax = "proto3";
package kiapi.common.commands;
import "common/types/base_types.proto";
message GetVersion
{
}
message GetVersionResponse
{
kiapi.common.types.KiCadVersion version = 1;
}
// A command to check if the connection to KiCad is OK
message Ping
{
}
// returns kiapi.common.types.Box2
message GetTextExtents
{
// A temporary text item to calculate the bounding box for
kiapi.common.types.Text text = 1;
}
message TextOrTextBox
{
oneof inner {
kiapi.common.types.Text text = 1;
kiapi.common.types.TextBox textbox = 2;
}
}
// Render the given text object(s) as shapes. Depending on whether the text is using
// the KiCad stroke font or a custom font, the response will be a compound shape containing
// a set of polygons or a set of segments.
message GetTextAsShapes
{
repeated TextOrTextBox text = 1;
}
message TextWithShapes
{
TextOrTextBox text = 1;
kiapi.common.types.CompoundShape shapes = 2;
}
message GetTextAsShapesResponse
{
repeated TextWithShapes text_with_shapes = 1;
}