/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module rendering {
/* TODO: Have a property set here, to easily extend attributes? Think
that ' s advisable , because animations change the most . Implement
that with multiple inheritance interface types , please , not with
service description .
*/
/** This interface defines an animation sequence.<p>
This interface must be implemented by every animation object . It
is used by the XCanvas interface to render generic
animations . < p >
@ since OOo 2 . 0
*/
interface XAnimation : ::com::sun::star::uno::XInterface
{
/** Render the animation content at time t into the specified
canvas . < p >
Note that it is perfectly legal to e . g . map t in a nonlinear
fashion to internal frames , for example to achieve
acceleration or deceleration effects . It is required that the
render method has const semantics , i . e . when called with the
same parameter set , identical output must be generated . This
is because e . g . a Sprite might decide arbitrarily to render an
animation once and cache the result , or repaint it via
XAnimation : : render every time . < p >
The rendered content , although , must be exactly the same for
identical viewState , canvas and t values . Or , for that
matters , must call the same canvas methods in the same order
with the same parameter sets , for identical viewState and t
values . Furthermore , when viewState has the identity
transformation set , rendered output must be contained in a
rectangle with upper left corner at ( 0 , 0 ) and width and height
given by the AnimationAttributes ' untransformedSize
member . Any content exceeding this box might get clipped off . < p >
@ param canvas
The target canvas to render this animation to .
@ param viewState
The view state to be used when rendering this animation to the
target canvas . The view transformation matrix must not be
singular .
@ param t
Time instant for which animation content is requested . The
range must always be [ 0 , 1 ] , where 0 denotes the very beginning , and
1 the end of the animation sequence .
@ throws com : : sun : : star : : lang : : IllegalArgumentException
if one of the passed parameters does not lie in the specified ,
permissible range .
*/
void render( [in] XCanvas canvas, [in] ViewState viewState, [in] double t )
raises (com::sun::star::lang::IllegalArgumentException);
/** Request the attribute information for this animation.<p>
This method returns the AnimationAttributes
structure , which defines more closely how to play this
animation . < p >
@ returns the requested AnimationAttributes
structure .
*/
AnimationAttributes getAnimationAttributes();
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=93 H=97 G=94
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-10-05)
¤
*© Formatika GbR, Deutschland