/*******************************************************************************
 * Copyright (c) 2000, 2003 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.swt.internal.motif;

 
public class XGCValues {
	public int function;
	public int plane_mask;
	public int foreground;
	public int background;
	public int line_width;
	public int line_style;
	public int cap_style;
	public int join_style;
	public int fill_style;
	public int fill_rule;
	public int arc_mode;
	public int tile;
	public int stipple;
	public int ts_x_origin;
	public int ts_y_origin;
	public int font;
	public int subwindow_mode;
	public int graphics_exposures;
	public int clip_x_origin;
	public int clip_y_origin;
	public int clip_mask;
	public int dash_offset;
	public byte dashes;
	public static final int sizeof = 92;
}
