5#ifndef FLUTTER_FLOW_RASTER_CACHE_UTIL_H_
6#define FLUTTER_FLOW_RASTER_CACHE_UTIL_H_
10#include "include/core/SkM44.h"
11#include "include/core/SkMatrix.h"
12#include "include/core/SkRect.h"
40 if (cull_rect.isEmpty()) {
45 if (!cull_rect.isFinite()) {
47 FML_LOG(INFO) <<
"Attempted to raster cache non-finite display list";
56 ctm.mapRect(&device_rect, rect);
61 const SkMatrix& ctm) {
63 ctm.mapRect(&device_rect, rect);
64 device_rect.roundOut(&device_rect);
#define FML_LOG(severity)
static bool CanRasterizeRect(const SkRect &cull_rect)
static bool ComputeIntegralTransCTM(const SkMatrix &in, SkMatrix *out)
Snap the translation components of the |in| matrix to integers and store the snapped matrix in |out|.
static SkMatrix GetIntegralTransCTM(const SkMatrix &ctm)
Snap the translation components of the matrix to integers.
static SkRect GetRoundedOutDeviceBounds(const SkRect &rect, const SkMatrix &ctm)
static constexpr int kDefaultPictureAndDisplayListCacheLimitPerFrame
static constexpr int kMinimumRendersBeforeCachingFilterLayer
static SkM44 GetIntegralTransCTM(const SkM44 &ctm)
Snap the translation components of the matrix to integers.
static DlMatrix GetIntegralTransCTM(const DlMatrix &ctm)
Snap the translation components of the matrix to integers.
static SkRect GetDeviceBounds(const SkRect &rect, const SkMatrix &ctm)
A 4x4 matrix using column-major storage.