70 bool const hovered = geom.
hovered();
74 bool const selected = graphicsObject.
isSelected();
77 if (hovered || selected)
83 double const lineWidth = connectionStyle.lineWidth();
85 p.setWidth(2 * lineWidth);
86 p.setColor(Wt::WColor(Wt::StandardColor::Red));
87 p.setColor(selected ? connectionStyle.selectedHaloColor() : connectionStyle.hoveredColor());
90 painter->setBrush(Wt::BrushStyle::None);
93 painter->drawPath(cubic);
109 Wt::WColor normalColorOut = connectionStyle.normalColor();
110 Wt::WColor normalColorIn = connectionStyle.normalColor();
111 Wt::WColor selectedColor = connectionStyle.selectedColor();
113 bool gradientColor =
false;
115 if (connectionStyle.useDataDefinedColors())
120 gradientColor = (dataTypeOut.id != dataTypeIn.id);
121 normalColorOut = connectionStyle.normalColor(dataTypeOut.id);
122 normalColorIn = connectionStyle.normalColor(dataTypeIn.id);
130 double const lineWidth = connectionStyle.
lineWidth();
133 p.setWidth(lineWidth);
136 bool const selected = graphicsObject.
isSelected();
143 painter->setBrush(Wt::BrushStyle::None);
145 Wt::WColor c = normalColorOut;
152 unsigned int const segments = 60;
154 for (
unsigned int i = 0ul; i < segments; ++i)
156 double ratioPrev = double(i) / segments;
157 double ratio = double(i + 1) / segments;
159 if (i == segments / 2)
161 Wt::WColor c = normalColorIn;
164 p.setColor(Wt::WColor(Wt::StandardColor::Red));
183 p.setColor(normalColorOut);
188 p.setColor(Wt::WColor(Wt::StandardColor::Yellow));
194 painter->setBrush(Wt::BrushStyle::None);
195 painter->drawPath(cubic);
280 auto const& nodeGraphics = node->nodeGraphicsObject();
282 auto const& nodeGeom = node->nodeGeometry();
284 Wt::WPointF origin = node->nodeGraphicsObject().getPos();
286 Wt::WPointF scenePos = nodeGeom.portScenePosition(
289 nodeGraphics.sceneTransform());
292 Wt::WTransform sceneTransform(1, 0, 0, 1, 0, 0);
294 Wt::WPointF connectionPos = sceneTransform.inverted().map(scenePos);
296 Wt::WPointF result = Wt::WPointF(connectionPos.x() - origin.x(), connectionPos.y() - origin.y());
298 _connection.connectionGeometry().setEndPoint(portType, result);