20 #ifndef INCLUDED_VCL_VECTORGRAPHICDATA_HXX
21 #define INCLUDED_VCL_VECTORGRAPHICDATA_HXX
24 #include <com/sun/star/uno/Sequence.hxx>
27 #include <rtl/ustring.hxx>
43 const std::deque< css::uno::Reference< css::graphic::XPrimitive2D > >& rSequence,
45 const sal_uInt32 nMaximumQuadraticPixels = 500000,
47 const std::optional<Size>& rTargetDPI = std::nullopt);
67 std::deque< css::uno::Reference< css::graphic::XPrimitive2D > >
maSequence;
81 bool mbEnableEMFPlus =
true;
84 void ensurePdfReplacement();
85 void ensureReplacement();
86 void ensureSequenceAndRange();
96 sal_Int32 nPageIndex = -1);
103 void setWmfExternalHeader(
const WmfExternal& aExtHeader);
108 return maDataContainer;
111 enum class State { UNPARSED, PARSED };
112 std::pair<State, size_t> getSizeBytes()
const;
118 const std::deque<css::uno::Reference<css::graphic::XPrimitive2D>>& getPrimitive2DSequence()
const;
119 const BitmapEx& getReplacement()
const;
124 return std::max(sal_Int32(0), mnPageIndex);
129 mnPageIndex = nPageIndex;
134 maSizeHint = rSizeHint;
144 #endif // INCLUDED_VCL_VECTORGRAPHICDATA_HXX
sal_uInt64 BitmapChecksum
sal_Int32 mnPageIndex
If the vector format has more pages this denotes which page to render.
basegfx::B2DTuple maSizeHint
Useful for PDF, which is vector-based, but still rendered to a bitmap.
const BinaryDataContainer & getBinaryDataContainer() const
data read
Container for the binary data, whose responsibility is to manage the make it as simple as possible to...
void setSizeHint(const basegfx::B2DTuple &rSizeHint)
bool operator==(const ItalicMatrix &a, const ItalicMatrix &b)
basegfx::B2DRange maRange
bool isPrimitiveSequenceCreated() const
sal_Int32 getPageIndex() const
B2DRange getRange(const B2DPolygon &rCandidate)
void setPageIndex(sal_Int32 nPageIndex)
css::uno::Sequence< sal_Int8 > VectorGraphicDataArray
std::unique_ptr< WmfExternal > mpExternalHeader
BitmapEx VCL_DLLPUBLIC convertPrimitive2DSequenceToBitmapEx(const std::deque< css::uno::Reference< css::graphic::XPrimitive2D > > &rSequence, const basegfx::B2DRange &rTargetRange, const sal_uInt32 nMaximumQuadraticPixels=500000, const o3tl::Length eTargetUnit=o3tl::Length::mm100, const std::optional< Size > &rTargetDPI=std::nullopt)
VectorGraphicDataType meType
void setEnableEMFPlus(bool bEnableEMFPlus)
const basegfx::B2DTuple & getSizeHint() const
const VectorGraphicDataType & getType() const
std::deque< css::uno::Reference< css::graphic::XPrimitive2D > > maSequence
BinaryDataContainer maDataContainer