| 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, 2010, 2011 Apple Inc. All rights reserved. | 5  * Copyright (C) 2003, 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. | 
| 6  * Copyright (C) 2008 Holger Hans Peter Freyther | 6  * Copyright (C) 2008 Holger Hans Peter Freyther | 
| 7  * | 7  * | 
| 8  * This library is free software; you can redistribute it and/or | 8  * This library is free software; you can redistribute it and/or | 
| 9  * modify it under the terms of the GNU Library General Public | 9  * modify it under the terms of the GNU Library General Public | 
| 10  * License as published by the Free Software Foundation; either | 10  * License as published by the Free Software Foundation; either | 
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 198   mutable unsigned can_shape_word_by_word_ : 1; | 198   mutable unsigned can_shape_word_by_word_ : 1; | 
| 199   mutable unsigned shape_word_by_word_computed_ : 1; | 199   mutable unsigned shape_word_by_word_computed_ : 1; | 
| 200 | 200 | 
| 201   // For m_fontDescription & m_fontFallbackList access. | 201   // For m_fontDescription & m_fontFallbackList access. | 
| 202   friend class CachingWordShaper; | 202   friend class CachingWordShaper; | 
| 203 }; | 203 }; | 
| 204 | 204 | 
| 205 inline Font::~Font() {} | 205 inline Font::~Font() {} | 
| 206 | 206 | 
| 207 inline const SimpleFontData* Font::PrimaryFont() const { | 207 inline const SimpleFontData* Font::PrimaryFont() const { | 
| 208   ASSERT(font_fallback_list_); | 208   DCHECK(font_fallback_list_); | 
| 209   return font_fallback_list_->PrimarySimpleFontData(font_description_); | 209   return font_fallback_list_->PrimarySimpleFontData(font_description_); | 
| 210 } | 210 } | 
| 211 | 211 | 
| 212 inline const FontData* Font::FontDataAt(unsigned index) const { | 212 inline const FontData* Font::FontDataAt(unsigned index) const { | 
| 213   ASSERT(font_fallback_list_); | 213   DCHECK(font_fallback_list_); | 
| 214   return font_fallback_list_->FontDataAt(font_description_, index); | 214   return font_fallback_list_->FontDataAt(font_description_, index); | 
| 215 } | 215 } | 
| 216 | 216 | 
| 217 inline FontSelector* Font::GetFontSelector() const { | 217 inline FontSelector* Font::GetFontSelector() const { | 
| 218   return font_fallback_list_ ? font_fallback_list_->GetFontSelector() : 0; | 218   return font_fallback_list_ ? font_fallback_list_->GetFontSelector() : 0; | 
| 219 } | 219 } | 
| 220 | 220 | 
| 221 inline float Font::TabWidth(const SimpleFontData* font_data, | 221 inline float Font::TabWidth(const SimpleFontData* font_data, | 
| 222                             const TabSize& tab_size, | 222                             const TabSize& tab_size, | 
| 223                             float position) const { | 223                             float position) const { | 
| 224   if (!font_data) | 224   if (!font_data) | 
| 225     return GetFontDescription().LetterSpacing(); | 225     return GetFontDescription().LetterSpacing(); | 
| 226   float base_tab_width = tab_size.GetPixelSize(font_data->SpaceWidth()); | 226   float base_tab_width = tab_size.GetPixelSize(font_data->SpaceWidth()); | 
| 227   if (!base_tab_width) | 227   if (!base_tab_width) | 
| 228     return GetFontDescription().LetterSpacing(); | 228     return GetFontDescription().LetterSpacing(); | 
| 229   float distance_to_tab_stop = base_tab_width - fmodf(position, base_tab_width); | 229   float distance_to_tab_stop = base_tab_width - fmodf(position, base_tab_width); | 
| 230 | 230 | 
| 231   // Let the minimum width be the half of the space width so that it's always | 231   // Let the minimum width be the half of the space width so that it's always | 
| 232   // recognizable.  if the distance to the next tab stop is less than that, | 232   // recognizable.  if the distance to the next tab stop is less than that, | 
| 233   // advance an additional tab stop. | 233   // advance an additional tab stop. | 
| 234   if (distance_to_tab_stop < font_data->SpaceWidth() / 2) | 234   if (distance_to_tab_stop < font_data->SpaceWidth() / 2) | 
| 235     distance_to_tab_stop += base_tab_width; | 235     distance_to_tab_stop += base_tab_width; | 
| 236 | 236 | 
| 237   return distance_to_tab_stop; | 237   return distance_to_tab_stop; | 
| 238 } | 238 } | 
| 239 | 239 | 
| 240 }  // namespace blink | 240 }  // namespace blink | 
| 241 | 241 | 
| 242 #endif | 242 #endif | 
| OLD | NEW | 
|---|