Vuo  2.1.2
VuoRendererTypecastPort.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "VuoRendererPort.hh"
13 
18 {
19 public:
20  VuoRendererTypecastPort(VuoRendererNode *uncollapsedTypecastNode, VuoRendererPort *replacedPort, VuoRendererSignaler *signaler);
21 
22  QRectF boundingRect(void) const;
23  void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
24 
26  VuoRendererPort * getChildPort(void) const;
27  VuoRendererPort * getReplacedPort(void) const;
28  qreal getChildPortXOffset(void) const;
29 
30  QPainterPath getPortPath(bool includeNormalPort, bool includeFlag) const;
31  static QString getTypecastTitleForNodeClass(VuoNodeClass *typecastClass, bool inMenu);
32  QRectF getPortConstantTextRect(void) const;
33 
34 private:
35  QString sourceType;
36  QString destinationType;
37  VuoRendererPort * childPort;
38  VuoRendererPort * replacedPort;
39  VuoRendererNode * uncollapsedTypecastNode;
40  static const qreal textPadding;
41 
42  void setUncollapsedTypecastNode(VuoRendererNode *uncollapsedTypecastNode);
43  QString getCanvasTypecastTitle(void) const;
44 
45  QRectF cachedBoundingRect;
46  void updateCachedBoundingRect();
47 };
48