summaryrefslogtreecommitdiff
path: root/src/video/cocoa/cocoa_v.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/video/cocoa/cocoa_v.mm')
-rw-r--r--src/video/cocoa/cocoa_v.mm11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/video/cocoa/cocoa_v.mm b/src/video/cocoa/cocoa_v.mm
index e4897ac50..69af4786d 100644
--- a/src/video/cocoa/cocoa_v.mm
+++ b/src/video/cocoa/cocoa_v.mm
@@ -909,7 +909,16 @@ static const char *Utf8AdvanceByUtf16Units(const char *str, NSUInteger count)
/** Get the character that is rendered at the given point. */
- (NSUInteger)characterIndexForPoint:(NSPoint)thePoint
{
- return NSNotFound;
+ if (!EditBoxInGlobalFocus()) return NSNotFound;
+
+ NSPoint view_pt = [ self convertPoint:[ [ self window ] convertScreenToBase:thePoint ] fromView:nil ];
+
+ Point pt = { view_pt.x, [ self frame ].size.height - view_pt.y };
+
+ const char *ch = _focused_window->GetTextCharacterAtPosition(pt);
+ if (ch == NULL) return NSNotFound;
+
+ return CountUtf16Units(_focused_window->GetFocusedText(), ch);
}
/** Get the bounding rect for the given range. */