package org.eclipse.swt.internal.motif;

/*
 * (c) Copyright IBM Corp. 2000, 2001.
 * All Rights Reserved
 */
 
public class Visual {
	public int ext_data;
	public int visualid;
	public int c_class;
	public int red_mask, green_mask, blue_mask;
	public int bits_per_rgb;
	public int map_entries;
	public static final int sizeof = 32;
}
