⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 98396 in webkit


Ignore:
Timestamp:
Oct 25, 2011, 2:25:34 PM (15 years ago)
Author:
eae@chromium.org
Message:

Fix scrollbars for chromium/linux

Location:
branches/subpixellayout/Source/WebCore/platform
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/subpixellayout/Source/WebCore/platform/ScrollbarThemeComposite.h

    r98165 r98396  
    2727#define ScrollbarThemeComposite_h
    2828
    29 #include "LayoutTypes.h"
     29#include "FixedRect.h"
    3030#include "ScrollbarTheme.h"
    3131
     
    3434class ScrollbarThemeComposite : public ScrollbarTheme {
    3535public:
    36     virtual bool paint(Scrollbar*, GraphicsContext* context, const LayoutRect& damageRect);
     36    virtual bool paint(Scrollbar*, GraphicsContext* context, const FixedRect& damageRect);
    3737
    3838    virtual ScrollbarPart hitTest(Scrollbar*, const PlatformMouseEvent&);
     
    4545    virtual int trackLength(Scrollbar*);
    4646
    47     virtual void paintScrollCorner(ScrollView*, GraphicsContext*, const LayoutRect& cornerRect);
    48     virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const LayoutRect& horizontalOverhangArea, const LayoutRect& verticalOverhangArea, const LayoutRect& dirtyRect);
     47    virtual void paintScrollCorner(ScrollView*, GraphicsContext*, const FixedRect& cornerRect);
     48    virtual void paintOverhangAreas(ScrollView*, GraphicsContext*, const FixedRect& horizontalOverhangArea, const FixedRect& verticalOverhangArea, const FixedRect& dirtyRect);
    4949
    5050protected:
     
    5252    virtual bool hasThumb(Scrollbar*) = 0;
    5353
    54     virtual LayoutRect backButtonRect(Scrollbar*, ScrollbarPart, bool painting = false) = 0;
    55     virtual LayoutRect forwardButtonRect(Scrollbar*, ScrollbarPart, bool painting = false) = 0;
    56     virtual LayoutRect trackRect(Scrollbar*, bool painting = false) = 0;
     54    virtual FixedRect backButtonRect(Scrollbar*, ScrollbarPart, bool painting = false) = 0;
     55    virtual FixedRect forwardButtonRect(Scrollbar*, ScrollbarPart, bool painting = false) = 0;
     56    virtual FixedRect trackRect(Scrollbar*, bool painting = false) = 0;
    5757
    58     virtual void splitTrack(Scrollbar*, const LayoutRect& track, LayoutRect& startTrack, LayoutRect& thumb, LayoutRect& endTrack);
     58    virtual void splitTrack(Scrollbar*, const FixedRect& track, FixedRect& startTrack, FixedRect& thumb, FixedRect& endTrack);
    5959   
    6060    virtual LayoutUnit minimumThumbLength(Scrollbar*);
    6161
    6262    virtual void paintScrollbarBackground(GraphicsContext*, Scrollbar*) {}
    63     virtual void paintTrackBackground(GraphicsContext*, Scrollbar*, const LayoutRect&) {}
    64     virtual void paintTrackPiece(GraphicsContext*, Scrollbar*, const LayoutRect&, ScrollbarPart) {}
    65     virtual void paintButton(GraphicsContext*, Scrollbar*, const LayoutRect&, ScrollbarPart) {}
    66     virtual void paintThumb(GraphicsContext*, Scrollbar*, const LayoutRect&) {}
    67     virtual void paintTickmarks(GraphicsContext*, Scrollbar*, const LayoutRect&) {}
     63    virtual void paintTrackBackground(GraphicsContext*, Scrollbar*, const FixedRect&) {}
     64    virtual void paintTrackPiece(GraphicsContext*, Scrollbar*, const FixedRect&, ScrollbarPart) {}
     65    virtual void paintButton(GraphicsContext*, Scrollbar*, const FixedRect&, ScrollbarPart) {}
     66    virtual void paintThumb(GraphicsContext*, Scrollbar*, const FixedRect&) {}
     67    virtual void paintTickmarks(GraphicsContext*, Scrollbar*, const FixedRect&) {}
    6868
    69     virtual LayoutRect constrainTrackRectToTrackPieces(Scrollbar*, const LayoutRect& rect) { return rect; }
     69    virtual FixedRect constrainTrackRectToTrackPieces(Scrollbar*, const FixedRect& rect) { return rect; }
    7070};
    7171
  • branches/subpixellayout/Source/WebCore/platform/chromium/ScrollbarThemeChromium.cpp

    r98303 r98396  
    9393}
    9494
    95 void ScrollbarThemeChromium::paintTrackBackground(GraphicsContext* context, Scrollbar* scrollbar, const IntRect& rect)
     95void ScrollbarThemeChromium::paintTrackBackground(GraphicsContext* context, Scrollbar* scrollbar, const FixedRect& rect)
    9696{
    9797    // Just assume a forward track part.  We only paint the track as a single piece when there is no thumb.
     
    100100}
    101101
    102 void ScrollbarThemeChromium::paintTickmarks(GraphicsContext* context, Scrollbar* scrollbar, const IntRect& rect)
     102void ScrollbarThemeChromium::paintTickmarks(GraphicsContext* context, Scrollbar* scrollbar, const FixedRect& rect)
    103103{
    104104    if (scrollbar->orientation() != VerticalScrollbar)
  • branches/subpixellayout/Source/WebCore/platform/chromium/ScrollbarThemeChromium.h

    r98303 r98396  
    4949        virtual LayoutRect trackRect(Scrollbar*, bool painting = false);
    5050
    51         virtual void paintTrackBackground(GraphicsContext*, Scrollbar*, const IntRect&);
    52         virtual void paintTickmarks(GraphicsContext*, Scrollbar*, const IntRect&);
     51        virtual void paintTrackBackground(GraphicsContext*, Scrollbar*, const FixedRect&);
     52        virtual void paintTickmarks(GraphicsContext*, Scrollbar*, const FixedRect&);
    5353
    5454        virtual FixedSize buttonSize(Scrollbar*) = 0;
  • branches/subpixellayout/Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp

    r98303 r98396  
    5151}
    5252
    53 void ScrollbarThemeChromiumLinux::paintTrackPiece(GraphicsContext* gc, Scrollbar* scrollbar, const IntRect& rect, ScrollbarPart partType)
     53void ScrollbarThemeChromiumLinux::paintTrackPiece(GraphicsContext* gc, Scrollbar* scrollbar, const FixedRect& rect, ScrollbarPart partType)
    5454{
    5555    PlatformSupport::ThemePaintState state = scrollbar->hoveredPart() == partType ? PlatformSupport::StateHover : PlatformSupport::StateNormal;
     
    6464        scrollbar->orientation() == HorizontalScrollbar ? PlatformSupport::PartScrollbarHorizontalTrack : PlatformSupport::PartScrollbarVerticalTrack,
    6565        state,
    66         rect,
     66        enclosingIntRect(rect),
    6767        &extraParams);
    6868}
    6969
    70 void ScrollbarThemeChromiumLinux::paintButton(GraphicsContext* gc, Scrollbar* scrollbar, const IntRect& rect, ScrollbarPart part)
     70void ScrollbarThemeChromiumLinux::paintButton(GraphicsContext* gc, Scrollbar* scrollbar, const FixedRect& rect, ScrollbarPart part)
    7171{
    7272    PlatformSupport::ThemePart paintPart;
     
    100100            state = PlatformSupport::StateHover;
    101101    }
    102     PlatformSupport::paintThemePart(gc, paintPart, state, rect, 0);
     102    PlatformSupport::paintThemePart(gc, paintPart, state, enclosingIntRect(rect), 0);
    103103}
    104104
    105 void ScrollbarThemeChromiumLinux::paintThumb(GraphicsContext* gc, Scrollbar* scrollbar, const IntRect& rect)
     105void ScrollbarThemeChromiumLinux::paintThumb(GraphicsContext* gc, Scrollbar* scrollbar, const FixedRect& rect)
    106106{
    107107    PlatformSupport::ThemePaintState state;
     
    117117        scrollbar->orientation() == HorizontalScrollbar ? PlatformSupport::PartScrollbarHorizontalThumb : PlatformSupport::PartScrollbarVerticalThumb,
    118118        state,
    119         rect,
     119        enclosingIntRect(rect),
    120120        0);
    121121}
  • branches/subpixellayout/Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.h

    r98303 r98396  
    4242
    4343    protected:
    44         virtual void paintTrackPiece(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarPart);
    45         virtual void paintButton(GraphicsContext*, Scrollbar*, const IntRect&, ScrollbarPart);
    46         virtual void paintThumb(GraphicsContext*, Scrollbar*, const IntRect&);
     44        virtual void paintTrackPiece(GraphicsContext*, Scrollbar*, const FixedRect&, ScrollbarPart);
     45        virtual void paintButton(GraphicsContext*, Scrollbar*, const FixedRect&, ScrollbarPart);
     46        virtual void paintThumb(GraphicsContext*, Scrollbar*, const FixedRect&);
    4747        virtual bool shouldCenterOnThumb(Scrollbar*, const PlatformMouseEvent&);
    4848        virtual FixedSize buttonSize(Scrollbar*);
Note: See TracChangeset for help on using the changeset viewer.