[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master c4b40f3 6/7: [ftinspect] Handle LCD filter chan
From: |
Werner LEMBERG |
Subject: |
[freetype2-demos] master c4b40f3 6/7: [ftinspect] Handle LCD filter change. |
Date: |
Fri, 06 May 2016 14:20:49 +0000 |
branch: master
commit c4b40f341436527e46fb9af57bac1e50a3d5c94f
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[ftinspect] Handle LCD filter change.
* src/ftinspect.cpp (MainGUI::checkLcdFilter): New method.
(MainGUI::setDefaults): Set up LCD filter mapping.
Call `checkLcdFilter'.
(MainGUI::createConnections): Register `checkLcdFilter'.
* src/ftinspect.h (MainGUI): Updated.
---
ChangeLog | 11 +++++++++++
src/ftinspect.cpp | 16 ++++++++++++++++
src/ftinspect.h | 3 +++
3 files changed, 30 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index a965bc8..b57ec6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2016-05-06 Werner Lemberg <address@hidden>
+ [ftinspect] Handle LCD filter change.
+
+ * src/ftinspect.cpp (MainGUI::checkLcdFilter): New method.
+ (MainGUI::setDefaults): Set up LCD filter mapping.
+ Call `checkLcdFilter'.
+ (MainGUI::createConnections): Register `checkLcdFilter'.
+
+ * src/ftinspect.h (MainGUI): Updated.
+
+2016-05-06 Werner Lemberg <address@hidden>
+
[ftinspect] Indend `show point indices' check box.
* src/ftinspect.cpp (MainGUI::createLayout): Implement it.
diff --git a/src/ftinspect.cpp b/src/ftinspect.cpp
index 0859bdd..0f6f838 100644
--- a/src/ftinspect.cpp
+++ b/src/ftinspect.cpp
@@ -536,6 +536,14 @@ MainGUI::checkAntiAliasing()
void
+MainGUI::checkLcdFilter()
+{
+ int index = lcdFilterComboBox->currentIndex();
+ FT_Library_SetLcdFilter(engine->library, lcdFilterHash.key(index));
+}
+
+
+void
MainGUI::checkShowPoints()
{
if (showPointsCheckBox->isChecked())
@@ -1043,6 +1051,8 @@ MainGUI::createConnections()
SLOT(checkHintingMode()));
connect(antiAliasingComboBoxx, SIGNAL(currentIndexChanged(int)), this,
SLOT(checkAntiAliasing()));
+ connect(lcdFilterComboBox, SIGNAL(currentIndexChanged(int)), this,
+ SLOT(checkLcdFilter()));
connect(autoHintingCheckBox, SIGNAL(clicked()), this,
SLOT(checkAutoHinting()));
@@ -1131,6 +1141,11 @@ MainGUI::setDefaults()
hintingModesCFFHash[FT_CFF_HINTING_FREETYPE] = HintingMode_CFF_FreeType;
hintingModesCFFHash[FT_CFF_HINTING_ADOBE] = HintingMode_CFF_Adobe;
+ lcdFilterHash[FT_LCD_FILTER_DEFAULT] = LCDFilter_Default;
+ lcdFilterHash[FT_LCD_FILTER_LIGHT] = LCDFilter_Light;
+ lcdFilterHash[FT_LCD_FILTER_NONE] = LCDFilter_None;
+ lcdFilterHash[FT_LCD_FILTER_LEGACY] = LCDFilter_Legacy;
+
// make copies and remove existing elements...
QHash<int, int> hmTTHash = hintingModesTrueTypeHash;
if (hmTTHash.contains(engine->ttInterpreterVersionDefault))
@@ -1172,6 +1187,7 @@ MainGUI::setDefaults()
checkHintingMode();
checkAutoHinting();
checkAntiAliasing();
+ checkLcdFilter();
checkShowPoints();
checkUnits();
checkCurrentFontIndex();
diff --git a/src/ftinspect.h b/src/ftinspect.h
index 74dd6b8..6825888 100644
--- a/src/ftinspect.h
+++ b/src/ftinspect.h
@@ -7,6 +7,7 @@
#include FT_FREETYPE_H
#include FT_CACHE_H
#include FT_CFF_DRIVER_H
+#include FT_LCD_FILTER_H
#include FT_MODULE_H
#include FT_TRUETYPE_DRIVER_H
@@ -166,6 +167,7 @@ private slots:
void checkCurrentFontIndex();
void checkCurrentInstanceIndex();
void checkHintingMode();
+ void checkLcdFilter();
void checkShowPoints();
void checkUnits();
void closeFont();
@@ -216,6 +218,7 @@ private:
QHash<int, int> hintingModesTrueTypeHash;
QHash<int, int> hintingModesCFFHash;
+ QHash<FT_LcdFilter, int> lcdFilterHash;
QHBoxLayout *antiAliasingLayout;
QHBoxLayout *blueZoneHintingLayout;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master c4b40f3 6/7: [ftinspect] Handle LCD filter change.,
Werner LEMBERG <=