Donner 0.5.0
Embeddable browser-grade SVG2 engine
Loading...
Searching...
No Matches
FilterGraphExecutor.h File Reference
#include <cstdint>
#include <optional>
#include <span>
#include <vector>
#include "donner/base/Box.h"
#include "donner/base/Transform.h"
#include "donner/svg/components/filter/FilterGraph.h"
#include "tiny_skia/Pixmap.h"
Include dependency graph for FilterGraphExecutor.h:

Namespaces

namespace  donner
 Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css.
namespace  donner::svg
 Donner SVG library, which can load, manipulate and render SVG files.

Functions

std::vector< std::uint8_t > donner::svg::PremultiplyRgba (std::span< const std::uint8_t > rgbaPixels)
 Converts straight-alpha RGBA bytes to premultiplied RGBA.
void donner::svg::ApplyFilterGraphToPixmap (tiny_skia::Pixmap &pixmap, const components::FilterGraph &filterGraph, const Transform2d &deviceFromFilter, const std::optional< Box2d > &filterRegion, bool clipSourceToFilterRegion=false, const tiny_skia::Pixmap *fillPaintInput=nullptr, const tiny_skia::Pixmap *strokePaintInput=nullptr)
 Applies a Donner filter graph to a premultiplied RGBA pixmap in place.
void donner::svg::ClipFilterOutputToRegion (tiny_skia::Pixmap &pixmap, const std::optional< Box2d > &filterRegion, const Transform2d &deviceFromFilter)
 Clears pixels outside the transformed filter region.