1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 20 package org.netbeans.editor.view.spi; 21 22 /** 23 * Views that implement this interface 24 * signal that they work in a mode when 25 * they just estimate their size instead 26 * of exact measurements that are likely 27 * more expensive for computation. 28 * <br> 29 * By default the view should be in non-estimated mode 30 * i.e. the exact measurements should be used 31 * unless the estimated span flag is set. 32 * 33 * <p> 34 * If a particular view does not implement this interface 35 * then it is assumed that the view uses exact measurements. 36 * 37 * @author Miloslav Metelka 38 * @version 1.00 39 */ 40 41 public interface EstimatedSpanView { 42 43 /** 44 * Check whether this view is currently 45 * in a mode when it just estimates its span. 46 * 47 * @return true if the view estimates its preferred horizontal 48 * and vertical preferred, maximum and minimum spans. 49 * Returns false if the view measurements are exact. 50 */ 51 public boolean isEstimatedSpan(); 52 53 /** 54 * Set whether this view uses estimated span computation 55 * instead of exact measurements. 56 * 57 * @param estimatedSpan whether view will estimate 58 * the spans or use exact measurements. 59 */ 60 public void setEstimatedSpan(boolean estimatedSpan); 61 62 } 63