aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-03-19 15:44:55 +1100
committerNeil <nyamatongwe@gmail.com>2021-03-19 15:44:55 +1100
commit09534ab81f72ce766c8d13ea13216dd589d41a1c (patch)
tree2bb190bb18294936a55b1e2c6e70961f22268968 /gtk/PlatGTK.cxx
parentdd9ae27be2d1b983638337f24685e6458360dfa3 (diff)
downloadscintilla-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-xgtk/PlatGTK.cxx4
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>();
}