20#ifndef INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_DRAWSHAPESUBSETTING_HXX
21#define INCLUDED_SLIDESHOW_SOURCE_ENGINE_SHAPES_DRAWSHAPESUBSETTING_HXX
80 void reset( const ::std::shared_ptr< GDIMetaFile >& rMtf );
129 sal_Int32 nNodeIndex,
204 void excludeSubset(sal_Int32 nExcludedStart, sal_Int32 nExcludedEnd);
210 const IndexClassificatorVector::const_iterator& rEnd,
213 const IndexClassificatorVector::const_iterator& rEnd,
214 sal_Int32 nNodeIndex,
220 ::std::shared_ptr< GDIMetaFile >
mpMtf;
This class represents kind of a DOM tree node for shape text.
NodeType
Type of shape entity represented by this node.
This class encapsulates the subsetting aspects of a DrawShape.
void excludeSubset(sal_Int32 nExcludedStart, sal_Int32 nExcludedEnd)
DrawShapeSubsetting()
Create empty shape subset handling.
IndexClassificator
This enum classifies each action index in the metafile.
@ CLASS_CHARACTER_CELL_END
ShapeSet maSubsetShapes
the list of subset shapes spawned from this one.
void addSubsetShape(const AttributableShapeSharedPtr &rShape)
Add child subset shape (or increase use count, if already existent)
bool mbNodeTreeInitialized
Whether the shape's doc tree has been initialized successfully, or not.
void initCurrentSubsets()
sal_Int32 getNumberOfTreeNodes(DocTreeNode::NodeType eNodeType) const
Return overall number of nodes for given type.
const DocTreeNode & getSubsetNode() const
Return subset node for this shape.
sal_Int32 getNumberOfSubsetTreeNodes(const DocTreeNode &rParentNode, DocTreeNode::NodeType eNodeType) const
Return number of nodes of given type, below parent node.
void ensureInitializedNodeTree() const
DocTreeNode getSubsetTreeNode(const DocTreeNode &rParentNode, sal_Int32 nNodeIndex, DocTreeNode::NodeType eNodeType) const
Return tree node of given index and given type, relative to parent node.
DrawShapeSubsetting & operator=(const DrawShapeSubsetting &)=delete
Forbid copy assignment.
bool revokeSubsetShape(const AttributableShapeSharedPtr &rShape)
Revoke subset shape.
IndexClassificatorVector maActionClassVector
::std::shared_ptr< GDIMetaFile > mpMtf
Metafile to retrieve subset info from.
DocTreeNode maSubset
Subset of the metafile represented by this object.
DocTreeNode implGetTreeNode(const IndexClassificatorVector::const_iterator &rBegin, const IndexClassificatorVector::const_iterator &rEnd, sal_Int32 nNodeIndex, DocTreeNode::NodeType eNodeType) const
DrawShapeSubsetting(const DrawShapeSubsetting &)=delete
Forbid copy construction.
AttributableShapeSharedPtr getSubsetShape(const DocTreeNode &rTreeNode) const
Get subset shape for given node, if any.
static sal_Int32 implGetNumberOfTreeNodes(const IndexClassificatorVector::const_iterator &rBegin, const IndexClassificatorVector::const_iterator &rEnd, DocTreeNode::NodeType eNodeType)
::std::set< SubsetEntry > ShapeSet
const VectorOfDocTreeNodes & getActiveSubsets() const
Return a vector of currently active subsets.
VectorOfDocTreeNodes maCurrentSubsets
Current number of subsets to render (calculated from maSubset and mnMin/MaxSubsetActionIndex).
::std::vector< IndexClassificator > IndexClassificatorVector
DocTreeNode getTreeNode(sal_Int32 nNodeIndex, DocTreeNode::NodeType eNodeType) const
Return tree node of given index and given type.
::std::shared_ptr< GDIMetaFile > GDIMetaFileSharedPtr
::std::vector< DocTreeNode > VectorOfDocTreeNodes
std::shared_ptr< GDIMetaFile > GDIMetaFileSharedPtr
::std::shared_ptr< AttributableShape > AttributableShapeSharedPtr
AttributableShapeSharedPtr mpShape
bool operator<(const SubsetEntry &rOther) const
The shape set is ordered according to this method.
int mnSubsetQueriedCount
Number of times this subset was queried, and not yet revoked.
sal_Int32 mnStartActionIndex
sal_Int32 mnEndActionIndex
sal_Int32 getHashValue() const