aboutsummaryrefslogtreecommitdiffhomepage
path: root/gtk/PlatGTK.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-03-19 14:46:09 +1100
committerNeil <nyamatongwe@gmail.com>2021-03-19 14:46:09 +1100
commit4b553e8fce75afd0ad0df2e752edafe739db44dc (patch)
tree2104a370f939a18bbc843169840ffb34ddbaab52 /gtk/PlatGTK.cxx
parent6b444111ecfe47a3f94293c3959cf197e3415735 (diff)
downloadscintilla-mirror-4b553e8fce75afd0ad0df2e752edafe739db44dc.tar.gz
Add Surface::PixelDivisions which detects 'retina' displays that use
multiple display pixels per logical pixel. Likely will only return >1 for Apple displays. Can be used for finer placement of elements.
Diffstat (limited to 'gtk/PlatGTK.cxx')
-rwxr-xr-xgtk/PlatGTK.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx
index 19b25294b..33a0b8917 100755
--- a/gtk/PlatGTK.cxx
+++ b/gtk/PlatGTK.cxx
@@ -155,6 +155,7 @@ public:
bool Initialised() override;
void PenColour(ColourDesired fore) override;
int LogPixelsY() override;
+ int PixelDivisions() override;
int DeviceHeightFont(int points) override;
void MoveTo(int x_, int y_) override;
void LineTo(int x_, int y_) override;
@@ -395,6 +396,11 @@ int SurfaceImpl::LogPixelsY() {
return 72;
}
+int SurfaceImpl::PixelDivisions() {
+ // GTK uses device pixels.
+ return 1;
+}
+
int SurfaceImpl::DeviceHeightFont(int points) {
const int logPix = LogPixelsY();
return (points * logPix + logPix / 2) / 72;