bool RenderMediaControlsChromium::paintMediaControlsPart(MediaControlElementType part, RenderObject* object, const RenderObject::PaintInfo& paintInfo, const IntRect& rect) { switch (part) { case MediaMuteButton: case MediaUnMuteButton: return paintMediaMuteButton(object, paintInfo, rect); case MediaPauseButton: case MediaPlayButton: return paintMediaPlayButton(object, paintInfo, rect); case MediaSlider: return paintMediaSlider(object, paintInfo, rect); case MediaSliderThumb: return paintMediaSliderThumb(object, paintInfo, rect); case MediaVolumeSlider: return paintMediaVolumeSlider(object, paintInfo, rect); case MediaVolumeSliderThumb: return paintMediaVolumeSliderThumb(object, paintInfo, rect); case MediaTimelineContainer: return paintMediaTimelineContainer(object, paintInfo, rect); case MediaFullscreenButton: case MediaSeekBackButton: case MediaSeekForwardButton: case MediaVolumeSliderContainer: case MediaCurrentTimeDisplay: case MediaTimeRemainingDisplay: case MediaControlsPanel: case MediaRewindButton: case MediaReturnToRealtimeButton: case MediaStatusDisplay: ASSERT_NOT_REACHED(); break; } return false; }
bool RenderMediaControls::paintMediaControlsPart(MediaControlElementType part, RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect) { switch (part) { case MediaMuteButton: case MediaUnMuteButton: return paintMediaMuteButton(object, paintInfo, rect); case MediaPauseButton: case MediaPlayButton: return paintMediaPlayButton(object, paintInfo, rect); case MediaShowClosedCaptionsButton: return paintMediaToggleClosedCaptionsButton(object, paintInfo, rect); case MediaSlider: return paintMediaSlider(object, paintInfo, rect); case MediaSliderThumb: return paintMediaSliderThumb(object, paintInfo, rect); case MediaVolumeSlider: return paintMediaVolumeSlider(object, paintInfo, rect); case MediaVolumeSliderThumb: return paintMediaVolumeSliderThumb(object, paintInfo, rect); case MediaEnterFullscreenButton: case MediaExitFullscreenButton: return paintMediaFullscreenButton(object, paintInfo, rect); case MediaOverlayPlayButton: return paintMediaOverlayPlayButton(object, paintInfo, rect); case MediaVolumeSliderContainer: case MediaTimelineContainer: case MediaCurrentTimeDisplay: case MediaTimeRemainingDisplay: case MediaControlsPanel: case MediaStatusDisplay: case MediaHideClosedCaptionsButton: case MediaTextTrackDisplayContainer: case MediaTextTrackDisplay: case MediaFullScreenVolumeSlider: case MediaFullScreenVolumeSliderThumb: ASSERT_NOT_REACHED(); break; } return false; }
bool RenderTheme::paint(RenderObject* o, const PaintInfo& paintInfo, const IntRect& r) { // If painting is disabled, but we aren't updating control tints, then just bail. // If we are updating control tints, just schedule a repaint if the theme supports tinting // for that control. if (paintInfo.context->updatingControlTints()) { if (controlSupportsTints(o)) o->repaint(); return false; } if (paintInfo.context->paintingDisabled()) return false; ControlPart part = o->style()->appearance(); #if USE(NEW_THEME) switch (part) { case CheckboxPart: case RadioPart: case PushButtonPart: case SquareButtonPart: case ListButtonPart: case DefaultButtonPart: case ButtonPart: case InnerSpinButtonPart: m_theme->paint(part, controlStatesForRenderer(o), const_cast<GraphicsContext*>(paintInfo.context), r, o->style()->effectiveZoom(), o->view()->frameView()); return false; default: break; } #endif // Call the appropriate paint method based off the appearance value. switch (part) { #if !USE(NEW_THEME) case CheckboxPart: return paintCheckbox(o, paintInfo, r); case RadioPart: return paintRadio(o, paintInfo, r); case PushButtonPart: case SquareButtonPart: case ListButtonPart: case DefaultButtonPart: case ButtonPart: return paintButton(o, paintInfo, r); case InnerSpinButtonPart: return paintInnerSpinButton(o, paintInfo, r); #endif case MenulistPart: return paintMenuList(o, paintInfo, r); #if ENABLE(METER_TAG) case MeterPart: case RelevancyLevelIndicatorPart: case ContinuousCapacityLevelIndicatorPart: case DiscreteCapacityLevelIndicatorPart: case RatingLevelIndicatorPart: return paintMeter(o, paintInfo, r); #endif #if ENABLE(PROGRESS_TAG) case ProgressBarPart: return paintProgressBar(o, paintInfo, r); #endif case SliderHorizontalPart: case SliderVerticalPart: return paintSliderTrack(o, paintInfo, r); case SliderThumbHorizontalPart: case SliderThumbVerticalPart: return paintSliderThumb(o, paintInfo, r); case MediaFullscreenButtonPart: return paintMediaFullscreenButton(o, paintInfo, r); case MediaPlayButtonPart: return paintMediaPlayButton(o, paintInfo, r); case MediaMuteButtonPart: return paintMediaMuteButton(o, paintInfo, r); case MediaSeekBackButtonPart: return paintMediaSeekBackButton(o, paintInfo, r); case MediaSeekForwardButtonPart: return paintMediaSeekForwardButton(o, paintInfo, r); case MediaRewindButtonPart: return paintMediaRewindButton(o, paintInfo, r); case MediaReturnToRealtimeButtonPart: return paintMediaReturnToRealtimeButton(o, paintInfo, r); case MediaToggleClosedCaptionsButtonPart: return paintMediaToggleClosedCaptionsButton(o, paintInfo, r); case MediaSliderPart: return paintMediaSliderTrack(o, paintInfo, r); case MediaSliderThumbPart: return paintMediaSliderThumb(o, paintInfo, r); case MediaVolumeSliderMuteButtonPart: return paintMediaMuteButton(o, paintInfo, r); case MediaVolumeSliderContainerPart: return paintMediaVolumeSliderContainer(o, paintInfo, r); case MediaVolumeSliderPart: return paintMediaVolumeSliderTrack(o, paintInfo, r); case MediaVolumeSliderThumbPart: return paintMediaVolumeSliderThumb(o, paintInfo, r); case MediaTimeRemainingPart: return paintMediaTimeRemaining(o, paintInfo, r); case MediaCurrentTimePart: return paintMediaCurrentTime(o, paintInfo, r); case MediaControlsBackgroundPart: return paintMediaControlsBackground(o, paintInfo, r); case MenulistButtonPart: case TextFieldPart: case TextAreaPart: case ListboxPart: return true; case SearchFieldPart: return paintSearchField(o, paintInfo, r); case SearchFieldCancelButtonPart: return paintSearchFieldCancelButton(o, paintInfo, r); case SearchFieldDecorationPart: return paintSearchFieldDecoration(o, paintInfo, r); case SearchFieldResultsDecorationPart: return paintSearchFieldResultsDecoration(o, paintInfo, r); case SearchFieldResultsButtonPart: return paintSearchFieldResultsButton(o, paintInfo, r); #if ENABLE(INPUT_SPEECH) case InputSpeechButtonPart: return paintInputFieldSpeechButton(o, paintInfo, r); #endif default: break; } return true; // We don't support the appearance, so let the normal background/border paint. }
bool RenderTheme::paint(const RenderBox& box, ControlStates& controlStates, const PaintInfo& paintInfo, const LayoutRect& rect) { // If painting is disabled, but we aren't updating control tints, then just bail. // If we are updating control tints, just schedule a repaint if the theme supports tinting // for that control. if (paintInfo.context().updatingControlTints()) { if (controlSupportsTints(box)) box.repaint(); return false; } if (paintInfo.context().paintingDisabled()) return false; ControlPart part = box.style().appearance(); IntRect integralSnappedRect = snappedIntRect(rect); float deviceScaleFactor = box.document().deviceScaleFactor(); FloatRect devicePixelSnappedRect = snapRectToDevicePixels(rect, deviceScaleFactor); #if USE(NEW_THEME) float pageScaleFactor = box.document().page() ? box.document().page()->pageScaleFactor() : 1.0f; switch (part) { case CheckboxPart: case RadioPart: case PushButtonPart: case SquareButtonPart: case DefaultButtonPart: case ButtonPart: case InnerSpinButtonPart: updateControlStatesForRenderer(box, controlStates); m_theme->paint(part, controlStates, paintInfo.context(), devicePixelSnappedRect, box.style().effectiveZoom(), &box.view().frameView(), deviceScaleFactor, pageScaleFactor); return false; default: break; } #else UNUSED_PARAM(controlStates); #endif // Call the appropriate paint method based off the appearance value. switch (part) { #if !USE(NEW_THEME) case CheckboxPart: return paintCheckbox(box, paintInfo, integralSnappedRect); case RadioPart: return paintRadio(box, paintInfo, integralSnappedRect); case PushButtonPart: case SquareButtonPart: case DefaultButtonPart: case ButtonPart: return paintButton(box, paintInfo, integralSnappedRect); case InnerSpinButtonPart: return paintInnerSpinButton(box, paintInfo, integralSnappedRect); #endif case MenulistPart: return paintMenuList(box, paintInfo, devicePixelSnappedRect); #if ENABLE(METER_ELEMENT) case MeterPart: case RelevancyLevelIndicatorPart: case ContinuousCapacityLevelIndicatorPart: case DiscreteCapacityLevelIndicatorPart: case RatingLevelIndicatorPart: return paintMeter(box, paintInfo, integralSnappedRect); #endif case ProgressBarPart: return paintProgressBar(box, paintInfo, integralSnappedRect); case SliderHorizontalPart: case SliderVerticalPart: return paintSliderTrack(box, paintInfo, integralSnappedRect); case SliderThumbHorizontalPart: case SliderThumbVerticalPart: return paintSliderThumb(box, paintInfo, integralSnappedRect); case MediaEnterFullscreenButtonPart: case MediaExitFullscreenButtonPart: return paintMediaFullscreenButton(box, paintInfo, integralSnappedRect); case MediaPlayButtonPart: return paintMediaPlayButton(box, paintInfo, integralSnappedRect); case MediaOverlayPlayButtonPart: return paintMediaOverlayPlayButton(box, paintInfo, integralSnappedRect); case MediaMuteButtonPart: return paintMediaMuteButton(box, paintInfo, integralSnappedRect); case MediaSeekBackButtonPart: return paintMediaSeekBackButton(box, paintInfo, integralSnappedRect); case MediaSeekForwardButtonPart: return paintMediaSeekForwardButton(box, paintInfo, integralSnappedRect); case MediaRewindButtonPart: return paintMediaRewindButton(box, paintInfo, integralSnappedRect); case MediaReturnToRealtimeButtonPart: return paintMediaReturnToRealtimeButton(box, paintInfo, integralSnappedRect); case MediaToggleClosedCaptionsButtonPart: return paintMediaToggleClosedCaptionsButton(box, paintInfo, integralSnappedRect); case MediaSliderPart: return paintMediaSliderTrack(box, paintInfo, integralSnappedRect); case MediaSliderThumbPart: return paintMediaSliderThumb(box, paintInfo, integralSnappedRect); case MediaVolumeSliderMuteButtonPart: return paintMediaMuteButton(box, paintInfo, integralSnappedRect); case MediaVolumeSliderContainerPart: return paintMediaVolumeSliderContainer(box, paintInfo, integralSnappedRect); case MediaVolumeSliderPart: return paintMediaVolumeSliderTrack(box, paintInfo, integralSnappedRect); case MediaVolumeSliderThumbPart: return paintMediaVolumeSliderThumb(box, paintInfo, integralSnappedRect); case MediaFullScreenVolumeSliderPart: return paintMediaFullScreenVolumeSliderTrack(box, paintInfo, integralSnappedRect); case MediaFullScreenVolumeSliderThumbPart: return paintMediaFullScreenVolumeSliderThumb(box, paintInfo, integralSnappedRect); case MediaTimeRemainingPart: return paintMediaTimeRemaining(box, paintInfo, integralSnappedRect); case MediaCurrentTimePart: return paintMediaCurrentTime(box, paintInfo, integralSnappedRect); case MediaControlsBackgroundPart: return paintMediaControlsBackground(box, paintInfo, integralSnappedRect); case MenulistButtonPart: case TextFieldPart: case TextAreaPart: case ListboxPart: return true; case SearchFieldPart: return paintSearchField(box, paintInfo, integralSnappedRect); case SearchFieldCancelButtonPart: return paintSearchFieldCancelButton(box, paintInfo, integralSnappedRect); case SearchFieldDecorationPart: return paintSearchFieldDecorationPart(box, paintInfo, integralSnappedRect); case SearchFieldResultsDecorationPart: return paintSearchFieldResultsDecorationPart(box, paintInfo, integralSnappedRect); case SearchFieldResultsButtonPart: return paintSearchFieldResultsButton(box, paintInfo, integralSnappedRect); case SnapshottedPluginOverlayPart: return paintSnapshottedPluginOverlay(box, paintInfo, integralSnappedRect); #if ENABLE(SERVICE_CONTROLS) case ImageControlsButtonPart: return paintImageControlsButton(box, paintInfo, integralSnappedRect); #endif case CapsLockIndicatorPart: return paintCapsLockIndicator(box, paintInfo, integralSnappedRect); #if ENABLE(ATTACHMENT_ELEMENT) case AttachmentPart: return paintAttachment(box, paintInfo, integralSnappedRect); #endif default: break; } return true; // We don't support the appearance, so let the normal background/border paint. }