///*******************************************************************************
// * Copyright (c) 2000, 2007 IBM Corporation and others.
// * 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:
// * IBM Corporation - initial API and implementation
// *******************************************************************************/
//package org.eclipse.ui.internal.forms.widgets;
//
//import java.util.Hashtable;
//
//import org.eclipse.swt.graphics.*;
//import org.eclipse.swt.graphics.GC;
//
///**
// * @version 1.0
// * @author
// */
//public abstract class ParagraphSegment {
// /**
// * Moves the locator according to the content of this segment.
// * @param gc
// * @param wHint
// * @param loc
// * @param objectTable
// * @param computeHeightOnly
// * @return <code>true</code> if text wrapped to the new line, <code>false</code> otherwise.
// */
// public abstract boolean advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable, boolean computeHeightOnly);
// /**
// * Computes bounding rectangles and row heights of this segments.
// * @param gc
// * @param width
// * @param loc
// * @param resourceTable
// * @param selected
// */
// public abstract void layout(GC gc, int width, Locator loc, Hashtable resourceTable, boolean selected);
// /**
// * Paints this segment.
// * @param gc
// * @param hover
// * @param resourceTable
// * @param selected
// * @param selData
// * @param region
// */
// public abstract void paint(GC gc, boolean hover, Hashtable resourceTable, boolean selected, SelectionData selData, Rectangle region);
// /**
// * Paints this segment.
// * @param gc
// * @param resourceTable
// * @param selData
// */
// public abstract void computeSelection(GC gc, Hashtable resourceTable, SelectionData selData);
// /**
// * Tests if the coordinates are contained in one of the
// * bounding rectangles of this segment.
// * @param x
// * @param y
// * @return true if inside the bounding rectangle, false otherwise.
// */
// public abstract boolean contains(int x, int y);
// /**
// * Tests if the source rectangle intersects with
// * one of the bounding rectangles of this segment.
// * @param rect
// * @return true if the two rectangles intersect, false otherwise.
// */
// public abstract boolean intersects(Rectangle rect);
// /**
// * Returns the tool tip of this segment or <code>null</code>
// * if not defined.
// * @return tooltip or <code>null</code>.
// */
// public String getTooltipText() {
// return null;
// }
// /**
// * Clears the text metrics cache for the provided font id.
// * @param fontId the id of the font that the cache is kept for.
// *
// */
// public void clearCache(String fontId) {
// }
//}