Changeset 17823 in webkit


Ignore:
Timestamp:
Nov 16, 2006 4:03:01 PM (17 years ago)
Author:
adele
Message:

Reviewed by Adam.

Slider cleanup. Let the theme set the size of the slider thumb.

  • rendering/RenderSlider.cpp: (WebCore::RenderSlider::setStyle): Moving the thumb's appearance adjustment to createThumbStyle. (WebCore::RenderSlider::createThumbStyle): (WebCore::RenderSlider::layout): Let the theme set the size of the thumb.
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustSliderThumbSize): Added.
  • rendering/RenderTheme.h: ditto.
  • rendering/RenderThemeMac.h: ditto.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize): ditto.
Location:
trunk/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r17818 r17823  
     12006-11-16  Adele Peterson  <adele@apple.com>
     2
     3        Reviewed by Adam.
     4
     5        Slider cleanup.  Let the theme set the size of the slider thumb.
     6
     7        * rendering/RenderSlider.cpp:
     8        (WebCore::RenderSlider::setStyle): Moving the thumb's appearance adjustment to createThumbStyle.
     9        (WebCore::RenderSlider::createThumbStyle):
     10        (WebCore::RenderSlider::layout): Let the theme set the size of the thumb.
     11        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustSliderThumbSize):  Added.
     12        * rendering/RenderTheme.h: ditto.
     13        * rendering/RenderThemeMac.h: ditto.
     14        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustSliderThumbSize): ditto.
     15
    1162006-11-15  Anders Carlsson  <acarlsson@apple.com>
    217
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r17807 r17823  
    1064110641                        productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
    1064210642                        projectDirPath = "";
    10643                         projectRoot = "";
    1064410643                        targets = (
    1064510644                                93F198A508245E59001E9ABC /* WebCore */,
  • trunk/WebCore/rendering/RenderSlider.cpp

    r17801 r17823  
    3232#include "HTMLNames.h"
    3333#include "MouseEvent.h"
     34#include "RenderTheme.h"
    3435#include <wtf/MathExtras.h>
    3536
     
    161162   
    162163    RenderStyle* thumbStyle = createThumbStyle(newStyle);
     164
    163165    if (m_thumb)
    164166        m_thumb->renderer()->setStyle(thumbStyle);
    165        
    166     if (newStyle->appearance() == SliderVerticalAppearance)
    167         thumbStyle->setAppearance(SliderThumbVerticalAppearance);
    168      else
    169         thumbStyle->setAppearance(SliderThumbHorizontalAppearance);
    170167       
    171168    setReplaced(isInline());
     
    184181    style->setPosition(RelativePosition);
    185182
     183    if (parentStyle->appearance() == SliderVerticalAppearance)
     184       style->setAppearance(SliderThumbVerticalAppearance);
     185    else if (parentStyle->appearance() == SliderHorizontalAppearance)
     186       style->setAppearance(SliderThumbHorizontalAppearance);
     187
    186188    return style;
    187189}
     
    192194   
    193195    if (m_thumb && m_thumb->renderer()) {
     196           
    194197        int oldWidth = m_width;
    195198        calcWidth();
     
    200203            relayoutChildren = true; 
    201204
     205        // Allow the theme to set the size of the thumb
     206        if (m_thumb->renderer()->style()->hasAppearance())
     207            theme()->adjustSliderThumbSize(m_thumb->renderer());
     208
    202209        if (style()->appearance() == SliderVerticalAppearance)
    203210            m_thumb->renderer()->style()->setLeft(Length(m_width / 2 - m_thumb->renderer()->style()->width().value() / 2, Fixed));
    204211        else
    205212            m_thumb->renderer()->style()->setTop(Length(m_height / 2 - m_thumb->renderer()->style()->height().value() / 2, Fixed));
    206        
     213
    207214        if (relayoutChildren)
    208215            setPositionFromValue(true);
  • trunk/WebCore/rendering/RenderTheme.cpp

    r17798 r17823  
    412412}
    413413
    414 }
     414void RenderTheme::adjustSliderThumbSize(RenderObject*) const
     415{
     416}
     417
     418}
  • trunk/WebCore/rendering/RenderTheme.h

    r17798 r17823  
    114114    virtual int minimumMenuListSize(RenderStyle*) const { return 0; }
    115115
     116    virtual void adjustSliderThumbSize(RenderObject*) const;
     117
    116118protected:
    117119    // Methods for state querying
  • trunk/WebCore/rendering/RenderThemeMac.h

    r17798 r17823  
    6161
    6262    virtual int minimumMenuListSize(RenderStyle*) const;
     63   
     64    virtual void adjustSliderThumbSize(RenderObject*) const;
    6365
    6466protected:
     
    8688    virtual void adjustMenuListButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
    8789   
    88     virtual void adjustSliderTrackStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
    8990    virtual bool paintSliderTrack(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
     91    virtual bool paintSliderThumb(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
    9092
    91     virtual void adjustSliderThumbStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
    92     virtual bool paintSliderThumb(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
    93    
    9493private:
    9594    IntRect inflateRect(const IntRect&, const IntSize&, const int* margins) const;
  • trunk/WebCore/rendering/RenderThemeMac.mm

    r17798 r17823  
    10311031}
    10321032
    1033 void RenderThemeMac::adjustSliderTrackStyle(CSSStyleSelector*, RenderStyle* style, Element* e) const
    1034 {
    1035 }
    1036 
    10371033const int sliderThumbWidth = 15;
    10381034const int sliderThumbHeight = 15;
    10391035
    1040 void RenderThemeMac::adjustSliderThumbStyle(CSSStyleSelector*, RenderStyle* style, Element* e) const
    1041 {
    1042     style->setWidth(Length(sliderThumbWidth, Fixed));
    1043     style->setHeight(Length(sliderThumbHeight, Fixed));
    1044 }
    1045 
    1046 }
     1036void RenderThemeMac::adjustSliderThumbSize(RenderObject* o) const
     1037{
     1038    if (o->style()->appearance() == SliderThumbHorizontalAppearance || o->style()->appearance() == SliderThumbVerticalAppearance) {
     1039        o->style()->setWidth(Length(sliderThumbWidth, Fixed));
     1040        o->style()->setHeight(Length(sliderThumbHeight, Fixed));
     1041    }
     1042}
     1043
     1044}
Note: See TracChangeset for help on using the changeset viewer.