Show
Ignore:
Timestamp:
08/15/08 13:25:16 (5 months ago)
Author:
mbensi
Message:

merge with webkit revision 35774

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/BAL/WKAL/Concretizations/Fonts/WK/BCGlyphBufferWK.h

    r243 r437  
    4545class SimpleFontData; 
    4646 
     47#if PLATFORM(CAIRO) 
     48// FIXME: Why does Cairo use such a huge struct instead of just an offset into an array? 
     49typedef cairo_glyph_t GlyphBufferGlyph; 
     50#else 
     51typedef Glyph GlyphBufferGlyph; 
     52#endif 
     53 
     54// CG uses CGSize instead of FloatSize so that the result of advances() 
     55// can be passed directly to CGContextShowGlyphsWithAdvances in FontMac.mm 
    4756#if PLATFORM(CG) 
    48 typedef Glyph GlyphBufferGlyph; 
    4957typedef CGSize GlyphBufferAdvance; 
    50 #elif PLATFORM(CAIRO) 
    51 typedef cairo_glyph_t GlyphBufferGlyph; 
    52 typedef FloatSize GlyphBufferAdvance; 
    53 #elif PLATFORM(WX) 
    54 typedef Glyph GlyphBufferGlyph; 
    55 typedef FloatSize GlyphBufferAdvance; 
    56 #elif PLATFORM(QT) 
    57 typedef unsigned short GlyphBufferGlyph; 
     58#else 
    5859typedef FloatSize GlyphBufferAdvance; 
    5960#endif 
     
    104105    Glyph glyphAt(int index) const 
    105106    { 
    106 #if PLATFORM(CG) || PLATFORM(QT) || PLATFORM(WX) 
     107#if PLATFORM(CAIRO) 
     108        return m_glyphs[index].index; 
     109#else 
    107110        return m_glyphs[index]; 
    108 #elif PLATFORM(CAIRO) 
    109         return m_glyphs[index].index; 
    110111#endif 
    111112    } 
     
    115116#if PLATFORM(CG) 
    116117        return m_advances[index].width; 
    117 #elif PLATFORM(CAIRO) || PLATFORM(QT) || PLATFORM(WX) 
     118#else 
    118119        return m_advances[index].width(); 
    119120#endif 
     
    132133    { 
    133134        m_fontData.append(font); 
    134 #if PLATFORM(CG) 
    135         m_glyphs.append(glyph); 
    136         CGSize advance; 
    137         advance.width = width; 
    138         advance.height = 0; 
    139         m_advances.append(advance); 
    140 #elif PLATFORM(CAIRO) 
     135#if PLATFORM(CAIRO) 
    141136        cairo_glyph_t cairoGlyph; 
    142137        cairoGlyph.index = glyph; 
    143138        m_glyphs.append(cairoGlyph); 
    144         m_advances.append(FloatSize(width, 0)); 
    145 #elif PLATFORM(QT) || PLATFORM(WX) 
     139#else 
    146140        m_glyphs.append(glyph); 
     141#endif 
     142 
     143#if PLATFORM(CG) 
     144        CGSize advance = { width, 0 }; 
     145        m_advances.append(advance); 
     146#else 
    147147        m_advances.append(FloatSize(width, 0)); 
    148148#endif 
     149 
    149150#if PLATFORM(WIN) 
    150151        if (offset)