Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
svg
SkSVGCanvas.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2015 Google Inc.
3
*
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the LICENSE file.
6
*/
7
8
#include "
include/svg/SkSVGCanvas.h
"
9
10
#include "
include/core/SkCanvas.h
"
11
#include "
include/core/SkRect.h
"
12
#include "
include/core/SkRefCnt.h
"
13
#include "
include/private/base/SkTo.h
"
14
#include "
src/svg/SkSVGDevice.h
"
15
#include "
src/xml/SkXMLWriter.h
"
16
17
#include <utility>
18
19
std::unique_ptr<SkCanvas>
SkSVGCanvas::Make
(
const
SkRect
& bounds,
SkWStream
* writer,
20
uint32_t
flags
) {
21
// TODO: pass full bounds to the device
22
const
auto
size = bounds.roundOut().size();
23
const
auto
xml_flags = (
flags
&
kNoPrettyXML_Flag
) ?
SkToU32
(
SkXMLStreamWriter::kNoPretty_Flag
)
24
: 0;
25
26
auto
svgDevice =
SkSVGDevice::Make
(size,
27
std::make_unique<SkXMLStreamWriter>(writer, xml_flags),
28
flags
);
29
30
return
svgDevice ? std::make_unique<SkCanvas>(std::move(svgDevice))
31
:
nullptr
;
32
}
SkCanvas.h
SkRect.h
SkRefCnt.h
SkSVGCanvas.h
SkSVGDevice.h
SkTo.h
SkToU32
constexpr uint32_t SkToU32(S x)
Definition
SkTo.h:26
SkXMLWriter.h
SkSVGCanvas::kNoPrettyXML_Flag
@ kNoPrettyXML_Flag
Definition
SkSVGCanvas.h:24
SkSVGCanvas::Make
static std::unique_ptr< SkCanvas > Make(const SkRect &bounds, SkWStream *, uint32_t flags=0)
Definition
SkSVGCanvas.cpp:19
SkSVGDevice::Make
static sk_sp< SkDevice > Make(const SkISize &size, std::unique_ptr< SkXMLWriter >, uint32_t flags)
Definition
SkSVGDevice.cpp:731
SkWStream
Definition
SkStream.h:218
SkXMLStreamWriter::kNoPretty_Flag
@ kNoPretty_Flag
Definition
SkXMLWriter.h:67
flags
FlutterSemanticsFlag flags
Definition
fl_accessible_node.cc:105
SkRect
Definition
extension.cpp:13
Generated on Fri Apr 26 2024 06:17:34 for Flutter Engine by
1.9.8