freetype-commit
[Top][All Lists]
Advanced

[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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]