Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
flutter::testing::RenderEnvironment Class Reference

Public Member Functions

 RenderEnvironment (const DlSurfaceProvider *provider, PixelFormat format)
 
void InitializeReference (DlSetup &dl_setup, DlRenderer &dl_renderer, DlColor bg=DlColor::kTransparent())
 
RenderResult GetResult (const RenderJobInfo &info, JobRenderer &renderer) const
 
RenderResult GetResult (const sk_sp< DisplayList > &dl) const
 
PixelFormat GetPixelFormat () const
 
const DlSurfaceProviderGetProvider () const
 
bool IsValid () const
 
const std::string GetBackendName () const
 
const DlPaintGetReferencePaint () const
 
const DlMatrixGetReferenceMatrix () const
 
const DlIRectGetReferenceClipBounds () const
 
const RenderResultGetReferenceResult () const
 
const sk_sp< DlImageGetTestImage () const
 
const std::shared_ptr< DlTextGetTestText () const
 

Static Public Member Functions

static RenderEnvironment Make565 (const DlSurfaceProvider *provider)
 
static RenderEnvironment MakeN32 (const DlSurfaceProvider *provider)
 

Detailed Description

Definition at line 452 of file dl_rendering_unittests.cc.

Constructor & Destructor Documentation

◆ RenderEnvironment()

flutter::testing::RenderEnvironment::RenderEnvironment ( const DlSurfaceProvider provider,
PixelFormat  format 
)
inline

Definition at line 454 of file dl_rendering_unittests.cc.

455 : provider_(provider), format_(format) {}

References format.

Member Function Documentation

◆ GetBackendName()

const std::string flutter::testing::RenderEnvironment::GetBackendName ( ) const
inline

Definition at line 505 of file dl_rendering_unittests.cc.

505 {
506 return provider_->GetBackendName();
507 }
virtual const std::string GetBackendName() const =0

References flutter::testing::DlSurfaceProvider::GetBackendName().

Referenced by flutter::testing::CanvasCompareTester::RenderWith().

◆ GetPixelFormat()

PixelFormat flutter::testing::RenderEnvironment::GetPixelFormat ( ) const
inline

Definition at line 502 of file dl_rendering_unittests.cc.

502{ return format_; }

Referenced by flutter::testing::CanvasCompareTester::groupOpacityFudgeFactor().

◆ GetProvider()

◆ GetReferenceClipBounds()

const DlIRect & flutter::testing::RenderEnvironment::GetReferenceClipBounds ( ) const
inline

Definition at line 511 of file dl_rendering_unittests.cc.

511{ return ref_clip_bounds_; }

Referenced by flutter::testing::TestParameters::should_match().

◆ GetReferenceMatrix()

const DlMatrix & flutter::testing::RenderEnvironment::GetReferenceMatrix ( ) const
inline

Definition at line 510 of file dl_rendering_unittests.cc.

510{ return ref_matrix_; }

Referenced by flutter::testing::TestParameters::should_match().

◆ GetReferencePaint()

const DlPaint & flutter::testing::RenderEnvironment::GetReferencePaint ( ) const
inline

Definition at line 509 of file dl_rendering_unittests.cc.

509{ return ref_dl_paint_; }

Referenced by flutter::testing::TestParameters::should_match().

◆ GetReferenceResult()

const RenderResult & flutter::testing::RenderEnvironment::GetReferenceResult ( ) const
inline

Definition at line 512 of file dl_rendering_unittests.cc.

512{ return ref_dl_result_; }

Referenced by flutter::testing::CanvasCompareTester::RenderWith().

◆ GetResult() [1/2]

RenderResult flutter::testing::RenderEnvironment::GetResult ( const RenderJobInfo info,
JobRenderer renderer 
) const
inline

Definition at line 478 of file dl_rendering_unittests.cc.

479 {
480 std::shared_ptr<DlSurfaceInstance> surface =
481 getSurface(info.width, info.height);
482 FML_DCHECK(surface != nullptr);
483
484 DisplayListBuilder builder(DlRect::MakeWH(info.width, info.height));
485 builder.Clear(info.bg);
486 builder.Scale(info.scale, info.scale);
487 renderer.Render(*this, &builder, info);
488 sk_sp<DisplayList> display_list = builder.Build();
489 DlRect dl_bounds = display_list->GetBounds();
490 surface->RenderDisplayList(display_list);
491 surface->FlushSubmitCpuSync();
492
493 return RenderResult::Make(surface->SnapshotToPixelData(), dl_bounds);
494 }
VkSurfaceKHR surface
Definition main.cc:65
#define FML_DCHECK(condition)
Definition logging.h:122
impeller::Rect DlRect
static RenderResult Make(const std::shared_ptr< DlSurfaceInstance > &surface)
static constexpr TRect MakeWH(Type width, Type height)
Definition rect.h:140

