bool RenderTheme::paintDecorations(const RenderBox& box, const PaintInfo& paintInfo, const LayoutRect& rect) { if (paintInfo.context().paintingDisabled()) return false; IntRect integralSnappedRect = snappedIntRect(rect); FloatRect devicePixelSnappedRect = snapRectToDevicePixels(rect, box.document().deviceScaleFactor()); // Call the appropriate paint method based off the appearance value. switch (box.style().appearance()) { case MenulistButtonPart: return paintMenuListButtonDecorations(box, paintInfo, devicePixelSnappedRect); case TextFieldPart: return paintTextFieldDecorations(box, paintInfo, devicePixelSnappedRect); case TextAreaPart: return paintTextAreaDecorations(box, paintInfo, devicePixelSnappedRect); case CheckboxPart: return paintCheckboxDecorations(box, paintInfo, integralSnappedRect); case RadioPart: return paintRadioDecorations(box, paintInfo, integralSnappedRect); case PushButtonPart: return paintPushButtonDecorations(box, paintInfo, integralSnappedRect); case SquareButtonPart: return paintSquareButtonDecorations(box, paintInfo, integralSnappedRect); case ButtonPart: return paintButtonDecorations(box, paintInfo, integralSnappedRect); case MenulistPart: return paintMenuListDecorations(box, paintInfo, integralSnappedRect); case SliderThumbHorizontalPart: case SliderThumbVerticalPart: return paintSliderThumbDecorations(box, paintInfo, integralSnappedRect); case SearchFieldPart: return paintSearchFieldDecorations(box, paintInfo, integralSnappedRect); #if ENABLE(METER_ELEMENT) case MeterPart: case RelevancyLevelIndicatorPart: case ContinuousCapacityLevelIndicatorPart: case DiscreteCapacityLevelIndicatorPart: case RatingLevelIndicatorPart: #endif case ProgressBarPart: case SliderHorizontalPart: case SliderVerticalPart: case ListboxPart: case DefaultButtonPart: case SearchFieldCancelButtonPart: case SearchFieldDecorationPart: case SearchFieldResultsDecorationPart: case SearchFieldResultsButtonPart: #if ENABLE(SERVICE_CONTROLS) case ImageControlsButtonPart: #endif default: break; } return false; }
bool RenderTheme::paintDecorations(RenderObject* renderer, const PaintInfo& paintInfo, const IntRect& rect) { if (paintInfo.context->paintingDisabled()) return false; // Call the appropriate paint method based off the appearance value. switch (renderer->style().appearance()) { case MenulistButtonPart: return paintMenuListButtonDecorations(renderer, paintInfo, rect); case TextFieldPart: return paintTextFieldDecorations(renderer, paintInfo, rect); case TextAreaPart: return paintTextAreaDecorations(renderer, paintInfo, rect); case CheckboxPart: return paintCheckboxDecorations(renderer, paintInfo, rect); case RadioPart: return paintRadioDecorations(renderer, paintInfo, rect); case PushButtonPart: return paintPushButtonDecorations(renderer, paintInfo, rect); case SquareButtonPart: return paintSquareButtonDecorations(renderer, paintInfo, rect); case ButtonPart: return paintButtonDecorations(renderer, paintInfo, rect); case MenulistPart: return paintMenuListDecorations(renderer, paintInfo, rect); case SliderThumbHorizontalPart: case SliderThumbVerticalPart: return paintSliderThumbDecorations(renderer, paintInfo, rect); case SearchFieldPart: return paintSearchFieldDecorations(renderer, paintInfo, rect); #if ENABLE(METER_ELEMENT) case MeterPart: case RelevancyLevelIndicatorPart: case ContinuousCapacityLevelIndicatorPart: case DiscreteCapacityLevelIndicatorPart: case RatingLevelIndicatorPart: #endif #if ENABLE(PROGRESS_ELEMENT) case ProgressBarPart: #endif case SliderHorizontalPart: case SliderVerticalPart: case ListboxPart: case DefaultButtonPart: case SearchFieldCancelButtonPart: case SearchFieldDecorationPart: case SearchFieldResultsDecorationPart: case SearchFieldResultsButtonPart: #if ENABLE(INPUT_SPEECH) case InputSpeechButtonPart: #endif default: break; } return false; }