| Flutter Impeller |

Classes | Namespaces | Macros | Functions | Variables
aiks_unittests.cc File Reference
`#include "flutter/impeller/aiks/aiks_unittests.h"`
`#include <array>`
`#include <cmath>`
`#include <cstdlib>`
`#include <memory>`
`#include <tuple>`
`#include <utility>`
`#include <vector>`
`#include "flutter/testing/testing.h"`
`#include "impeller/aiks/canvas.h"`
`#include "impeller/aiks/color_filter.h"`
`#include "impeller/aiks/image.h"`
`#include "impeller/aiks/image_filter.h"`
`#include "impeller/aiks/paint_pass_delegate.h"`
`#include "impeller/aiks/testing/context_spy.h"`
`#include "impeller/core/capture.h"`
`#include "impeller/entity/contents/conical_gradient_contents.h"`
`#include "impeller/entity/contents/filters/inputs/filter_input.h"`
`#include "impeller/entity/contents/linear_gradient_contents.h"`
`#include "impeller/entity/contents/radial_gradient_contents.h"`
`#include "impeller/entity/contents/solid_color_contents.h"`
`#include "impeller/entity/contents/sweep_gradient_contents.h"`
`#include "impeller/geometry/color.h"`
`#include "impeller/geometry/constants.h"`
`#include "impeller/geometry/geometry_asserts.h"`
`#include "impeller/geometry/matrix.h"`
`#include "impeller/geometry/path.h"`
`#include "impeller/geometry/path_builder.h"`
`#include "impeller/playground/widgets.h"`
`#include "impeller/renderer/command_buffer.h"`
`#include "impeller/renderer/snapshot.h"`
`#include "impeller/renderer/testing/mocks.h"`
`#include "impeller/scene/material.h"`
`#include "impeller/scene/node.h"`
`#include "impeller/typographer/backends/skia/text_frame_skia.h"`
`#include "impeller/typographer/backends/skia/typographer_context_skia.h"`
`#include "impeller/typographer/backends/stb/text_frame_stb.h"`
`#include "impeller/typographer/backends/stb/typeface_stb.h"`
`#include "impeller/typographer/backends/stb/typographer_context_stb.h"`
`#include "third_party/imgui/imgui.h"`
`#include "third_party/skia/include/core/SkFontMgr.h"`
`#include "third_party/skia/include/core/SkTypeface.h"`
`#include "txt/platform.h"`

Go to the source code of this file.

## Classes
struct | impeller::testing::TextRenderOptions
struct | impeller::testing::BlendModeSelection

## Namespaces
| impeller
| impeller::testing

## Macros
#define | BLEND_MODE_TUPLE(blend_mode) {#blend_mode, BlendMode::k##blend_mode},
#define | BLEND_MODE_TEST(blend_mode)
#define | FLT_FORWARD(mock, real, method)

