• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Magnifier

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 13821
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Magnifier

robdohanyos
robdohanyos over 10 years ago

Hello,

I'm looking to use the magnifier as a magnifier to magnify a specific location not tied to the pointer. I'd like to anchor it using the anchor command with a view of what is under it, not what is under the pointer. Is this possible?

The use case is this. Basically i want to do something like picture in picture. i have some MPP's that are very wide and it would be nice if I could anchor the magnifier where the desired overlap is, and stretch the center line while being able to maintain visibility of that overlap region at the edge.

Thanks
Rob

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Hi Rob,

    Rather than using the magnifier, I would suggest using a much more longstanding feature - having multiple windows open on the same cellView. You can copy an existing window by using:

    geNewWindow(hiGetCurrentWindow())

    which could be on a bindkey of course. You can start an operation in one window and finish it in the other - so you can start drawing a rectangle or performing a zoom in one, and end in the other. Or you could see the cursor move in both windows. You may also want to use this code (which could be on a bindkey too) to copy zoom level from one window to another):

    /* abCopyWinView.il
    
    Author     A.D.Beckett
    Group      Structured Custom, Cadence Design Systems Ltd
    Machine    SUN
    Date       Apr 25, 1994 
    Modified   
    By         
    
    Copies a window view from one window to another,
    not necessarily of the same cellView
    
    ***************************************************
    
    SCCS Info: @(#) abCopyWinView.il 11/20/08.15:26:12 1.1
    
    */
    
    (procedure (abCopyWinViewCB win done points)
      (let (bbox)
           (setq win (hiGetCurrentWindow))
           (when (and done (windowp win) (windowp abCopyWinViewFrom))
                 (setq bbox (hiGetViewBBox abCopyWinViewFrom))
                 (hiZoomIn win bbox))))
    
    /***************************************************************
    *                                                              *
    *             (abCopyWinView @optional (win nil))              *
    *                                                              *
    *     Procedure to copy a view from one window to another      *
    *                                                              *
    ***************************************************************/
    
    (procedure (abCopyWinView @optional (win nil))
      (unless win (setq win (hiGetCurrentWindow)))
      (setq abCopyWinViewFrom win)
      (hiSetCurrentWindow win)
      (when (windowp win)
            (enterMultiRep ?prompts '("Point to the source window" "Point to the destination window")
                           ?points '((0 0))
                           ?doneProc "abCopyWinViewCB"
                           ?dontDraw t
                           ))
      t)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Hi Rob,

    Rather than using the magnifier, I would suggest using a much more longstanding feature - having multiple windows open on the same cellView. You can copy an existing window by using:

    geNewWindow(hiGetCurrentWindow())

    which could be on a bindkey of course. You can start an operation in one window and finish it in the other - so you can start drawing a rectangle or performing a zoom in one, and end in the other. Or you could see the cursor move in both windows. You may also want to use this code (which could be on a bindkey too) to copy zoom level from one window to another):

    /* abCopyWinView.il
    
    Author     A.D.Beckett
    Group      Structured Custom, Cadence Design Systems Ltd
    Machine    SUN
    Date       Apr 25, 1994 
    Modified   
    By         
    
    Copies a window view from one window to another,
    not necessarily of the same cellView
    
    ***************************************************
    
    SCCS Info: @(#) abCopyWinView.il 11/20/08.15:26:12 1.1
    
    */
    
    (procedure (abCopyWinViewCB win done points)
      (let (bbox)
           (setq win (hiGetCurrentWindow))
           (when (and done (windowp win) (windowp abCopyWinViewFrom))
                 (setq bbox (hiGetViewBBox abCopyWinViewFrom))
                 (hiZoomIn win bbox))))
    
    /***************************************************************
    *                                                              *
    *             (abCopyWinView @optional (win nil))              *
    *                                                              *
    *     Procedure to copy a view from one window to another      *
    *                                                              *
    ***************************************************************/
    
    (procedure (abCopyWinView @optional (win nil))
      (unless win (setq win (hiGetCurrentWindow)))
      (setq abCopyWinViewFrom win)
      (hiSetCurrentWindow win)
      (when (windowp win)
            (enterMultiRep ?prompts '("Point to the source window" "Point to the destination window")
                           ?points '((0 0))
                           ?doneProc "abCopyWinViewCB"
                           ?dontDraw t
                           ))
      t)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information