Skip to content
This repository was archived by the owner on Sep 15, 2026. It is now read-only.
This repository was archived by the owner on Sep 15, 2026. It is now read-only.

Draw correct overlay for transformed elements (use getBoxQuads) #639

Open

Description

@jogibear9988

This would be possible with the getBoxQuads API, I've workin on a polyfill for it: https://github.com/jogibear9988/getBoxQuadsPolyfill

Activity

  1. changed the title [-]Draw correct overlay for transformed elements[/-] [+]Draw correct overlay for transformed elements (use gteBoxQuads)[/+] on Jul 17, 2024
  2. changed the title [-]Draw correct overlay for transformed elements (use gteBoxQuads)[/-] [+]Draw correct overlay for transformed elements (use getBoxQuads)[/+] on Jul 17, 2024
  3. jogibear9988 commented on Aug 23, 2024

    @jogibear9988
    Author

    @argyleink would it be interesting to have it in visbug? should I look to implement it and create a pull req?

    (If you'd like to see it in action, i us it now in my designer: https://node-projects.github.io/web-component-designer-demo/index.html)

  4. argyleink commented on Aug 26, 2024

    @argyleink
    Contributor

    visbug is definitely interested =) drawing higher accuracy bounding boxes would be super nice.

    the code for padding boxes, margin boxes and generic bounding boxes gets pretty hairy, but you're welcome to check it out and clean it up with a more modern api! send any questions you have my way, happy to help you and keep you feeling productive in the code.

  5. jogibear9988 commented on Aug 26, 2024

    @jogibear9988
    Author

    Should only the Code be changed to use getBoxQuads, or the complete resize mechanism, so you don't resize the outer box, but the element like in my designer (when it is rotated or transformed in another way):

    image
  6. jogibear9988 commented on Aug 26, 2024

    @jogibear9988
    Author

    In VisBug the display of Margin/Padding of Transformed Elements doesn't work. This would be easy to fix after the switch to getBoxQuads, as the Api supports the calculation of the Quads with Padding & Margin (used in my designer)

    It looks like this in VisBug currently:
    image

  7. argyleink commented on Aug 26, 2024

    @argyleink
    Contributor

    Should only the Code be changed to use getBoxQuads, or the complete resize mechanism, so you don't resize the outer box, but the element like in my designer (when it is rotated or transformed in another way):

    image

    your tool is showing the desired design yes, where padding, margins and rotations are accurately reflected. if we're lucky, the resize feature should "just work".

  8. jogibear9988 commented on Aug 26, 2024

    @jogibear9988
    Author

    the getBoxQuads Api also has functions to transform points, this i use in my sample (https://jogibear9988.github.io/getBoxQuadsPolyfill/) to transform mouse clicks to a untransformed rect, with this adjustments of resize (if needed) should be easy.

  9. jogibear9988 commented on Aug 27, 2024

    @jogibear9988
    Author

    @argyleink I've started to work on this. see: #643
    Could you review if I do it in the correct way?

  10. argyleink commented on Aug 27, 2024

    @argyleink
    Contributor

    @argyleink I've started to work on this. see: #643 Could you review if I do it in the correct way?

    looks like you're on track 👍🏻

  11. jogibear9988 commented on Aug 27, 2024

    @jogibear9988
    Author

    Padding & Margin extensions work now:

    image

    Only the texts of padding & margin need to be positioned correctly.

  12. jogibear9988 commented on Aug 27, 2024

    @jogibear9988
    Author

    @argyleink
    If we merge this at some time, maybe you can up prioritze the issue to implement the geometry Utils interface at chrome:
    https://www.w3.org/TR/cssom-view-1/#the-geometryutils-interface
    there is already an issue for this:
    https://issues.chromium.org/issues/41163543
    cause the polyfill for sure is slower, and it could not work correctly for transformed SVGs or MathML Elements

  13. jogibear9988 commented on Aug 8, 2026

    @jogibear9988
    Author

    I'll work on this again... ;-)
    My polyfill is much better now, but also chrome has now a native implementation: https://chromium-review.googlesource.com/c/chromium/src/+/8039580

  14. jogibear9988 commented on Aug 8, 2026

    @jogibear9988
    Author

    pull req: #643

  15. jogibear9988 commented on Aug 22, 2026

    @jogibear9988
    Author

    @argyleink
    it's now finished, and also the API landed in chrome, so can you review the pull?

  16. argyleink commented on Aug 22, 2026

    @argyleink
    Contributor

    I dont have access anymore, but you're welcome to fork.
    sorry and ty!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions