Skip to content
  • evan@chromium.org's avatar
    2011-01-05 Evan Martin <evan@chromium.org> · 9f3bb465
    evan@chromium.org authored
            Reviewed by Tony Chang.
    
            [chromium] refactor complex text on Linux
            https://bugs.webkit.org/show_bug.cgi?id=51956
    
            Pull out TextRunWalker from FontLinux.cpp.  Put it in its own file.
            Rename it to ComplexTextController, to match platform/graphics/mac
            more closely.
    
            No tests because the change is just renaming a class.
    
            * WebCore.gyp/WebCore.gyp:
            * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added.
            (WebCore::ComplexTextController::ComplexTextController):
            (WebCore::ComplexTextController::~ComplexTextController):
            (WebCore::ComplexTextController::isWordBreak):
            (WebCore::ComplexTextController::determineWordBreakSpacing):
            (WebCore::ComplexTextController::setPadding):
            (WebCore::ComplexTextController::reset):
            (WebCore::ComplexTextController::setBackwardsIteration):
            (WebCore::ComplexTextController::nextScriptRun):
            (WebCore::ComplexTextController::widthOfFullRun):
            (WebCore::ComplexTextController::setupFontForScriptRun):
            (WebCore::ComplexTextController::allocHarfbuzzFont):
            (WebCore::ComplexTextController::deleteGlyphArrays):
            (WebCore::ComplexTextController::createGlyphArrays):
            (WebCore::ComplexTextController::resetGlyphArrays):
            (WebCore::ComplexTextController::shapeGlyphs):
            (WebCore::ComplexTextController::setGlyphXPositions):
            (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
            (WebCore::ComplexTextController::getNormalizedTextRun):
            * platform/graphics/chromium/ComplexTextControllerLinux.h: Added.
            (WebCore::ComplexTextController::setWordSpacingAdjustment):
            (WebCore::ComplexTextController::setLetterSpacingAdjustment):
            (WebCore::ComplexTextController::letterSpacing):
            (WebCore::ComplexTextController::setXOffsetToZero):
            (WebCore::ComplexTextController::rtl):
            (WebCore::ComplexTextController::glyphs):
            (WebCore::ComplexTextController::length):
            (WebCore::ComplexTextController::xPositions):
            (WebCore::ComplexTextController::advances):
            (WebCore::ComplexTextController::width):
            (WebCore::ComplexTextController::logClusters):
            (WebCore::ComplexTextController::numCodePoints):
            (WebCore::ComplexTextController::fontPlatformDataForScriptRun):
            (WebCore::ComplexTextController::isCodepointSpace):
            * platform/graphics/chromium/FontLinux.cpp:
            (WebCore::Font::drawComplexText):
            (WebCore::Font::floatWidthForComplexText):
            (WebCore::glyphIndexForXPositionInScriptRun):
            (WebCore::Font::offsetForPositionForComplexText):
            (WebCore::Font::selectionRectForComplexText):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    9f3bb465