/*! * This program is free software; you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software * Foundation. * * You should have received a copy of the GNU Lesser General Public License along with this * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html * or from the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * 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 Lesser General Public License for more details. * * Copyright (c) 2002-2013 Pentaho Corporation.. All rights reserved. */ package org.pentaho.reporting.libraries.css.keys.box; import org.pentaho.reporting.libraries.css.values.CSSConstant; /** * Creation-Date: 27.10.2005, 22:21:37 * * @author Thomas Morgner */ public class FloatDisplace { /** * Line boxes should be shortened and moved so as to avoid floats. The margin, border, padding and background of the * element are not affected by floats. (This is the behavior as described in CSS2.) */ public static final CSSConstant LINE = new CSSConstant( "line" ); /** * The distance between the margin edge of the floats and the start of the line box is set to the distance between the * active reference indent edge (see the 'indent-edge-reset' property) and the content edge of the block box. This * ensures that relative indents are preserved in the presence of floats. */ public static final CSSConstant INDENT = new CSSConstant( "indent" ); /** * The containing block's width as used by the horizontal formatting model is reduced by the width of the floats * intruding upon its content area (not taking into account floating descendants or floating elements that appear * later in the document tree). The block is then flowed in this reduced containing block width. * <p/> * If the effective containing block width is, by the algorithm given above, reduced to a value smaller than the sum * of the margin-left, border-width-left, padding-left, width, padding-right, border-width-right, and margin-right * values (treating any 'auto' values as zero) then the margin-top of the block is increased until the effective * containing block width is no longer so constrained or until all floats have been cleared, whichever occurs first. */ public static final CSSConstant BLOCK = new CSSConstant( "block" ); /** * As for the 'block' value, but the determination of intrusions that adjust the width of the block is done separately * on each page on which the block appears. Thus, the block may be narrowed on the first page due to one or more * intrusions, but may expand (or contract) its width on subsequent pages with different intrusions. The computed * value of the 'width' property for this case is...? */ public static final CSSConstant BLOCK_WITHIN_PAGE = new CSSConstant( "block-within-page" ); private FloatDisplace() { } }