Blame tests/Toolkit/Buttons/ToggleBGad1.c

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
*/ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
*/ 
Packit b099d7
#ifdef REV_INFO
Packit b099d7
#ifndef lint
Packit b099d7
static char rcsid[] = "$XConsortium: ToggleBGad1.c /main/8 1995/07/13 17:30:51 drk $"
Packit b099d7
#endif
Packit b099d7
#endif
Packit b099d7
/*
Packit b099d7
*  (c) Copyright 1989, HEWLETT-PACKARD COMPANY */
Packit b099d7
/****************************************************************************
Packit b099d7
 *
Packit b099d7
 * This program tests  a toggle pixmap, and the XmNindicatorOn resource.
Packit b099d7
 *
Packit b099d7
 ****************************************************************************/
Packit b099d7
#include <X11/Xlib.h>
Packit b099d7
#include <X11/StringDefs.h>
Packit b099d7
#include <X11/IntrinsicP.h>
Packit b099d7
#include <X11/Xatom.h>
Packit b099d7
#include <testlib.h>
Packit b099d7
Packit b099d7
char smileRaster[] =
Packit b099d7
{
Packit b099d7
   0xff, 0xff, 0xff, 0x01, 0x00, 0xfe, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0x3f, 0x00, 0x00, 0xe0, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0x0f, 0xfc, 0xff, 0xc1, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0x83, 0xff, 0xff, 0x0f, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xf0, 0xff, 0xff, 0x3f, 0xfc, 0xff,
Packit b099d7
   0xff, 0x3f, 0xfc, 0xff, 0xff, 0xff, 0xf8, 0xff,
Packit b099d7
   0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff,
Packit b099d7
   0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff,
Packit b099d7
   0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff,
Packit b099d7
   0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff,
Packit b099d7
   0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff,
Packit b099d7
   0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff,
Packit b099d7
   0x7f, 0xfc, 0x1f, 0xfe, 0x7f, 0xf8, 0x3f, 0xff,
Packit b099d7
   0x7f, 0xfe, 0xe7, 0xf9, 0x9f, 0xe7, 0x3f, 0xff,
Packit b099d7
   0x3f, 0xff, 0xfb, 0xf7, 0xef, 0xdf, 0x7f, 0xfe,
Packit b099d7
   0x3f, 0xff, 0xfd, 0xef, 0xf7, 0xbf, 0x7f, 0xfe,
Packit b099d7
   0x3f, 0xff, 0xfd, 0xef, 0xf7, 0xbf, 0xff, 0xfc,
Packit b099d7
   0x9f, 0xff, 0xfe, 0xdf, 0xfb, 0x7f, 0xff, 0xfc,
Packit b099d7
   0x9f, 0xff, 0xfe, 0xdf, 0xfb, 0x7f, 0xff, 0xf9,
Packit b099d7
   0x9f, 0xff, 0xfe, 0xc1, 0xfb, 0x07, 0xff, 0xf9,
Packit b099d7
   0xcf, 0xff, 0xfe, 0xc0, 0xfb, 0x03, 0xff, 0xf9,
Packit b099d7
   0xcf, 0xff, 0x7d, 0xe0, 0xf7, 0x81, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0x3d, 0xe0, 0xf7, 0x80, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0x3b, 0xf0, 0xef, 0xc0, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0x27, 0xf8, 0x9f, 0xe0, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0x1f, 0xfe, 0x7f, 0xf8, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
Packit b099d7
   0xcf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3,
Packit b099d7
   0xcf, 0xef, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3,
Packit b099d7
   0xcf, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf3,
Packit b099d7
   0xcf, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf3,
Packit b099d7
   0xcf, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfb,
Packit b099d7
   0xdf, 0x7f, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xfb,
Packit b099d7
   0x9f, 0xff, 0xfc, 0xff, 0xff, 0x9f, 0xff, 0xf9,
Packit b099d7
   0x9f, 0xff, 0xfb, 0xff, 0xff, 0xcf, 0xff, 0xf9,
Packit b099d7
   0x3f, 0xff, 0xef, 0xff, 0xff, 0xf3, 0xff, 0xfc,
Packit b099d7
   0x3f, 0xff, 0x1f, 0xff, 0x7f, 0xf8, 0xff, 0xfc,
Packit b099d7
   0x3f, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xfe,
Packit b099d7
   0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff,
Packit b099d7
   0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff,
Packit b099d7
   0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff,
Packit b099d7
   0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xff,
Packit b099d7
   0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff,
Packit b099d7
   0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff,
Packit b099d7
   0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff,
Packit b099d7
   0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff,
Packit b099d7
   0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff,
Packit b099d7
   0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff,
Packit b099d7
   0xff, 0x3f, 0xfe, 0xff, 0xff, 0x3f, 0xfe, 0xff,
Packit b099d7
   0xff, 0x7f, 0xfc, 0xff, 0xff, 0x1f, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xf0, 0xff, 0xff, 0xc3, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xe1, 0xff, 0xff, 0xe0, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0x03, 0xff, 0x3f, 0xf8, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0x0f, 0x00, 0x00, 0xfe, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
Packit b099d7
   0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
Packit b099d7
};
Packit b099d7
Packit b099d7
#include "smiley.bmp"
Packit b099d7
#define XBMs_BITS        smiley_bits
Packit b099d7
#define XBMs_WIDTH       smiley_width
Packit b099d7
#define XBMs_HEIGHT      smiley_height
Packit b099d7
Pixmap select_pixmap;
Packit b099d7
Packit b099d7
void main (argc, argv)
Packit b099d7
unsigned int argc;
Packit b099d7
char **argv;
Packit b099d7
Packit b099d7
{
Packit b099d7
  int n;
Packit b099d7
  XImage *pic;
Packit b099d7
  Widget toggle, bb, label ;
Packit b099d7
  Arg args[10];
Packit b099d7
  Pixmap pixOn, pixOff;
Packit b099d7
  GC      gc;
Packit b099d7
  Screen *screen;
Packit b099d7
  XGCValues  values;
Packit b099d7
  XtGCMask valueMask; 
Packit b099d7
  Pixel foreground, background;
Packit b099d7
  Drawable drawable;
Packit b099d7
  Window win;
Packit b099d7
Packit b099d7
  /*  initialize toolkit  */
Packit b099d7
  CommonTestInit(argc, argv);
Packit b099d7
  
Packit b099d7
  n = 0;
Packit b099d7
  bb = XmCreateBulletinBoard(Shell1, "bb", args, n);
Packit b099d7
Packit b099d7
  foreground = XBlackPixel(display, 0);
Packit b099d7
  background = XWhitePixel(display, 0);
Packit b099d7
  pixOn = XCreatePixmapFromBitmapData(display, rootWindow,
Packit b099d7
				      smileRaster, 64, 64, foreground,
Packit b099d7
				      background,
Packit b099d7
				      DefaultDepthOfScreen(XtScreen(Shell1)));
Packit b099d7
 
Packit b099d7
  pixOff = XCreatePixmapFromBitmapData(display, rootWindow,
Packit b099d7
				      smileRaster, 64, 64, background,
Packit b099d7
				      foreground,
Packit b099d7
				      DefaultDepthOfScreen(XtScreen(Shell1)));
Packit b099d7
				      
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNlabelType, XmPIXMAP);  n++;
Packit b099d7
  XtSetArg(args[n], XmNlabelPixmap, pixOff);  n++;  
