From: kaleb@thyme.jpl.nasa.gov (Kaleb Keithley)
Newsgroups: comp.archives
Subject: [comp.windows.x] Xaw3d -- Three-D Athena Release 0.1 (beta)
Date: 30 Jul 92 10:18:11 GMT
Followup-To: comp.windows.x,comp.windows.x.intrinsics
Organization: Jet Propulsion Lab, Pasadena, CA
NNTP-Posting-Host: soda.berkeley.edu
X-Original-Newsgroups: comp.windows.x,comp.windows.x.intrinsics
X-Original-Date: Tue, 28 Jul 92 16:52:41 GMT

Archive-name: auto/comp.windows.x/Xaw3d-Three-D-Athena-Release-0-1-beta

Announcing Release 0.1 (beta) of a 3-D widget set based on Xaw.


                   Three-D Athena Widgets (Xaw3d)
                      kaleb@thyme.jpl.nasa.gov

Features:

This is Release 0.1 beta (28 July, 1992) of a set of 3-D widgets based 
on the R5 Athena Widget set.  The Three-D Athena may be used as a general 
replacement of the Athena (Xaw) Widget set.

In general, it is possible to relink any Athena Widget based application 
with the Three-D Athena Widget set to obtain a three dimensional appearance.  

The Three-D Athena Widget set uses a ThreeD subclass to add the following 
widget resources: top shadow color, bottom shadow color, shadow width, top 
shadow contrast, bottom shadow contrast, user data, and a "be nice to the
colormap" option.

In previous releases I have relinked all of the clients in the MIT sample 
implementation release with the Three-D Athena Widget set, and with Brian V. 
Smith's xfig.  In this release, due to time constraints, I have only tested
editres and xfig.  I can assert that none of them "broke".

Top shadow color, bottom shadow color, shadow width, top shadow bright and 
bottom shadow dim should be self explanatory, and may be set via the usual 
and customary methods, e.g. app-defaults, .Xdefaults, programmatically, with 
editres, etc.  The user data resource may be used to "hang" application 
specific data on a widget, and is only settable programmatically.


This release adds the following features:

    o pixmap shadows for 1-bit deep visuals 
    o selection (on a per-widget basis) of "colormap friendly" versus
      "colormap unfriendly" shadow drawing mode.
    o use a tiled pixmap to create shadows colors in "colormap friendly"
      mode.
    o settable shadow contrast (intensity) when using "filled" shadows
      in "colormap unfriendly" mode.
    o allow Labels to have shadows (again), but you must over-ride the
      default shadow width of zero.
    o All 3d code linted clean with 'gcc -Wall -pedantic -traditional...'
      and Sun lint.


This release fixes the following bugs:

    o fixed shadow-draw and interior-draw bugs in scrollbar and stripchart.
    o fixed Command enter hi-lighting.


Known bugs:

    o I don't have any monochrome systems -- therefore I haven't tested
      the 1-bit visual pixmap shadows.


Getting:

Xaw3d may be found on export.lcs.mit.edu (18.24.0.12) and possibly other
sites; check archie.  On export, it may be found in the file:

    ~ftp/contrib/Xaw3d/R5/Xaw3d-0.1.tar.Z


Building:  

Untar the distribution from the base of your MIT source tree.  This will 
create the directory .../mit/lib/Xaw3d.  'cd' there and:

'make Makefile; make includes; make depend; make; make install'.  

The Imakefile uses the Xaw symbols in .../mit/config, so if you have 
debugging, profiling, shared libs, etc. specified for Xaw, you'll get 
them in Xaw3d too.


Using:

It's okay to just relink your application with -lXaw3d.  I'll even go 
so far as to say just hack your Imake generated Makefile and change the 
Xaw to Xaw3d.  As an alternative, if you're using shared libraries,
you may install libXaw3d.s?.5.0 as libXaw.s?.5.0, and your applications
that are dynamically linked will inherit the 3-D appearance automatically
the next time you run them.


Extra Credit:

I recommend adding Xaw3d symbols to .../mit/config/Project.tmpl,
and, if you're on a Sun or a SVR4 box, SunLib.tmpl or sv4Lib.tmpl too.
You'll want to create parallel symbols for most of the Athena
symbols.  Symbols you'll want 3d versions of might include:
   AWIDGETSRC        ---> A3DWIDGETSRC
   DEPXAWLIB         ---> DEPXAW3DLIB
   XAWLIB            ---> XAW3DLIB
   LINTXAW           ---> LINTXAW3D
   XawClientLibs     ---> Xaw3dClientLibs
   XawClientDepLibs  ---> Xaw3dClientLibs

I'll leave it as an exercise as to the values for those symbols.


Credits, in no particular order:  
          Achille Hui (eillihca@drizzle.stanford.edu)
          Robert Withrow (witr@rwwa.com)
          Malcolm Strickland (chuck-strickland@orl.mmc.com
          David Flanagan (david@ora.com)
          Jamie Zawinski (jwz%thalidomide@lucid.com
          Frank Terhaar-Yonkers (fty@bizarre.trpnc.epa.gov)
          Mike Schulze (mike@cs.curtin.edu.au)
          Gustaf Neumann (neumann@dec4.wu-wien.ac.at


Comments, fixes, etc. to: kaleb@thyme.jpl.nasa.gov

-- 

Kaleb Keithley                          kaleb@thyme.jpl.nasa.gov

Not authorized, in any way, shape, or form, to speak for anyone.