diff options
author | Neil <nyamatongwe@gmail.com> | 2021-03-19 15:44:55 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-03-19 15:44:55 +1100 |
commit | 09534ab81f72ce766c8d13ea13216dd589d41a1c (patch) | |
tree | 2bb190bb18294936a55b1e2c6e70961f22268968 /gtk/PlatGTK.cxx | |
parent | dd9ae27be2d1b983638337f24685e6458360dfa3 (diff) | |
download | scintilla-mirror-09534ab81f72ce766c8d13ea13216dd589d41a1c.tar.gz |
Add an explicit FlushDrawing method to Surface that should be called after
completing a bitmap. Currently only has a real implementation on Direct2D.
Avoiding implicit flushes inside Copy and FillRectangle produced a 23% speed
improvement on files with about 1 indentation guide per line as the drawing
pipeline was being flushed for each indentation guide.
Diffstat (limited to 'gtk/PlatGTK.cxx')
-rwxr-xr-x | gtk/PlatGTK.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 3b19df3ba..3f0918886 100755 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -189,6 +189,7 @@ public: void SetClip(PRectangle rc) override; void PopClip() override; void FlushCachedState() override; + void FlushDrawing() override; void SetUnicodeMode(bool unicodeMode_) override; void SetDBCSMode(int codePage) override; @@ -981,6 +982,9 @@ void SurfaceImpl::SetDBCSMode(int codePage) { void SurfaceImpl::SetBidiR2L(bool) { } +void SurfaceImpl::FlushDrawing() { +} + std::unique_ptr<Surface> Surface::Allocate(int) { return std::make_unique<SurfaceImpl>(); } |