#pragma once #include "core/effect.hpp" namespace effector { // Covers the canvas with rectangular tiles cut at random positions from the // source images: the two-dimensional counterpart of the scanlines effect. class TilesEffect : public Effect { public: std::string name() const override { return "tiles"; } std::string title() const override { return "Tiles"; } std::string description() const override { return "Cuts rectangular tiles at random positions from the source images and lays " "them over the canvas, in a grid, in offset rows or scattered about."; } const std::vector& params() const override; Image render(const std::vector& sources, int width, int height, Rng& rng, const ParamValues& values) const override; }; } // namespace effector