Home
  • Products
  • Solutions
  • Support
  • Company
  • Products
  • Solutions
  • Support
  • Company
Community Custom IC SKILL How to realize that the box area displayed in an open cellView...

Stats

  • Replies 4
  • Subscribers 144
  • Views 641
  • Members are here 0

How to realize that the box area displayed in an open cellView does not change afer change the window size

alaylayla
alaylayla 2 months ago
After I change the window size, I expect that the window box displayed in the layout cellview will not change. I don't need to zoom in or zoom out to adjust and find the area displayed before. How can I achieve this?virtuoso IC 618
  • Reply
  • Cancel
  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett 2 months ago

    This is not possible currently. There is an old change request (CCR 317732) with a small number of duplicates - the most recent being over 10 years ago - essentially asking for the viewport to be preserved. There was lots of discussion about it because there's clearly no single right answer (even preserving the viewport involves re-zooming into the previous area, which could be a) expensive for layout, and b) could end up not preserving the area properly depending on how you resized the window). There's no SKILL trigger for a window resize at the moment, otherwise it could have captured the current box before the resize:

    bbox=hiGetViewBBox(hiGetCurrentWindow())

    and then after resize:

    hiZoomIn(hiGetCurrentWindow() bbox)

    but nothing to do that in one step.

    Andrew

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett 2 months ago

    This is not possible currently. There is an old change request (CCR 317732) with a small number of duplicates - the most recent being over 10 years ago - essentially asking for the viewport to be preserved. There was lots of discussion about it because there's clearly no single right answer (even preserving the viewport involves re-zooming into the previous area, which could be a) expensive for layout, and b) could end up not preserving the area properly depending on how you resized the window). There's no SKILL trigger for a window resize at the moment, otherwise it could have captured the current box before the resize:

    bbox=hiGetViewBBox(hiGetCurrentWindow())

    and then after resize:

    hiZoomIn(hiGetCurrentWindow() bbox)

    but nothing to do that in one step.

    Andrew

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
Children
  • alaylayla
    alaylayla 2 months ago in reply to Andrew Beckett

    procedure(setWindowMax() let((myScreenCoords myScreenWidth myScreenHeight myScreenHeight window_id) myScreenCoords = getMaxScreenCoords() myScreenWidth = car(myScreenCoords) myScreenHeight = cadr(myScreenCoords) window_id = hiGetCurrentWindow() hiResizeWindow(window_id list(0:0 myScreenWidth:myScreenHeight)) hiZoomAbsoluteScale(window_id 0.9) );end let );end proicedure

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • alaylayla
    alaylayla 2 months ago in reply to alaylayla

    In this code,

    Why can't resize windowsize and hiZoomAbsoluteScale work at the same time, it needs to be performed twice. The first time i press shortcut, the window size will be adjusted, and the second time i press it,t hiZoomAbsoluteScale work; if i press shortcut to just change the position of the window, the size not changed, hiZoomAbsoluteScale will work .
    How to do it in one step
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
  • Andrew Beckett
    Andrew Beckett 2 months ago in reply to alaylayla

    I don't see this problem (I reformatted your code because it was unreadable and wouldn't work because of the embedded comments, but I didn't make any change).

    In IC6.1.8 ISR 33 (IC6.1.8-64b.500.33) then assigning setWindowMax() to a bindkey and pressing that bindkey maximises the window and fits the contents in one go. You didn't say which version you're using - perhaps you can state that. One possibility might be to add hiFlush() after the hiResizeWindow()?

    Andrew 

    • Cancel
    • Up 0 Down
    • Reply
    • Cancel

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.

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

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