aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/PlatWin.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'win32/PlatWin.cxx')
-rw-r--r--win32/PlatWin.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx
index f7520ad9a..452bb49bc 100644
--- a/win32/PlatWin.cxx
+++ b/win32/PlatWin.cxx
@@ -48,6 +48,7 @@
#include "Debugging.h"
#include "Geometry.h"
#include "Platform.h"
+#include "Scintilla.h"
#include "XPM.h"
#include "UniConversion.h"
#include "DBCS.h"
@@ -477,6 +478,7 @@ public:
void InitPixMap(int width, int height, Surface *surface_, WindowID wid) override;
void Release() noexcept override;
+ int Supports(int feature) noexcept override;
bool Initialised() override;
void PenColour(ColourDesired fore) override;
int LogPixelsY() override;
@@ -559,6 +561,10 @@ void SurfaceGDI::Release() noexcept {
Clear();
}
+int SurfaceGDI::Supports(int /* feature */) noexcept {
+ return 0;
+}
+
bool SurfaceGDI::Initialised() {
return hdc != 0;
}
@@ -1108,6 +1114,10 @@ constexpr D2D1_RECT_F RectangleFromPRectangle(PRectangle rc) noexcept {
return { rc.left, rc.top, rc.right, rc.bottom };
}
+const int SupportsD2D[] = {
+ SC_SUPPORTS_LINE_DRAWS_FINAL,
+};
+
}
class BlobInline;
@@ -1152,6 +1162,7 @@ public:
void InitPixMap(int width, int height, Surface *surface_, WindowID wid) override;
void Release() noexcept override;
+ int Supports(int feature) noexcept override;
bool Initialised() override;
HRESULT FlushDrawing();
@@ -1248,6 +1259,14 @@ void SurfaceD2D::SetScale(WindowID wid) noexcept {
logPixelsY = DpiForWindow(wid);
}
+int SurfaceD2D::Supports(int feature) noexcept {
+ for (const int f : SupportsD2D) {
+ if (f == feature)
+ return 1;
+ }
+ return 0;
+}
+
bool SurfaceD2D::Initialised() {
return pRenderTarget != nullptr;
}