/**
 *                                                                            
 * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
 *                                                                            
 * All rights reserved. This program and the accompanying materials           
 * are made available under the terms of the Eclipse Public License v1.0       
 * which accompanies this distribution, and is available at                  
 * http://www.eclipse.org/legal/epl-v10.html                                 
 *                                                                            
 * Contributors:   
 * Florian Pirchner <florian.pirchner@gmail.com> - Initial implementation
 */
package org.eclipse.osbp.vaadin.addons.absolutelayout.client;

/**
 * The Interface IOConstants.
 */
public interface IOConstants {
	
	/**
	 * Divs for the resizing operations are marked with this css class.
	 */
	public static final String CSS_RESIZE_DIV = "o-resize-div";
	
	/**
	 * Is used to define the snap css property in pixels. 
	 */
	public static final String CSS_SNAP_PROPERTY = "snap";

}
