blob: b8ce84f00805bd3e8ba54eee68b5be0918dbc26f [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_awt_XAnimatedImages_idl__
#define __com_sun_star_awt_XAnimatedImages_idl__
#include <com/sun/star/container/XContainerListener.idl>
#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
#include <com/sun/star/container/XContainer.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
//======================================================================================================================
module com { module sun { module star { module awt {
//======================================================================================================================
/** allows administrating a set of images, to be displayed as animated seres.
<p>Components implementing this interface maintain a variable number of image sets. Components displaying
those images will choose the best-fitting image set depending on the available space, and possibly other
restrictions.</p>
@since OpenOffice 3.4
*/
published interface XAnimatedImages
{
/** specifies the time in milliseconds between two animation steps.
<p>This is the minimum time, the actual value might be longer due to
system load. The default value will be 100 ms.</p>
*/
[attribute] long StepTime;
/** specifies whether the animation should start over with the first image of the image series when the last image
has been played.
<p>The default value for this attribute is <TRUE/>.</p>
*/
[attribute] boolean AutoRepeat;
/** controls the way the images are scaled up or down, when the available space is larger or smaller
than what is needed for them.
<p>Allowed values are those from the <type>ImageScaleMode</type> constants group.</p>
*/
[attribute] short ScaleMode
{
set raises (::com::sun::star::lang::IllegalArgumentException);
};
/** returns the number of images sets maintained by the component.
*/
long
getImageSetCount();
/** returns the URLs of the image set with the given index
@param i_index
the index of the set those image URLs are to be retrieved. Must be greater than or equal to <code>0</code>,
and smaller than the value returned by <member>getImageSetCount</member>.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the <code>i_index</code> is not a valid index.
*/
sequence< string >
getImageSet
(
[in] long i_index
)
raises
(
::com::sun::star::lang::IndexOutOfBoundsException
);
/** sets the URLs of the image set with the given index
@param i_index
the index at which a new image set should be inserted. Must be greater than or equal to <code>0</code>,
and smaller than or equal to the value returned by <member>getImageSetCount</member>.
@param i_imageURLs
the URLs for the images for the given set. Will be resolved using a <type scope="com::sun::star::graphic">GraphicProvider</type>.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the <code>i_index</code> is not a valid index.
*/
void
insertImageSet
(
[in] long i_index,
[in] sequence< string > i_imageURLs
)
raises
(
::com::sun::star::lang::IndexOutOfBoundsException
);
/** replaces the image set given by index with a new one
@param i_index
the index of the set those image URLs are to be replaced. Must be greater than or equal to <code>0</code>,
and smaller than the value returned by <member>getImageSetCount</member>.
@param i_imageURLs
the URLs for the images for the given set. Will be resolved using a <type scope="com::sun::star::graphic">GraphicProvider</type>.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the <code>i_index</code> is not a valid index.
*/
void
replaceImageSet
(
[in] long i_index,
[in] sequence< string > i_imageURLs
)
raises
(
::com::sun::star::lang::IndexOutOfBoundsException
);
/** removes the image set with the given index
@param i_index
the index of the set to remove. Must be greater than or equal to <code>0</code>,
and smaller than the value returned by <member>getImageSetCount</member>.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the <code>i_index</code> is not a valid index.
*/
void
removeImageSet
(
[in] long i_index
)
raises
(
::com::sun::star::lang::IndexOutOfBoundsException
);
/** allows other components to observer the insertion, removal, and replacement of image sets
*/
interface ::com::sun::star::container::XContainer;
};
//======================================================================================================================
}; }; }; };
//======================================================================================================================
#endif