+ /**\r
+ * Returns the bounds of this component.\r
+ * Used for calculating which component is clicked.\r
+ */\r
+ public Rectangle getBounds();\r
+ /**\r
+ * Called when this component is clicked. Relative coordinates of the click are given.\r
+ * Returns true if this component has to be redrawn.\r
+ */\r
+ public default boolean clicked(double x, double y)\r
+ {\r
+ return false;\r
+ }\r
+\r
+ //TODO this code will be replaced by code in BasicComponent.\r
+ /**\r
+ * Returns how many wire arrays are connected to this component.\r
+ * (Connections are static - they can't be removed and no new ones can be added)\r
+ */\r
+ public int getConnectedWireArraysCount();\r
+ /**\r
+ * Returns the n-th wire array connected to this component.\r
+ */\r
+ public WireArray getConnectedWireArray(int connectionIndex);\r
+ /**\r
+ * Returns relative coordinates where the n-th wire array is connected to this component.\r
+ */\r
+ public Point getWireArrayConnectionPoint(int connectionIndex);\r