aboutsummaryrefslogtreecommitdiffhomepage
path: root/cocoa
diff options
context:
space:
mode:
Diffstat (limited to 'cocoa')
-rw-r--r--cocoa/PlatCocoa.h2
-rw-r--r--cocoa/PlatCocoa.mm2
-rw-r--r--cocoa/ScintillaCocoa.h1
-rw-r--r--cocoa/ScintillaCocoa.mm7
-rw-r--r--cocoa/ScintillaView.mm3
5 files changed, 12 insertions, 3 deletions
diff --git a/cocoa/PlatCocoa.h b/cocoa/PlatCocoa.h
index caac1d9fb..5d0789407 100644
--- a/cocoa/PlatCocoa.h
+++ b/cocoa/PlatCocoa.h
@@ -21,7 +21,7 @@
#include "QuartzTextLayout.h"
-NSRect PRectangleToNSRect(Scintilla::PRectangle& rc);
+NSRect PRectangleToNSRect(const Scintilla::PRectangle& rc);
Scintilla::PRectangle NSRectToPRectangle(NSRect& rc);
CFStringEncoding EncodingFromCharacterSet(bool unicode, int characterSet);
diff --git a/cocoa/PlatCocoa.mm b/cocoa/PlatCocoa.mm
index a0532efc3..5029947da 100644
--- a/cocoa/PlatCocoa.mm
+++ b/cocoa/PlatCocoa.mm
@@ -45,7 +45,7 @@ extern sptr_t scintilla_send_message(void* sci, unsigned int iMessage, uptr_t wP
/**
* Converts a PRectangle as used by Scintilla to standard Obj-C NSRect structure .
*/
-NSRect PRectangleToNSRect(PRectangle& rc)
+NSRect PRectangleToNSRect(const PRectangle& rc)
{
return NSMakeRect(rc.left, rc.top, rc.Width(), rc.Height());
}
diff --git a/cocoa/ScintillaCocoa.h b/cocoa/ScintillaCocoa.h
index e894228e7..4b0b2eb1d 100644
--- a/cocoa/ScintillaCocoa.h
+++ b/cocoa/ScintillaCocoa.h
@@ -205,6 +205,7 @@ public:
NSInteger VisibleLineForIndex(NSInteger index);
NSRange RangeForVisibleLine(NSInteger lineVisible);
NSRect FrameForRange(NSRange rangeCharacters);
+ NSRect GetBounds() const;
void SelectOnlyMainSelection();
void ConvertSelectionVirtualSpace();
bool ClearAllSelections();
diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm
index 354f22a98..9b5a3b0b6 100644
--- a/cocoa/ScintillaCocoa.mm
+++ b/cocoa/ScintillaCocoa.mm
@@ -1776,6 +1776,13 @@ NSRect ScintillaCocoa::FrameForRange(NSRange rangeCharacters) {
//--------------------------------------------------------------------------------------------------
+// Returns a rectangle that frames the range for use by the VoiceOver cursor.
+NSRect ScintillaCocoa::GetBounds() const {
+ return PRectangleToNSRect(GetClientRectangle());
+}
+
+//--------------------------------------------------------------------------------------------------
+
// Translates a UTF8 string into the document encoding.
// Return the length of the result in bytes.
int ScintillaCocoa::EncodedFromUTF8(char *utf8, char *encoded) const
diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm
index 1e85ab6e8..2e35a5492 100644
--- a/cocoa/ScintillaView.mm
+++ b/cocoa/ScintillaView.mm
@@ -301,7 +301,8 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor)
[super resetCursorRects];
// We only have one cursor rect: our bounds.
- [self addCursorRect: [self bounds] cursor: mCurrentCursor];
+ const NSRect visibleBounds = mOwner.backend->GetBounds();
+ [self addCursorRect: visibleBounds cursor: mCurrentCursor];
[mCurrentCursor setOnMouseEntered: YES];
}