Packit b099d7
  XtSetArg(args[n], XmNlabelInsensitivePixmap, pixOn);  n++; 
Packit b099d7
  XtSetArg(args[n], XmNselectInsensitivePixmap, pixOff);  n++; 
Packit b099d7
  XtSetArg(args[n], XmNset, True); n++;
Packit b099d7
  XtSetArg(args[n], XmNselectColor, CommonGetColor("red")); n++;
Packit b099d7
  toggle = XmCreateToggleButtonGadget(bb, "toggle", args, n); 
Packit b099d7
  XtManageChild (bb);
Packit b099d7
  XtManageChild (toggle);
Packit b099d7
  XtRealizeWidget (Shell1);
Packit b099d7
Packit b099d7
  CommonPause();
Packit b099d7
Packit b099d7
  XtSetSensitive (toggle, False);
Packit b099d7
 
Packit b099d7
  CommonPause();
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNselectColor, CommonGetColor("green")); n++;
Packit b099d7
  XtSetValues( toggle, args, n );
Packit b099d7
  XtSetSensitive (toggle, True);
Packit b099d7
Packit b099d7
  CommonPause();
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg(args[n], XmNmarginWidth, 2); n++;
Packit b099d7
  XtSetArg(args[n], XmNmarginHeight, 2); n++;
Packit b099d7
  XtSetValues(toggle, args, n);
Packit b099d7
Packit b099d7
  CommonPause();
Packit b099d7
Packit b099d7
  n = 0;
Packit b099d7
  XtSetArg (args[n], XmNlabelType, XmPIXMAP); n++;
Packit b099d7
  XtSetArg (args[n], XmNy, 250); n++;
Packit b099d7
  /* actual pixmaps are specified via .Xdefaults */
Packit b099d7
  label = XmCreateLabel (bb, "label", args, n);
Packit b099d7
  XtManageChild (label);
Packit b099d7
  
Packit b099d7
  CommonPause();
Packit b099d7
Packit b099d7
  XtSetSensitive (label, False); 
Packit b099d7
Packit b099d7
  CommonPause();  
Packit b099d7
  CommonPause(); /* exit */
Packit b099d7
Packit b099d7
  XtAppMainLoop(app_context);
Packit b099d7
  XtDestroyWidget(toggle);
Packit b099d7
  XtDestroyWidget(bb);
Packit b099d7
}
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7
Packit b099d7