KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ratsnest_view_item.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KICAD, a free EDA CAD application.
3 *
4 * Copyright (C) 2013 CERN
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 *
7 * @author Maciej Suminski <[email protected]>
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version 2
12 * of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <https://www.gnu.org/licenses/>.
21 */
22
26
27#ifndef RATSNEST_VIEW_ITEM_H
28#define RATSNEST_VIEW_ITEM_H
29
30#include <memory>
31#include <eda_item.h>
32#include <math/vector2d.h>
34
35class GAL;
37
38
40{
41public:
42 RATSNEST_VIEW_ITEM( std::shared_ptr<CONNECTIVITY_DATA> aData );
43
45 const BOX2I ViewBBox() const override;
46
48 void ViewDraw( int aLayer, KIGFX::VIEW* aView ) const override;
49
51 std::vector<int> ViewGetLayers() const override;
52
53 bool HitTest( const VECTOR2I& aPoint, int aAccuracy = 0 ) const override
54 {
55 return false; // Not selectable
56 }
57
58#if defined(DEBUG)
60 void Show( int x, std::ostream& st ) const override { }
61#endif
62
63 virtual wxString GetClass() const override
64 {
65 return wxT( "RATSNEST_VIEW_ITEM" );
66 }
67
68protected:
69 std::shared_ptr<CONNECTIVITY_DATA> m_data;
70};
71
72
73#endif /* RATSNEST_VIEW_ITEM_H */
BOX2< VECTOR2I > BOX2I
Definition box2.h:918
EDA_ITEM(EDA_ITEM *parent, KICAD_T idType, bool isSCH_ITEM=false, bool isBOARD_ITEM=false)
Definition eda_item.cpp:37
Abstract interface for drawing on a 2D-surface.
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
Definition view.h:63
const BOX2I ViewBBox() const override
RATSNEST_VIEW_ITEM(std::shared_ptr< CONNECTIVITY_DATA > aData)
Class that draws missing connections on a PCB.
std::shared_ptr< CONNECTIVITY_DATA > m_data
Object containing ratsnest data.
bool HitTest(const VECTOR2I &aPoint, int aAccuracy=0) const override
Test if aPosition is inside or on the boundary of this item.
virtual wxString GetClass() const override
Return the class name.
void ViewDraw(int aLayer, KIGFX::VIEW *aView) const override
std::vector< int > ViewGetLayers() const override
VECTOR2< int32_t > VECTOR2I
Definition vector2d.h:683