open-src/lib/libXaw4/sun-src/Xaw3_1Label.c
author X gate hg captive account <xhg@xserver.us.oracle.com>
Wed, 19 Aug 2015 13:48:41 -0700
changeset 1484 bc8922b8e1d2
parent 749 d7a0cca9c876
permissions -rw-r--r--
Added tag s11u3_30 for changeset 221e9d9cc9cb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
749
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     1
#ifndef lint
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     2
static char Xrcsid[] = "$XConsortium: Label.c,v 1.77 89/12/08 12:35:36 swick Exp $";
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     3
#endif /* lint */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     4
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     5
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     6
/***********************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     7
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     8
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
     9
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    10
                        All Rights Reserved
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    11
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    12
Permission to use, copy, modify, and distribute this software and its 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    13
documentation for any purpose and without fee is hereby granted, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    14
provided that the above copyright notice appear in all copies and that
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    15
both that copyright notice and this permission notice appear in 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    16
supporting documentation, and that the names of Digital or MIT not be
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    17
used in advertising or publicity pertaining to distribution of the
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    18
software without specific, written prior permission.  
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    19
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    20
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    21
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    22
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    23
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    24
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    25
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    26
SOFTWARE.
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    27
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    28
******************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    29
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    30
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    31
 * Label.c - Label widget
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    32
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    33
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    34
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    35
#define XtStrlen(s)		((s) ? strlen(s) : 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    36
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    37
#include <stdio.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    38
#include <ctype.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    39
#include <X11/IntrinsicP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    40
#include <X11/StringDefs.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    41
#include <./Xaw3_1XawInit.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    42
#include <./Xaw3_1LabelP.h>
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    43
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    44
#ifdef SYSV
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    45
#ifndef index
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    46
#define index(a,b) strchr(a,b)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    47
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    48
#endif
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    49
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    50
#define streq(a,b) (strcmp( (a), (b) ) == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    51
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    52
#define MULTI_LINE_LABEL 32767
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    53
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    54
/****************************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    55
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    56
 * Full class record constant
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    57
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    58
 ****************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    59
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    60
/* Private Data */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    61
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    62
#define offset(field) XtOffset(LabelWidget, field)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    63
static XtResource resources[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    64
    {XtNforeground, XtCForeground, XtRPixel, sizeof(Pixel),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    65
	offset(label.foreground), XtRString, "XtDefaultForeground"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    66
    {XtNfont,  XtCFont, XtRFontStruct, sizeof(XFontStruct *),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    67
	offset(label.font),XtRString, "XtDefaultFont"},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    68
    {XtNlabel,  XtCLabel, XtRString, sizeof(String),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    69
	offset(label.label), XtRString, NULL},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    70
    {XtNjustify, XtCJustify, XtRJustify, sizeof(XtJustify),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    71
	offset(label.justify), XtRImmediate, (caddr_t)XtJustifyCenter},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    72
    {XtNinternalWidth, XtCWidth, XtRDimension,  sizeof(Dimension),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    73
	offset(label.internal_width), XtRImmediate, (caddr_t)4},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    74
    {XtNinternalHeight, XtCHeight, XtRDimension, sizeof(Dimension),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    75
	offset(label.internal_height), XtRImmediate, (caddr_t)2},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    76
    {XtNbitmap, XtCPixmap, XtRBitmap, sizeof(Pixmap),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    77
	offset(label.pixmap), XtRImmediate, (caddr_t)None},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    78
    {XtNresize, XtCResize, XtRBoolean, sizeof(Boolean),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    79
	offset(label.resize), XtRImmediate, (caddr_t)True},
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    80
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    81
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    82
static void Initialize();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    83
static void Resize();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    84
static void Redisplay();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    85
static Boolean SetValues();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    86
static void ClassInitialize();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    87
static void Destroy();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    88
static XtGeometryResult QueryGeometry();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    89
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    90
LabelClassRec labelClassRec = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    91
  {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    92
/* core_class fields */	
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    93
#define superclass		(&simpleClassRec)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    94
    /* superclass	  	*/	(WidgetClass) superclass,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    95
    /* class_name	  	*/	"Label",
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    96
    /* widget_size	  	*/	sizeof(LabelRec),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    97
    /* class_initialize   	*/	ClassInitialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    98
    /* class_part_initialize	*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
    99
    /* class_inited       	*/	FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   100
    /* initialize	  	*/	Initialize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   101
    /* initialize_hook		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   102
    /* realize		  	*/	XtInheritRealize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   103
    /* actions		  	*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   104
    /* num_actions	  	*/	0,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   105
    /* resources	  	*/	resources,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   106
    /* num_resources	  	*/	XtNumber(resources),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   107
    /* xrm_class	  	*/	NULLQUARK,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   108
    /* compress_motion	  	*/	TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   109
    /* compress_exposure  	*/	TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   110
    /* compress_enterleave	*/	TRUE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   111
    /* visible_interest	  	*/	FALSE,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   112
    /* destroy		  	*/	Destroy,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   113
    /* resize		  	*/	Resize,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   114
    /* expose		  	*/	Redisplay,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   115
    /* set_values	  	*/	SetValues,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   116
    /* set_values_hook		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   117
    /* set_values_almost	*/	XtInheritSetValuesAlmost,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   118
    /* get_values_hook		*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   119
    /* accept_focus	 	*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   120
    /* version			*/	XtVersion,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   121
    /* callback_private   	*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   122
    /* tm_table		   	*/	NULL,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   123
    /* query_geometry		*/	QueryGeometry,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   124
    /* display_accelerator	*/	XtInheritDisplayAccelerator,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   125
    /* extension		*/	NULL
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   126
  },
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   127
/* Simple class fields initialization */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   128
  {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   129
    /* change_sensitive		*/	XtInheritChangeSensitive
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   130
  }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   131
};
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   132
WidgetClass labelWidgetClass = (WidgetClass)&labelClassRec;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   133
/****************************************************************
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   134
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   135
 * Private Procedures
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   136
 *
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   137
 ****************************************************************/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   138
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   139
static void ClassInitialize()
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   140
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   141
    extern void XmuCvtStringToJustify();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   142
    extern void XmuCvtStringToBitmap();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   143
    static XtConvertArgRec screenConvertArg[] = {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   144
        {XtWidgetBaseOffset, (caddr_t) XtOffset(Widget, core.screen),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   145
	     sizeof(Screen *)}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   146
    };
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   147
    XawInitializeWidgetSet();
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   148
    XtAddConverter( XtRString, XtRJustify, XmuCvtStringToJustify, NULL, 0 );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   149
    XtAddConverter("String", "Bitmap", XmuCvtStringToBitmap,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   150
		   screenConvertArg, XtNumber(screenConvertArg));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   151
} /* ClassInitialize */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   152
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   153
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   154
 * Calculate width and height of displayed text in pixels
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   155
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   156
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   157
static void SetTextWidthAndHeight(lw)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   158
    LabelWidget lw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   159
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   160
    register XFontStruct	*fs = lw->label.font;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   161
    char *nl;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   162
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   163
    if (lw->label.pixmap != None) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   164
	Window root;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   165
	int x, y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   166
	unsigned int width, height, bw, depth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   167
	if (XGetGeometry(XtDisplay(lw), lw->label.pixmap, &root, &x, &y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   168
			 &width, &height, &bw, &depth)) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   169
	    lw->label.label_height = height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   170
	    lw->label.label_width = width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   171
	    lw->label.label_len = depth;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   172
	    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   173
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   174
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   175
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   176
    lw->label.label_height = fs->max_bounds.ascent + fs->max_bounds.descent;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   177
    if (lw->label.label == NULL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   178
	lw->label.label_len = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   179
	lw->label.label_width = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   180
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   181
    else if ((nl = index(lw->label.label, '\n')) != NULL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   182
	char *label;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   183
	lw->label.label_len = MULTI_LINE_LABEL;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   184
	lw->label.label_width = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   185
	for (label = lw->label.label; nl != NULL; nl = index(label, '\n')) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   186
	    int width = XTextWidth(fs, label, (int)(nl - label));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   187
	    if (width > lw->label.label_width) lw->label.label_width = width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   188
	    label = nl + 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   189
	    if (*label)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   190
		lw->label.label_height +=
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   191
		    fs->max_bounds.ascent + fs->max_bounds.descent;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   192
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   193
	if (*label) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   194
	    int width = XTextWidth(fs, label, strlen(label));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   195
	    if (width > lw->label.label_width) lw->label.label_width = width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   196
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   197
    } else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   198
	lw->label.label_len = strlen(lw->label.label);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   199
	lw->label.label_width =
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   200
	    XTextWidth(fs, lw->label.label, (int) lw->label.label_len);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   201
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   202
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   203
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   204
static void GetnormalGC(lw)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   205
    LabelWidget lw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   206
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   207
    XGCValues	values;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   208
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   209
    values.foreground	= lw->label.foreground;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   210
    values.background	= lw->core.background_pixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   211
    values.font		= lw->label.font->fid;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   212
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   213
    lw->label.normal_GC = XtGetGC(
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   214
	(Widget)lw,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   215
	(unsigned) GCForeground | GCBackground | GCFont,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   216
	&values);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   217
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   218
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   219
static void GetgrayGC(lw)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   220
    LabelWidget lw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   221
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   222
    XGCValues	values;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   223
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   224
    values.foreground = lw->label.foreground;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   225
    values.background = lw->core.background_pixel;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   226
    values.font	      = lw->label.font->fid;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   227
    values.fill_style = FillTiled;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   228
    values.tile       = XmuCreateStippledPixmap(XtScreen((Widget)lw),
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   229
						lw->label.foreground, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   230
						lw->core.background_pixel,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   231
						lw->core.depth);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   232
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   233
    lw->label.stipple = values.tile;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   234
    lw->label.gray_GC = XtGetGC((Widget)lw, 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   235
				(unsigned) GCForeground | GCBackground |
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   236
					   GCFont | GCTile | GCFillStyle,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   237
				&values);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   238
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   239
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   240
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   241
static void Initialize(request, new)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   242
 Widget request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   243
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   244
    LabelWidget lw = (LabelWidget) new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   245
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   246
    if (lw->label.label == NULL) 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   247
        lw->label.label = XtNewString(lw->core.name);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   248
    else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   249
        lw->label.label = XtNewString(lw->label.label);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   250
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   251
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   252
    GetnormalGC(lw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   253
    GetgrayGC(lw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   254
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   255
    SetTextWidthAndHeight(lw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   256
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   257
    if (lw->core.width == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   258
        lw->core.width = lw->label.label_width + 2 * lw->label.internal_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   259
    if (lw->core.height == 0)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   260
        lw->core.height = lw->label.label_height + 2*lw->label.internal_height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   261
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   262
    lw->label.label_x = lw->label.label_y = 0;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   263
    (*XtClass(new)->core_class.resize) ((Widget)lw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   264
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   265
} /* Initialize */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   266
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   267
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   268
 * Repaint the widget window
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   269
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   270
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   271
/* ARGSUSED */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   272
static void Redisplay(w, event, region)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   273
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   274
    XEvent *event;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   275
    Region region;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   276
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   277
   LabelWidget lw = (LabelWidget) w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   278
   GC gc;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   279
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   280
   if (region != NULL &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   281
       XRectInRegion(region, lw->label.label_x, lw->label.label_y,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   282
		     lw->label.label_width, lw->label.label_height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   283
	     == RectangleOut)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   284
       return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   285
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   286
   gc = XtIsSensitive((Widget)lw) ? lw->label.normal_GC : lw->label.gray_GC;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   287
#ifdef notdef
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   288
   if (region != NULL) XSetRegion(XtDisplay(w), gc, region);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   289
#endif /*notdef*/
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   290
   if (lw->label.pixmap == None) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   291
       int len = lw->label.label_len;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   292
       char *label = lw->label.label;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   293
       Position y = lw->label.label_y + lw->label.font->max_bounds.ascent;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   294
       if (len == MULTI_LINE_LABEL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   295
	   char *nl;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   296
	   while ((nl = index(label, '\n')) != NULL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   297
	       XDrawString(
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   298
			   XtDisplay(w), XtWindow(w), gc, lw->label.label_x,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   299
			   y, label, (int)(nl - label));
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   300
	       y += lw->label.font->max_bounds.ascent + lw->label.font->max_bounds.descent;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   301
	       label = nl + 1;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   302
	   }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   303
	   len = strlen(label);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   304
       }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   305
       if (len)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   306
	   XDrawString(
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   307
		       XtDisplay(w), XtWindow(w), gc, lw->label.label_x,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   308
		       y, label, len);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   309
   } else if (lw->label.label_len == 1) { /* depth */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   310
       XCopyPlane(
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   311
		  XtDisplay(w), lw->label.pixmap, XtWindow(w), gc,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   312
		  0, 0, lw->label.label_width, lw->label.label_height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   313
		  lw->label.label_x, lw->label.label_y, 1L);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   314
   } else {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   315
       XCopyArea(
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   316
		 XtDisplay(w), lw->label.pixmap, XtWindow(w), gc,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   317
		 0, 0, lw->label.label_width, lw->label.label_height,
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   318
		 lw->label.label_x, lw->label.label_y);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   319
   }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   320
#ifdef notdef
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   321
   if (region != NULL) XSetClipMask(XtDisplay(w), gc, (Pixmap)None);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   322
#endif /* notdef */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   323
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   324
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   325
static void _Reposition(lw, width, height, dx, dy)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   326
    register LabelWidget lw;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   327
    Dimension width, height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   328
    Position *dx, *dy;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   329
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   330
    Position newPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   331
    switch (lw->label.justify) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   332
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   333
	case XtJustifyLeft   :
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   334
	    newPos = lw->label.internal_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   335
	    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   336
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   337
	case XtJustifyRight  :
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   338
	    newPos = width -
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   339
		(lw->label.label_width + lw->label.internal_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   340
	    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   341
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   342
	case XtJustifyCenter :
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   343
	    newPos = (width - lw->label.label_width) / 2;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   344
	    break;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   345
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   346
    if (newPos < (Position)lw->label.internal_width)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   347
	newPos = lw->label.internal_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   348
    *dx = newPos - lw->label.label_x;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   349
    lw->label.label_x = newPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   350
    *dy = (newPos = (height - lw->label.label_height) / 2) - lw->label.label_y;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   351
    lw->label.label_y = newPos;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   352
    return;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   353
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   354
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   355
static void Resize(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   356
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   357
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   358
    LabelWidget lw = (LabelWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   359
    Position dx, dy;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   360
    _Reposition(lw, w->core.width, w->core.height, &dx, &dy);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   361
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   362
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   363
/*
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   364
 * Set specified arguments into widget
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   365
 */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   366
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   367
#define PIXMAP 0
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   368
#define WIDTH 1
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   369
#define HEIGHT 2
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   370
#define NUM_CHECKS 3
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   371
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   372
static Boolean SetValues(current, request, new, args, num_args)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   373
    Widget current, request, new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   374
    ArgList args;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   375
    Cardinal *num_args;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   376
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   377
    LabelWidget curlw = (LabelWidget) current;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   378
    LabelWidget reqlw = (LabelWidget) request;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   379
    LabelWidget newlw = (LabelWidget) new;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   380
    int i;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   381
    Boolean was_resized = False, redisplay = False, checks[NUM_CHECKS];
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   382
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   383
    for (i = 0; i < NUM_CHECKS; i++)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   384
	checks[i] = FALSE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   385
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   386
    for (i = 0; i < *num_args; i++) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   387
	if (streq(XtNbitmap, args[i].name))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   388
	    checks[PIXMAP] = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   389
	if (streq(XtNwidth, args[i].name))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   390
	    checks[WIDTH] = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   391
	if (streq(XtNheight, args[i].name))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   392
	    checks[HEIGHT] = TRUE;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   393
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   394
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   395
    if (newlw->label.label == NULL) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   396
	newlw->label.label = newlw->core.name;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   397
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   398
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   399
    if (curlw->label.label != newlw->label.label) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   400
        if (curlw->label.label != curlw->core.name)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   401
	    XtFree( (char *)curlw->label.label );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   402
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   403
	if (newlw->label.label != newlw->core.name) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   404
	    newlw->label.label = XtNewString( newlw->label.label );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   405
	}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   406
	was_resized = True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   407
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   408
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   409
    if (was_resized || (curlw->label.font != newlw->label.font) ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   410
	(curlw->label.justify != newlw->label.justify) || checks[PIXMAP]) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   411
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   412
	SetTextWidthAndHeight(newlw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   413
	was_resized = True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   414
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   415
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   416
    /* recalculate the window size if something has changed. */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   417
    if (newlw->label.resize && was_resized) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   418
	if ((curlw->core.width == reqlw->core.width) && !checks[WIDTH])
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   419
	    newlw->core.width = (newlw->label.label_width +
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   420
				 2 * newlw->label.internal_width);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   421
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   422
	if ((curlw->core.height == reqlw->core.height) && !checks[HEIGHT])
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   423
	    newlw->core.height = (newlw->label.label_height + 
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   424
				  2 * newlw->label.internal_height);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   425
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   426
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   427
    if (curlw->label.foreground != newlw->label.foreground
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   428
	|| curlw->label.font->fid != newlw->label.font->fid) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   429
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   430
	XtReleaseGC(new, curlw->label.normal_GC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   431
	XtReleaseGC(new, curlw->label.gray_GC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   432
	XmuReleaseStippledPixmap( XtScreen(current), curlw->label.stipple );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   433
	GetnormalGC(newlw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   434
	GetgrayGC(newlw);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   435
	redisplay = True;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   436
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   437
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   438
    if ((curlw->label.internal_width != newlw->label.internal_width)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   439
        || (curlw->label.internal_height != newlw->label.internal_height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   440
	|| was_resized) {
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   441
	/* Resize() will be called if geometry changes succeed */
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   442
	Position dx, dy;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   443
	_Reposition(newlw, curlw->core.width, curlw->core.height, &dx, &dy);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   444
    }
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   445
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   446
    return was_resized || redisplay ||
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   447
	   XtIsSensitive(current) != XtIsSensitive(new);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   448
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   449
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   450
static void Destroy(w)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   451
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   452
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   453
    LabelWidget lw = (LabelWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   454
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   455
    XtFree( lw->label.label );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   456
    XtReleaseGC( w, lw->label.normal_GC );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   457
    XtReleaseGC( w, lw->label.gray_GC);
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   458
    XmuReleaseStippledPixmap( XtScreen(w), lw->label.stipple );
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   459
}
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   460
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   461
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   462
static XtGeometryResult QueryGeometry(w, intended, preferred)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   463
    Widget w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   464
    XtWidgetGeometry *intended, *preferred;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   465
{
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   466
    register LabelWidget lw = (LabelWidget)w;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   467
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   468
    preferred->request_mode = CWWidth | CWHeight;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   469
    preferred->width = lw->label.label_width + 2 * lw->label.internal_width;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   470
    preferred->height = lw->label.label_height + 2*lw->label.internal_height;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   471
    if (  ((intended->request_mode & (CWWidth | CWHeight))
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   472
	   	== (CWWidth | CWHeight)) &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   473
	  intended->width == preferred->width &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   474
	  intended->height == preferred->height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   475
	return XtGeometryYes;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   476
    else if (preferred->width == w->core.width &&
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   477
	     preferred->height == w->core.height)
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   478
	return XtGeometryNo;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   479
    else
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   480
	return XtGeometryAlmost;
d7a0cca9c876 6860468 move xc/lib/Xaw and xc/SUNWlib/3_1libXaw to open-src/lib/libXaw5 and open-src/lib/libXaw4
Niveditha Rau <Niveditha.Rau@Sun.COM>
parents:
diff changeset
   481
}