From 921df6efca5b385790a2806f8b8844becb36e773 Mon Sep 17 00:00:00 2001 From: Neil Date: Sat, 20 Mar 2021 12:53:27 +1100 Subject: Add AllocatePixMap method on Surface to create a pixmap surface. --- qt/ScintillaEditBase/PlatQt.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'qt/ScintillaEditBase/PlatQt.cpp') diff --git a/qt/ScintillaEditBase/PlatQt.cpp b/qt/ScintillaEditBase/PlatQt.cpp index 6503d9c19..d61abf7b2 100644 --- a/qt/ScintillaEditBase/PlatQt.cpp +++ b/qt/ScintillaEditBase/PlatQt.cpp @@ -157,6 +157,16 @@ SurfaceImpl::SurfaceImpl() : device(nullptr), painter(nullptr), deviceOwned(false), painterOwned(false), x(0), y(0), codecName(nullptr), codec(nullptr) {} + +SurfaceImpl::SurfaceImpl(int width, int height, SurfaceMode mode_) +{ + if (width < 1) width = 1; + if (height < 1) height = 1; + deviceOwned = true; + device = new QPixmap(width, height); + mode = mode_; +} + SurfaceImpl::~SurfaceImpl() { Clear(); @@ -203,6 +213,11 @@ void SurfaceImpl::InitPixMap(int width, mode = psurfOther->mode; } +std::unique_ptr SurfaceImpl::AllocatePixMap(int width, int height) +{ + return std::make_unique(width, height, mode); +} + void SurfaceImpl::SetMode(SurfaceMode mode_) { mode = mode_; -- cgit v1.2.3