diff options
Diffstat (limited to 'slideshow/source/inc/smilfunctionparser.hxx')
-rw-r--r-- | slideshow/source/inc/smilfunctionparser.hxx | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/slideshow/source/inc/smilfunctionparser.hxx b/slideshow/source/inc/smilfunctionparser.hxx deleted file mode 100644 index c99550ec6..000000000 --- a/slideshow/source/inc/smilfunctionparser.hxx +++ /dev/null @@ -1,170 +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_SMILFUNCTIONPARSER_HXX -#define INCLUDED_SLIDESHOW_SMILFUNCTIONPARSER_HXX - -#include "expressionnode.hxx" -#include "slideshowexceptions.hxx" - -#include <basegfx/range/b2drectangle.hxx> - -#include <boost/noncopyable.hpp> - -namespace rtl -{ - class OUString; -} - -/* Definition of SmilFunctionParser class */ - -namespace slideshow -{ - namespace internal - { - class SmilFunctionParser : private boost::noncopyable - { - public: - /** Parse a string containing a SMIL value. - - This method parses a string representing - a fixed value (i.e. a value that does not - change by time). Due to the dynamic view - capabilities of the presentation engine, - this value can sometimes only be determined - during runtime of the animation (because - e.g. mixed screen/view coordinates are - involved), and is thus still returned as an - ExpressionNode object. An example for - such a case is the "Width+1.0" string, which - contains the width of the shape in user - coordinate space, and the screen width - in device coordinate space. - - The following grammar is accepted by this method: - <code> - identifier = 'pi'|'e'|'X'|'Y'|'Width'|'Height' - - function = 'abs'|'sqrt'|'sin'|'cos'|'tan'|'atan'|'acos'|'asin'|'exp'|'log' - - basic_expression = - number | - identifier | - function '(' additive_expression ')' | - '(' additive_expression ')' - - unary_expression = - '-' basic_expression | - basic_expression - - multiplicative_expression = - unary_expression ( ( '*' unary_expression )* | - ( '/' unary_expression )* ) - - additive_expression = - multiplicative_expression ( ( '+' multiplicative_expression )* | - ( '-' multiplicative_expression )* ) - - </code> - - @param rSmilValue - The string to parse - - @param rRelativeShapeBounds - The bounds of the shape this SMIL value is to be - evaluated for. The bounds must be <em>relative</em> to - the page the shape is part of, i.e. within the [0,1] - range. This is necessary, since the string might - contain symbolic references to the shape bounding box. - - @throws ParseError if an invalid expression is given. - - @return the generated function object. - */ - static ExpressionNodeSharedPtr parseSmilValue( const ::rtl::OUString& rSmilValue, - const ::basegfx::B2DRectangle& rRelativeShapeBounds ); // throw ParseError - - /** Parse a string containing a SMIL function. - - This method parses a string representing - a possibly time-varying SMIL function. - - The following grammar is accepted by this method: - <code> - identifier = 't'|'pi'|'e'|'X'|'Y'|'Width'|'Height' - - function = 'abs'|'sqrt'|'sin'|'cos'|'tan'|'atan'|'acos'|'asin'|'exp'|'log' - - basic_expression = - number | - identifier | - function '(' additive_expression ')' | - '(' additive_expression ')' - - unary_expression = - '-' basic_expression | - basic_expression - - multiplicative_expression = - unary_expression ( ( '*' unary_expression )* | - ( '/' unary_expression )* ) - - additive_expression = - multiplicative_expression ( ( '+' multiplicative_expression )* | - ( '-' multiplicative_expression )* ) - - </code> - - @param rSmilFunction - The string to parse - - @param rRelativeShapeBounds - The bounds of the shape this SMIL value is to be - evaluated for. The bounds must be <em>relative</em> to - the page the shape is part of, i.e. within the [0,1] - range. This is necessary, since the string might - contain symbolic references to the shape bounding box. - - @throws ParseError if an invalid expression is given. - - @return the generated function object. - */ - static ExpressionNodeSharedPtr parseSmilFunction( const ::rtl::OUString& rSmilFunction, - const ::basegfx::B2DRectangle& rRelativeShapeBounds ); // throw ParseError - - private: - // disabled constructor/destructor, since this is - // supposed to be a singleton - SmilFunctionParser(); - }; - } -} - -#endif /* INCLUDED_SLIDESHOW_SMILFUNCTIONPARSER_HXX */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |