/*******************************************************************************
 * Copyright (c) 2009 Zoltan Ujhelyi and Daniel Varro.
 * 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:
 *    Zoltan Ujhelyi - initial API and implementation
 *******************************************************************************/
package org.eclipse.viatra2.visualisation.layouts;

import org.eclipse.zest.core.widgets.ZestStyles;
import org.eclipse.zest.layouts.LayoutStyles;

/**
 * @author Zoltan Ujhelyi
 *
 */
public abstract class AbstractViatraLayoutAlgorithm implements IViatraLayoutAlgorithm {
	
	protected int layoutStyle = LayoutStyles.NO_LAYOUT_NODE_RESIZING | LayoutStyles.ENFORCE_BOUNDS
	| ZestStyles.IGNORE_INVISIBLE_LAYOUT;

	/* (non-Javadoc)
	 * @see org.eclipse.viatra2.visualisation.layouts.IViatraLayoutAlgorithm#getFilters()
	 */
//	public ViewerFilter[] getFilters() {
//		return new ViewerFilter[0];
//	}

}
