/* This file belongs to the Servoy development and deployment environment, Copyright (C) 1997-2010 Servoy BV This program is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program 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 Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program; if not, see http://www.gnu.org/licenses or write to the Free Software Foundation,Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 */ package com.servoy.j2db.ui.runtime; import org.mozilla.javascript.annotations.JSFunction; /** * Interface for components with scrolling support. * * @author rgansevles * * @since 6.1 * */ public interface HasRuntimeScroll { /** * Returns the x scroll location of specified element - only for an element where height of element is less than the height of element content. * * NOTE: getScrollX() can be used with getScrollY() to set the scroll location of an element using the setScroll function. For Example: * * //returns the X and Y scroll coordinates * var x = forms.company.elements.portal50.getScrollX(); * var y = forms.company.elements.portal50.getScrollY(); * * //sets the new scroll location * forms.company.elements.portal50.setScroll(x+10,y+10); * * @sample * var x = %%prefix%%%%elementName%%.getScrollX(); * * @return The x scroll location in pixels. */ @JSFunction public int getScrollX(); /** * Returns the y scroll location of specified element - only for an element where height of element is less than the height of element content. * * NOTE: getScrollY() can be used with getScrollX() to set the scroll location of an element using the setScroll function. For Example: * * //returns the X and Y scroll coordinates * var x = forms.company.elements.portal50.getScrollX(); * var y = forms.company.elements.portal50.getScrollY(); * * //sets the new scroll location * forms.company.elements.portal50.setScroll(x+10,y+10); * * @sample * var y = %%prefix%%%%elementName%%.getScrollY(); * * @return The y scroll location in pixels. */ @JSFunction public int getScrollY(); /** * Sets the scroll location of an element. It takes as input the X (horizontal) and Y (vertical) coordinates - starting from the TOP LEFT side of the screen - only for an element where the height of the element is greater than the height of element content * * NOTE: getScrollX() can be used with getScrollY() to return the current scroll location of an element; then use the X and Y coordinates with the setScroll function to set a new scroll location. For Example: * * //returns the X and Y coordinates * var x = forms.company.elements.portal50.getScrollX(); * var y = forms.company.elements.portal50.getScrollY(); * * //sets the new location * forms.company.elements.portal50.setScroll(x+10,y+10); * * @sample * %%prefix%%%%elementName%%.setScroll(200,200); * * @param x the X coordinate of the portal scroll location in pixels * @param y the Y coordinate of the portal scroll location in pixels */ @JSFunction public void setScroll(int x, int y); }