OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2003, 2006, 2007, 2011 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003, 2006, 2007, 2011 Apple Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 } | 165 } |
166 | 166 |
167 UChar operator[](unsigned i) const { ASSERT_WITH_SECURITY_IMPLICATION(i < m_
len); return is8Bit() ? m_data.characters8[i] :m_data.characters16[i]; } | 167 UChar operator[](unsigned i) const { ASSERT_WITH_SECURITY_IMPLICATION(i < m_
len); return is8Bit() ? m_data.characters8[i] :m_data.characters16[i]; } |
168 const LChar* data8(unsigned i) const { ASSERT_WITH_SECURITY_IMPLICATION(i <
m_len); ASSERT(is8Bit()); return &m_data.characters8[i]; } | 168 const LChar* data8(unsigned i) const { ASSERT_WITH_SECURITY_IMPLICATION(i <
m_len); ASSERT(is8Bit()); return &m_data.characters8[i]; } |
169 const UChar* data16(unsigned i) const { ASSERT_WITH_SECURITY_IMPLICATION(i <
m_len); ASSERT(!is8Bit()); return &m_data.characters16[i]; } | 169 const UChar* data16(unsigned i) const { ASSERT_WITH_SECURITY_IMPLICATION(i <
m_len); ASSERT(!is8Bit()); return &m_data.characters16[i]; } |
170 | 170 |
171 const LChar* characters8() const { ASSERT(is8Bit()); return m_data.character
s8; } | 171 const LChar* characters8() const { ASSERT(is8Bit()); return m_data.character
s8; } |
172 const UChar* characters16() const { ASSERT(!is8Bit()); return m_data.charact
ers16; } | 172 const UChar* characters16() const { ASSERT(!is8Bit()); return m_data.charact
ers16; } |
173 | 173 |
174 bool is8Bit() const { return m_is8Bit; } | 174 bool is8Bit() const { return m_is8Bit; } |
175 unsigned length() const { return m_len; } | 175 int length() const { return m_len; } |
176 unsigned charactersLength() const { return m_charactersLength; } | 176 int charactersLength() const { return m_charactersLength; } |
177 | 177 |
178 bool normalizeSpace() const { return m_normalizeSpace; } | 178 bool normalizeSpace() const { return m_normalizeSpace; } |
179 void setNormalizeSpace(bool normalizeSpace) { m_normalizeSpace = normalizeSp
ace; } | 179 void setNormalizeSpace(bool normalizeSpace) { m_normalizeSpace = normalizeSp
ace; } |
180 | 180 |
181 void setText(const LChar* c, unsigned len) { m_data.characters8 = c; m_len =
len; m_is8Bit = true;} | 181 void setText(const LChar* c, unsigned len) { m_data.characters8 = c; m_len =
len; m_is8Bit = true;} |
182 void setText(const UChar* c, unsigned len) { m_data.characters16 = c; m_len
= len; m_is8Bit = false;} | 182 void setText(const UChar* c, unsigned len) { m_data.characters16 = c; m_len
= len; m_is8Bit = false;} |
183 void setText(const String&); | 183 void setText(const String&); |
184 void setCharactersLength(unsigned charactersLength) { m_charactersLength = c
haractersLength; } | 184 void setCharactersLength(unsigned charactersLength) { m_charactersLength = c
haractersLength; } |
185 | 185 |
186 float horizontalGlyphStretch() const { return m_horizontalGlyphStretch; } | 186 float horizontalGlyphStretch() const { return m_horizontalGlyphStretch; } |
(...skipping 21 matching lines...) Expand all Loading... |
208 void setDirectionalOverride(bool override) { m_directionalOverride = overrid
e; } | 208 void setDirectionalOverride(bool override) { m_directionalOverride = overrid
e; } |
209 void setCharacterScanForCodePath(bool scan) { m_characterScanForCodePath = s
can; } | 209 void setCharacterScanForCodePath(bool scan) { m_characterScanForCodePath = s
can; } |
210 void setUseComplexCodePath(bool useComplex) { m_useComplexCodePath = useComp
lex; } | 210 void setUseComplexCodePath(bool useComplex) { m_useComplexCodePath = useComp
lex; } |
211 | 211 |
212 class RenderingContext : public RefCounted<RenderingContext> { | 212 class RenderingContext : public RefCounted<RenderingContext> { |
213 public: | 213 public: |
214 virtual ~RenderingContext() { } | 214 virtual ~RenderingContext() { } |
215 | 215 |
216 virtual GlyphData glyphDataForCharacter(const Font&, const TextRun&, Sim
pleShaper&, UChar32 character, bool mirror, int currentCharacter, unsigned& adva
nceLength) = 0; | 216 virtual GlyphData glyphDataForCharacter(const Font&, const TextRun&, Sim
pleShaper&, UChar32 character, bool mirror, int currentCharacter, unsigned& adva
nceLength) = 0; |
217 virtual void drawSVGGlyphs(GraphicsContext*, const TextRun&, const Simpl
eFontData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const = 0; | 217 virtual void drawSVGGlyphs(GraphicsContext*, const TextRun&, const Simpl
eFontData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const = 0; |
218 virtual float floatWidthUsingSVGFont(const Font&, const TextRun&, unsign
ed& charsConsumed, Glyph& glyphId) const = 0; | 218 virtual float floatWidthUsingSVGFont(const Font&, const TextRun&, int& c
harsConsumed, Glyph& glyphId) const = 0; |
219 }; | 219 }; |
220 | 220 |
221 RenderingContext* renderingContext() const { return m_renderingContext.get()
; } | 221 RenderingContext* renderingContext() const { return m_renderingContext.get()
; } |
222 void setRenderingContext(PassRefPtr<RenderingContext> context) { m_rendering
Context = context; } | 222 void setRenderingContext(PassRefPtr<RenderingContext> context) { m_rendering
Context = context; } |
223 | 223 |
224 private: | 224 private: |
225 union { | 225 union { |
226 const LChar* characters8; | 226 const LChar* characters8; |
227 const UChar* characters16; | 227 const UChar* characters16; |
228 } m_data; | 228 } m_data; |
(...skipping 29 matching lines...) Expand all Loading... |
258 // Container for parameters needed to paint TextRun. | 258 // Container for parameters needed to paint TextRun. |
259 struct TextRunPaintInfo { | 259 struct TextRunPaintInfo { |
260 explicit TextRunPaintInfo(const TextRun& r) | 260 explicit TextRunPaintInfo(const TextRun& r) |
261 : run(r) | 261 : run(r) |
262 , from(0) | 262 , from(0) |
263 , to(r.length()) | 263 , to(r.length()) |
264 { | 264 { |
265 } | 265 } |
266 | 266 |
267 const TextRun& run; | 267 const TextRun& run; |
268 unsigned from; | 268 int from; |
269 unsigned to; | 269 int to; |
270 FloatRect bounds; | 270 FloatRect bounds; |
271 }; | 271 }; |
272 | 272 |
273 } | 273 } |
274 #endif | 274 #endif |
OLD | NEW |