diff options
author | Barry Warsaw <barry@python.org> | 1998-10-06 23:03:22 (GMT) |
---|---|---|
committer | Barry Warsaw <barry@python.org> | 1998-10-06 23:03:22 (GMT) |
commit | e55055d0d4013900b5f8e62e73b39703285fec2c (patch) | |
tree | 55de2f2c38cf9d04c25dbefd804e2280aa5a6c2d /Tools/pynche/README | |
parent | da7502e8add679ac17b796979f2f033391167e7d (diff) | |
download | cpython-e55055d0d4013900b5f8e62e73b39703285fec2c.zip cpython-e55055d0d4013900b5f8e62e73b39703285fec2c.tar.gz cpython-e55055d0d4013900b5f8e62e73b39703285fec2c.tar.bz2 |
A readme
Diffstat (limited to 'Tools/pynche/README')
-rw-r--r-- | Tools/pynche/README | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/Tools/pynche/README b/Tools/pynche/README new file mode 100644 index 0000000..16d7b3e --- /dev/null +++ b/Tools/pynche/README @@ -0,0 +1,173 @@ +Pynche - The PYthonically Natural Color and Hue Editor +Copyright (C) 1998 CNRI +Author: Barry A. Warsaw <bwarsaw@python.org> + +Pynche is a color editor based largely on a similar program that I +originally back in 1987 for the Sunview window system. That editor +was called ICE, the Interactive Color Editor. I'd always wanted to +port this program to X but didn't feel like hacking X and C code to do +it. Fast forward many years, to where Python + Tkinter provides such +a nice programming environment, with enough power, that I finally +buckled down and implemented it. I changed the name because these +days, too many other systems have the acronym `ICE'. + +Pynche has been tested with Python 1.5.1 using Tk 8.0. It probably +works with Python 1.5. I've tested it on both Solaris 2.6 and Windows +NT. There are some funky things that happen on Windows but I think +they are primarily Tk problems. You'll want to be sure to have Tk +8.0.3 for Windows. Also, Pynche is very colormap intensive, so it doesn't +work very well on 8-bit graphics cards. I'll probably fix that in the +future. + +Pynche must find a text database of colors, in the X11 format. Pynche +is distributed with an rgb.txt file from the X11R6.4 distribution for +this reason, but you can use a different file with the -d option. The +file xlicense.txt contains the license only for rgb.txt. + +Pynche is pronounced `Pinch-ee'. + +The top part of the main Pynche window contains the "variation +strips". Each strip contains a number of "color chips". The strips +always indicate the currently selected color by a highlight rectangle +around the selected color chip, with an arrow pointing to the chip. +Each arrow has an associated number giving you the color value along +the variation's axis. Each variation strip shows you the colors that +are reachable from the selected color by varying just one axis of the +color solid. + +For example, when the selected color is (in Red/Green/Blue notation) +127/127/127, the Red Variations strip shows you every color in the +range 0/127/127 to 255/127/127. Similarly for the green and blue +axes. You can select any color by clicking on its chip. This will +update the highlight rectangle and the arrow, as well as other +displays in Pynche. + +Click on "Update while dragging" if you want Pynche to update the +selected color while you drag along any variation strip (this will be +slower). Click on "Hexadecimal" to display the arrow numbers in hex. + +In the lower left corner of the main window you see two larger color +chips. The Selected chip shows you a larger version of the color +selected in the variation strips, along with its X11 color +specification. The Nearest chip shows you the closest color in the +X11 database to the selected color, giving its X11 color name. +Clicking on the Nearest color chip selects that color. Color distance +is calculated in the 3D space of the RGB color solid and if more than +one color name is the same distance from the selected color, the first +one found will be chosen. + +Note that there may be more than one X11 color name for the same RGB +value. In that case, the first one found in the text database is +designated the "primary" name, and this is shown under the Nearest +chip. The other names are "aliases" and they are visible in other +Pynche windows. + +At the lower right of the main window are three entry fields. Here +you can type numeric values for any of the three color axes. Legal +values are between 0 and 255, and these fields do not allow you to +enter illegal values. You must hit Enter or Tab to select the new +color. + +Click on "Update while typing" if you want Pynche to select the color +on every keystroke (well, every one that produces a legal value!). +Click on "Hexadecimal" to display and enter color values in hex. + +There are three secondary windows which are not displayed by default. +You can bring these up via the "View" menu on the main Pynche window. + +The "Text Window" allows you to see what effects various colors have +on the standard Tk text widget elements. In the upper part of the +window is a plain Tk text widget and here you can edit the text, +select a region of text, etc. Below this is a button "Track color +changes". When this is turned on, any colors selected in the other +windows will change the text widget element specified in the radio +buttons below. When this is turned off, text widget elements are not +affected by color selection. + +You can choose which element gets changed by color selection by +clicking on one of the radio buttons in the bottom part of this +window. Text foreground and background affect the text in the upper +part of the window. Selection foreground and background affect the +colors of the primary selection which is what you see when you click +the middle button (depending on window system) and drag it through +some text. + +The Insertion is the insertion cursor in the text window, where new +text will be inserted as you type. The insertion cursor only has a +background. + +The "Color List" window shows every color in the text database. This +is the primary reason why Pynche doesn't work so well on 8-bit +screens. In the upper part of the window you see a scrolling list of +all the color names in the database, in alphabetical order. Click on +any color to select it. In the bottom part of the window is displayed +any aliases for the selected color (those color names that have the +same RGB value, but were found later in the text database). For +example, find the color "Black" and you'll see that its aliases are +"gray0" and "grey0". + +If the color has no aliases you'll see "<no aliases>" here. If you +just want to see if a color has an alias, and do not want to select a +color when you click on it, turn off "Update on Click". + +Note that the color list is always updated when a color is selected +from the main window. There's no way to turn this feature off. If +the selected color has no matching color name you'll see +"<no matching color>" in the Aliases window. + +The "Details" window gives you more control over color selection than +just clicking on a color chip in the main window. The row of buttons +along the top apply the specified increment and decrement amounts to +the selected color. These delta amounts are applied to the variation +strips specified by the check boxes labeled "Move Sliders". Thus if +just Red and Green are selected, hitting -10 will subtract 10 from the +color value along the red and green variation only. Note the message +under the checkboxes; this indicates the primary color level being +changed when more than one slider is tied together. For example, if +Red and Green are selected, you will be changing the Yellow level of +the selected color. + +The "At Boundary" behavior determines what happens when any color +variation hits either the lower or upper boundaries (0 or 255) as a +result of clicking on the top row buttons: + + Stop + When the increment or decrement would send any of the tied + variations out of bounds, the entire delta is discarded. + + Wrap Around + When the increment or decrement would send any of the tied + variations out of bounds, the out of bounds value is wrapped + around to the other side. Thus if red were at 238 and +25 + were clicked, red would have the value 7. + + Preseve Distance + When the increment or decrement would send any of the tied + variations out of bounds, all tied variations are wrapped as + one, so as to preserve the distance between them. Thus if + green and blue were tied, and green was at 238 while blue was + at 223, and +25 were clicked, green would be at 15 and blue + would be at 0. + + Squash + When the increment or decrement would send any of the tied + variations out of bounds, the out of bounds variation is set + to the ceiling of 255 or floor of 0, as appropriate. In this + way, all tied variations are squashed to one edge or the + other. + +The top row buttons have the following keyboard accelerators: + + -25 == Shift Left Arrow + -10 == Control Left Arrow + -1 == Left Arrow + +1 == Right Arrow + +10 == Control Right Arrow + +25 == Shift Right Arrow + +Other keyboard accelerators: + + Alt-w in any secondary window dismisses the window. In the main + window it exits Pynche. + + Alt-q in any window exits Pynche. |