• rjw's avatar
    Many improvements to selection. More Cocoa like, · 5570ea20
    rjw authored
            normalized all text drawing code paths for selected
            and unselected cases.  Still need to work on
            TextSlave::checkSelectionPoint.  Fixed redraw region
            problems.
    
            khtml redraw the entire visible region when selection changes.
            This could be optimzed.
    
            * khtml/rendering/font.cpp:
            (Font::drawText):
            (Font::width):
            * khtml/rendering/render_text.cpp:
            (TextSlave::printSelection):
            * kwq/KWQPainter.mm:
            (QPainter::drawText):
            (QPainter::selectedTextBackgroundColor):
            * kwq/KWQScrollView.mm:
            (QScrollView::contentsX):
            (QScrollView::contentsY):
            * kwq/WebCoreTextRenderer.h:
            * kwq/qt/qpainter.h:
    
            Many improvements to selection.  More Cocoa like,
            normalized all text drawing code paths for selected
            and unselected cases.
    
            Still need to work on:
            1.  'slow' drawing cases, i.e. runs with non-base characters
                or runs requiring font substitution.
            2.  Select All menu item.
            3.  Auto scrolling.
    
            * WebCoreSupport.subproj/IFTextRenderer.m:
            (-[IFTextRenderer drawString:atPoint:withColor:]):
            (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
            (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
            (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
            (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:backgroundColor:]):
            (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:]):
            (-[IFTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1447 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    5570ea20
render_text.cpp 30.1 KB