diff options
Diffstat (limited to 'win32/PlatWin.cxx')
| -rw-r--r-- | win32/PlatWin.cxx | 19 | 
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;  }  | 
