aboutsummaryrefslogtreecommitdiffhomepage
path: root/cocoa
diff options
context:
space:
mode:
authorNeil Hodgson <nyamatongwe@gmail.com>2013-12-03 22:14:21 +1100
committerNeil Hodgson <nyamatongwe@gmail.com>2013-12-03 22:14:21 +1100
commitfbac5206d8bd5094e13be6691d986bd12975b8f7 (patch)
tree1d374ab1b7dd5bc23bdf04f114b655fa4fcd504d /cocoa
parentf038aae3951fc3290b526a29983e1ce59431438c (diff)
downloadscintilla-mirror-fbac5206d8bd5094e13be6691d986bd12975b8f7.tar.gz
Fix problems with appearance of newly scrolled content on OS X 10.9 where previously
prepared content was shown.
Diffstat (limited to 'cocoa')
-rw-r--r--cocoa/ScintillaCocoa.h2
-rw-r--r--cocoa/ScintillaCocoa.mm22
2 files changed, 24 insertions, 0 deletions
diff --git a/cocoa/ScintillaCocoa.h b/cocoa/ScintillaCocoa.h
index 8d182e866..358019b46 100644
--- a/cocoa/ScintillaCocoa.h
+++ b/cocoa/ScintillaCocoa.h
@@ -114,6 +114,8 @@ protected:
Point GetVisibleOriginInMain();
PRectangle GetClientRectangle();
Point ConvertPoint(NSPoint point);
+ virtual void RedrawRect(PRectangle rc);
+ virtual void Redraw();
virtual void Initialise();
virtual void Finalise();
diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm
index 7e2c00ebb..e74beffdc 100644
--- a/cocoa/ScintillaCocoa.mm
+++ b/cocoa/ScintillaCocoa.mm
@@ -729,6 +729,28 @@ Scintilla::Point ScintillaCocoa::ConvertPoint(NSPoint point)
//--------------------------------------------------------------------------------------------------
/**
+ * Do not clip like superclass as Cocoa is not reporting all of prepared area.
+ */
+void ScintillaCocoa::RedrawRect(PRectangle rc)
+{
+ if (!rc.Empty())
+ wMain.InvalidateRectangle(rc);
+}
+
+//--------------------------------------------------------------------------------------------------
+
+/**
+ * Ensure all of prepared content is also redrawn.
+ */
+void ScintillaCocoa::Redraw()
+{
+ wMargin.InvalidateAll();
+ wMain.InvalidateAll();
+}
+
+//--------------------------------------------------------------------------------------------------
+
+/**
* A function to directly execute code that would usually go the long way via window messages.
* However this is a Windows metaphor and not used here, hence we just call our fake
* window proc. The given parameters directly reflect the message parameters used on Windows.