Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
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 525 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 526 of file dl_rendering_unittests.cc.

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

Member Function Documentation

◆ MakeDisplayList()

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

Definition at line 553 of file dl_rendering_unittests.cc.

553 {
554 DisplayListBuilder builder(kTestBounds2);
555 Render(&builder, info);
556 return builder.Build();
557 }
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 540 of file dl_rendering_unittests.cc.

540 {
541 FML_DCHECK(info.opacity == SK_Scalar1);
542 DlPaint paint;
543 dl_setup_({canvas, paint, dl_image_});
544 setup_paint_ = paint;
545 setup_matrix_ = canvas->GetMatrix();
547 DlIRect::RoundOut(canvas->GetDestinationClipCoverage());
548 is_setup_ = true;
549 dl_render_({canvas, paint, dl_image_});
550 dl_restore_({canvas, paint, dl_image_});
551 }
#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 535 of file dl_rendering_unittests.cc.

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

References Render().

Referenced by MakeDisplayList(), and Render().

◆ setup_paint()

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

Definition at line 559 of file dl_rendering_unittests.cc.

559 {
561 return setup_paint_;
562 }
#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 564 of file dl_rendering_unittests.cc.

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

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