Annotation of researchv10dc/man/adm/man1/pico.1, revision 1.1

1.1     ! root        1: .TH PICO 1
        !             2: .CT 1 editor graphics
        !             3: .SH NAME
        !             4: pico \(mi graphics editor
        !             5: .SH SYNOPSIS
        !             6: .B pico
        !             7: [
        !             8: .B -mfto
        !             9: ]
        !            10: [
        !            11: .B -wN -hN
        !            12: ]
        !            13: [
        !            14: .I files
        !            15: ]
        !            16: .SH DESCRIPTION
        !            17: .I Pico
        !            18: is an interactive editor for grey-scale and color images.
        !            19: Editing operations are expressed in a C-like style.
        !            20: The options are
        !            21: .TP \w'\f5slower\ 'u
        !            22: .BI -m n
        !            23: Display on a Metheus frame buffer,
        !            24: .BI  /dev/om n.
        !            25: A missing
        !            26: .I n
        !            27: is taken to be 0.
        !            28: .TP
        !            29: .B -f
        !            30: Display on an Itoh frame buffer,
        !            31: .BR /dev/iti0 .
        !            32: .TP
        !            33: .B -t
        !            34: Show parse trees for expressions; toggled by the interactive command
        !            35: .LR tree .
        !            36: .TP
        !            37: .B -o
        !            38: Turn off the optimizer; toggled by
        !            39: .LR optim .
        !            40: .PP
        !            41: Files are referred to in expressions as
        !            42: .BI $ n,
        !            43: where 
        !            44: .I n
        !            45: is the basename or an integer,
        !            46: see
        !            47: .B f
        !            48: below.
        !            49: Otherwise file names are given as strings in double quotes,
        !            50: which may be elided from names that do not contain
        !            51: .LR / .
        !            52: .LP
        !            53: In general, the result of the previous edit
        !            54: operation is available under the name
        !            55: .LR old .
        !            56: The destination
        !            57: of the current operation is called
        !            58: .LR new .
        !            59: .LP
        !            60: .I Pico
        !            61: handles images with coordinates (0,0) in the upper left hand corner
        !            62: and
        !            63: .RB ( X , Y )
        !            64: in the lower right.
        !            65: Brightnesses range from 0 (black) to 
        !            66: .BR Z 
        !            67: (white, 
        !            68: .BR Z =255).
        !            69: The quantities
        !            70: .BR X , Y , Z
        !            71: may be used in expressions and set by options:
        !            72: .TP \w'\f5slower\ 'u
        !            73: .BI -w " n
        !            74: Set the width 
        !            75: .B X
        !            76: of the work area to
        !            77: .I n
        !            78: pixels, default 511.
        !            79: .TP
        !            80: .BI -h " n
        !            81: Set the height
        !            82: .BR Y ,
        !            83: default 511.
        !            84: .PP
        !            85: .LP
        !            86: .I Pico
        !            87: reads commands from the standard input:
        !            88: .TP
        !            89: .B help
        !            90: Give a synopsis of commands and functions.
        !            91: .TP
        !            92: .BI a " file
        !            93: .br
        !            94: .ns
        !            95: .TP
        !            96: .BI a " x y w d file"
        !            97: Attach a new file.
        !            98: Optional parameters
        !            99: .I x
        !           100: and 
        !           101: .I y
        !           102: give the origin of a subrectangle in the work buffer;
        !           103: .I w
        !           104: and
        !           105: .I d
        !           106: define width and depth of the image as stored in the file.
        !           107: .TP
        !           108: .BI d " file"
        !           109: .PD0
        !           110: .TP
        !           111: .BI "d $" n
        !           112: Delete (close) the file.
        !           113: .PD
        !           114: .TP
        !           115: .BI h " file"
        !           116: Read header information from the file.
        !           117: .TP
        !           118: .BI r " file"
        !           119: Read commands from
        !           120: .I file
        !           121: as if they were typed on the terminal.
        !           122: Can not be done recursively.
        !           123: .TP
        !           124: .BI w " file
        !           125: .br
        !           126: .ns
        !           127: .TP
        !           128: .BI "w - " file
        !           129: Write the file, restricted to the current window
        !           130: (see below).
        !           131: Use
        !           132: .I pico
        !           133: format by default.
        !           134: With a minus flag,
        !           135: write a headerless image
        !           136: (red channel only, if picture is colored); see also
        !           137: .IR picfile (5).
        !           138: .TP
        !           139: .B nocolor
        !           140: .PD0
        !           141: .TP
        !           142: .B color
        !           143: Set the number of channels updated in the work buffer to 1
        !           144: (black and white) or 3 (red, green, blue).
        !           145: .PD
        !           146: .TP
        !           147: .BI window " x y w d"
        !           148: Restrict the work area to a portion of the
        !           149: work buffer with the upper left corner at
        !           150: .RI ( x,y ),
        !           151: and the lower right at
        !           152: .RI ( x+w, y+d ).
        !           153: .TP
        !           154: .BI get " file"
        !           155: .br
        !           156: .ns
        !           157: .TP
        !           158: .BI "get $" n
        !           159: The picture file is (re)opened and read into the work area.
        !           160: .TP
        !           161: .B f
        !           162: Show names, sizes, and file numbers of open files.
        !           163: .TP
        !           164: .B faster
        !           165: .br
        !           166: .ns
        !           167: .TP
        !           168: .B slower
        !           169: In slow display the screen is updated once per pixel computed;
        !           170: in fast display (default), once per line of pixels.
        !           171: .TP
        !           172: .BI show " name"
        !           173: Show symbol table information, such as the current value of variables.
        !           174: If 
        !           175: .I name
        !           176: is omitted, the whole symbol table is shown.
        !           177: .TP
        !           178: .B functions
        !           179: Print information on all user defined and builtin functions.
        !           180: .TP
        !           181: .BI def " name \fB(\fI args \fB) {\fI program \fB}"
        !           182: Define a function, with optional arguments.
        !           183: Variables are declared in these styles:
        !           184: .PD0
        !           185: .IP
        !           186: .EX
        !           187: int var;
        !           188: global int var;
        !           189: array var[N];
        !           190: global array var[N];
        !           191: .EE
        !           192: .PD
        !           193: .TP
        !           194: .BI x " expr"
        !           195: Execute the expression in a default loop over all pixels in the
        !           196: current window.
        !           197: .TP
        !           198: .BI "x {" program " }"
        !           199: Execute the
        !           200: .I program.
        !           201: The program must define its own control flow.
        !           202: .TP
        !           203: .B q
        !           204: Quit.
        !           205: .SH EXAMPLES
        !           206: .TP
        !           207: .L "pico -w1280 -h1024 -m5"
        !           208: Get a work buffer that exactly fills a Metheus screen.
        !           209: .TP
        !           210: .L
        !           211: a "/tmp/images/rob"
        !           212: Make a file accessible.
        !           213: It will be known henceforth as
        !           214: .LR $rob .
        !           215: .PP
        !           216: .EX
        !           217: .L a 1280 0 3072 512 junk
        !           218: .L get $junk
        !           219: .EE
        !           220: .PD0
        !           221: .IP
        !           222: Direct attention to a 512\(mu512 subrectangle in the middle
        !           223: of a 3072\(mu512 image stored in a file named junk,
        !           224: and read it into the workspace.
        !           225: .LP
        !           226: .EX
        !           227: x new = Z - old
        !           228: x new[x,y] = Z - old[x,y]
        !           229: x {for(x=0; x<=X; x++) for(y=0; y<=Y; y++) new[x,y] = Z-old[x,y];}
        !           230: .EE
        !           231: .PD0
        !           232: .IP
        !           233: Three ways to make a negative image.
        !           234: Note the defaults on control flow
        !           235: and array indexing.
        !           236: .PD
        !           237: .LP
        !           238: .EX
        !           239: window 0 0 256 256
        !           240: x new = $1[xclamp(x*2), yclamp(y*2)]
        !           241: .EE
        !           242: .PD0
        !           243: .IP
        !           244: Scale a 512\(mu512 image to one quarter of the screen.
        !           245: The built-in functions
        !           246: .L xclamp
        !           247: and
        !           248: .L yclamp
        !           249: guard against indexing out of range.
        !           250: .PD
        !           251: .LP
        !           252: .EX
        !           253: x { printf("current value of %s[%d]:\et%d\en", "histo", 128, hist[128]); }
        !           254: .EE
        !           255: .PD0
        !           256: .IP
        !           257: Turn off the default control flow (curly braces) and use the
        !           258: builtin function printf to check the value of an array element.
        !           259: .SH "SEE ALSO"
        !           260: .IR bcp (1),
        !           261: .IR imscan (1),
        !           262: .IR flicks (9.1), 
        !           263: .IR rebecca (9.1), 
        !           264: .IR picfile (5), 
        !           265: .IR flickfile (9.5)
        !           266: .br
        !           267: G. J. Holzmann,
        !           268: `PICO Tutorial',
        !           269: this manual, Volume 2
        !           270: .br
        !           271: G. J. Holzmann,
        !           272: .I Beyond Photography\(emthe Digital Darkroom,
        !           273: Prentice-Hall, 1988

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.