if (attributes.map_state == OS.IsViewable) return true;
if (attributes.map_state == OS.IsViewable && reparented) return true;
public boolean getVisible () {	checkWidget();	if (!OS.XtIsRealized (handle)) return false;	int xDisplay = OS.XtDisplay (handle);	if (xDisplay == 0) return false;	int xWindow = OS.XtWindow (handle);	if (xWindow == 0) return false;	XWindowAttributes attributes = new XWindowAttributes ();	OS.XGetWindowAttributes (xDisplay, xWindow, attributes);	if (attributes.map_state == OS.IsViewable) return true;	int [] argList = {OS.XmNmappedWhenManaged, 0};	OS.XtGetValues (shellHandle, argList, argList.length / 2);	return minimized && attributes.map_state == OS.IsUnviewable && argList [1] != 0;}