KiCad PCB EDA Suite
Loading...
Searching...
No Matches
sch_drawing_tools.cpp File Reference
#include "sch_sheet_path.h"
#include <limits>
#include <memory>
#include <set>
#include <unordered_set>
#include <kiplatform/ui.h>
#include <optional>
#include <project_sch.h>
#include <tools/sch_drawing_tools.h>
#include <tools/sch_line_wire_bus_tool.h>
#include <tools/sch_selection_tool.h>
#include <tools/ee_grid_helper.h>
#include <tool/arc_draw_behavior.h>
#include <tools/rule_area_create_helper.h>
#include <gal/graphics_abstraction_layer.h>
#include <sch_actions.h>
#include <sch_tool_utils.h>
#include <sch_edit_frame.h>
#include <widgets/wx_infobar.h>
#include <pgm_base.h>
#include <design_block.h>
#include <widgets/sch_design_block_pane.h>
#include <eeschema_id.h>
#include <confirm.h>
#include <view/view_controls.h>
#include <view/view.h>
#include <sch_symbol.h>
#include <sch_no_connect.h>
#include <sch_group.h>
#include <sch_line.h>
#include <sch_junction.h>
#include <sch_bus_entry.h>
#include <sch_table.h>
#include <sch_tablecell.h>
#include <sch_sheet.h>
#include <sch_sheet_pin.h>
#include <sch_label.h>
#include <sch_bitmap.h>
#include <schematic.h>
#include <sch_commit.h>
#include <scoped_set_reset.h>
#include <libraries/legacy_symbol_library.h>
#include <eeschema_settings.h>
#include <dialogs/dialog_label_properties.h>
#include <dialogs/dialog_text_properties.h>
#include <dialogs/dialog_wire_bus_properties.h>
#include <dialogs/dialog_junction_props.h>
#include <dialogs/dialog_table_properties.h>
#include <import_gfx/dialog_import_gfx_sch.h>
#include <sync_sheet_pin/sheet_synchronization_agent.h>
#include <string_utils.h>
#include <wildcards_and_files_ext.h>
#include <wx/filedlg.h>
#include <wx/msgdlg.h>

Go to the source code of this file.

Typedefs

using SCOPED_DRAW_MODE = SCOPED_SET_RESET<SCH_DRAWING_TOOLS::MODE>
 

Functions

static std::optional< VECTOR2IdesignBlockAnchor (const std::vector< SCH_ITEM * > &aItems)
 Pick the point a placed design block hangs from.
 

Typedef Documentation

◆ SCOPED_DRAW_MODE

Function Documentation

◆ designBlockAnchor()

static std::optional< VECTOR2I > designBlockAnchor ( const std::vector< SCH_ITEM * > & aItems)
static

Pick the point a placed design block hangs from.

A connection point keeps the pins on grid. Text does not, because it sits wherever it was dragged. Taking the topmost leftmost one rather than the nearest to the mouse gives the same anchor on every placement.

Definition at line 741 of file sch_drawing_tools.cpp.

References SCH_GROUP_T.

Referenced by SCH_DRAWING_TOOLS::ImportSheet().