home *** CD-ROM | disk | FTP | other *** search
- OVERVIEW:
-
- Much of the gadget imagery in the Amiga looks flat and 2-dimensional,
- but with the four colors available on the workbench screen, a much more
- 3-dimensional appearance is possible. By setting your colors correctly, and
- by using a particular gadget style, you can make the Amiga imagery look 3D.
- I call this visual style the "New Look," here-after refered to as the NL,
- or just NL.
-
- NL-Daemon is a program that implements the New Look even for programs that
- were not designed to take advantage of it. NL-Daemon replaces the standard
- Intuition depth, close, and sizing gadgets with their NL counterparts, and
- changes the detail and block pens to conform to the NL style.
-
-
- HOW TO USE NL-DAEMON:
-
- You should place NL-Daemon in your C: directory (or in your current path),
- and NL-Handler in the L: directory (or in the current directory). To start
- NL-Daemon, simply type NL-Daemon at the CLI prompt:
-
- 1> NL-Daemon
-
- You do not need to "RUN" NL-Daemon, since NL-Daemon loads the handler code
- separately, sets up the handler, and then exits. To remove the daemon,
- simply issue the NL-Daemon command a second time.
-
- Once the NL-Daemon is running, you should see all the windows and screens
- change to the New Look. Provided you have chosen your screen colors carefully,
- this should make the Intuition gadgets look 3-dimensional. The colors you
- choose should satisfy the following conditions: color 0 (the background color)
- should be a medium dark color; color 1 (the usual text and menu-bar color)
- should be the lightest color; color 2 (used in the depth gadgets) should be a
- medium bright color; and color 3 (the CLI cursor color) should be the darkest
- color. (Notice that the relationship of colors 2 and 3 are reversed from the
- default Intuition settings; this has the advantage of making the gadget appear
- correctly even on one-bit-plane screens, and improves menu appearance). You
- should use the Palette Tool or Preferences to experiment until you find a
- color-scheme that suits your taste, but that still gives the 3D effect.
- A reasonable grey-scale setup would has Palette-Tool values 454 FFC 997 000.
- (Monitors differ, so these values may need to be adjusted to suit your
- monitor and lighting conditions). More colorful combinations also are possible.
-
-
- USAGE NOTES:
-
- You can make NL-Daemon part of your standard working environment by adding
- the "NL-DAEMON" command (or "NL-DAEMON > NIL:") to the startup-sequence file
- in the S: directory on your boot disk.
-
- If you use NL-Daemon in conjunction with Zoom-Daemon, you should issue the
- Zoom-Daemon command first, and then NL-Daemon. The NL-Daemon has an NL image
- designed for the Zoom Gadget and will replace it along with the other window
- imagery, provided NL-Daemon is run second.
-
- NL-Daemon will not change the color of a window that is opening on a screen
- that is only one bitplane deep (since the NL window colors are colors 2 and 3,
- which are not available on only one bitplane). NL-Daemon uses the standard
- depth gadgets for one-bitplane screens, as the NL equivalents are ineffective
- in only two colors.
-
- NL-Daemon will change a screen or window's Block and Detail pen only if they
- are initially set to the standard window colors (Block = 1, Detail = 0). That
- way, NL-Daemon should not disrupt programs that use window or screen colors for
- special purposes.
-
- The NL imagery may look bad on screens that have their own color maps, since
- those programs are not prepared to have the Intuition gadgets use colors other
- than the defaults. If this is the case, either remove NL-Daemon while you are
- using such a program, or use the Palette Tool (provided with WB1.3) to change
- the screen colors.
-
- Some programs that include color images in the menu strip assume that the
- menu strip background color is color 1 and so do not include an Image
- structure for the menu choice for color 1 (probably to save a little space).
- In this case, when the BlockPen is changed to 2, the menu color changes, so
- the choice for color 1 will be displayed in color 2. The menu will still
- function properly, but will be colored incorrectly. All the programs supplied
- with WB1.3 seem to work this way, in particular, NotePad and IconEd both
- demonstrate this difficulty.
-
- If you remove the NL-Daemon while windows or screens containing NL imagery
- are still open, NL-Daemon will restore the original imagery and colors
- automatically.
-
-
- TECHNICAL NOTES:
-
- NL-Daemon uses SetFunction to trap the OpenWindow and OpenScreen calls, and
- after a window or screen is opened, it checks the gadget list for SYSGADGETS
- and replaces their imagery with the NL imagery. It also alters the window and
- screen colors if appropriate. Unfortunately, the window BlockPen also controls
- the menu color, and many programs specify IntuiTexts in their menus that have a
- draw mode of JAM2, with the background color set to 1. The NL window BlockPen
- is color 2, so this makes menus look very strange. To solve this problem,
- NL-Daemon also traps calls to SetMenuStrip, and checks each menuitem and
- subitem for IntuiTexts. See the code for details of how the different draw
- modes are handled. Although NL-Daemon currently does as little modification of
- menus as possible, you may find that you want it to do more with the menu text
- colors, depending on the color choices you make.
-
- Note that NL-Daemon only modifies menus on windows for which it has changed
- the window color. You can prevent NL-Daemon from affecting your menus or
- window colors by specifying a BlockPen other than the standard color 1.
-
- Finally, NL-Daemon also modifies the CheckMark and AmigaIcon images used
- by Intuition to draw the menu check marks and command-key sequences, so that
- they will have color 2 as their background color. This is done by an illegal
- modification to the IntuitionBase INTUITIONPRIVATE data fields. This is almost
- guaranteed to break under a new release of the operating system. For this
- reason (and for those who are timid about this sort of illegal behavior),
- you can request that NL-Daemon NOT modify the checkmark and amiga key images.
- To do this, simply include the word BE_GOOD as a parameter when you initiate
- NL-Daemon:
-
- 1> NL-Daemon Be_Good
-
- (actually, any non-blank parameter will do). This prevents NL-Daemon
- from modifying the IntuitionBase structures, but may cause menus to look
- a little funny.
-
- Since the window colors are not changed for one-bitplane screens, the changes
- in the checkmark and amiga key images will cause these images to be inverted
- on one-bitplane screens.
-
- When you remove NL-Daemon, it replaces the original Intuition imagery for
- all the gadgets that it changed, and it returns the IntutionBase variables
- to their original state. NL-Daemon does not, however, undo any changes
- that it made to menu IntuiText structures, so if you remove NL-Daemon while
- menus are changed, the menus may be left with strange colors in them.
-
- Since Intuition does not use its own vector table internally, any windows
- opened by Intuition (e.g, System Requests and other windows created by
- AutoRequest or BuildSysRequest) will not have their imagery altered by
- NL-Daemon, although they may inherit the altered screen colors.
-
-
- COMPILING NL-DAEMON:
-
- NL-Daemon was developed using the Lattice C compiler v4.0 on a 512K
- Amiga 1000. It probably will need to be modified to work with the
- Manx Aztec C compiler. To compile and link NL-Daemon, use the following
- commands (these appear in NL-Daemon.com, distributed with the source code):
-
- 1> lc -b0 -v -M NL-Main NL-Handler NL-Setup
- 1> lc -b0 -ad -M NL-Image
- 1> asm NL-Stubs
- 1> blink with NL-Daemon.lnk
- 1> blink with NL-Handler.lnk
-
- The -v -b0 and -ad options are required. You can add -r if you like.
- The -M is to compile only those source files that have been updated since the
- last compile.
-
-
- AUTHOR:
-
- NL-Daemon and NL-Handler
- Copyright 1989 by Davide P. Cervone, all rights reserved.
-
- Davide P. Cervone
- Department of Mathematics, Box 1917 ST402523@BROWNVM.BITNET
- Brown University st402523@brownvm.brown.edu
- Providence, Rhode Island 02912 dpvc@fermat.math.brown.edu
-