## Functions
| impeller::testing::INSTANTIATE_PLAYGROUND_SUITE (AiksTest)
| impeller::testing::TEST_P (AiksTest, CanvasCTMCanBeUpdated)
| impeller::testing::TEST_P (AiksTest, CanvasCanPushPopCTM)
| impeller::testing::TEST_P (AiksTest, CanRenderColoredRect)
| impeller::testing::TEST_P (AiksTest, CanRenderImage)
| impeller::testing::TEST_P (AiksTest, CanRenderInvertedImageWithColorFilter)
| impeller::testing::TEST_P (AiksTest, CanRenderColorFilterWithInvertColors)
| impeller::testing::TEST_P (AiksTest, CanRenderColorFilterWithInvertColorsDrawPaint)
| impeller::testing::TEST_P (AiksTest, CanRenderTiledTextureClamp)
| impeller::testing::TEST_P (AiksTest, CanRenderTiledTextureClampAsync)
| impeller::testing::TEST_P (AiksTest, CanRenderTiledTextureRepeat)
| impeller::testing::TEST_P (AiksTest, CanRenderTiledTextureMirror)
| impeller::testing::TEST_P (AiksTest, CanRenderTiledTextureDecal)
| impeller::testing::TEST_P (AiksTest, CanRenderTiledTextureClampWithTranslate)
| impeller::testing::TEST_P (AiksTest, CanRenderImageRect)
| impeller::testing::TEST_P (AiksTest, CanRenderSimpleClips)
| impeller::testing::TEST_P (AiksTest, CanRenderNestedClips)
| impeller::testing::TEST_P (AiksTest, CanRenderDifferenceClips)
| impeller::testing::TEST_P (AiksTest, CanRenderWithContiguousClipRestores)
| impeller::testing::TEST_P (AiksTest, ClipsUseCurrentTransform)
| impeller::testing::TEST_P (AiksTest, CanSaveLayerStandalone)
| impeller::testing::TEST_P (AiksTest, CanRenderDifferentShapesWithSameColorSource)
| impeller::testing::TEST_P (AiksTest, CanPictureConvertToImage)
| impeller::testing::TEST_P (AiksTest, BlendModeShouldCoverWholeScreen)
| impeller::testing::TEST_P (AiksTest, CanRenderGroupOpacity)
| impeller::testing::TEST_P (AiksTest, CoordinateConversionsAreCorrect)
| impeller::testing::TEST_P (AiksTest, CanPerformFullScreenMSAA)
| impeller::testing::TEST_P (AiksTest, CanPerformSkew)
| impeller::testing::TEST_P (AiksTest, CanPerformSaveLayerWithBounds)
| impeller::testing::TEST_P (AiksTest, CanPerformSaveLayerWithBoundsAndLargerIntermediateIsNotAllocated)
| impeller::testing::TEST_P (AiksTest, CanRenderRoundedRectWithNonUniformRadii)
bool | impeller::testing::RenderTextInCanvasSkia (const std::shared_ptr< Context > &context, Canvas &canvas, const std::string &text, const std::string_view &font_fixture, TextRenderOptions options={})
bool | impeller::testing::RenderTextInCanvasSTB (const std::shared_ptr< Context > &context, Canvas &canvas, const std::string &text, const std::string &font_fixture, TextRenderOptions options={})
| impeller::testing::TEST_P (AiksTest, CanRenderTextFrame)
| impeller::testing::TEST_P (AiksTest, CanRenderTextFrameSTB)
| impeller::testing::TEST_P (AiksTest, TextFrameSubpixelAlignment)
| impeller::testing::TEST_P (AiksTest, CanRenderItalicizedText)
| impeller::testing::TEST_P (AiksTest, CanRenderEmojiTextFrame)
| impeller::testing::TEST_P (AiksTest, CanRenderEmojiTextFrameWithBlur)
| impeller::testing::TEST_P (AiksTest, CanRenderEmojiTextFrameWithAlpha)
| impeller::testing::TEST_P (AiksTest, CanRenderTextInSaveLayer)
| impeller::testing::TEST_P (AiksTest, CanRenderTextOutsideBoundaries)
| impeller::testing::TEST_P (AiksTest, TextRotated)
| impeller::testing::TEST_P (AiksTest, CanDrawPaint)
| impeller::testing::TEST_P (AiksTest, CanDrawPaintMultipleTimes)
| impeller::testing::TEST_P (AiksTest, CanDrawPaintWithAdvancedBlend)
| impeller::testing::TEST_P (AiksTest, DrawPaintWithAdvancedBlendOverFilter)
| impeller::testing::TEST_P (AiksTest, DrawAdvancedBlendPartlyOffscreen)
static BlendModeSelection | impeller::testing::GetBlendModeSelection ()
| impeller::testing::TEST_P (AiksTest, CanDrawPaintMultipleTimesInteractive)
| impeller::testing::TEST_P (AiksTest, PaintBlendModeIsRespected)
| impeller::testing::TEST_P (AiksTest, ColorWheel)
| impeller::testing::TEST_P (AiksTest, TransformMultipliesCorrectly)
| impeller::testing::TEST_P (AiksTest, FilledCirclesRenderCorrectly)
| impeller::testing::TEST_P (AiksTest, StrokedCirclesRenderCorrectly)
| impeller::testing::TEST_P (AiksTest, FilledEllipsesRenderCorrectly)
| impeller::testing::TEST_P (AiksTest, FilledRoundRectsRenderCorrectly)
| impeller::testing::TEST_P (AiksTest, SolidColorCirclesOvalsRRectsMaskBlurCorrectly)
| impeller::testing::TEST_P (AiksTest, FilledRoundRectPathsRenderCorrectly)
| impeller::testing::TEST_P (AiksTest, CoverageOriginShouldBeAccountedForInSubpasses)
| impeller::testing::TEST_P (AiksTest, SaveLayerDrawsBehindSubsequentEntities)
| impeller::testing::TEST_P (AiksTest, SiblingSaveLayerBoundsAreRespected)
| impeller::testing::TEST_P (AiksTest, CanRenderClippedLayers)
| impeller::testing::TEST_P (AiksTest, SaveLayerFiltersScaleWithTransform)
| impeller::testing::TEST_P (AiksTest, PaintWithFilters)
| impeller::testing::TEST_P (AiksTest, OpacityPeepHoleApplicationTest)
| impeller::testing::TEST_P (AiksTest, DrawPaintAbsorbsClears)
| impeller::testing::TEST_P (AiksTest, ParentSaveLayerCreatesRenderPassWhenChildBackdropFilterIsPresent)
| impeller::testing::TEST_P (AiksTest, DrawRectAbsorbsClears)
| impeller::testing::TEST_P (AiksTest, DrawRectAbsorbsClearsNegativeRRect)
| impeller::testing::TEST_P (AiksTest, DrawRectAbsorbsClearsNegativeRotation)
| impeller::testing::TEST_P (AiksTest, DrawRectAbsorbsClearsNegative)
| impeller::testing::TEST_P (AiksTest, ClipRectElidesNoOpClips)
| impeller::testing::TEST_P (AiksTest, ClearColorOptimizationDoesNotApplyForBackdropFilters)
| impeller::testing::TEST_P (AiksTest, CollapsedDrawPaintInSubpass)
| impeller::testing::TEST_P (AiksTest, CollapsedDrawPaintInSubpassBackdropFilter)
| impeller::testing::TEST_P (AiksTest, ForegroundBlendSubpassCollapseOptimization)
| impeller::testing::TEST_P (AiksTest, ColorMatrixFilterSubpassCollapseOptimization)
| impeller::testing::TEST_P (AiksTest, LinearToSrgbFilterSubpassCollapseOptimization)
| impeller::testing::TEST_P (AiksTest, SrgbToLinearFilterSubpassCollapseOptimization)
static Picture | impeller::testing::BlendModeTest (BlendMode blend_mode, const std::shared_ptr< Image > &src_image, const std::shared_ptr< Image > &dst_image)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerWithBlendColorFilterDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerWithBlendImageFilterDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerWithColorAndImageFilterDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, ImageFilteredSaveLayerWithUnboundedContents)
| impeller::testing::TEST_P (AiksTest, ImageFilteredUnboundedSaveLayerWithUnboundedContents)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerImageDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerWithColorMatrixColorFilterDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerWithColorMatrixImageFilterDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerWithColorFilterAndImageFilterDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, TranslucentSaveLayerWithAdvancedBlendModeDrawsCorrectly)
| impeller::testing::TEST_P (AiksTest, CanRenderTinyOverlappingSubpasses)
| impeller::testing::TEST_P (AiksTest, CanRenderOffscreenCheckerboard)
| impeller::testing::TEST_P (AiksTest, OpaqueEntitiesGetCoercedToSource)
| impeller::testing::TEST_P (AiksTest, CanRenderDestructiveSaveLayer)
| impeller::testing::TEST_P (AiksTest, CanRenderMaskBlurHugeSigma)
| impeller::testing::TEST_P (AiksTest, CanRenderBackdropBlurInteractive)
| impeller::testing::TEST_P (AiksTest, CanRenderBackdropBlur)
| impeller::testing::TEST_P (AiksTest, CanRenderBackdropBlurHugeSigma)
| impeller::testing::TEST_P (AiksTest, CanRenderClippedBlur)
| impeller::testing::TEST_P (AiksTest, CanRenderForegroundBlendWithMaskBlur)
| impeller::testing::TEST_P (AiksTest, CanRenderForegroundAdvancedBlendWithMaskBlur)
| impeller::testing::TEST_P (AiksTest, CanRenderClippedRuntimeEffects)
| impeller::testing::TEST_P (AiksTest, DrawPaintTransformsBounds)
| impeller::testing::TEST_P (AiksTest, CanDrawPoints)
| impeller::testing::TEST_P (AiksTest, DrawAtlasWithColorAdvancedAndTransform)
| impeller::testing::TEST_P (AiksTest, DrawAtlasAdvancedAndTransform)
| impeller::testing::TEST_P (AiksTest, CanDrawPointsWithTextureMap)
| impeller::testing::TEST_P (AiksTest, TextForegroundShaderWithTransform)
| impeller::testing::TEST_P (AiksTest, CanCanvasDrawPicture)
| impeller::testing::TEST_P (AiksTest, CanCanvasDrawPictureWithAdvancedBlend)
| impeller::testing::TEST_P (AiksTest, CanCanvasDrawPictureWithBackdropFilter)
| impeller::testing::TEST_P (AiksTest, DrawPictureWithText)
| impeller::testing::TEST_P (AiksTest, DrawPictureClipped)
| impeller::testing::TEST_P (AiksTest, MatrixSaveLayerFilter)
| impeller::testing::TEST_P (AiksTest, MatrixBackdropFilter)
| impeller::testing::TEST_P (AiksTest, SolidColorApplyColorFilter)
| impeller::testing::TEST_P (AiksTest, DrawScaledTextWithPerspectiveNoSaveLayer)
| impeller::testing::TEST_P (AiksTest, DrawScaledTextWithPerspectiveSaveLayer)
| impeller::testing::TEST_P (AiksTest, PipelineBlendSingleParameter)
| impeller::testing::TEST_P (AiksTest, ClippedBlurFilterRendersCorrectlyInteractive)
| impeller::testing::TEST_P (AiksTest, ClippedBlurFilterRendersCorrectly)
| impeller::testing::TEST_P (AiksTest, CaptureContext)
| impeller::testing::TEST_P (AiksTest, CaptureInactivatedByDefault)
| impeller::testing::TEST_P (AiksTest, ReleasesTextureOnTeardown)
| impeller::testing::TEST_P (AiksTest, VerticesGeometryUVPositionData)
| impeller::testing::TEST_P (AiksTest, VerticesGeometryUVPositionDataWithTranslate)
| impeller::testing::TEST_P (AiksTest, ClearBlendWithBlur)
| impeller::testing::TEST_P (AiksTest, ClearBlend)
| impeller::testing::TEST_P (AiksTest, MatrixImageFilterMagnify)
| impeller::testing::TEST_P (AiksTest, MatrixImageFilterDoesntCullWhenTranslatedFromOffscreen)
| impeller::testing::TEST_P (AiksTest, MatrixImageFilterDoesntCullWhenScaledAndTranslatedFromOffscreen)
| impeller::testing::TEST_P (AiksTest, ClearColorOptimizationWhenSubpassIsBiggerThanParentPass)
| impeller::testing::TEST_P (AiksTest, BlurHasNoEdge)
| impeller::testing::TEST_P (AiksTest, EmptySaveLayerIgnoresPaint)
| impeller::testing::TEST_P (AiksTest, EmptySaveLayerRendersWithClear)
| impeller::testing::TEST_P (AiksTest, BlurredRectangleWithShader)
| impeller::testing::TEST_P (AiksTest, MaskBlurWithZeroSigmaIsSkipped)
| impeller::testing::TEST_P (AiksTest, GaussianBlurAtPeripheryVertical)
| impeller::testing::TEST_P (AiksTest, GaussianBlurAtPeripheryHorizontal)
| impeller::testing::TEST_P (AiksTest, GaussianBlurWithoutDecalSupport)
| impeller::testing::TEST_P (AiksTest, GaussianBlurOneDimension)
| impeller::testing::TEST_P (AiksTest, GaussianBlurRotatedAndClipped)
| impeller::testing::TEST_P (AiksTest, GaussianBlurScaledAndClipped)
| impeller::testing::TEST_P (AiksTest, GaussianBlurRotatedAndClippedInteractive)
| impeller::testing::TEST_P (AiksTest, SubpassWithClearColorOptimization)

