本文整理汇总了C++中SVGPathParser类的典型用法代码示例。如果您正苦于以下问题:C++ SVGPathParser类的具体用法?C++ SVGPathParser怎么用?C++ SVGPathParser使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SVGPathParser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: buildPathFromString
bool buildPathFromString(const String& d, Path& result)
{
if (d.isEmpty())
return true;
SVGPathBuilder* builder = globalSVGPathBuilder(result);
auto source = std::make_unique<SVGPathStringSource>(d);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(NormalizedParsing);
parser->cleanup();
return ok;
}
示例2: buildPathFromByteStream
bool buildPathFromByteStream(const SVGPathByteStream* stream, Path& result)
{
ASSERT(stream);
if (stream->isEmpty())
return true;
SVGPathBuilder* builder = globalSVGPathBuilder(result);
SVGPathByteStreamSource source(stream);
SVGPathParser* parser = globalSVGPathParser(&source, builder);
bool ok = parser->parsePathDataFromSource(NormalizedParsing);
parser->cleanup();
return ok;
}
示例3: buildPathFromByteStream
bool buildPathFromByteStream(SVGPathByteStream* stream, Path& result)
{
ASSERT(stream);
if (stream->isEmpty())
return true;
SVGPathBuilder* builder = globalSVGPathBuilder(result);
auto source = std::make_unique<SVGPathByteStreamSource>(stream);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(NormalizedParsing);
parser->cleanup();
return ok;
}
示例4: ASSERT
bool SVGPathParserFactory::buildSVGPathSegListFromByteStream(SVGPathByteStream* stream, SVGPathElement* element, SVGPathSegList& result, PathParsingMode parsingMode)
{
ASSERT(stream);
if (stream->isEmpty())
return false;
SVGPathSegListBuilder* builder = globalSVGPathSegListBuilder(element, parsingMode == NormalizedParsing ? PathSegNormalizedRole : PathSegUnalteredRole, result);
OwnPtr<SVGPathByteStreamSource> source = SVGPathByteStreamSource::create(stream);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
parser->cleanup();
return ok;
}
示例5: buildSVGPathSegListFromByteStream
bool buildSVGPathSegListFromByteStream(SVGPathByteStream* stream, SVGPathElement* element, SVGPathSegList& result, PathParsingMode parsingMode)
{
ASSERT(stream);
if (stream->isEmpty())
return true;
SVGPathSegListBuilder* builder = globalSVGPathSegListBuilder(element, parsingMode == NormalizedParsing ? PathSegNormalizedRole : PathSegUnalteredRole, result);
auto source = std::make_unique<SVGPathByteStreamSource>(stream);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
parser->cleanup();
return ok;
}
示例6: buildStringFromByteStream
bool buildStringFromByteStream(SVGPathByteStream* stream, String& result, PathParsingMode parsingMode)
{
ASSERT(stream);
if (stream->isEmpty())
return true;
SVGPathStringBuilder* builder = globalSVGPathStringBuilder();
auto source = std::make_unique<SVGPathByteStreamSource>(stream);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
result = builder->result();
parser->cleanup();
return ok;
}
示例7: buildStringFromByteStream
bool buildStringFromByteStream(const SVGPathByteStream* stream, String& result, PathParsingMode parsingMode)
{
ASSERT(stream);
if (stream->isEmpty())
return true;
SVGPathStringBuilder* builder = globalSVGPathStringBuilder();
SVGPathByteStreamSource source(stream);
SVGPathParser* parser = globalSVGPathParser(&source, builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
result = builder->result();
parser->cleanup();
return ok;
}
示例8: buildSVGPathByteStreamFromString
bool buildSVGPathByteStreamFromString(const String& d, SVGPathByteStream* result, PathParsingMode parsingMode)
{
ASSERT(result);
result->clear();
if (d.isEmpty())
return true;
SVGPathByteStreamBuilder* builder = globalSVGPathByteStreamBuilder(result);
auto source = std::make_unique<SVGPathStringSource>(d);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
parser->cleanup();
return ok;
}
示例9: buildStringFromSVGPathSegList
bool buildStringFromSVGPathSegList(const SVGPathSegList& list, String& result, PathParsingMode parsingMode)
{
result = String();
if (list.isEmpty())
return true;
SVGPathStringBuilder* builder = globalSVGPathStringBuilder();
auto source = std::make_unique<SVGPathSegListSource>(list);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
result = builder->result();
parser->cleanup();
return ok;
}
示例10: buildStringFromSVGPathSegList
bool buildStringFromSVGPathSegList(const SVGPathSegList& list, String& result, PathParsingMode parsingMode)
{
result = String();
if (list.isEmpty())
return false;
SVGPathStringBuilder* builder = globalSVGPathStringBuilder();
OwnPtr<SVGPathSegListSource> source = SVGPathSegListSource::create(list);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
result = builder->result();
parser->cleanup();
return ok;
}
示例11: buildSVGPathByteStreamFromSVGPathSegList
bool buildSVGPathByteStreamFromSVGPathSegList(const SVGPathSegList& list, SVGPathByteStream* result, PathParsingMode parsingMode)
{
ASSERT(result);
result->clear();
if (list.isEmpty())
return false;
SVGPathByteStreamBuilder* builder = globalSVGPathByteStreamBuilder(result);
OwnPtr<SVGPathSegListSource> source = SVGPathSegListSource::create(list);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(parsingMode);
parser->cleanup();
return ok;
}
示例12: getTotalLengthOfSVGPathByteStream
bool getTotalLengthOfSVGPathByteStream(const SVGPathByteStream* stream, float& totalLength)
{
ASSERT(stream);
if (stream->isEmpty())
return false;
PathTraversalState traversalState(PathTraversalState::TraversalTotalLength);
SVGPathTraversalStateBuilder* builder = globalSVGPathTraversalStateBuilder(traversalState, 0);
SVGPathByteStreamSource source(stream);
SVGPathParser* parser = globalSVGPathParser(&source, builder);
bool ok = parser->parsePathDataFromSource(NormalizedParsing);
totalLength = builder->totalLength();
parser->cleanup();
return ok;
}
示例13: getPointAtLengthOfSVGPathByteStream
bool getPointAtLengthOfSVGPathByteStream(SVGPathByteStream* stream, float length, FloatPoint& point)
{
ASSERT(stream);
if (stream->isEmpty())
return false;
PathTraversalState traversalState(PathTraversalState::TraversalPointAtLength);
SVGPathTraversalStateBuilder* builder = globalSVGPathTraversalStateBuilder(traversalState, length);
OwnPtr<SVGPathByteStreamSource> source = SVGPathByteStreamSource::create(stream);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(NormalizedParsing);
point = builder->currentPoint();
parser->cleanup();
return ok;
}
示例14: getPointAtLengthOfSVGPathByteStream
bool getPointAtLengthOfSVGPathByteStream(SVGPathByteStream* stream, float length, SVGPoint& point)
{
ASSERT(stream);
if (stream->isEmpty())
return false;
PathTraversalState traversalState(PathTraversalState::Action::VectorAtLength);
SVGPathTraversalStateBuilder* builder = globalSVGPathTraversalStateBuilder(traversalState, length);
auto source = std::make_unique<SVGPathByteStreamSource>(stream);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(NormalizedParsing);
point = builder->currentPoint();
parser->cleanup();
return ok;
}
示例15: getTotalLengthOfSVGPathByteStream
bool getTotalLengthOfSVGPathByteStream(SVGPathByteStream* stream, float& totalLength)
{
ASSERT(stream);
if (stream->isEmpty())
return false;
PathTraversalState traversalState(PathTraversalState::Action::TotalLength);
SVGPathTraversalStateBuilder* builder = globalSVGPathTraversalStateBuilder(traversalState, 0);
auto source = std::make_unique<SVGPathByteStreamSource>(stream);
SVGPathParser* parser = globalSVGPathParser(source.get(), builder);
bool ok = parser->parsePathDataFromSource(NormalizedParsing);
totalLength = builder->totalLength();
parser->cleanup();
return ok;
}