/* * @OPENGROUP_COPYRIGHT@ * COPYRIGHT NOTICE * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc. * Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group * ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for * the full copyright text. * * This software is subject to an open license. It may only be * used on, with or for operating systems which are themselves open * source systems. You must contact The Open Group for a license * allowing distribution and sublicensing of this software on, with, * or for operating systems which are not Open Source programs. * * See http://www.opengroup.org/openmotif/license for full * details of the license agreement. Any use, reproduction, or * distribution of the program constitutes recipient's acceptance of * this agreement. * * EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS * PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY * WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY * OR FITNESS FOR A PARTICULAR PURPOSE * * EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT * NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN * ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE * EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */ /* * HISTORY */ #ifdef REV_INFO #ifndef lint static char rcsid[] = "$XConsortium: OpenVisual.c /main/7 1995/07/14 11:51:02 drk $" #endif #endif /*********************************************************************** @(#)OpenVisual.c 1.7.1.1 Date:1/22/91 Author: TAT History: 03/30/90 SJS Add to sccs tree 05/24/90 TAT updated for multiple widgets Calls: Summary: (Used to be) mvsInitializ.c 1.1 Date:3/30/90 Initializes the visual_info, color_table, and pixmap_table and opens the visual checking image file (if needed). INPUTS none OUTPUTS none RETURNS nothing ************************************************************************/ #include #include "mvslib.h" extern Boolean AutoAltVisualFile; extern char AutoAltVisualFileName[50]; void mvsOpenVisual() { static GC gcw,gcb; int i,j,x,y; XGCValues values; Pixel white,black,pixel; Window root; char data_file_name[255]; char file_name[255]; char *visual_path = NULL; unsigned long ltemp; XVisualInfo *vis_info; XVisualInfo vis_info_in; int n; char *getenv(); char msg_string[125]; if (mvsDisplay == (Display *) NULL) AutoMessage(_AutoMessages[VISMSG14]); /* Initialize MVS Visual Info Record */ vis_info_in.visualid = XDefaultVisual(mvsDisplay, XDefaultScreen(mvsDisplay))->visualid; vis_info = XGetVisualInfo(mvsDisplay,VisualIDMask,&vis_info_in,&n); if (vis_info == NULL) AutoMessage(_AutoMessages[VISMSG14]); mvsVisualInfo.visual = vis_info->visual; mvsVisualInfo.class = vis_info->class; mvsVisualInfo.depth = vis_info->depth; mvsVisualInfo.red_mask = vis_info->red_mask; mvsVisualInfo.green_mask = vis_info->green_mask; mvsVisualInfo.blue_mask = vis_info->blue_mask; mvsVisualInfo.colormap_size = vis_info->colormap_size; mvsVisualInfo.bits_per_rgb = vis_info->bits_per_rgb; mvsVisualInfo.colormap_id = XDefaultColormap(mvsDisplay,XDefaultScreen(mvsDisplay)); /* Initialize MVS Color Table */ if (vis_info->depth == 1) mvsNumTableColors = 2; else if ((vis_info->class == StaticGray)||(vis_info->class == GrayScale)) mvsNumTableColors = NUM_GRAYSCALE_COLORS; /* intialize mvsColorAllocInfo array */ for (i=0; i