std-getangle


Synopsis

(std-getangle <flag> <kwd> <msg> <def> <bpt>) ; => radians

(std-getangle-deg <flag> <kwd> <msg> <def> <bpt>) ; => degrees

Description

STD-GETANGLE is basically the same as (INITGET ...) (GETANGLE ...),

STD-GETANGLE-DEG accepts and returns degrees instead.

They use the following enhancements:
msg is nicely formatted.

If a lisp function given at the prompt returns a valid type this one is accepted.

The additionally needed INITGET initialization and default value check may be omitted, thus leading to easier looping code.

If the default argument is given (and it is not nil and the flag contains no bitvalue 1), then empty input is allowed as well.

Arguments

flag: integer, same as the INITGET flag or nil

kwd: a initget-like string or a list of strings or nil

msg: a string to be displayed as a prompt or nil.

def: a default value as number, either interpreted as radians (0-2ð) or degrees (0-360) or nil

bpt: a point from which the rubberband is drawn, and if a point is entered, from which the highlighted line is drawn or nil. If not nil only one point or a number is required. If nil a number or two points.

Return Value

Either the default value or any number entered by the user, interpretable as radians (0-2ð) or degrees (0-360).

Side Effects

Interrupts the program flow, prints the formatted message and waits for user input.

Module

(std-require 'STDINPUT)

Defined in STDINPUT