[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master b6c40a6 3/3: [ftinspect] Mark pixel centers in
From: |
Werner LEMBERG |
Subject: |
[freetype2-demos] master b6c40a6 3/3: [ftinspect] Mark pixel centers in the grid with a cross. |
Date: |
Sun, 29 May 2016 09:02:52 +0000 (UTC) |
branch: master
commit b6c40a6b748a687fd8887d6ee4dbdd23b9a09779
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[ftinspect] Mark pixel centers in the grid with a cross.
* src/ftinspect.c (Grid::paint): Implement it.
---
ChangeLog | 6 ++++++
src/ftinspect.cpp | 31 +++++++++++++++++++++++++++++--
2 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index f109371..58a3042 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2016-05-29 Werner Lemberg <address@hidden>
+ [ftinspect] Mark pixel centers in the grid with a cross.
+
+ * src/ftinspect.c (Grid::paint): Implement it.
+
+2016-05-29 Werner Lemberg <address@hidden>
+
[ftinspect] Prepare zoom for drawing pixel center.
This change makes the zoom use only even values larger than a given
diff --git a/src/ftinspect.cpp b/src/ftinspect.cpp
index edec05c..795b421 100644
--- a/src/ftinspect.cpp
+++ b/src/ftinspect.cpp
@@ -661,14 +661,41 @@ Grid::paint(QPainter* painter,
painter->setPen(gridPen);
+ // don't mark pixel center with a cross if magnification is too small
+ if (lod > 20)
+ {
+ int halfLength = 1;
+
+ // cf. QSpinBoxx
+ if (lod > 640)
+ halfLength = 6;
+ else if (lod > 320)
+ halfLength = 5;
+ else if (lod > 160)
+ halfLength = 4;
+ else if (lod > 80)
+ halfLength = 3;
+ else if (lod > 40)
+ halfLength = 2;
+
+ for (qreal x = -100; x < 100; x++)
+ for (qreal y = -100; y < 100; y++)
+ {
+ painter->drawLine(QLineF(x + 0.5, y + 0.5 - halfLength / lod,
+ x + 0.5, y + 0.5 + halfLength / lod));
+ painter->drawLine(QLineF(x + 0.5 - halfLength / lod, y + 0.5,
+ x + 0.5 + halfLength / lod, y + 0.5));
+ }
+ }
+
// don't draw grid if magnification is too small
if (lod >= 5)
{
// XXX fix size
- for (qreal x = -100; x <= 100; x++)
+ for (int x = -100; x <= 100; x++)
painter->drawLine(x, -100,
x, 100);
- for (qreal y = -100; y <= 100; y++)
+ for (int y = -100; y <= 100; y++)
painter->drawLine(-100, y,
100, y);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master b6c40a6 3/3: [ftinspect] Mark pixel centers in the grid with a cross.,
Werner LEMBERG <=