/*! * 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; /** * The Display-Role property describes the role an element plays in the parent algorithm. Seeing that property as * general 'LayoutManagerConstraint' might be apropriate. * <p/> * The RUBY_* properties are required for Japanese and other Asian font support and not yet used. */ public class DisplayRole { /** * The element is not rendered. The rendering is the same as if the element had been removed from the document tree, * except for possible effects on counters (see [generated] or [paged]). * <p/> * Note that :before and :after pseudo elements of this element are also not rendered, see [generated].) */ public static final CSSConstant NONE = new CSSConstant( "none" ); /** * The element is rendered as a rectangular block. See Collapsing margins for its position relative to earlier boxes * in the same flow. In paged media [ref] or inside another element that has two or more columns, the box may be split * into several smaller boxes. */ public static final CSSConstant BLOCK = new CSSConstant( "block" ); /** * The element is rendered inside a line box. It may be split into several boxes because of line breaking and bidi * processing (see the Text module). */ public static final CSSConstant INLINE = new CSSConstant( "inline" ); /** * The element is rendered the same as if it had display-role 'block', but in addition a marker is generated (see * 'list-style'). */ public static final CSSConstant LIST_ITEM = new CSSConstant( "list-item" ); /** * The effect depends on what comes after the element. If the next element (in the depth-first, left to right tree * traversal, so not necessarily a sibling) has a 'display-model' of 'block-inside', the current element will be * rendered as if it had display-role 'inline' and was the first child of that block element. Otherwise this element * will be rendered as if it had display-role 'block'. [Does this explain Ian's tests?] */ public static final CSSConstant RUN_IN = new CSSConstant( "run-in" ); /** * The effect depends on the intrinsic size of this element and on what comes after it. If the next element has a * 'display-role' of 'block', and the intrinsic width of the compact element is less than or equal to the left margin * of that block (resp. the right margin, if the block's 'direction' is 'rtl'), then the compact element is rendered * in the left (right) margin of the block at its intrinsic size and baseline aligned with the first line box of the * block. [Do we need a different alignment depending on script?] In all other cases the compact element is rendered * as if its display-role was 'block'. */ public static final CSSConstant COMPACT = new CSSConstant( "compact" ); /** * See the Tables module [CSS3TBL]. */ public static final CSSConstant TABLE_ROW = new CSSConstant( "table-row" ); public static final CSSConstant TABLE_CELL = new CSSConstant( "table-cell" ); public static final CSSConstant TABLE_ROW_GROUP = new CSSConstant( "table-row-group" ); public static final CSSConstant TABLE_HEADER_GROUP = new CSSConstant( "table-header-group" ); public static final CSSConstant TABLE_FOOTER_GROUP = new CSSConstant( "table-footer-group" ); public static final CSSConstant TABLE_COLUMN = new CSSConstant( "table-column" ); public static final CSSConstant TABLE_COLUMN_GROUP = new CSSConstant( "table-column-group" ); public static final CSSConstant TABLE_CAPTION = new CSSConstant( "table-caption" ); /** * Ruby is not yet used. */ public static final CSSConstant RUBY_TEXT = new CSSConstant( "ruby-text" ); public static final CSSConstant RUBY_BASE = new CSSConstant( "ruby-base" ); public static final CSSConstant RUBY_BASE_GROUP = new CSSConstant( "ruby-base-group" ); public static final CSSConstant RUBY_TEXT_GROUP = new CSSConstant( "ruby-text-group" ); /** * A Pentaho-reporting compatibility setting. Enables the absolute positioning mode. */ public static final CSSConstant CANVAS = new CSSConstant( "canvas" ); private DisplayRole() { } }