| @@ -64,7 +64,7 @@ void BubbleComponent::setPosition (Component* componentToPointTo, int distanceFr | |||||
| if (Component* p = getParentComponent()) | if (Component* p = getParentComponent()) | ||||
| target = p->getLocalArea (componentToPointTo, componentToPointTo->getLocalBounds()); | target = p->getLocalArea (componentToPointTo, componentToPointTo->getLocalBounds()); | ||||
| else | else | ||||
| target = componentToPointTo->getScreenBounds(); | |||||
| target = componentToPointTo->getScreenBounds().transformedBy (getTransform().inverted()); | |||||
| setPosition (target, distanceFromTarget, arrowLength); | setPosition (target, distanceFromTarget, arrowLength); | ||||
| } | } | ||||
| @@ -87,7 +87,7 @@ void BubbleComponent::setPosition (Rectangle<int> rectangleToPointTo, | |||||
| const int totalH = content.getHeight() + distanceFromTarget * 2; | const int totalH = content.getHeight() + distanceFromTarget * 2; | ||||
| const Rectangle<int> availableSpace (getParentComponent() != nullptr ? getParentComponent()->getLocalBounds() | const Rectangle<int> availableSpace (getParentComponent() != nullptr ? getParentComponent()->getLocalBounds() | ||||
| : getParentMonitorArea()); | |||||
| : getParentMonitorArea().transformedBy (getTransform().inverted())); | |||||
| int spaceAbove = ((allowablePlacements & above) != 0) ? jmax (0, rectangleToPointTo.getY() - availableSpace.getY()) : -1; | int spaceAbove = ((allowablePlacements & above) != 0) ? jmax (0, rectangleToPointTo.getY() - availableSpace.getY()) : -1; | ||||
| int spaceBelow = ((allowablePlacements & below) != 0) ? jmax (0, availableSpace.getBottom() - rectangleToPointTo.getBottom()) : -1; | int spaceBelow = ((allowablePlacements & below) != 0) ? jmax (0, availableSpace.getBottom() - rectangleToPointTo.getBottom()) : -1; | ||||
| @@ -145,8 +145,7 @@ void BubbleComponent::setPosition (Rectangle<int> rectangleToPointTo, | |||||
| } | } | ||||
| } | } | ||||
| auto origin = Point<int> (targetX - arrowTip.x, targetY - arrowTip.y).transformedBy (getTransform().inverted()); | |||||
| setBounds (origin.getX(), origin.getY(), totalW, totalH); | |||||
| setBounds (targetX - arrowTip.x, targetY - arrowTip.y, totalW, totalH); | |||||
| } | } | ||||
| } // namespace juce | } // namespace juce | ||||