Product Documentation
Cadence User Interface SKILL Reference
Product Version IC23.1, September 2023

enterEllipse

enterEllipse(
[ ?prompts l_promptList ] 
[ ?points l_pointList ] 
[ ?form s_form ] 
[ ?addPointProc t_addProcName ] 
[ ?delPointProc t_delProcName ] 
[ ?initProc t_initProcName ] 
[ ?doneProc t_doneProcName ]
[ ?formProc t_formProcName ]
[ ?dontDraw g_dontDraw ]
[ ?alwaysMap g_alwaysMap ]
[ ?acceptString g_acceptString ]
[ ?acceptNumber g_acceptNumber ]
[ ?noInfix g_noInfix ]
[ ?cmdName t_cmdName ]
[ ?cursor x_cursor ]
) 
=> l_bBox 

Description

Enters an ellipse in the current window.

An ellipse is defined by its bounding box, therefore, only horizontally and vertically oriented ellipses can be entered.

Arguments

?prompts l_promptList

  

List of prompt strings to appear on the CIW prompt line. If supplied, only the first two strings are used. Each string corresponds to one of the two points needed to specify the bounding box of the ellipse.

?points l_pointList

  

List of no more than two points specifying the ellipse bounding box. If both points are specified, the box is returned after adjustment. If not, you are prompted for the remaining point or points. If one point is supplied, it is adjusted as if you had entered it. After you enter the first point, a rubberbanding ellipse is drawn inside the bounding box defined by the first point and the cursor’s current position. After the second point is entered the function returns a list of two points. The list returned is normalized so that the first point corresponds to the lower left corner of the box; the second is the upper right corner.

?form s_form

Options form created with hiCreateOptionsForm. This form is displayed when you call hiToggleEnterForm. It contains options relevant to the enterfunction and its caller

?addPointProc t_addProcName

  

Name of the SKILL function to be called when a point is entered.

?delPointProc t_delProcName

  

Name of the SKILL function to be called when a point is deleted.

?initProc t_initProcName

  

Name of the SKILL function to be called immediately after the enterfunction is started and before any data entry.

?doneProc t_doneProcName

  

Name of the SKILL function to be called when the enterfunction is terminated.

?formProc t_formProcName

  

Name of the SKILL function to be called when the options form is displayed.

?dontDraw g_dontDraw

  

Determines whether or not to draw rubber band lines.

?alwaysMap g_alwaysMap

  

Determines whether or not to immediately display the options form.

?acceptString g_acceptString

  

Determines whether or not to accept string input without terminating the enterfunction.

?acceptNumber g_acceptNumber

  

Determines whether or not to accept numeric input without terminating the enterfunction.

?noInfix g_noInfix

  

Determines whether or not to disable infix mode.

?cmdName t_cmdName

  

Name you associate with the enterfunction. If the command name is set, it can be accessed with hiGetCurrentCmd.

?cursor x_cursor

An integer argument that will default to an appropriate cursor. For example, hicArrowRectangle for enterBox and hicArrowArc for enterArc. For more information on all available cursors see hiSetCursor.

Value Returned

l_bBox

The two digitized points as coordinates in user units. These points represent the bounding box containing the ellipse. It is normalized so that the first point corresponds to the lower left corner of the bounding box and the second is the upper right corner.

Retrieve data through the callback procedure t_doneProcName instead of using the return value for this enterfunction.

Examples

Displays the prompt Enter the first ellipse point on the CIW prompt line. When you enter point p1 the prompt changes to Enter the second ellipse point. A rubberband ellipse appears with a bounding box constructed from p1 and the current cursor location.

procedure( ellipseDone( w done pts )
if( done then
if( stringp(pts) then
pts = list( pts "drawing" )
leGetEntryLayer(pts)
printf("Current layer changed to %L.\n" pts)
else
printf("Ellipse entered was %L. Layer is %L.\n" pts
leGetEntryLayer( ))
else
println("Ellipse entry aborted.")
)
)
)
enterEllipse( ?prompts
list( "Enter the first ellipse point."
"Enter the second ellipse point." )
?doneProc "circleDone" ?acceptString t
)

Type “thinox” into the CIW. doneProc notes the change:

Current layer changed to ("thinox" "drawing").

The enterfunction is still active, as shown by the rubberband ellipse and the CIW prompt. Enter point p2. doneProc prints the ellipse points:

Ellipse entered was ( p1 p2 ). Layer is ("thinox" "drawing").

Here, (p1 p2) is the bounding box of the circle entered. The enterfunction returns the ellipse points:

( p1 p2 ) 

Related Topics

User Entry Functions

hiCreateOptionsForm

undrawEnterFun

hiGetCurrentCmd


Return to top
 ⠀
X