aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cocoa/ScintillaCocoa.mm20
1 files changed, 13 insertions, 7 deletions
diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm
index a19b62216..fb584b9c5 100644
--- a/cocoa/ScintillaCocoa.mm
+++ b/cocoa/ScintillaCocoa.mm
@@ -241,13 +241,15 @@ const CGFloat paddingHighlightY = 2;
CGFloat width = self.widthText + paddingHighlightX * 2;
CGFloat height = self.heightLine + paddingHighlightY * 2;
+ CGFloat flipper = self.geometryFlipped ? -1.0 : 1.0;
+
// Adjust for padding
ptText.x -= paddingHighlightX;
- ptText.y += paddingHighlightY;
+ ptText.y += flipper * paddingHighlightY;
// Shift point to centre as expanding about centre
ptText.x += width / 2.0;
- ptText.y -= height / 2.0;
+ ptText.y -= flipper * height / 2.0;
[CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:0.0] forKey:kCATransactionAnimationDuration];
@@ -2050,6 +2052,7 @@ void ScintillaCocoa::ShowFindIndicatorForRange(NSRange charRange, BOOL retaining
{
layerFindIndicator = [[FindHighlightLayer alloc] init];
[content setWantsLayer: YES];
+ layerFindIndicator.geometryFlipped = content.layer.geometryFlipped;
[[content layer] addSublayer:layerFindIndicator];
}
[layerFindIndicator removeAnimationForKey:@"animateFound"];
@@ -2093,11 +2096,14 @@ void ScintillaCocoa::MoveFindIndicatorWithBounce(BOOL bounce)
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5
if (layerFindIndicator)
{
- NSView *content = ContentView();
- NSRect rcBounds = [content bounds];
- CGPoint ptText;
- ptText.x = WndProc(SCI_POINTXFROMPOSITION, 0, layerFindIndicator.positionFind);
- ptText.y = rcBounds.size.height - WndProc(SCI_POINTYFROMPOSITION, 0, layerFindIndicator.positionFind);
+ CGPoint ptText = CGPointMake(
+ WndProc(SCI_POINTXFROMPOSITION, 0, layerFindIndicator.positionFind),
+ WndProc(SCI_POINTYFROMPOSITION, 0, layerFindIndicator.positionFind));
+ if (!layerFindIndicator.geometryFlipped)
+ {
+ NSView *content = ContentView();
+ ptText.y = content.bounds.size.height - ptText.y;
+ }
[layerFindIndicator animateMatch:ptText bounce:bounce];
}
#endif