References flutter::testing::RenderJobInfo::bg, flutter::DisplayListBuilder::Build(), flutter::DlCanvas::Clear(), FML_DCHECK, flutter::testing::RenderJobInfo::height, flutter::testing::RenderResult::Make(), impeller::TRect< Scalar >::MakeWH(), flutter::testing::JobRenderer::Render(), flutter::DisplayListBuilder::Scale(), flutter::testing::RenderJobInfo::scale, surface, and flutter::testing::RenderJobInfo::width.

Referenced by flutter::testing::CanvasCompareTester::checkGroupOpacity(), GetResult(), InitializeReference(), and flutter::testing::CanvasCompareTester::RenderWith().

◆ GetResult() [2/2]

RenderResult flutter::testing::RenderEnvironment::GetResult ( const sk_sp< DisplayList > &  dl) const
inline

Definition at line 496 of file dl_rendering_unittests.cc.

496 {
497 DisplayListJobRenderer job(dl);
498 RenderJobInfo info = {};
499 return GetResult(info, job);
500 }
RenderResult GetResult(const RenderJobInfo &info, JobRenderer &renderer) const

References GetResult().

◆ GetTestImage()

◆ GetTestText()

const std::shared_ptr< DlText > flutter::testing::RenderEnvironment::GetTestText ( ) const
inline

Definition at line 521 of file dl_rendering_unittests.cc.

521 {
522 if (test_text_ == nullptr) {
523 test_text_ = MakeTestText();
524 }
525 return test_text_;
526 }

Referenced by flutter::testing::TEST_F().

◆ InitializeReference()

void flutter::testing::RenderEnvironment::InitializeReference ( DlSetup dl_setup,
DlRenderer dl_renderer,
DlColor  bg = DlColor::kTransparent() 
)
inline

Definition at line 465 of file dl_rendering_unittests.cc.

467 {
468 RenderJobInfo info = {
469 .bg = bg,
470 };
471 DlJobRenderer dl_job(dl_setup, dl_renderer, kEmptyDlRenderer);
472 ref_dl_result_ = GetResult(info, dl_job);
473 ref_dl_paint_ = dl_job.GetSetupPaint();
474 ref_matrix_ = dl_job.GetSetupMatrix();
475 ref_clip_bounds_ = dl_job.GetSetupClipBounds();
476 }
static const DlRenderer kEmptyDlRenderer

References flutter::testing::RenderJobInfo::bg, GetResult(), flutter::testing::MatrixClipJobRenderer::GetSetupClipBounds(), flutter::testing::MatrixClipJobRenderer::GetSetupMatrix(), flutter::testing::DlJobRenderer::GetSetupPaint(), and flutter::testing::kEmptyDlRenderer.

Referenced by flutter::testing::CanvasCompareTester::RenderAll(), flutter::testing::CanvasCompareTester::RenderWithAttributes(), flutter::testing::CanvasCompareTester::RenderWithSaveRestore(), flutter::testing::CanvasCompareTester::RenderWithStrokes(), and flutter::testing::TEST_F().

◆ IsValid()

bool flutter::testing::RenderEnvironment::IsValid ( ) const
inline

Definition at line 504 of file dl_rendering_unittests.cc.

504{ return provider_->SupportsPixelFormat(format_); }
virtual bool SupportsPixelFormat(PixelFormat format) const =0

References flutter::testing::DlSurfaceProvider::SupportsPixelFormat().

◆ Make565()

static RenderEnvironment flutter::testing::RenderEnvironment::Make565 ( const DlSurfaceProvider provider)
inlinestatic

Definition at line 457 of file dl_rendering_unittests.cc.

457 {
458 return RenderEnvironment(provider, PixelFormat::k565);
459 }
RenderEnvironment(const DlSurfaceProvider *provider, PixelFormat format)

◆ MakeN32()


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