From 5a9f941bc10507eab2e352978bd7f35ca26920dc Mon Sep 17 00:00:00 2001 From: Neil Date: Sat, 14 May 2016 10:32:49 +1000 Subject: Post a caret moved accessibility event in Editor::MovedCaret so that screen readers like NVDA will speak when extending the selection with a Shift+Down key combination scrolls but does not move the caret position relative to the screen. --- win32/ScintillaWin.cxx | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'win32') diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 3c7cd45be..3ed249ca0 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -325,6 +325,7 @@ class ScintillaWin : virtual void SetTrackMouseLeaveEvent(bool on); virtual bool PaintContains(PRectangle rc); virtual void ScrollText(int linesToMove); + virtual void NotifyCaretMove(); virtual void UpdateSystemCaret(); virtual void SetVerticalScrollPos(); virtual void SetHorizontalScrollPos(); @@ -1838,6 +1839,10 @@ void ScintillaWin::ScrollText(int /* linesToMove */) { UpdateSystemCaret(); } +void ScintillaWin::NotifyCaretMove() { + NotifyWinEvent(EVENT_OBJECT_LOCATIONCHANGE, MainHWND(), OBJID_CARET, CHILDID_SELF); +} + void ScintillaWin::UpdateSystemCaret() { if (hasFocus) { if (HasCaretSizeChanged()) { -- cgit v1.2.3