Flutter Engine
 
Loading...
Searching...
No Matches
flutter::testing::DlJobRenderer Struct Reference
Inheritance diagram for flutter::testing::DlJobRenderer:
flutter::testing::MatrixClipJobRenderer flutter::testing::JobRenderer

Public Member Functions

 DlJobRenderer (const DlSetup &dl_setup, const DlRenderer &dl_render, const DlRenderer &dl_restore, const sk_sp< DlImage > &dl_image)
 
void Render (SkCanvas *sk_canvas, const RenderJobInfo &info) override
 
void Render (DlCanvas *canvas, const RenderJobInfo &info)
 
sk_sp< DisplayListMakeDisplayList (const RenderJobInfo &info)
 
const DlPaintsetup_paint () const
 
bool targets_impeller () const override
 
- Public Member Functions inherited from flutter::testing::MatrixClipJobRenderer
const DlMatrixsetup_matrix () const
 
const DlIRectsetup_clip_bounds () const
 

Additional Inherited Members

- Protected Attributes inherited from flutter::testing::MatrixClipJobRenderer
bool is_setup_ = false
 
DlMatrix setup_matrix_
 
DlIRect setup_clip_bounds_
 

Detailed Description

Definition at line 524 of file dl_rendering_unittests.cc.

Constructor & Destructor Documentation

◆ DlJobRenderer()

flutter::testing::DlJobRenderer::DlJobRenderer ( const DlSetup dl_setup,
const DlRenderer dl_render,
const DlRenderer dl_restore,
const sk_sp< DlImage > &  dl_image 
)
inlineexplicit

Definition at line 525 of file dl_rendering_unittests.cc.

529 : dl_setup_(dl_setup),
530 dl_render_(dl_render),
531 dl_restore_(dl_restore),
532 dl_image_(dl_image) {}

Member Function Documentation

◆ MakeDisplayList()

sk_sp< DisplayList > flutter::testing::DlJobRenderer::MakeDisplayList ( const RenderJobInfo info)
inline

Definition at line 552 of file dl_rendering_unittests.cc.

552 {
553 DisplayListBuilder builder(kTestBounds2);
554 Render(&builder, info);
555 return builder.Build();
556 }
constexpr DlRect kTestBounds2
void Render(SkCanvas *sk_canvas, const RenderJobInfo &info) override

References flutter::DisplayListBuilder::Build(), flutter::testing::kTestBounds2, and Render().

Referenced by flutter::testing::RenderEnvironment::getImpellerResult(), and flutter::testing::CanvasCompareTester::RenderWith().

◆ Render() [1/2]

void flutter::testing::DlJobRenderer::Render ( DlCanvas canvas,
const RenderJobInfo info 
)
inline

Definition at line 539 of file dl_rendering_unittests.cc.

539 {
540 FML_DCHECK(info.opacity == SK_Scalar1);
541 DlPaint paint;
542 dl_setup_({canvas, paint, dl_image_});
543 setup_paint_ = paint;
544 setup_matrix_ = canvas->GetMatrix();
546 DlIRect::RoundOut(canvas->GetDestinationClipCoverage());
547 is_setup_ = true;
548 dl_render_({canvas, paint, dl_image_});
549 dl_restore_({canvas, paint, dl_image_});
550 }
#define FML_DCHECK(condition)
Definition logging.h:122
flutter::DlPaint DlPaint
RoundOut(const TRect< U > &r)
Definition rect.h:679

References FML_DCHECK, flutter::DlCanvas::GetDestinationClipCoverage(), flutter::DlCanvas::GetMatrix(), flutter::testing::MatrixClipJobRenderer::is_setup_, flutter::testing::RenderJobInfo::opacity, impeller::TRect< T >::RoundOut(), flutter::testing::MatrixClipJobRenderer::setup_clip_bounds_, and flutter::testing::MatrixClipJobRenderer::setup_matrix_.

◆ Render() [2/2]

void flutter::testing::DlJobRenderer::Render ( SkCanvas *  sk_canvas,
const RenderJobInfo info 
)
inlineoverridevirtual

Implements flutter::testing::JobRenderer.

Definition at line 534 of file dl_rendering_unittests.cc.

534 {
535 DlSkCanvasAdapter canvas(sk_canvas);
536 Render(&canvas, info);
537 }

References Render().

Referenced by MakeDisplayList(), and Render().

◆ setup_paint()

const DlPaint & flutter::testing::DlJobRenderer::setup_paint ( ) const
inline

Definition at line 558 of file dl_rendering_unittests.cc.

558 {
560 return setup_paint_;
561 }
#define FML_CHECK(condition)
Definition logging.h:104

References FML_CHECK, and flutter::testing::MatrixClipJobRenderer::is_setup_.

Referenced by flutter::testing::RenderEnvironment::init_ref(), and flutter::testing::CanvasCompareTester::RenderWith().

◆ targets_impeller()

bool flutter::testing::DlJobRenderer::targets_impeller ( ) const
inlineoverridevirtual

Reimplemented from flutter::testing::JobRenderer.

Definition at line 563 of file dl_rendering_unittests.cc.

563 {
564 return dl_image_->impeller_texture() != nullptr;
565 }

The documentation for this struct was generated from the following file: