1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_rendering_XCustomSprite_idl__ 28#define __com_sun_star_rendering_XCustomSprite_idl__ 29 30#ifndef __com_sun_star_uno_XInterface_idl__ 31#include <com/sun/star/uno/XInterface.idl> 32#endif 33#ifndef __com_sun_star_rendering_ViewState_idl__ 34#include <com/sun/star/rendering/ViewState.idl> 35#endif 36#ifndef __com_sun_star_rendering_RenderState_idl__ 37#include <com/sun/star/rendering/RenderState.idl> 38#endif 39#ifndef __com_sun_star_rendering_XSprite_idl__ 40#include <com/sun/star/rendering/XSprite.idl> 41#endif 42 43module com { module sun { module star { module rendering { 44 45published interface XCanvas; 46 47/** Interface to control a custom sprite object on a XSpriteCanvas.<p> 48 49 Every change performed on XCustomSprite objects is only visible 50 after a XSpriteCanvas::updateScreen() call, to facilitate 51 synchronized screen updates. 52 53 TODO: Maybe more than alpha has to be overridden from render state. 54 TODO: Provide means to change the output area 55 */ 56published interface XCustomSprite : XSprite 57{ 58 59 /** Query a render canvas for this sprite's content.<p> 60 61 Whatever is rendered to this canvas will become visible on the 62 screen only after a XSpriteCanvas::updateScreen() call at the 63 associated sprite canvas. This canvas is not equivalent to the 64 host canvas of the sprite. At the very least, all output 65 happens relative to the sprite's upper left corner, i.e. the 66 origin of the sprite's canvas device coordinate system will 67 move with the sprite across the screen. 68 69 @return the canvas the sprite content can be rendered into. 70 */ 71 XCanvas getContentCanvas(); 72 73}; 74 75}; }; }; }; 76 77#endif 78