6#include "BaseElectronObject.h"
7#include "NetlistManagerClass.h"
8#include "NetlistClass.h"
24 enum class DrawingLineStage
32 const Color innerSolidLineColor = {0x00, 0x00, 0x00, 0xFF};
33 const Color solidLineColor = {0xCC, 0xCC, 0xCC, 0x99};
34 const Color solidPositiveLineColor = {0x00, 0xCC, 0x00, 0x99};
35 const Color solidNegativeLineColor = {0xCC, 0x00, 0x00, 0x99};
37 const Color firstLineCanColor = {0x33, 0x66, 0x99, 0x33};
38 const Color secondLineCanColor = {0x33, 0x66, 0x99, 0x11};
39 const Color cursorPointCanColor = {0x00, 0xFF, 0x00, 0xFF};
41 const Color firstLineForbiddenColor = {0xFF, 0x00, 0x00, 0x33};
42 const Color secondLineForbiddenColor = {0x33, 0x66, 0x99, 0x11};
43 const Color cursorPointForbiddenColor = {0xFF, 0x00, 0x00, 0xFF};
45 void DrawSnLine( SDL_Point , SDL_Point , WireObject::Color );
46 void drawCursorPoint( SDL_Point , WireObject::Color );
48 void renderingLinesAndCursor(WireObject::Color , WireObject::Color , WireObject::Color );
60 const int lineBorder = 4;
69 WireObject::DrawingLineStage drawingLineStage = WireObject::DrawingLineStage::NotYet;
77 const ICType getType()
const override {
return ICType::Wire;}
79 void Drawing()
override;
80 void Drawing(BaseElectronObject::RendererEffective )
override;
85 void processKeyEvent(
int )
override;
88 void resetToDrawNewLine();
90 SDL_Rect getLocationRect()
override;
94 bool havePopupWindow()
override {
return false;}
95 const char* popupWindowName()
const override {
return "";}
96 void CreateImGuiForm()
override {
return;};
101 bool isPointOnSegment( SDL_Point );
104 void setNetlist(
NetlistClass* _nl) {this->attachedNet = _nl;};
106 const double getCurrent();
107 SDL_Point SDL_middlePoint();
112 void saveToFile(std::ofstream&)
override;
114 void processMouseMotion(
const SDL_Point&)
override;
116 void DrawingElectronAnimate(SDL_Point, SDL_Point);
117 double currentPositionOffset = 0;
Definition: AsgardClass.h:17
Definition: BaseElectronObject.h:13
Definition: NetlistClass.h:19
Definition: PlacementManagerClass.h:18
Definition: WireObject.h:14
void beSplitedToMultiSubLines(FootPinNode *)
Definition: WireObject.cpp:346
NetlistManagerClass::BindResult bindNetlist()
wire自身向 netlistManager 申请进行网络绑定
Definition: WireObject.cpp:341
BaseElectronObject * processClickEvent(SDL_Point &) override
Definition: WireObject.cpp:250