Hello! I've been investigating abilities of hilights and am confused with three things. Could anybody help and explain please?
1. How to get hilight sets of an open window or an open cellview? I.e. when I don't have a handler of freshly-myself-created hilight set, but have an open window with a highlight set and want to get it's handler
The only way I found is to use geGetCurrentWindowHilightSet() and geGetCurrentHilightSet() function, but they work only if h-set was pushed.
Therefore they does not work for global h-sets. And despite I can display several differently colored h-sets in a window, I can't get all of them, only the pushed one.
My simple code I used for playing with-sets (open a layout window first):
;; !!! Define your own coloring, e.g.
; hilite_color = list("y0" "drawing")
hilite_color = list("m2" "drawing")
; Define hilite set
;hSet = geCreateWindowHilightSet(geGetEditCellViewWindow(geGetEditCellView()) hilite_color nil)
hSet = geCreateHilightSet(geGetEditCellView() hilite_color nil)
; Add a drawing
geAddHilightRectangle( hSet list( -5:-5 5:5 ) )
; Display it as instructed by documentation
hSet->enable = t
geDrawHilightSet( geGetEditCellViewWindow(geGetEditCellView()) hSet )
; Push it to make next function work
gePushHilightStack(hSet)
# Get a hilite set of the current window
geGetCurrentWindowHilightSet(hiGetCurrentWindow())
# Get a hilite set of the current cellview
geGetCurrentHilightSet(ccv())
Taking the testcase from the section one, see this yourself:
hSet->??
hSet->objects~>??
That's all I can get, no coordinates.
geGetFigHilightObjectId() or geGetHilightObjectFigId() does not help.