Rulers

2019-12-23  本文已影响0人  YEUNGCHIE

1. Cross_ruler

hiSetBindKey("Layout" "<Key>F1" "crossruler(1 20)")
hiSetBindKey("Layout" "Shift<Key>F1" "crossruler(2 3)")
procedure(crossruler(@optional (type 1) (Length 20))
    prog((start_point)
        leClearAllRuler(getEditRep())
        start_point = hiGetPoint(hiGetCurrentWindow())
        case(type
            (1
                leCreateRuler(getEditRep() list(start_point car(start_point) + Length : cadr(start_point)))
                leCreateRuler(getEditRep() list(start_point car(start_point) - Length : cadr(start_point)))
                leCreateRuler(getEditRep() list(start_point car(start_point) : cadr(start_point) + Length))
                leCreateRuler(getEditRep() list(start_point car(start_point) : cadr(start_point) - Length))
            )
            (2
                leCreateRuler(getEditRep() list(start_point car(start_point) + Length : cadr(start_point) + Length))
                leCreateRuler(getEditRep() list(start_point car(start_point) - Length : cadr(start_point) - Length))
                leCreateRuler(getEditRep() list(start_point car(start_point) + Length : cadr(start_point) - Length))
                leCreateRuler(getEditRep() list(start_point car(start_point) - Length : cadr(start_point) + Length))
            )
            (t)
        )
    )
); procedure

2. Shape_ruler

hiSetBindKey("Layout" "Ctrl<Key>F1" "shaperuler()")
procedure(shaperuler()
    prog((cv obj xlist ylist path)
        cv = geGetWindowCellView()
        obj = car(geGetSelSet(cv))
        case(obj~>objType
            (("rect" "inst")
                path = obj->bBox
                xlist = list(lowerLeft(path) list(xCoord(upperRight(path)) yCoord(lowerLeft(path))))
                ylist = list(lowerLeft(path) list(xCoord(lowerLeft(path)) yCoord(upperRight(path))))
                leCreateRuler(cv xlist)
                leCreateRuler(cv ylist)
            )
            (("path")
                leCreateRuler(cv obj~>points)
            )
            (t
                hiDisplayModelessDBox('form "Error Window" "No Select object(rect/cell/path )" "" "")
            )
        )
    )
);procedure
上一篇 下一篇

猜你喜欢

热点阅读