[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 3ecba00 3/7: [ftinspect] Add check box for auto
From: |
Werner LEMBERG |
Subject: |
[freetype2-demos] master 3ecba00 3/7: [ftinspect] Add check box for auto-hinting. |
Date: |
Fri, 06 May 2016 14:20:49 +0000 |
branch: master
commit 3ecba00d5d7f12c3cb84ac2990529364932096ce
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[ftinspect] Add check box for auto-hinting.
This allows easier hinting mode switch than having it in the hinting
mode combo box.
* src/ftinspect.cpp (MainGUI::checkAutoHinting): New method,
containing almost stuff from ...
(MainGUI::checkHintingMode): Updated.
(MainGUI::createLayout): Updated; we also indent check boxes
dependent on auto-hinting.
(MainGUI::createConnections, MainGUI::setDefaults): Updated.
* src/ftinspect.h: Updated.
(HintingModes): Remove `HintingMode_AutoHinting' enum value.
---
ChangeLog | 17 +++++++++++++++++
src/ftinspect.cpp | 55 +++++++++++++++++++++++++++++++++++++++++------------
src/ftinspect.h | 10 ++++++++--
3 files changed, 68 insertions(+), 14 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3473e1c..c750b17 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
2016-05-06 Werner Lemberg <address@hidden>
+ [ftinspect] Add check box for auto-hinting.
+
+ This allows easier hinting mode switch than having it in the hinting
+ mode combo box.
+
+ * src/ftinspect.cpp (MainGUI::checkAutoHinting): New method,
+ containing almost stuff from ...
+ (MainGUI::checkHintingMode): Updated.
+ (MainGUI::createLayout): Updated; we also indent check boxes
+ dependent on auto-hinting.
+ (MainGUI::createConnections, MainGUI::setDefaults): Updated.
+
+ * src/ftinspect.h: Updated.
+ (HintingModes): Remove `HintingMode_AutoHinting' enum value.
+
+2016-05-06 Werner Lemberg <address@hidden>
+
[ftinspect] Disable unavailable items in anti-aliasing combo box.
* src/ftinspect.h (MainGUI): Make `setDefaults' public.
diff --git a/src/ftinspect.cpp b/src/ftinspect.cpp
index 3a7e143..7ae21d0 100644
--- a/src/ftinspect.cpp
+++ b/src/ftinspect.cpp
@@ -476,10 +476,18 @@ void
MainGUI::checkHintingMode()
{
int index = hintingModeComboBoxx->currentIndex();
- int AAcurrIndex = antiAliasingComboBoxx->currentIndex();
- if (index == HintingMode_AutoHinting)
+ // XXX to be completed
+}
+
+
+void
+MainGUI::checkAutoHinting()
+{
+ if (autoHintingCheckBox->isChecked())
{
+ hintingModeComboBoxx->setEnabled(false);
+
horizontalHintingCheckBox->setEnabled(true);
verticalHintingCheckBox->setEnabled(true);
blueZoneHintingCheckBox->setEnabled(true);
@@ -490,6 +498,8 @@ MainGUI::checkHintingMode()
}
else
{
+ hintingModeComboBoxx->setEnabled(true);
+
horizontalHintingCheckBox->setEnabled(false);
verticalHintingCheckBox->setEnabled(false);
blueZoneHintingCheckBox->setEnabled(false);
@@ -498,7 +508,7 @@ MainGUI::checkHintingMode()
antiAliasingComboBoxx->setItemEnabled(AntiAliasing_Slight, false);
- if (AAcurrIndex == AntiAliasing_Slight)
+ if (antiAliasingComboBoxx->currentIndex() == AntiAliasing_Slight)
antiAliasingComboBoxx->setCurrentIndex(AntiAliasing_Normal);
}
}
@@ -746,10 +756,9 @@ MainGUI::createLayout()
tr("CFF (FreeType)"));
hintingModeComboBoxx->insertItem(HintingMode_CFF_Adobe,
tr("CFF (Adobe)"));
- hintingModeComboBoxx->insertItem(HintingMode_AutoHinting,
- tr("Auto-Hinting"));
hintingModeLabel->setBuddy(hintingModeComboBoxx);
+ autoHintingCheckBox = new QCheckBox(tr("Auto-Hinting"));
horizontalHintingCheckBox = new QCheckBox(tr("Horizontal Hinting"));
verticalHintingCheckBox = new QCheckBox(tr("Vertical Hinting"));
blueZoneHintingCheckBox = new QCheckBox(tr("Blue-Zone Hinting"));
@@ -820,6 +829,26 @@ MainGUI::createLayout()
hintingModeLayout->addWidget(hintingModeLabel);
hintingModeLayout->addWidget(hintingModeComboBoxx);
+ horizontalHintingLayout = new QHBoxLayout;
+ horizontalHintingLayout->addSpacing(20); // XXX px
+ horizontalHintingLayout->addWidget(horizontalHintingCheckBox);
+
+ verticalHintingLayout = new QHBoxLayout;
+ verticalHintingLayout->addSpacing(20); // XXX px
+ verticalHintingLayout->addWidget(verticalHintingCheckBox);
+
+ blueZoneHintingLayout = new QHBoxLayout;
+ blueZoneHintingLayout->addSpacing(20); // XXX px
+ blueZoneHintingLayout->addWidget(blueZoneHintingCheckBox);
+
+ segmentDrawingLayout = new QHBoxLayout;
+ segmentDrawingLayout->addSpacing(20); // XXX px
+ segmentDrawingLayout->addWidget(segmentDrawingCheckBox);
+
+ warpingLayout = new QHBoxLayout;
+ warpingLayout->addSpacing(20); // XXX px
+ warpingLayout->addWidget(warpingCheckBox);
+
antiAliasingLayout = new QHBoxLayout;
antiAliasingLayout->addWidget(antiAliasingLabel);
antiAliasingLayout->addWidget(antiAliasingComboBoxx);
@@ -834,11 +863,12 @@ MainGUI::createLayout()
generalTabLayout = new QVBoxLayout;
generalTabLayout->addLayout(hintingModeLayout);
- generalTabLayout->addWidget(horizontalHintingCheckBox);
- generalTabLayout->addWidget(verticalHintingCheckBox);
- generalTabLayout->addWidget(blueZoneHintingCheckBox);
- generalTabLayout->addWidget(segmentDrawingCheckBox);
- generalTabLayout->addWidget(warpingCheckBox);
+ generalTabLayout->addWidget(autoHintingCheckBox);
+ generalTabLayout->addLayout(horizontalHintingLayout);
+ generalTabLayout->addLayout(verticalHintingLayout);
+ generalTabLayout->addLayout(blueZoneHintingLayout);
+ generalTabLayout->addLayout(segmentDrawingLayout);
+ generalTabLayout->addLayout(warpingLayout);
generalTabLayout->addSpacing(20); // XXX px
generalTabLayout->addStretch(1);
generalTabLayout->addLayout(antiAliasingLayout);
@@ -1009,6 +1039,8 @@ MainGUI::createConnections()
connect(antiAliasingComboBoxx, SIGNAL(currentIndexChanged(int)), this,
SLOT(checkAntiAliasing()));
+ connect(autoHintingCheckBox, SIGNAL(clicked()), this,
+ SLOT(checkAutoHinting()));
connect(showPointsCheckBox, SIGNAL(clicked()), this,
SLOT(checkShowPoints()));
@@ -1121,8 +1153,6 @@ MainGUI::setDefaults()
currentFaceIndex = -1;
currentInstanceIndex = -1;
- // XXX only dummy values right now
-
hintingModeComboBoxx->setCurrentIndex(HintingMode_TrueType_v35);
antiAliasingComboBoxx->setCurrentIndex(AntiAliasing_LCD);
lcdFilterComboBox->setCurrentIndex(LCDFilter_Light);
@@ -1135,6 +1165,7 @@ MainGUI::setDefaults()
showOutlinesCheckBox->setChecked(true);
checkHintingMode();
+ checkAutoHinting();
checkAntiAliasing();
checkShowPoints();
checkUnits();
diff --git a/src/ftinspect.h b/src/ftinspect.h
index 5a06039..a7a28e7 100644
--- a/src/ftinspect.h
+++ b/src/ftinspect.h
@@ -161,6 +161,7 @@ protected:
private slots:
void about();
void checkAntiAliasing();
+ void checkAutoHinting();
void checkCurrentFaceIndex();
void checkCurrentFontIndex();
void checkCurrentInstanceIndex();
@@ -191,6 +192,7 @@ private:
QAction *exitAct;
QAction *loadFontsAct;
+ QCheckBox *autoHintingCheckBox;
QCheckBox *blueZoneHintingCheckBox;
QCheckBox *horizontalHintingCheckBox;
QCheckBox *segmentDrawingCheckBox;
@@ -216,12 +218,17 @@ private:
QHash<int, int> hintingModesCFFHash;
QHBoxLayout *antiAliasingLayout;
+ QHBoxLayout *blueZoneHintingLayout;
+ QHBoxLayout *ftinspectLayout;
QHBoxLayout *gammaLayout;
QHBoxLayout *hintingModeLayout;
- QHBoxLayout *ftinspectLayout;
+ QHBoxLayout *horizontalHintingLayout;
QHBoxLayout *lcdFilterLayout;
QHBoxLayout *navigationLayout;
+ QHBoxLayout *segmentDrawingLayout;
QHBoxLayout *sizeLayout;
+ QHBoxLayout *verticalHintingLayout;
+ QHBoxLayout *warpingLayout;
QHBoxLayout *watchLayout;
QLabel *antiAliasingLabel;
@@ -292,7 +299,6 @@ private:
HintingMode_TrueType_v40,
HintingMode_CFF_FreeType,
HintingMode_CFF_Adobe,
- HintingMode_AutoHinting
};
enum LCDFilter
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 3ecba00 3/7: [ftinspect] Add check box for auto-hinting.,
Werner LEMBERG <=