aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2018-06-02 08:37:47 +1000
committerNeil <nyamatongwe@gmail.com>2018-06-02 08:37:47 +1000
commit2e003602f29edff5d38137472edee82fab9f5376 (patch)
treeefcd2d4466c2bb894d5354d0652e986fdfcbea22 /gtk/PlatGTK.cxx
parente67783d907b0ae186d794b205cf89c645fe50270 (diff)
downloadscintilla-mirror-2e003602f29edff5d38137472edee82fab9f5376.tar.gz
Define IScreenLineLayout as the main interface for implementing bidirectional
features by platform code. Implement IScreenLineLayout for Win32 / DirectWrite as ScreenLineLayout.
Diffstat (limited to 'gtk/PlatGTK.cxx')
-rw-r--r--gtk/PlatGTK.cxx16
1 files changed, 3 insertions, 13 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx
index ce0863462..1fbdf4835 100644
--- a/gtk/PlatGTK.cxx
+++ b/gtk/PlatGTK.cxx
@@ -166,9 +166,7 @@ public:
void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back) override;
void Copy(PRectangle rc, Point from, Surface &surfaceSource) override;
- size_t PositionFromX(const IScreenLine *screenLine, XYPOSITION xDistance, bool charPosition) override;
- XYPOSITION XFromPosition(const IScreenLine *screenLine, size_t caretPosition) override;
- std::vector<Interval> FindRangeIntervals(const IScreenLine *screenLine, size_t start, size_t end) override;
+ std::unique_ptr<IScreenLineLayout> Layout(const IScreenLine *screenLine) override;
void DrawTextBase(PRectangle rc, Font &font_, XYPOSITION ybase, std::string_view text, ColourDesired fore);
void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, std::string_view text, ColourDesired fore, ColourDesired back) override;
@@ -630,16 +628,8 @@ void SurfaceImpl::Copy(PRectangle rc, Point from, Surface &surfaceSource) {
}
}
-size_t SurfaceImpl::PositionFromX(const IScreenLine *, XYPOSITION, bool) {
- return 0;
-}
-
-XYPOSITION SurfaceImpl::XFromPosition(const IScreenLine *, size_t) {
- return 0;
-}
-
-std::vector<Interval> SurfaceImpl::FindRangeIntervals(const IScreenLine *, size_t, size_t) {
- return std::vector<Interval>();
+std::unique_ptr<IScreenLineLayout> SurfaceImpl::Layout(const IScreenLine *) {
+ return {};
}
std::string UTF8FromLatin1(std::string_view text) {