LibreOffice Module slideshow (master) 1
attributableshape.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <memory>
23
24#include "animatableshape.hxx"
27
28namespace slideshow::internal
29 {
30 // forward declaration necessary, because methods use AttributableShapeSharedPtr
31 class AttributableShape;
32
33 typedef ::std::shared_ptr< AttributableShape > AttributableShapeSharedPtr;
34
44 {
45 public:
46 // Attribute layer methods
47
48
72
88 virtual bool revokeAttributeLayer( const ShapeAttributeLayerSharedPtr& rLayer ) = 0;
89
109
110
121 virtual void setVisibility( bool bVisible ) = 0;
122
123 // Sub-item handling
124
125
132 virtual const DocTreeNodeSupplier& getTreeNodeSupplier() const = 0;
134
145 virtual DocTreeNode getSubsetNode() const = 0;
146
161 virtual AttributableShapeSharedPtr getSubset( const DocTreeNode& rTreeNode ) const = 0;
162
194 virtual bool createSubset( AttributableShapeSharedPtr& o_rSubset,
195 const DocTreeNode& rTreeNode ) = 0;
196
212 virtual bool revokeSubset( const AttributableShapeSharedPtr& rShape ) = 0;
213 };
214
215}
216
217/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Represents an animatable shape.
Represents an animatable shape, that can have its attributes changed.
virtual ShapeAttributeLayerSharedPtr getTopmostAttributeLayer() const =0
Get the topmost shape attribute layer (if any).
virtual bool createSubset(AttributableShapeSharedPtr &o_rSubset, const DocTreeNode &rTreeNode)=0
Create a subset Shape.
virtual DocTreeNode getSubsetNode() const =0
Query the subset this shape displays.
virtual AttributableShapeSharedPtr getSubset(const DocTreeNode &rTreeNode) const =0
Query a subset Shape, if already existent at this object.
virtual bool revokeAttributeLayer(const ShapeAttributeLayerSharedPtr &rLayer)=0
Revoke a previously generated attribute layer.
virtual DocTreeNodeSupplier & getTreeNodeSupplier()=0
virtual void setVisibility(bool bVisible)=0
Change default shape visibility.
virtual ShapeAttributeLayerSharedPtr createAttributeLayer()=0
Create a new shape attribute layer.
virtual bool revokeSubset(const AttributableShapeSharedPtr &rShape)=0
Revoke a previously generated shape subset.
virtual const DocTreeNodeSupplier & getTreeNodeSupplier() const =0
Retrieve interface for DocTreeNode creation.
Interface to retrieve DocTreeNodes from subsettable shapes.
This class represents kind of a DOM tree node for shape text.
Definition: doctreenode.hxx:45
::std::shared_ptr< ShapeAttributeLayer > ShapeAttributeLayerSharedPtr
::std::shared_ptr< AttributableShape > AttributableShapeSharedPtr