/**********************************************************************
 * Copyright (c) 2003, 2005 IBM Corp.
 * Portions Copyright (c) 1983-2002, Apple Computer, Inc.
 *
 * 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.swt.internal.carbon;

 
public class HIThemeTextInfo {
	public int version;
	public int state;
	public short fontID;
	public int horizontalFlushness;
	public int verticalFlushness;
	public int options;
	public int truncationPosition;
	public int truncationMaxLines;
	public boolean truncationHappened;
	public static final int sizeof = 32;
}
