******************************************************************************
* New since VWS V4.0: *
* *
* VWS$MESSAGE_DISPLAY -Display System type (Mail, OPCOM, etc) *
* messages to the message mailbox window *
* in the BANNER demo. See the C demos. *
* MASK-DEMO -New in VWS V4.1 is the support of a plane *
* mask (described in the VWS Graphics *
* Programming Guide section on color). The *
* demo here is the same one in the GPG. *
* See the Fortran Demos for description. *
* *
******************************************************************************
*****************
* BLISS DEMOS *
*****************
MODULES, HOW THEY ARE BUILT AND BRIEF DESCRIPTION
-------------------------------------------------
VWSBANNER.B32, BANNER.COM
DESCRIPTION:
This demo runs a banner on your workstation. This banner has a
clock, day/date, cube, cpu monitor, and disk information written
into its window, it must be run from a priveleged account.
If you wish for the demo banner to come up automatically every time the
system is booted, edit SYSTARTUP_V5.COM in the SYS$MANAGER directory to
include the previous command(s) at the end of that file. To do this,
log into the SYSTEM account as previously described and type the
following at the "$" prompt:
SET DEF SYS$MANAGER:
EDIT SYSTARTUP_V5.COM
If you should next get a "*" prompt, type a "C" and hit carriage-return.
Otherwise, hit the PF1 key followed by the "4" key on the numeric keypad
At the bottom of the file just type one or both of the following lines:
$ @SYS$SYSDEVICE:[VWSDEMO.COM]BANNER.COM
Next, hit <CTRL>Z on the keyboard by holding down the control <CTRL>
key and hitting the "Z" key. At the "*" prompt, type "EXIT". Now the
demo banner will automatically be run each time the system is rebooted.
COMPILE/LINK:
No sources are available yet for BANNER
RUN: (from a priveledged account)
@SYS$SYSDEVICE:[VWSDEMO.COM]banner
*****
DATETIME.B32, DATETIME.COM
DESCRIPTION:
This program will create a window that will have just the DATE
and TIME displayed.
COMPILE/LINK:
BLISS/OPTIMIZE=(LEVEL=3, SPEED) datetime
LINK/EXE=DATETIME -
datetime, clock, - !clock is a PLI routine
cliutl/library/include=(cvttime), -
sys$input/options
SYS$LIBRARY:uisshr /share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]datetime
*****
BOUNCE.B32, BOUNCE.COM
w/ BOUNCE_SUBS.FOR
w/ BOUNCE_ICON.MAR - draws the icon state of the bounce demo
DESCRIPTION:
This program is an animation demo that moves bouncing balls across a
window. It works as follows: Each data structure for a ball is kept in
a singly-linked list pointed to by BALL_LIST. Each iteration, the ball
on the front of the list is removed and placed on the CURRENT_BALL
pointer. Its new position is computed, and the ball will be deflected
off any sides of the window it may hit. Then the list of other balls is
recursively examined, and the ball is collided with any other balls.
When the end of the list is reached, that ball is placed on the end of
the list.
The mouse buttons allow three functions: Button one, when depressed,
creates a new ball. The ball is given a random velocity (determined in
the routine GET_SPEED), and started from the pointer position. Button
two, when depressed and held down, can catch a ball. This will be the
first ball encountered by moving the mouse pointer near the ball. It
can be carried about until the button is released. The other balls
will continue to move while a ball is caught. Button three, when
depressed, will destroy a caught ball.
There is a global routine SHOW_BALLS that is not called. It can be
used for debugging purposes to show all balls. It recursively walks
the execution list.
Some routines, notably GET_SPEED and COLLISION_STUFF, are written in
FORTRAN and are in the file BOUNCE_SUBS.FOR.
COLLISION_STUFF does not currently calculate truly elastic collisions.
This is an area for enhancement.
COMPILE/LINK:
FORTRAN bounce_subs
MACRO bounce_icon
BLISS/OPTIMIZE=(LEVEL=3, SPEED) bounce
LINK/EXE=BOUNCE -
bounce, bounce_subs, bounce_icon -
sys$input/options
SYS$LIBRARY:uisshr /share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]BOUNCE
*****
DEMOMENU.B32, DEMOMENU.COM
w/ demomenu2.com
w/ demomenu.dat
DESCRIPTION:
This module creates and mantains the workstation demo menu. The
files included in the menu are included in demomenu.dat and
demomenu.com. When the menu comes up, select demos by moving the
mouse cursor over the menu and hitting any button. The selected
item will then be "checkmarked" to show that the item is selected.
Please wait a couple seconds for the demo to actually begin running.
It is advised that you only run a couple demos at the same time due
to the fact that most of them are very output driven. To stop a demo
once it has been started, either exit that demo by selecting an exit
item if that demo has one, or merely select that demo again from the
demo menu. The checkmark will disappear and the demo will be deleted.
You may place anything you desire in the menu. If you look through
demomenu.com and demomenu.dat just follow the procedure that they
have already taken.
COMPILE/LINK:
BLISS/OPTIMIZE=(LEVEL=3, SPEED) demomenu
LINK/EXE=demomenu -
demomenu, -
SYS$LIBRARY:uisbg/library, -
SYS$SYSTEM:uisloasym.stb/select,-
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]demomenu
*****
SIMPLE_BANNER.B32, SIMPLE_BANNER.COM
w/ CLOCK.PLI
DESCRIPTION:
This demo is much like the BANNER program from before, the difference
being that this module only runs the banner with none of the other
modules that are linked with the previous BANNER. This module
is compiled and linked the exact same way that the DATETIME demo was
compiled and linked except insert SIMPLE_BANNER in place of DATETIME.
COMPILE/LINK:
BLISS/OPTIMIZE=(LEVEL=3, SPEED) banner
PLI/NOWARN CLOCK
LINK /EXE=BANNER -
banner, clock, -
cliutl/library/include=(cvttime), -
sys$input/options
sys$library:uisshr/share
RUN: (from a priveledged account)
@SYS$SYSDEVICE:[VWSDEMO.COM]simple_banner
________________________________________________________________________________
________________________________________________________________________________
**************
* C DEMOS *
**************
MODULES, HOW THEY ARE BUILT AND BRIEF DESCRIPTION
-------------------------------------------------
CHROMA_TRIANGLE.C
DESCRIPTION:
This demo will plot a constant intensity chromanince triangle.
In order to stop the demo you must hit a ^Y, then stop. This
demo works best on an 8-plane GPX.
COMPILE/LINK:
CC chroma_triangle
define lnk$library sys$library:vaxcrtl.olb
LINK/EXE = CHROMA_TRIANGLE -
chroma_triangle, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.CC]chroma_triangle
*****
CPETAL.C
DESCRIPTION:
This demo shows a ROSE filled with colored, overlapping, line segments
stepping thru the vector lengths. In order to stop the demo, you must
type a ^Y, then STOP.
COMPILE/LINK:
C cpetal
DEFINE lnk$library sys$library:vaxcrtl.olb
LINK/EXE = cpetal -
cpetal, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
define the symbol CPETAL = "$SYS$SYSDEVICE:[VWSDEMO.CC]CPETAL"
then say:
CPETAL n, where 3 <= n <= 511
*****
DELAUNAY.C
DESCRIPTION:
Experiment with Voronoi diagrams and Delaunay triangulations in the
plane. This program is based on the paper:
"Primitives for the Manipulation of General Subdivisions and
the Computation of Voronoi Diagrams"
L. Guibas, J. Stolfi, ACM TOG, April 1985
The numbers required on running the program can be just about anything
COMPILE/LINK:
C delaunay
DEFINE lnk$library sys$library:vaxcrtl.olb
LINK/EXE = DELAUNAY -
delaunay, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.CC]delaunay
*****
DISPLAY_LIST.C
DESCRIPTION:
This program shows how to solve the problem of the internal display
list stored in VWS. In certain cases, when the display list is
disabled and/or erased, the window contents are still saved in another
display list used by VWS. This problem is seen when a viewport is
occluded, then popped to the foreground and the driver's display list
is redrawn. To solve this problem, scroll the window one pixel using
UISDC$MOVE_AREA after the window is created.
COMPILE/LINK:
C display_list
LINK/EXE = DISPLAY_LIST -
display_list, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.CC]display_list
*****
DOPEXAMPLE.C
DESCRIPTION:
Plot filled triangles using device coordinates and DOP'S
This program shows the performance increase when using hardware
polygon fill vs the UIS scan line algorithm. When you first run
the program you are given the option to use DOP's or not to,
try both ways, and see the difference in time.
COMPILE/LINK:
C dopexample
LINK/EXE = DOPEXAMPLE -
dopexample, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.CC]dopexample
*****
DOP_FILLED_CIRCLES_C.C
DESCRIPTION:
This program will test the speed of drawing filled circles using
DOPs. A scan line approximation has been used to calcualte the
circles. Each of the circles drawn in made up of 58 horizontal
lines. It was found that any fewer lines left "holes" in the
circle. Any more are unneeded data.
To average any optimization that may occur at particular points on
the window, the center points are generated randomly.
One advantage that has been used in this program is an optimization
for all of the circles having the same radius. Since this is the
case, we can calculate the line point offsets from (0,0) once and
then use these values to figure the coordinates of the actual
lines.
COMPILE/LINK:
C dop_filled_circles_c
LINK/EXE = DOP_FILLED_CIRCLES_C -
dop_filled_circles_c, -
sys$input/options
SYS$LIBRARY:uisshr/share
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]dop_filled_circles_c
*****
FLAG_DEMO.C,
w/ FLAGS.C,
w/ FLAG_COLORS.C
DESCRIPTION:
Main module flag_demo.c does the following:
1. checks that the hardware is at least a four plane GPX before
proceeding.
2. calls function define_flags in module flags.c, to define flag
geometry composition and color
3. creates a demo display window
4. sets the flag colors and drawing mode by calling function
set_flag_drawmode() in module flag_colors.c
5. sets the window background - left half black, right half white
6. draws flags by calling the function draw_a_flag() in module flags.c
7. waits for any keyboard input before exiting
Module flags.c is a resource to main module flag_demo.c
This module declares the flag data structure, defines some 17 flags
with that data structure, and draws a desired flag in a given location
of a given virtual display according to a x and y scaling factor.
I choose to model a flag as "bounding" quadilateral with corner
coordinates:(0.0,0.0), (100.0,0.0), (100.0,100.0), (0.0,100.0).
Within these bounds, the flag is defined as a group of quadilaterals,
circles,triangles, lines,stars. Each individual quad, circle, triangle,
line, and star has a color index associated with. Further, within the
flag data structure you can define the drawing order ("priority") of
each group, i.e., draw the quadilaterals first, circles second, etc.
Module flag_colors.c is a resource to main module flag_demo.c.
Function set_flag_drawmode does the following:
1. sets the color entries in the virtual color map
2. sets writing attribute block 1 to solid fill the foreground pattern
Press <RETURN> to EXIT demo, after started.
LINK/COMPILE:
DEFINE LNK$LIBRARY SYS$LIBRARY:VAXCRTL.OLB
CC flag_demo
CC flag_colors
CC flags
LINK /EXE=FLAG
flag_demo,-
flag_colors,-
flags, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]flag
*****
JTRACE.C, JTRACE.COM
DESCRIPTION:
A simple example of creating a window and then drawing a SINE wave
trace continuously inside that window.
COMPILE/LINK:
C jtrace
LINK/EXE = JTRACE -
jtrace, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]jtrace
*****
KEYBOARD.C
DESCRIPTION:
An example of how to attach a keyboard to a window and type keyboard
characters within the window. To exit, use the F5 CYCLE key to
attach the keyboard to the window that is running the demo, then
type a character and return. You can echo 30 characters before
program resets.
COMPILE/LINK:
C keyboard
LINK/EXE = KEYBOARD -
keyboard, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]keyboard
*****
MENU.C, CREATE_MENU.C, KILLPID.C, LOADMENU.C, MENUDEF.H, MENUFILE.TXT
DESCRIPTION:
A simple example of creating a menu where menu information resides
in an ascii file menufile.txt.
main module: menu.c
resource modules: create_menu.c, loadmenu.c, killpid.c
menu data definitions: menudef.h
menu text file : menufile.txt
Main module MENU.C does the following:
- clears exit event flag
- calls function get_pids() to load into an array all current
process ids
- calls function load_menu_commands() to load menu strings
and commands from a menufile and is returned the
number of menu choices.
- calls function create_menu which creates a proportionate
menu window for the number of menu choices and the
length of the menu strings, menu selection ast
handling is also created to perform the menu commands.
- waits for exit event flag to be set and then exits.
Module KILLPID.C -
contains two functions:
1. get_pids() which loads all the "accessible" process
ids into an array pid_arr[] ; kill_demo_pids()
2. gets all "accessible process ids when called and
delete those which were not loaded in the array
pid_arr[], presumably this would be all process ids
being used by demos.
Note: some menu commands may create privileged processes which
will either have to police themselves or the "menu"
process will have to be a privileged process as well.
Module LOADMENU.C -
Opens a menufile and from that file loads into arrays of
structs both the menu strings (the lines of text that appears
in the window) and the command strings which will be spawned
DCL Command Lines. Afterwards, the menufile is closed and the
number of menu entries read from the menufile is returned.
Module CREATE_MENU.C -
Will create a menu window in the lower left corner called
" Example Menu". The size of the menu_window is "figured" to
be no larger than the widest menu-string is wide or taller than
the number of menu_string choices needed. As the mouse moves
the cursor into a menu selection rectangle that selection
rectangle is XORed. Depressing any mouse button in that XORed
selection rectangle, selects that command.
COMPILE/LINK:
CC MENU
CC KILLPID
CC LOADMENU
CC CREATE_MENU
define lnk$library sys$library:vaxcrtl.olb
LINK/EXE = MENU -
menu, -
create_menu, -
loadmenu, -
killpid, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN /DET SYS$SYSDEVICE:[VWSDEMO.CC]menu
*****
MENU_C.C
DESCRIPTION:
This demo will create a menu window in the lower left corner
called "Selection Menu". As the mouse moves the cursor into a menu
selection rectangle that selection rectangle is XORed. Depressing any
mouse button in that XORed selection rectangle, selects that command.
If you want to modify MENU_C.C for your own use, you might want to
do the following:
1. Redefine the descriptor "menu_title", unless you want the menu
titled "Selection Menu"
2. Redefine NUM_OF_CHOICES = the number of menu choices you want.
Edit function load_menu_commands() for appropriate menu
strings and commands.
3. Edit function selected() for appropriate action to be taken at
a selected menu command.
4. Recompile, relink.
COMPILE/LINK:
CC menu_c
define lnk$library sys$library:vaxcrtl.olb
LINK/EXE = MENU_C -
menu_c, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.CC]menu_c
*****
MOUSEAST.C
DESCRIPTION:
This example creates a grid of xinc by yinc rectangles in a window
with diagonal bounds (xmin,ymin), (xmax,ymax) and reports mouse move-
ments in these grid rectangles via UIS$SET_POINTER_AST instruction.
The grid rectangles are numbered from bottom to top , left to right
starting at 0. So with the example values, the bottom left rectangle
is 0, the rectangle above it is 1, the rectangle to the right is 10;
the top left hand rectangle is 9, ..., the top right hand rectangle
is 99.right hand rectangle is 99. To exit, press <RETURN>.
COMPILE/LINK:
C mouseast
LINK/EXE = MOUSEAST -
mouseast, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]mouseast
*****
NOBANN_NOBORD.C
DESCRIPTION:
his demo simply creates a window that is both borderless and
bannerless.
COMPILE/LINK:
C nobann_nobord
LINK/EXE = NOBANN_NOBORD -
nobann_nobord, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]nobord_nobann
*****
PATTERN.C
DESCRIPTION:
This demo create a window and then fills two circles with UIS Fill
Patterns and displays their pattern number as defined in:
SYS$LIBRARY:UISUSRDEF.H.
This tool can be used whenever one needs a fill pattern for a writing
attribute block. When you run the program you will see a pattern
number to the left of each circle cooresponding to fill pattern
definition in UISUSRDEF.H. For example, run the program, move cursor
into the window and click left or right mouse button. You see
Pattern 1
and nothing else! The circle is there, recall pattern 1 is defined as
PATT$C_BACKGROUND, the background color. Click mouse buttons again
and play.
To EXIT press middle mouse_button.
COMPILE/LINK:
C pattern
LINK/EXE = PATTERN -
pattern, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]pattern
*****
RUBBERBOX.C, RUBBERBAND.C, RUBBER.H
DESCRIPTION:
A demo that will create rubber band boxes in a given window. These
boxes may be just outline or solid fill and/or color. This routine
is also able to delete boxes, hence keep track of the created boxes.
You can also ask the routine for 'n' rubberband boxes, and are able
to ask the routine to return a variable number of rubberband boxes
where completion is signaled by some input event ( e.g. a right mouse
button click). This demo incorporates the following UIS capabilities:
1. determines hardware device characteristics (i.e. color or mono)
2. creates a demo window
3. sets up attribute blocks for demo
4. prints directions to the user
5. demos calls to create_rubberband_boxes (either color or mono)
COMPILE/LINK:
CC RUBBERBOX
CC RUBBERBAND
define lnk$library sys$library:vaxcrtl.olb
LINK/EXE = RUBBERBOX -
rubberbox, -
rubberband, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.CC]rubberbox
*****
QUAD_DEMO.C
DESCRIPTION:
A simple example which draws 2000 overlapping color quadilaterals,
each bisected by a vertical line (hopefully of a different color ).
So 2000 quads and 2000 lines are drawn.
COMPILE/LINK:
CC quad_demo
define lnk$library sys$library:vaxcrtl.olb
LINK/EXE = QUAD_DEMO -
quad_demo, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.CC]quad_demo
*****
SCROLLFILE.C
DESCRIPTION:
This demo shows how one can read in text from a file, in this case the
source file, and scroll it through a window.
COMPILE/LINK:
C scrollfile
LINK/EXE = SCROLLFILE -
scrollfile, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]scrollfile
*****
SCROLLLINE.C
DESCRIPTION:
This demo scrolls a line of text through a window
COMPILE/LINK:
C scrolline
LINK/EXE = SCROLLINE -
scrolline, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]scrolline
*****
SDYN.C
DESCRIPTION:
This demo shows the dynamics of a few sorting techniques.
COMPILE/LINK:
C sdyn
LINK/EXE = SDYN -
sdyn, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
define the symbol SDYN = "$SYS$SYSDEVICE:[VWSDEMO.CC]SDYN"
Then say:
SDYN { quicksort | shellsort | treesort }
*****
SHAPES.C
DESCRIPTION:
This simple demo creates a window, and then this demo will draw out
a set of shapes to a window:
1. a set of concentric circles
2. a flower type pattern
3. the a spiral box pattern
4. a diamond shaped pattern
5. a spiral
COMPILE/LINK:
C shapes
LINK/EXE = SHAPES -
shapes, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]shapes
*****
VWS_MENU.C
DESCRIPTION:
This demo will create a menu in which you may select some simple
VMS commands from by pressing the left button of the mouse. To
exit press <RETURN> from the window that you started the demo from.
COMPILE/LINK:
C vws_menu
LINK/EXE = VWS_MENU -
vws_menu, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]vws_menu
*****
VWS_SCROLL_BAR.C
DESCRIPTION:
Many applications require a scroll bar. A scroll bar is usually used
to navigate around a virtual display. The virtual display may be
graphics and/or text, such as mail messages, a file for an editor, or
an IC chip layout. A scroll bar allows the user to access different
portions of a display horizontally, vertically or diagonally. As
mentioned above, a simple scroll bar may be used to access a list
of information. For example, in an applicaton, long list of names,
addresses and phone numbers are in stored in a database. the window
displaying the last names is not large enough to present the entire
list. Rather than allowing the user to resize the window, he or she
may access other portions of the list using the scroll bar. The
simple scroll bar needed for this applicaton consists of two direction
regions (up and down arrow icons), and a pointer inside the middle
area of the bar to allow the user to select specific data.
+------+
| /\ |
| /__\ | Up Arrow to access previous page
| || | of information
+------+
| |
| |
| |
|+---->| Mouse cursor to select information
| | currently in window
| |
| |
| |
| |
| |
+------+
| || | Down Arrow to access next page
| \--/ | of information
| \/ |
+------+
An arrow icon is highlighted when the mouse cursor is moved over it.
When a mouse button is pressed in an arrow, the information is scrolled
appropriately. When the mouse cursor is moved into the middle area,
the cursor changes to a horizontal arrow. The user moves the cursor
vertically in this region to choose a name from the list. The appro-
priate line of information i.e. a last name) indicated by the cursor
is also highlighted. When the mouse button is pressed, the person's
full name, address, and phone number are displayed in a separate window.
A general scroll bar procedure would contain the following parameters:
the location of the scroll bar in the application window, procedures
for actions that occur when the up and down arrows icons are selected,
and procedures for the actions that occur when the mouse cursor enters
the middle region and when a mouse button is pressed in the middle
region. To EXIT just type <RETURN> in the main calling window.
COMPILE/LINK:
C vws_scroll_bar
LINK/EXE = VWS_SCROLL_BAR -
vws_scroll_bar, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR/SHARE
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]vws_scroll_bar
*****
VWS$MESSAGE_DISPLAY.EXE
w/ VWS$MESSAGE_DISPLAY.COM
w/ VWS$MESSAGE_DISPLAY_TXT.MSG
w/ VWS$MESSAGE_DISPLAY_TXT.COM
DESCRIPTION:
This demo is used in conjunction with the BANNER program described
in the BLISS demo section. What this demo does for you is to trap
SYSTEM broadcast messages and display them in the BANNER's message
mailbox (as described in the BANNER.COM)
More information on this demo can be found in the VWS$MESSAGE_DISPLAY
command procedure, found in the SYS$SYSDEVICE:[VWSDEMO.COM] directory.
VWS$MESSAGE_DISPLAY can also be tailored for various languages. You
must look in the file VWS$MESSAGE_DISPLAY_TXT.COM in the same directory
for more information on how to do this.
COMPILE/LINK:
The sources for VWS$MESSAGE_DISPLAY are not available; however,
the source for the text in the display are available, so that it
is possible to internationalize the demo.
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]VWS$MESSAGE_DISPLAY
____________________________________________________________________________
*********************
* ELN PASCAL DEMOS *
*********************
MODULES, HOW THEY ARE BUILT AND BRIEF DESCRIPTION
-------------------------------------------------
CDOODLE.EPAS, DOODLE.EPAS, RUN_DOODLE.COM
w/ ALPHA.MAR -
w/ BRUSH.MAR - draws the BRUSH icon
w/ CIRCLE.MAR - draws the open CIRCLE icon
w/ ELLIPSE.MAR - draws the open ELLIPSE icon
w/ ERASER.MAR - draws the ERASER icon
w/ FCIRCLE.MAR - draws the filled CIRCLE icon
w/ FELLIPSE.MAR - draws the filled ELLIPSE icon
w/ FPOLY.MAR - draws the filled POLY icon
w/ FRECTANGLE.MAR - draws the filled RECTANGLE icon
w/ MOVEC.MAR - draws the MOVEC icon
w/ MOVER.MAR - draws the MOVER icon
w/ PENCIL.MAR - draws the PENCIL icon
w/ POLY.MAR - draws the open POLY icon
w/ RECTANGLE.MAR - draws the open RECTANGLE icon
w/ RLINE.MAR - draws the slanted LINE icon
w/ SPRAY.MAR - draws the SPRAY can icon
DESCRIPTION:
A simple drawing program. Doodle is really a color demonstration of
application input using the mouse.
You can select free hand pencil drawing, paint brushing, rubber-band
line drawing, rubber-band boxes (filled and unfilled), and polygons
(filled and unfilled). Filled patterns are selected at the bottom as
is line thickness. You can erase parts of the picture selectivity by
picking the eraser (right top menu choice) or erase the whole picture
by clicking the mouse button twice in the eraser box. You may select a
color by simply picking a new color off the color bar on the top of
the doodle window.
I. Tools
The tool area is the set of 12 boxes (6x2) on the left side of the
screen. The current tool's icon is shown reversed. Currently the
following tools have the following capabilities:
a) pencil - writes with currently selected line width (style)
b) eraser - currently there is just one eraser width (fixed and
independent of the line type). To erase the entire
drawing area, double click the eraser icon
c) brush - draws (by plotting boxes sized by the currently
selected line width) with the current fill pattern
d) spray - not functional
e) rubberband line - writes rubberband line with currently
selected line width (style)
f) rectangle - writes rubberband rectangle with currently
selected line width (style)
g) filled rectangle - same as rectangle except rectangular
area is filled with current fill pattern
h) circle - writes a rubberband circle with currently selected
line width (style)
i) filled circle - same as circle excepts that circular
area is filled with current fill pattern
II. Line widths (style)
The box in the lower left had corner of the screen is used to select
the line width. The check mark indicates the current width.
III. Fill patterns
The box across the bottom is used to select the fill pattern. There
is space for 28 fill patterns (not all are currently used). Selecting
a fill pattern with the mouse updates the large fill pattern on the
left end of the box used to display the current pattern. Fill patterns
are used for brush and filled rectangles and circles.
COMPILE/LINK: (this demo requires that you have ELN PASCAL)
MACRO ALPHA
MACRO PENCIL
MACRO ERASER
MACRO BRUSH
MACRO SPRAY
MACRO RECTANGLE
MACRO FRECTANGLE
MACRO CIRCLE
MACRO FCIRCLE
MACRO POLY
MACRO FPOLY
MACRO RLINE
MACRO MOVER
MACRO MOVEC
MACRO ELLIPSE
MACRO FELLIPSE
EPASCAL cdoodle.epas+euis/MODULE
EPASCAL doodle.epas+euis/MODULE
LIBRARY/CREATE DOODLEICON -
PENCIL, ERASER, BRUSH, SPRAY, RECTANGLE, FRECTANGLE, -
CIRCLE, FCIRCLE, POLY, FPOLY, ALPHA, LINE, MOVER, -
MOVEC, ELLIPSE, FELLIPSE
LINK /EXE = CDOODLE -
CDOODLE, -
DOODLEICON/LIB, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR /SHARE
LINK /EXE = CDOODLE -
CDOODLE, -
DOODLEICON/LIB, -
SYS$INPUT/OPTIONS
SYS$LIBRARY:UISSHR /SHARE
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]run_doodle
*****
CPUZZLE.EPAS, CPUZZLE.COM
DESCRIPTION:
Puzzle is an interactive, mouse driven demo depicting a "rearrange
the numbers" game. The main functionality shown is the ability to
copy one region of the screen to another very quickly, in this case,
small, rectangular regions. The object is to arrange the numbers in
order with 1,2,3,4 being in the top row, 5,6,7,8 being in the second
row, etc. To move a number, point the mouse at a number that happens
to be next to the empty space. That number will move into the empty
space, and the location it had occupied will become the new empty
space. When all the numbers are in order, a small window will be
created telling you how long it took in both time and number of moves.
COMPILE/LINK:
EPASCAL cpuzzle.epas +euis/MODULE
LINK /EXE = cpuzzle -
cpuzzle, -
elnrtl/lib,-
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]cpuzzle
*****
DESK.EPAS,
w/ CALC.EPAS,
w/ CALENDAR.EPAS,
w/ DIGITALCLOCK.EPAS,
w/ MENU.EPAS
w/ CALCI.MAR - CALCULATOR icon
w/ CALENDARI.MAR - CALENDAR icon
w/ CLOCKI.MAR - CLOCK icon
w/ CLOCK.MAR - CLOCK information
DESCRIPTION:
This is a demonstration of the use of Icons. Icons are an important
element in multi-windowing systems and can represent whatever functions
the user needs. These functions are "stored" in a small, graphical
window called an Icon and, when selected, bring up the functionality
needed. When the user is done with the function, he can "store" it
back in the Icon. The functionality exemplified by Desk are a Clock,
a Calendar, and a Calculator.
Once Desk is selected from the demo menu, three Icons will appear on
the edge of the screen. To select a function, move the mouse cursor
over one of the items and click the left mouse button twice in quick
succession. To remove an item, or "store" it back in the Icon, move
the mouse into the [ ] area of the window, and click the left mouse
button.
The calendar allows you to manipulate the months and years
by pointing at the commands on the top row and hitting the left mouse
button. The calendar demo is able to scroll forward a month, backward
a month, forward a year, and backward a year.
The calculator can be operated either by using the mouse to
select buttons or using the numeric keypad on the right of the keyboard
with each of the keys corresponding to the buttons on the calculator.
The calculator demo is able to perform the add, subtract, multiply,
divide, equals, and clear operations.
The clock is updated once every second, and the date is
rolled over at the end of the day.
COMPILE/LINK:
MACRO CALCI
MACRO CALENDARI
MACRO CLOCKI
LIBRARY/CREATE DESKLIB -
EUIS, -
CALCI, CALENDARI, CLOCKI
EPASCAL menu +desklib/lib
LIBRARY/REPLACE desklib menu
EPASCAL CALC +desklib/lib
LIBRARY/REPLACE desklib calc
EPASCAL CALENDAR +desklib/lib
LIBRARY/REPLACE desklib calendar
EPASCAL DIGITALCLOCK +desklib/lib
LIBRARY/REPLACE desklib digitalclock
EPASCAL DESK +desklib
LIBRARY/REPLACE desklib desk
LINK /EXE=desk -
desk, -
desklib/lib, -
elnrtl/lib, -
sys$input/options
sys$library:uisshr/share
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]desk
____________________________________________________________________________
*******************
* FORTRAN DEMOS *
*******************
MODULES, HOW THEY ARE BUILT AND BRIEF DESCRIPTION
-------------------------------------------------
ALL_COLORS.FOR
DESCRIPTION:
This program demonstrates how one might go about setting up their
program to use all 256 colors of the GPX hardware color map (thus
overriding the system color map). This program has the additional
feature that if for any reason the application color map (all of
the virtual color map or any part of it) is removed from the
hardware color map, all the user has to do to reload his color map
is to move the pointer into his display area.
COMPILE/LINK:
FORTRAN all_colors
LINK all_colors
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]all_colors
*****
AST.FOR
DESCRIPTION:
This demo shows how one can type from a keyboard in a window. To
use this demo you must CYCLE F5 to the created window.
COMPILE/LINK:
FORTRAN ast
LINK ast
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]ast
*****
BUTTONAST.FOR
DESCRIPTION:
This demo uses the mouse input to tell exactly where the mouse is
positioned inside the window when you click the mouse. To exit
click inside the STOP area of the window.
COMPILE/LINK:
FORTRAN buttonast
LINK buttonast
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]buttonast
*****
CUBE.FOR, CUBE.COM
DESCRIPTION:
This program is an animation demo that displays a rotating cube.
The rotating cube grows and shrinks thus creating the illusion that
the cube is moving away then coming back into closer range. Resize
is the only active ast.
COMPILE/LINK:
FORTRAN cube
LINK cube
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]cube
*****
DISTORT.FOR
DESCRIPTION:
This program is designed to show the possible distortion or
unexpected results that may appear due to an aspect ratio that is
not square (equal to 1).
COMPILE/LINK:
FORTRAN distort
LINK distort
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]distort
*****
DOILOOP.FOR
DESCRIPTION:
This demo creates a window and draws lines between a user specified
number of points. The program uses DOPS to draw these lines. The
pattern that is shown is always trying to make a circles out of
the specified number of points.
COMPILE/LINK:
FORTRAN doiloop
LINK doiloop
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]doiloop
*****
DOILYDC.FOR, DOILYDC.COM
DESCRIPTION:
This program is much the same as the last in principle. The difference
being that in this demo the resolution of the drawing can be picked.
The smaller your xres, and yres values the smaller the drawing
inside the window. Do not give too large a number for the number
of points, or else the 'circle' that is made from the lines, will
appear to be filled.
COMPILE/LINK:
FORTRAN doilydc
LINK doilydc
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]doilydc
*****
DOP_FILLED_CIRCLES_FOR.FOR
DESCRIPTION:
This program will test the speed of drawing filled circles using
DOPs. A scan line approximation has been used to calcualte the
circles. Each of the circles drawn in made up of 58 horizontal
lines. It was found that any fewer lines left "holes" in the
circle. Any more are unneeded data.
To average any optimization that may occur at particular points on
the window, the center points are generated randomly.
One advantage that has been used in this program is an optimization
for all of the circles having the same radius. Since this is the
case, we can calculate the line point offsets from (0,0) once and
then use these values to figure the coordinates of the actual
lines.
COMPILE/LINK:
FORTRAN dop_filled_circles_for
LINK dop_filled_circles_for
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]dop_filled_circles_for
*****
FONTS2.FOR, DEFINE_FONTS.COM
DESCRIPTION:
This demo prints out the different fonts available to the user.
COMPILE/LINK:
FORTRAN fonts2
LINK fonts2
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]DEFINE_FONTS
RUN SYS$SYSDEVICE:[VWSDEMO.COM]fonts2
*****
MODE.FOR
DESCRIPTION:
This demo simply goes throught the different writing modes available.
COMPILE/LINK:
FORTRAN mode
LINK mode
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]mode
*****
OR_MODE.FOR
This demo creates a window then it first writes a square to the
window in the foreground color, then it writes the same square to
the same window in BIT MODE SET complement.
DESCRIPTION:
COMPILE/LINK:
FORTRAN or_mode
LINK or_mode
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]or_mode
*****
PAN.FOR
DESCRIPTION:
This program creates a line graph, and then, using another window,
pans across the original graph. It also makes use of such features
as exact window placement and window attributes.
COMPILE/LINK:
FORTRAN pan
LINK pan
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]pan
*****
PSYCHO.FOR
DESCRIPTION:
This program plots the x,y coordinates for the solution of
two simultaneous differential equations of the form:
x = x + y/4 + c1
y = y - x''/4 + c2
To exit the program, type ^Y followed by EXIT. This
applies even if you use the full-screen option.
If you have a color system, you may want to modify the
source for this program to plot the points in color rather
than simply white.
Also, note that some combinations of numbers that have very
simple initial patterns may develop over several minutes.
For an initial attempt, you might try the numbers:
1234 12352365 314637 1376
COMPILE/LINK:
FOR psycho
LINK psycho
RUN:
RUN psycho
*****
QIX.FOR, QIX.COM
w/ SETUP_COLOR.PAS
and
QIXLOOP.FOR, QIXLOOP.COM
w/ SETUP_COLORS.PAS
DESCRIPTION:
This program is an animation demo that moves a bunch of lines around
within the window. There are 10 lines. The line currently at the front
of the bunch is repeatedly erased then redrawn at the rear of the bunch
to create the illusion that the lines are moving. When the lines
hit any side of the window, they are deflected off.
COMPILE/LINK:
FORTRAN qix
FORTRAN qixloop
PASCAL setup_colors
LINK qix, setup_colors
LINK qixloop, setup_colors
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]qix
@SYS$SYSDEVICE:[VWSDEMO.COM]qixloop
*****
READCHAR.FOR
DESCRIPTION:
This demo will read a character from the terminal that started it
and then write it out to the window, as well as give its hexadecimal
value in the window of the creating process. It will display 10
characters before quitting.
COMPILE/LINK:
FORTRAN readchar
LINK readchar
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]readchar
*****
ROSE.FOR, ROSE.COM
w/ SETUP_COLORS.PAS
DESCRIPTION:
This program accepts a user specified number of points. A line is drawn
from each point to every other possible point thus creating a rosette.
COMPILE/LINK:
FORTRAN rose
PASCAL setup_colors
LINK rose, setup_colors
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]rose
*****
SPIRO.FOR, SPIRO.COM
w/ SETUP_COLORS.PAS
DESCRIPTION:
This program draws a spiro design using the values specified by the
user.
COMPILE/LINK:
FORTRAN spiro
PASCAL setup_colors
LINK spiro, setup_colors
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]spiro
*****
STRPCHRT.FOR, STRIP.COM
DESCRIPTION:
This demo does a sine wave trace that looks much like a trace that
would show up on a hospital chart. Or if you prefer how the stock
market daily graph looks.
COMPILE/LINK:
FORTRAN strpchrt
LINK strpchrt
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]strip
*****
WHEEL.FOR
DESCRIPTION:
This program draws a color wheel of 241 colors using a UIS color
map. You will notice that entries 0 and 1 of the map have not
been used by this program. This is because these are the two
entries used by UIS to store the background color and the default
writing index colors.
COMPILE/LINK:
FORTRAN wheel
LINK wheel
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]wheel
*****
WHEEL_UISDC.FOR
DESCRIPTION:
This demo is the same as the WHEEL.FOR demo, except that the wheel
is output using DOPS.
COMPILE/LINK:
FORTRAN wheel_uisdc
LINK wheel_uisdc
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]wheel_uisdc
*****
ZOOM.FOR
DESCRIPTION:
This program draws a picture, and then "zooms" in on the four
corners. This is one of two ways to do a zoom in UIS.
COMPILE/LINK:
FORTRAN zoom
LINK zoom
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]zoom
____________________________________________________________________________
____________________________________________________________________________
****************
* PASCAL DEMOS *
****************
MODULES, HOW THEY ARE BUILT AND BRIEF DESCRIPTION
-------------------------------------------------
DECLANDER.PAS, DECLANDER.COM
w/ ARCH_DATA.MAR - ARCH image
w/ ASTRO_DATA.MAR - little man from the ship
w/ DUST_DATA.MAR - space DUST image
w/ FLAG_DATA.MAR - FLAG that man puts into ground upon successful landing
w/ RAND.MAR - RANDom numbers
w/ SHIP_DATA.MAR - draw the image of the SHIP
w/ YCOOR.MAR - draws the Y-COORDINATE for the demo
w/ DLGLOBALS.INC - Contains all global variable declarations/definition
w/ DLFUNC.INC - Contains all the global function/procedures
w/ DLCREATE.INC - Procedures/Functions to create and setup displays
w/ DLUPDATE.INC - Procedures/Functions to update all the displays
w/ DLINIT.INC - Startup/Initializations procedures and functions
w/ DLDRAW.INC - All the necessary drawing routines
w/ DLMOVE.INC - All th procedures to move the ship
DESCRIPTION:
DECLander is a game where you are commander of the Digital Excursion
Module, (DEM). Your mission is to land the DEM safely on the
surface of the moon. You control the ship with the mouse as follows...
The mouse cursor (the arrow), must be within the boundaries of the
window entitled 'THRUST' for it to have any effect on the game.
While in this area the mouse can do the following...
Left button: Rotates the ship Counter-Clockwise.
Right button: Rotates the ship Clockwise.
Middle button: Controls the percentage of thrust. Move the
cursor to the desired amount of thrust, and
then press the middle button.
To land the ship: First, manuever the ship to one of the three
designated landing sites. There is a landing site at the far left
of the screen, a small one in the middle of the screen, and a large
one towards the right of the screen. If you touch the sides of any
mountains you will crash the ship. If you have made it to one of
the landing sites, then the screen will 'blow up' and show you a close
up view of the area. Just bring the ship down to the surface with the
following criteria...
The vertical velocity must not exceed -600.
The horizontal velocity must be between -50 and +50.
The ship must be upright. (The heading must be >= 355 or <= 5)
After you have landed the ship, you will be scored on how well you
did it. The score will be based on the remaining fuel, the velocities
at touchdown, the time it took you to land the ship, and which landing
site you are at.
If you would like to end a particular game early, (chicken) then move
the mouse to the rectangle which says 'Abort Mission', and hit the
left button.
Be careful not to crash into the mountains or to go off the radar.
Watch your fuel and velocities !!
COMPILE/LINK:
MACRO ARCH_DATA
MACRO ASTRO_DATA
MACRO DUST_DATA
MACRO FLAG_DATA
MACRO RAND
MACRO SHIP_DATA
MACRO YCOOR
PASCAL DECLANDER
LINK/EXE = DECLANDER -
declander, -
arch_data, astro_data, -
dust_data, flag_date, -
rand, ship_data, ycoor, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]declander
*****
DOP_FILLED_CIRCLES_PAS.PAS
DESCRIPTION:
This program will test the speed of drawing filled circles using
DOPs. A scan line approximation has been used to calcualte the
circles. Each of the circles drawn in made up of 58 horizontal
lines. It was found that any fewer lines left "holes" in the
circle. Any more are unneeded data.
To average any optimization that may occur at particular points on
the window, the center points are generated randomly.
One advantage that has been used in this program is an optimization
for all of the circles having the same radius. Since this is the
case, we can calculate the line point offsets from (0,0) once and
then use these values to figure the coordinates of the actual
lines.
COMPILE/LINK:
PASCAL dop_filled_circles_pas
LINK / EXE DOP_FILLED_CIRCLES_PAS -
dop_filled_circles_pas, -
sys$input/options
sys$library:uisshr/share
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]dop_filled_circles_pas
*****
FONTS.PAS
DESCRIPTION:
This demo create a window and writes out 14 differents fonts to
that window. The fonts are named as they are in sys$font
COMPILE/LINK:
PASCAL fonts
LINK / EXE = FONTS -
fonts, -
sys$input/options
sys$library:uisshr/share
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]fonts
*****
TEXTPOS.PAS
DESCRIPTION:
This demo gives statistics of writing text to a window.
COMPILE/LINK:
PASCAL textpos
LINK/EXE = TEXTPOS -
textpos, -
sys$input/options
sys$library:uisshr/share
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]textpos
____________________________________________________________________________
____________________________________________________________________________
*************
* PLI DEMOS *
*************
MODULES, HOW THEY ARE BUILT AND BRIEF DESCRIPTION
-------------------------------------------------
BOXES.PLI, BOXES.COM
w/ SETUP_COLORS.PAS
DESCRIPTION:
This program draws boxes in the user specified writing mode. The
boxes are filled randomly with the fill patterns specified by the
user. The number of boxes drawn, number of windows created, and
and the dimensions of the window are all user specified inputs.
COMPILE/LINK:
PLI/NOWARN boxes
PAS setup_colors
LINK /EXE = boxes -
boxes, setup_colors, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]boxes
*****
CLOCK.PLI, CLOCK.COM
DESCRIPTION:
This program displays an analog clock with the second hand.
COMPILE/LINK:
PLI/NOWARN clock
LINK /EXE=CLOCK -
clock, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]clock
*****
DISPFONT.PLI, DISPFONT.COM
DESCRIPTION:
This program displays the fonts available on the VAXstation II. The
user may specify a single font name or view all the fonts by entering
an asterisk for the font name. The user may also choose to view a
selected string of fonts by entering the font names one aside of the
other, separated by only a comma. No spaces or carriage returns are
allowed in order to specify a string of fonts. Each font is displayed
in a different window.
COMPILE/LINK:
PLI/NOWARN dispfont
LINK /EXE = DISPFONT -
dispfont, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]dispfont
*****
DIGICLOCK.PLI, DIGICLOCK.COM
DESCRIPTION:
Digiclock is an AST driven demo which makes few demands of system
resources, so you need not be concerned about the cost of running it.
The following is a detailed description of how to use the clock:
MOVING THE CLOCK AROUND THE SCREEN:
You can point to the border, press and hold the left mouse button,
and drag the clock to where you want it.
Or, you can pretend there are nine boxes laid out in a 3 x 3 grid
over the face of Digiclock. Place the cursor into one of these
boxes and click the right mouse button - Digiclock will jump to the
corresponding place on your screen.
SELECTING DISPLAY FORMATS:
You may turn the seconds update on or off by moving the mouse to
the seconds display (it will be highlighted) and clicking the left
button.
You may select 12 or 24 time format by mouse to the AM/PM indicator
(it will be highlighted) and clicking the left button. In 12 hour
mode, either AM or PM will be displayed; in 24 hour mode the AM/PM
spot (over the seconds display) will be blank.
You may select one of the two date formats: "Month DD, YYYY" or
"DD-Mmm-YYYY". Place the cursor on the date (it will be highlighted)
and press the leftmouse button to change the date format.
COLOR CONTROL:
By default, DigiClock uses as it's color default the current window
foreground and background values. However, it does try to translate
the following 6 logical names and interpret their values as floating
point number between 0.0 and 1.0:
DIGICLOCK_g_c where g is "F" for Foreground or "B" for Background
where c is "R", "G" or "B" for Red, Green or Blue
Example: DEFINE DIGICLOCK_F_R "0.750"
! Set Foreground Red to 75% Intensity
Illegal values are ignored.
DEFAULTS:
Position: Upper Right
Seconds: One second update
12/24: 12 Hour Mode
Date: Month DD, YYYY
Colors: Same as Default Window Background & Foreground
REFRESHING THE CLOCK:
If the middle mouse button is pressed while the pointer is within the
DigiClock window, then the clock window will be erased and redrawn.
This feature was added as we have been having some window corruption
problems with UIS recently. Refreshing also re-translates the color
logicals and reset the clocks private virtual color map.
COMPILE/LINK:
PLI/NOWARN digiclock
LINK /EXE=DIGICLOCK -
digiclock, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]digiclock
*****
FILLPAT.PLI, FILLPAT.COM
DESCRIPTION:
This program displays the first 36 fill patterns listed in module
UISUSRDEF.PLI. These patterns include the background, foreground,
vertical bars, horizontal bars, diagonal bars, and brick patterns.
COMPILE/LINK:
PLI/NOWARN FILLPAT
LINK/EXE = FILLPAT -
fillpat, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]fillpat
*****
GRAY.PLI, GRAY.COM
DESCRIPTION:
This program displays the grey shades available in UISUSRDEF.PLI
fill patterns module.
COMPILE/LINK:
PLI/NOWARN GRAY
LINK/EXE = GRAY -
gray, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]gray
*****
SHOWFONT.PLI, SHOWFONT.COM
DESCRIPTION:
This program displays the fonts available on the VAXstation II. The
user may specify a single font name or view all the fonts by entering
an asterisk for the font name. The user may also choose to view a
selected string of fonts by entering the font names one aside of the
other, separated by only a comma. No spaces or carriage returns are
allowed in order to specify a string of fonts. All fonts are displayed
in a single window.
COMPILE/LINK:
PLI/NOWARN SHOWFONT
LINK/EXE = SHOWFONT -
showfont, -
sys$input/options
sys$library:uisshr/share
RUN:
@SYS$SYSDEVICE:[VWSDEMO.COM]showfont
*****
SPEED.PLI
DESCRIPTION:
This demo tests the speed of UIS graphics. The demo does a number
of tests with and without display lists to test the speed between
the two. It also tests the speed using different sizes. All of
the speed (or not so speedy) information is then displayed to the user.
COMPILE/LINK:
PLI/NOWARN speed
LINK/EXE = SPEED -
speed, -
sys$input/options
sys$library:uisshr/share
RUN:
RUN SYS$SYSDEVICE:[VWSDEMO.COM]speed