Reviewed by ap.
[WebKit-https.git] / WebCore / platform / qt / FontPlatformDataQt.cpp
1 /*
2  * This file is part of the internal font implementation.  It should not be included by anyone other than
3  * FontMac.cpp, FontWin.cpp and Font.cpp.
4  *
5  * Copyright (C) 2006 Apple Computer, Inc.
6  * Copyright (C) 2006 George Staikos <staikos@kde.org>
7  * Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
8  * Copyright (C) 2006 Zack Rusin <zack@kde.org>
9  * Copyright (C) 2006 Simon Hausmann <hausmann@kde.org>
10  * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
11  *
12  * All rights reserved.
13  *
14  * This library is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU Library General Public
16  * License as published by the Free Software Foundation; either
17  * version 2 of the License, or (at your option) any later version.
18  *
19  * This library is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22  * Library General Public License for more details.
23  *
24  * You should have received a copy of the GNU Library General Public License
25  * along with this library; see the file COPYING.LIB.  If not, write to
26  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
27  * Boston, MA 02111-1307, USA.
28  *
29  */
30
31 #include "config.h"
32 #include "FontPlatformData.h"
33
34 #include "DeprecatedString.h"
35 #include "FontDescription.h"
36
37 #include <QDebug>
38 #include <QFontInfo>
39
40 namespace WebCore {
41
42 FontPlatformData::FontPlatformData()
43 {
44 }
45
46 FontPlatformData::FontPlatformData(Deleted)
47 {
48 }
49
50 FontPlatformData::FontPlatformData(const FontDescription& fontDescription, const AtomicString& familyName)
51 {
52     QFont font("Times New Roman", 12);
53     font.setFamily(familyName.domString());
54     font.setPixelSize(fontDescription.computedSize());
55     font.setItalic(fontDescription.italic());
56     font.setWeight(fontDescription.weight());
57     setFont(font);
58 }
59
60 FontPlatformData::FontPlatformData(const FontPlatformData& other)
61     : m_font(other.m_font)
62 {
63 }
64
65 FontPlatformData& FontPlatformData::operator=(const FontPlatformData& other)
66 {
67     m_font = other.m_font;
68     return *this;
69 }
70
71 FontPlatformData::~FontPlatformData()
72 {
73 }
74
75 bool FontPlatformData::isFixedPitch()
76 {
77     return QFontInfo(m_font).fixedPitch();
78 }
79
80 void FontPlatformData::setFont(const QFont& other)
81 {
82     m_font = other;
83 }
84
85 QFont FontPlatformData::font() const
86 {
87     return m_font;
88 }
89
90 unsigned FontPlatformData::hash() const
91 {
92     return qHash(&m_font);
93 }
94
95 bool FontPlatformData::operator==(const FontPlatformData& other) const
96 {
97     return (other.m_font == m_font);
98 }
99
100 }
101
102 // vim: ts=4 sw=4 et