KiCad PCB EDA Suite
arc_assistant.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) 2017 Kicad Developers, see AUTHORS.txt for contributors.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, you may find one here:
18  * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19  * or you may search the http://www.gnu.org website for the version 2 license,
20  * or you may write to the Free Software Foundation, Inc.,
21  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22  */
23 
24 #ifndef PREVIEW_ITEMS_ARC_ASSISTANT_H
25 #define PREVIEW_ITEMS_ARC_ASSISTANT_H
26 
27 #include <eda_item.h>
30 
31 namespace KIGFX
32 {
33 namespace PREVIEW
34 {
38  class ARC_ASSISTANT : public EDA_ITEM
39  {
40  public:
41  ARC_ASSISTANT( const ARC_GEOM_MANAGER& aManager, EDA_UNITS aUnits );
42 
43  const BOX2I ViewBBox() const override;
44 
45  void ViewGetLayers( int aLayers[], int& aCount ) const override
46  {
47  aLayers[0] = LAYER_SELECT_OVERLAY; // Assistant graphics
48  aLayers[1] = LAYER_GP_OVERLAY; // Drop shadows
49  aCount = 2;
50  }
51 
55  void ViewDraw( int aLayer, KIGFX::VIEW* aView ) const override final;
56 
57 #if defined( DEBUG )
58  void Show( int x, std::ostream& st ) const override
59  {
60  }
61 #endif
62 
63  wxString GetClass() const override
64  {
65  return "ARC_ASSISTANT";
66  }
67 
68  void SetUnits( EDA_UNITS aUnits ) { m_units = aUnits; }
69 
70  private:
73  };
74 } // namespace PREVIEW
75 } // namespace KIGFX
76 
77 #endif // PREVIEW_ITEMS_ARC_ASSISTANT_H
void ViewDraw(int aLayer, KIGFX::VIEW *aView) const override final
Draw the assistance (with reference to the construction manager.
Manage the construction of a circular arc though sequential setting of critical points: center,...
ARC_ASSISTANT(const ARC_GEOM_MANAGER &aManager, EDA_UNITS aUnits)
The Cairo implementation of the graphics abstraction layer.
Definition: color4d.cpp:194
const ARC_GEOM_MANAGER & m_constructMan
Definition: arc_assistant.h:71
void ViewGetLayers(int aLayers[], int &aCount) const override
Return the all the layers within the VIEW the object is painted on.
Definition: arc_assistant.h:45
EDA_UNITS
Definition: eda_units.h:38
const BOX2I ViewBBox() const override
Return the bounding box of the item covering all its layers.
Board layer functions and definitions.
Represents an assistant draw when interactively drawing an arc on a canvas.
Definition: arc_assistant.h:38
currently selected items overlay
A base class for most all the KiCad significant classes used in schematics and boards.
Definition: eda_item.h:100
wxString GetClass() const override
Return the class name.
Definition: arc_assistant.h:63
Hold a (potentially large) number of VIEW_ITEMs and renders them on a graphics device provided by the...
Definition: view.h:67
void SetUnits(EDA_UNITS aUnits)
Definition: arc_assistant.h:68