19 DlRect& output_bounds)
const {
21 return &output_bounds;
28 output_bounds = input_bounds;
35 return &output_bounds;
44 input_bounds = output_bounds;
57 return (matrix_ == that->matrix_ && sampling_ == that->sampling_);
virtual T type() const =0
DlIRect * get_input_device_bounds(const DlIRect &output_bounds, const DlMatrix &ctm, DlIRect &input_bounds) const override
DlRect * map_local_bounds(const DlRect &input_bounds, DlRect &output_bounds) const override
DlImageSampling sampling() const
DlIRect * map_device_bounds(const DlIRect &input_bounds, const DlMatrix &ctm, DlIRect &output_bounds) const override
bool equals_(const DlImageFilter &other) const override
const DlMatrix & matrix() const
static std::shared_ptr< DlImageFilter > Make(const DlMatrix &matrix, DlImageSampling sampling)
#define FML_DCHECK(condition)
A 4x4 matrix using column-major storage.
constexpr bool IsIdentity() const
bool IsInvertible() const
static constexpr std::enable_if_t< std::is_floating_point_v< FT >, TRect > Make(const TRect< U > &rect)
RoundOut(const TRect< U > &r)
constexpr TRect TransformAndClipBounds(const Matrix &transform) const
Creates a new bounding box that contains this transformed rectangle, clipped against the near clippin...