## Variables
static constexpr std::string_view | impeller::testing::kFontFixture

## Macro Definition Documentation

## ◆ BLEND_MODE_TEST

#define BLEND_MODE_TEST | ( |  | blend_mode | ) |

Value:
TEST_P(AiksTest, BlendMode##blend_mode) { \
auto src_image = std::make_shared<Image>( \
CreateTextureForFixture("blend_mode_src.png")); \
auto dst_image = std::make_shared<Image>( \
CreateTextureForFixture("blend_mode_dst.png")); \
OpenPlaygroundHere( \
BlendModeTest(BlendMode::k##blend_mode, src_image, dst_image)); \
}

Definition at line 2277 of file aiks_unittests.cc.

## ◆ BLEND_MODE_TUPLE

#define BLEND_MODE_TUPLE | ( |  | blend_mode | ) | {#blend_mode, BlendMode::k##blend_mode},

Definition at line 1000 of file aiks_unittests.cc.

## ◆ FLT_FORWARD

#define FLT_FORWARD | ( |  | mock,
|  |  | real,
|  |  | method
| ) |  |

Value:
EXPECT_CALL(*mock, method()) \
.WillRepeatedly(::testing::Return(real->method()));

Definition at line 3601 of file aiks_unittests.cc.

impeller::testing::TEST_P
TEST_P(AiksTest, SubpassWithClearColorOptimization)
Definition: aiks_unittests.cc:3766
impeller::testing::BlendModeTest
static Picture BlendModeTest(BlendMode blend_mode, const std::shared_ptr< Image > &src_image, const std::shared_ptr< Image > &dst_image)
Definition: aiks_unittests.cc:2196
impeller::testing::AiksTest
AiksPlayground AiksTest
Definition: aiks_unittests.h:17
impeller::BlendMode
BlendMode
Definition: color.h:59