mirror of
https://bitbucket.org/smil3y/katie.git
synced 2025-02-25 03:12:56 +00:00
mac and win leftovers removal
Signed-off-by: Ivailo Monev <xakepa10@laimg.moc>
This commit is contained in:
parent
908678e114
commit
83f1dd9182
5 changed files with 6 additions and 198 deletions
|
@ -2946,26 +2946,12 @@ bool QRasterPaintEngine::supportsTransformations(const QFontEngine *fontEngine)
|
||||||
if (!state()->WxF)
|
if (!state()->WxF)
|
||||||
return false;
|
return false;
|
||||||
const QTransform &m = state()->matrix;
|
const QTransform &m = state()->matrix;
|
||||||
#if defined(Q_WS_WIN) && !defined(Q_WS_WINCE)
|
|
||||||
QFontEngine::Type fontEngineType = fontEngine->type();
|
|
||||||
if ((fontEngineType == QFontEngine::Win && !((QFontEngineWin *) fontEngine)->ttf && m.type() > QTransform::TxTranslate)
|
|
||||||
|| (m.type() <= QTransform::TxTranslate
|
|
||||||
&& (fontEngineType == QFontEngine::TestFontEngine
|
|
||||||
|| fontEngineType == QFontEngine::Box))) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
return supportsTransformations(fontEngine->fontDef.pixelSize, m);
|
return supportsTransformations(fontEngine->fontDef.pixelSize, m);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QRasterPaintEngine::supportsTransformations(qreal pixelSize, const QTransform &m) const
|
bool QRasterPaintEngine::supportsTransformations(qreal pixelSize, const QTransform &m) const
|
||||||
{
|
{
|
||||||
#if defined(Q_WS_MAC)
|
|
||||||
// Mac font engines don't support scaling and rotation
|
|
||||||
if (m.type() > QTransform::TxTranslate)
|
|
||||||
#else
|
|
||||||
if (m.type() >= QTransform::TxProject)
|
if (m.type() >= QTransform::TxProject)
|
||||||
#endif
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (pixelSize * pixelSize * qAbs(m.determinant()) >= 64 * 64)
|
if (pixelSize * pixelSize * qAbs(m.determinant()) >= 64 * 64)
|
||||||
|
|
|
@ -1935,14 +1935,7 @@ void QPdfBaseEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &t
|
||||||
if (!currentPage->fonts.contains(font->object_id))
|
if (!currentPage->fonts.contains(font->object_id))
|
||||||
currentPage->fonts.append(font->object_id);
|
currentPage->fonts.append(font->object_id);
|
||||||
|
|
||||||
qreal size = ti.fontEngine->fontDef.pixelSize;
|
const qreal size = ti.fontEngine->fontDef.pixelSize;
|
||||||
#ifdef Q_WS_WIN
|
|
||||||
if (ti.fontEngine->type() == QFontEngine::Win) {
|
|
||||||
QFontEngineWin *fe = static_cast<QFontEngineWin *>(ti.fontEngine);
|
|
||||||
size = fe->tm.tmHeight;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
QVarLengthArray<glyph_t> glyphs;
|
QVarLengthArray<glyph_t> glyphs;
|
||||||
QVarLengthArray<QFixedPoint> positions;
|
QVarLengthArray<QFixedPoint> positions;
|
||||||
QTransform m = QTransform::fromTranslate(p.x(), p.y());
|
QTransform m = QTransform::fromTranslate(p.x(), p.y());
|
||||||
|
@ -1950,8 +1943,8 @@ void QPdfBaseEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &t
|
||||||
glyphs, positions);
|
glyphs, positions);
|
||||||
if (glyphs.size() == 0)
|
if (glyphs.size() == 0)
|
||||||
return;
|
return;
|
||||||
int synthesized = ti.fontEngine->synthesized();
|
const int synthesized = ti.fontEngine->synthesized();
|
||||||
qreal stretch = synthesized & QFontEngine::SynthesizedStretch ? ti.fontEngine->fontDef.stretch/100. : 1.;
|
const qreal stretch = synthesized & QFontEngine::SynthesizedStretch ? ti.fontEngine->fontDef.stretch/100. : 1.;
|
||||||
|
|
||||||
*currentPage << "BT\n"
|
*currentPage << "BT\n"
|
||||||
<< "/F" << font->object_id << size << "Tf "
|
<< "/F" << font->object_id << size << "Tf "
|
||||||
|
|
|
@ -651,15 +651,9 @@ int QPdfEnginePrivate::addImage(const QImage &img, bool *bitmap, qint64 serial_n
|
||||||
void QPdfEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &ti)
|
void QPdfEnginePrivate::drawTextItem(const QPointF &p, const QTextItemInt &ti)
|
||||||
{
|
{
|
||||||
if (ti.charFormat.isAnchor()) {
|
if (ti.charFormat.isAnchor()) {
|
||||||
qreal size = ti.fontEngine->fontDef.pixelSize;
|
const qreal size = ti.fontEngine->fontDef.pixelSize;
|
||||||
#ifdef Q_WS_WIN
|
const int synthesized = ti.fontEngine->synthesized();
|
||||||
if (ti.fontEngine->type() == QFontEngine::Win) {
|
const qreal stretch = synthesized & QFontEngine::SynthesizedStretch ? ti.fontEngine->fontDef.stretch/100. : 1.;
|
||||||
QFontEngineWin *fe = static_cast<QFontEngineWin *>(ti.fontEngine);
|
|
||||||
size = fe->tm.tmHeight;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
int synthesized = ti.fontEngine->synthesized();
|
|
||||||
qreal stretch = synthesized & QFontEngine::SynthesizedStretch ? ti.fontEngine->fontDef.stretch/100. : 1.;
|
|
||||||
|
|
||||||
QTransform trans;
|
QTransform trans;
|
||||||
// Build text rendering matrix (Trm). We need it to map the text area to user
|
// Build text rendering matrix (Trm). We need it to map the text area to user
|
||||||
|
|
|
@ -1,162 +0,0 @@
|
||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2015 The Qt Company Ltd.
|
|
||||||
** Contact: http://www.qt.io/licensing/
|
|
||||||
**
|
|
||||||
** This file is part of the QtGui module of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:LGPL$
|
|
||||||
** Commercial License Usage
|
|
||||||
** Licensees holding valid commercial Qt licenses may use this file in
|
|
||||||
** accordance with the commercial license agreement provided with the
|
|
||||||
** Software or, alternatively, in accordance with the terms contained in
|
|
||||||
** a written agreement between you and The Qt Company. For licensing terms
|
|
||||||
** and conditions see http://www.qt.io/terms-conditions. For further
|
|
||||||
** information use the contact form at http://www.qt.io/contact-us.
|
|
||||||
**
|
|
||||||
** GNU Lesser General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
|
||||||
** General Public License version 2.1 or version 3 as published by the Free
|
|
||||||
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
|
|
||||||
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
|
|
||||||
** following information to ensure the GNU Lesser General Public License
|
|
||||||
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
|
|
||||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
|
||||||
**
|
|
||||||
** As a special exception, The Qt Company gives you certain additional
|
|
||||||
** rights. These rights are described in The Qt Company LGPL Exception
|
|
||||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
|
||||||
**
|
|
||||||
** GNU General Public License Usage
|
|
||||||
** Alternatively, this file may be used under the terms of the GNU
|
|
||||||
** General Public License version 3.0 as published by the Free Software
|
|
||||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
|
||||||
** packaging of this file. Please review the following information to
|
|
||||||
** ensure the GNU General Public License version 3.0 requirements will be
|
|
||||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
|
||||||
**
|
|
||||||
** $QT_END_LICENSE$
|
|
||||||
**
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
#ifndef QFONTENGINE_CORETEXT_P_H
|
|
||||||
#define QFONTENGINE_CORETEXT_P_H
|
|
||||||
|
|
||||||
#include <qfontengine_p.h>
|
|
||||||
|
|
||||||
#if defined(Q_OS_IOS)
|
|
||||||
#include <CoreText/CoreText.h>
|
|
||||||
#include <CoreGraphics/CoreGraphics.h>
|
|
||||||
#include <qcore_mac_p.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(Q_WS_MAC) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
|
|
||||||
|
|
||||||
QT_BEGIN_HEADER
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
|
|
||||||
class QRawFontPrivate;
|
|
||||||
class QCoreTextFontEngineMulti;
|
|
||||||
class QCoreTextFontEngine : public QFontEngine
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
QCoreTextFontEngine(CTFontRef font, const QFontDef &def);
|
|
||||||
QCoreTextFontEngine(CGFontRef font, const QFontDef &def);
|
|
||||||
~QCoreTextFontEngine();
|
|
||||||
|
|
||||||
virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const;
|
|
||||||
virtual void recalcAdvances(QGlyphLayout *, QTextEngine::ShaperFlags) const;
|
|
||||||
|
|
||||||
virtual glyph_metrics_t boundingBox(const QGlyphLayout &glyphs);
|
|
||||||
virtual glyph_metrics_t boundingBox(glyph_t glyph);
|
|
||||||
|
|
||||||
virtual QFixed ascent() const;
|
|
||||||
virtual QFixed descent() const;
|
|
||||||
virtual QFixed leading() const;
|
|
||||||
virtual QFixed xHeight() const;
|
|
||||||
virtual qreal maxCharWidth() const;
|
|
||||||
virtual QFixed averageCharWidth() const;
|
|
||||||
|
|
||||||
virtual void addGlyphsToPath(glyph_t *glyphs, QFixedPoint *positions, int numGlyphs,
|
|
||||||
QPainterPath *path, QTextItem::RenderFlags);
|
|
||||||
|
|
||||||
virtual const char *name() const { return "QCoreTextFontEngine"; }
|
|
||||||
|
|
||||||
virtual bool canRender(const QChar *string, int len);
|
|
||||||
|
|
||||||
virtual int synthesized() const { return synthesisFlags; }
|
|
||||||
virtual bool supportsSubPixelPositions() const { return true; }
|
|
||||||
|
|
||||||
virtual Type type() const { return QFontEngine::Mac; }
|
|
||||||
|
|
||||||
void draw(CGContextRef ctx, qreal x, qreal y, const QTextItemInt &ti, int paintDeviceHeight);
|
|
||||||
|
|
||||||
virtual FaceId faceId() const;
|
|
||||||
virtual bool getSfntTableData(uint /*tag*/, uchar * /*buffer*/, uint * /*length*/) const;
|
|
||||||
virtual void getUnscaledGlyph(glyph_t glyph, QPainterPath *path, glyph_metrics_t *metrics);
|
|
||||||
virtual QImage alphaMapForGlyph(glyph_t, QFixed subPixelPosition);
|
|
||||||
virtual QImage alphaRGBMapForGlyph(glyph_t, QFixed subPixelPosition, int margin, const QTransform &t);
|
|
||||||
virtual qreal minRightBearing() const;
|
|
||||||
virtual qreal minLeftBearing() const;
|
|
||||||
virtual QFixed emSquareSize() const;
|
|
||||||
|
|
||||||
virtual QFontEngine *cloneWithSize(qreal pixelSize) const;
|
|
||||||
|
|
||||||
virtual QFontEngine::Properties properties() const;
|
|
||||||
|
|
||||||
private:
|
|
||||||
friend class QRawFontPrivate;
|
|
||||||
|
|
||||||
void init();
|
|
||||||
QImage imageForGlyph(glyph_t glyph, QFixed subPixelPosition, int margin, bool colorful);
|
|
||||||
CTFontRef ctfont;
|
|
||||||
CGFontRef cgFont;
|
|
||||||
int synthesisFlags;
|
|
||||||
CGAffineTransform transform;
|
|
||||||
QFixed avgCharWidth;
|
|
||||||
friend class QCoreTextFontEngineMulti;
|
|
||||||
};
|
|
||||||
|
|
||||||
class QCoreTextFontEngineMulti : public QFontEngineMulti
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
QCoreTextFontEngineMulti(const QCFString &name, const QFontDef &fontDef, bool kerning);
|
|
||||||
QCoreTextFontEngineMulti(CTFontRef ctFontRef, const QFontDef &fontDef, bool kerning);
|
|
||||||
~QCoreTextFontEngineMulti();
|
|
||||||
|
|
||||||
virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs,
|
|
||||||
QTextEngine::ShaperFlags flags) const;
|
|
||||||
bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs,
|
|
||||||
QTextEngine::ShaperFlags flags,
|
|
||||||
unsigned short *logClusters, const HB_CharAttributes *charAttributes,
|
|
||||||
QScriptItem *si) const;
|
|
||||||
|
|
||||||
virtual const char *name() const { return "CoreText"; }
|
|
||||||
inline CTFontRef macFontID() const { return ctfont; }
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual void loadEngine(int at);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void init(bool kerning);
|
|
||||||
inline const QCoreTextFontEngine *engineAt(int i) const
|
|
||||||
{ return static_cast<const QCoreTextFontEngine *>(engines.at(i)); }
|
|
||||||
|
|
||||||
uint fontIndexForFont(CTFontRef font) const;
|
|
||||||
CTFontRef ctfont;
|
|
||||||
mutable QCFType<CFMutableDictionaryRef> attributeDict;
|
|
||||||
CGAffineTransform transform;
|
|
||||||
friend class QFontDialogPrivate;
|
|
||||||
bool transformAdvances;
|
|
||||||
};
|
|
||||||
|
|
||||||
CGAffineTransform qt_transform_from_fontdef(const QFontDef &fontDef);
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
QT_END_HEADER
|
|
||||||
|
|
||||||
#endif// !defined(Q_WS_MAC) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
|
|
||||||
|
|
||||||
#endif // QFONTENGINE_CORETEXT_P_H
|
|
|
@ -2492,9 +2492,6 @@ QString QTextEngine::elidedText(Qt::TextElideMode mode, const QFixed &width, int
|
||||||
? static_cast<QFontEngineMulti *>(fe)->engine(0)
|
? static_cast<QFontEngineMulti *>(fe)->engine(0)
|
||||||
: fe;
|
: fe;
|
||||||
|
|
||||||
if (feForEllipsis->type() == QFontEngine::Mac)
|
|
||||||
feForEllipsis = fe;
|
|
||||||
|
|
||||||
// the lookup can be really slow when we use XLFD fonts
|
// the lookup can be really slow when we use XLFD fonts
|
||||||
if (feForEllipsis->type() != QFontEngine::XLFD
|
if (feForEllipsis->type() != QFontEngine::XLFD
|
||||||
&& feForEllipsis->canRender(&ellipsisChar, 1)) {
|
&& feForEllipsis->canRender(&ellipsisChar, 1)) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue