/** * @(#)DrawingGranularity.java * * Copyright 2002 EGANTT LLP. All rights reserved. * PROPRIETARY/QPL. Use is subject to license terms. */ package com.egantt.model.drawing; import com.egantt.model.drawing.DrawingTransform; import java.util.Iterator; /** * A Granularity is a drawable view on a series of data it uses a transform * to help calculate the best level of the series to draw. */ public interface DrawingGranularity { /** * A width is always integral but the calculation may cause un-realisticly large value */ long width(Object granularity, DrawingTransform transform, long width); // __________________________________________________________________________ /** * Return the available granularities */ Iterator keys(); /** * Iterate through the given granularity */ Iterator values(Object granularity, DrawingTransform transform, long width); }