mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-23 14:45:38 +00:00
3acd894f37
d13d8e521 Refactoring 4925c87a8 Update 794c38591 Update 49eee9643 Update 914aee5ea Update 3bb00ecee Fix ParserString string-view iterator cast in windows fabea2008 Fix string-view iterator cast in windows bbcf0d34f Update 081df20f2 Update fe3101f91 Refactoring e9a41dc83 Refactoring 637121f89 Update lunasvg.cpp d0abdccb1 Remove Document transformation methods caa4b2410 Fix ft_stroke_border_export assertion 592533914 Fix SW_FT_Outline points overflow #55 0d40b061c Update git-subtree-dir: external/lunasvg git-subtree-split: d13d8e521c21f5f750ef0f6f92163f0131afdd3e
38 lines
923 B
C++
38 lines
923 B
C++
#include "clippathelement.h"
|
|
#include "parser.h"
|
|
#include "layoutcontext.h"
|
|
|
|
namespace lunasvg {
|
|
|
|
ClipPathElement::ClipPathElement()
|
|
: GraphicsElement(ElementID::ClipPath)
|
|
{
|
|
}
|
|
|
|
Units ClipPathElement::clipPathUnits() const
|
|
{
|
|
auto& value = get(PropertyID::ClipPathUnits);
|
|
return Parser::parseUnits(value, Units::UserSpaceOnUse);
|
|
}
|
|
|
|
std::unique_ptr<LayoutClipPath> ClipPathElement::getClipper(LayoutContext* context) const
|
|
{
|
|
if(context->hasReference(this))
|
|
return nullptr;
|
|
|
|
LayoutBreaker layoutBreaker(context, this);
|
|
auto clipper = std::make_unique<LayoutClipPath>();
|
|
clipper->units = clipPathUnits();
|
|
clipper->transform = transform();
|
|
clipper->clipper = context->getClipper(clip_path());
|
|
layoutChildren(context, clipper.get());
|
|
return clipper;
|
|
}
|
|
|
|
std::unique_ptr<Node> ClipPathElement::clone() const
|
|
{
|
|
return cloneElement<ClipPathElement>();
|
|
}
|
|
|
|
} // namespace lunasvg
|