aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/EditModel.cxx1
-rw-r--r--src/EditModel.h2
-rw-r--r--src/Editor.cxx7
3 files changed, 10 insertions, 0 deletions
diff --git a/src/EditModel.cxx b/src/EditModel.cxx
index 7dfd90e37..0e00bcfe0 100644
--- a/src/EditModel.cxx
+++ b/src/EditModel.cxx
@@ -63,6 +63,7 @@ EditModel::EditModel() {
highlightGuideColumn = 0;
primarySelection = true;
imeInteraction = imeWindowed;
+ bidirectional = Bidirectional::bidiDisabled;
foldFlags = 0;
foldDisplayTextStyle = SC_FOLDDISPLAYTEXT_HIDDEN;
hotspot = Range(Sci::invalidPosition);
diff --git a/src/EditModel.h b/src/EditModel.h
index 773309d45..6e4919bd5 100644
--- a/src/EditModel.h
+++ b/src/EditModel.h
@@ -38,6 +38,8 @@ public:
enum IMEInteraction { imeWindowed, imeInline } imeInteraction;
+ enum class Bidirectional { bidiDisabled, bidiL2R, bidiR2L } bidirectional;
+
int foldFlags;
int foldDisplayTextStyle;
ContractionState cs;
diff --git a/src/Editor.cxx b/src/Editor.cxx
index d45a8684c..36af34685 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -6736,6 +6736,13 @@ sptr_t Editor::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam) {
case SCI_GETIMEINTERACTION:
return imeInteraction;
+ case SCI_SETBIDIRECTIONAL:
+ // SCI_SETBIDIRECTIONAL is implemented on platform subclasses if they support bidirectional text.
+ break;
+
+ case SCI_GETBIDIRECTIONAL:
+ return static_cast<sptr_t>(bidirectional);
+
// Marker definition and setting
case SCI_MARKERDEFINE:
if (wParam <= MARKER_MAX) {