diff options
Diffstat (limited to 'slideshow/source/inc/attributableshape.hxx')
-rw-r--r-- | slideshow/source/inc/attributableshape.hxx | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/slideshow/source/inc/attributableshape.hxx b/slideshow/source/inc/attributableshape.hxx deleted file mode 100644 index 1efba90b7..000000000 --- a/slideshow/source/inc/attributableshape.hxx +++ /dev/null @@ -1,231 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef INCLUDED_SLIDESHOW_ATTRIBUTABLESHAPE_HXX -#define INCLUDED_SLIDESHOW_ATTRIBUTABLESHAPE_HXX - -#include <boost/shared_ptr.hpp> - -#include "animatableshape.hxx" -#include "shapeattributelayer.hxx" -#include "doctreenodesupplier.hxx" - -namespace slideshow -{ - namespace internal - { - // forward declaration necessary, because methods use AttributableShapeSharedPtr - class AttributableShape; - - typedef ::boost::shared_ptr< AttributableShape > AttributableShapeSharedPtr; - - /** Represents an animatable shape, that can have its - attributes changed. - - Over an animatable shape, this interface adds attribute - modification methods. Furthermore, the shape can be - queried for sub items, which in turn can be separated out - into own AttributableShapes. - */ - class AttributableShape : public AnimatableShape - { - public: - // Attribute layer methods - //------------------------------------------------------------------ - - /** Create a new shape attribute layer. - - This method creates a new layer for shape attributes, - which lies atop of all previous attribute layers. That - is most typically used when a new SMIL animation - starts (which according to the spec always lies atop - of all previous animations). Thus, subsequent calls to - this method generate a sandwich of attribute layers, - which in total define the shape's attributes. - - Please note that the attribute layers do <em>not</em> - contain the underlying XShape's attributes as - default. Instead, attributes not explicitely set by - animations remain in invalid state, allowing the - shape's paint method to determine whether they have to - override the underlying graphical shape - representation. XShape attributes must be passed - explicitely to animations which need them (e.g. 'by' - animations). - - @return the new layer - */ - virtual ShapeAttributeLayerSharedPtr createAttributeLayer() = 0; - - /** Revoke a previously generated attribute layer. - - This method revokes a previously generated attribute - layer, and removes the effect of that layer from this - shape. The layer need not be the current toplevel - layer, it can also be revoked from in between. - - @param rLayer - Layer to revoke. Must have been generated by - createAttributeLayer() at the same Shape. - - @return true, if layer was successfully removed, false - otherwise (e.g. if the given layer was not generated - for this shape). - */ - virtual bool revokeAttributeLayer( const ShapeAttributeLayerSharedPtr& rLayer ) = 0; - - /** Get the topmost shape attribute layer (if any). - - This method returns the topmost layer for shape - attributes, i.e. the one which ultimately determines - the shape's look. - - Please note that the attribute layers do <em>not</em> - contain the underlying XShape's attributes as - default. Instead, attributes not explicitely set by - animations remain in invalid state, allowing the - shape's paint method to determine whether they have to - override the underlying graphical shape - representation. XShape attributes must be passed - explicitely to animations which need them (e.g. 'by' - animations). - - @return the topmost layer - */ - virtual ShapeAttributeLayerSharedPtr getTopmostAttributeLayer() const = 0; - - - /** Change default shape visibility - - This method hides or unhides a shape. Note that every - attribute layer generated for this shape is able to - override the setting given here, until it is revoked. - - @param bVisible - When true, shape will be visible, when false, - invisible (modulo attribute layer overrides). - */ - virtual void setVisibility( bool bVisible ) = 0; - - // Sub-item handling - //------------------------------------------------------------------ - - /** Retrieve interface for DocTreeNode creation. - - This method provides the caller with a reference to - the DocTreeNodeSupplier interface, which can be used - to request specific tree nodes for this shape. - */ - virtual const DocTreeNodeSupplier& getTreeNodeSupplier() const = 0; - virtual DocTreeNodeSupplier& getTreeNodeSupplier() = 0; - - /** Query the subset this shape displays. - - This method returns a tree node denoting the subset - displayed by this shape. If this shape is not a subset - shape, an empty tree node should be returned. If this - shape is a subset, and itself has subsetted children, - this method might return more than the shape is - actually displaying (because a single DocTreeNode is - not able to model holes in the range). - */ - virtual DocTreeNode getSubsetNode() const = 0; - - /** Query a subset Shape, if already existent at this - object - - This method returns a clone of this Shape, which - renders only the selected subset of itself, but only - if such a subset has been explicitely created before. - - @param rTreeNode - A DocTreeNode instance queried from this Shape, which - specifies the subset of the Shape to render. - - @return a NULL Shape pointer, if no subset exists for - the given DocTreeNode. - */ - virtual AttributableShapeSharedPtr getSubset( const DocTreeNode& rTreeNode ) const = 0; - - /** Create a subset Shape - - This method creates a clone of this Shape, which - renders only the selected subset of itself. Multiple - createSubset() calls for the same DocTreeNode will all - share the same subset shape. - - The original shape (i.e. the one this method is called - on) will cease to display the selected subset - part. That is, together the shapes will display the - original content, but the content of all subset shapes - and their original shape will always be mutually - disjunct. - - After deregistering the subset shape a matching number - of times via revokeSubset(), the original shape will - resume displaying the subsetted part. - - @attention To maintain view integrity, this method - should only be called from the LayerManager - - @param o_rSubset - The requested Shape - - @param rTreeNode - A DocTreeNode instance queried from this Shape, which - specifies the subset of the Shape to render - - @return true, if the shape was newly created, and - false, if an already existing subset is returned. - */ - virtual bool createSubset( AttributableShapeSharedPtr& o_rSubset, - const DocTreeNode& rTreeNode ) = 0; - - /** Revoke a previously generated shape subset. - - After revoking a subset shape, the corresponding - subset part will become visible again on the original - shape. - - @attention To maintain view integrity, this method - should only be called from the LayerManager - - @param rShape - The subset to revoke - - @return true, if the last client called - revokeSubset(). - */ - virtual bool revokeSubset( const AttributableShapeSharedPtr& rShape ) = 0; - }; - } -} - -#endif /* INCLUDED_SLIDESHOW_ATTRIBUTABLESHAPE_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |