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
# Get a hilite set of the current window
# Get a hilite set of the current cellview
2. What's the main difference between global h-set and nonglobal (except from the fact that I have to push a nonglobal one to get it displayed)?3.
When I have a handle of a hilite set with some "drawings" (objects), I can't get
their coordinates or points, despite I had obviously specified them at
creation. I can get each object id, it's type (e.g. rectangle) but no
Taking the testcase from the section one, see this yourself:
That's all I can get, no coordinates.
geGetFigHilightObjectId() or geGetHilightObjectFigId() does not help.