OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/output/software_renderer.h" | 5 #include "cc/output/software_renderer.h" |
6 | 6 |
7 #include "base/trace_event/trace_event.h" | 7 #include "base/trace_event/trace_event.h" |
8 #include "cc/base/math_util.h" | 8 #include "cc/base/math_util.h" |
9 #include "cc/output/compositor_frame.h" | 9 #include "cc/output/compositor_frame.h" |
10 #include "cc/output/compositor_frame_ack.h" | 10 #include "cc/output/compositor_frame_ack.h" |
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 | 629 |
630 skia::RefPtr<SkImage> SoftwareRenderer::ApplyImageFilter( | 630 skia::RefPtr<SkImage> SoftwareRenderer::ApplyImageFilter( |
631 SkImageFilter* filter, | 631 SkImageFilter* filter, |
632 const RenderPassDrawQuad* quad, | 632 const RenderPassDrawQuad* quad, |
633 const SkBitmap* to_filter) const { | 633 const SkBitmap* to_filter) const { |
634 if (!filter) | 634 if (!filter) |
635 return nullptr; | 635 return nullptr; |
636 | 636 |
637 SkImageInfo dst_info = | 637 SkImageInfo dst_info = |
638 SkImageInfo::MakeN32Premul(to_filter->width(), to_filter->height()); | 638 SkImageInfo::MakeN32Premul(to_filter->width(), to_filter->height()); |
639 skia::RefPtr<SkSurface> surface = | 639 sk_sp<SkSurface> surface = SkSurface::MakeRaster(dst_info); |
640 skia::AdoptRef(SkSurface::NewRaster(dst_info)); | |
641 | 640 |
642 SkMatrix localM; | 641 SkMatrix localM; |
643 localM.setTranslate(SkIntToScalar(-quad->rect.origin().x()), | 642 localM.setTranslate(SkIntToScalar(-quad->rect.origin().x()), |
644 SkIntToScalar(-quad->rect.origin().y())); | 643 SkIntToScalar(-quad->rect.origin().y())); |
645 localM.preScale(quad->filters_scale.x(), quad->filters_scale.y()); | 644 localM.preScale(quad->filters_scale.x(), quad->filters_scale.y()); |
646 | 645 |
647 SkPaint paint; | 646 SkPaint paint; |
648 paint.setImageFilter(filter->makeWithLocalMatrix(localM)); | 647 paint.setImageFilter(filter->makeWithLocalMatrix(localM)); |
649 surface->getCanvas()->drawBitmap(*to_filter, 0, 0, &paint); | 648 surface->getCanvas()->drawBitmap(*to_filter, 0, 0, &paint); |
650 | 649 |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 ApplyImageFilter(filter.get(), quad, &backdrop_bitmap); | 714 ApplyImageFilter(filter.get(), quad, &backdrop_bitmap); |
716 | 715 |
717 if (!filter_backdrop_image) | 716 if (!filter_backdrop_image) |
718 return nullptr; | 717 return nullptr; |
719 | 718 |
720 return filter_backdrop_image->makeShader(content_tile_mode, content_tile_mode, | 719 return filter_backdrop_image->makeShader(content_tile_mode, content_tile_mode, |
721 &filter_backdrop_transform); | 720 &filter_backdrop_transform); |
722 } | 721 } |
723 | 722 |
724 } // namespace cc | 723 } // namespace cc |
OLD | NEW |