Skip to content

Conversation

@nornagon
Copy link
Contributor

@nornagon nornagon commented Jul 24, 2018

This binds Widget::SetShape, an API that already exists in Chromium. It's a more reliable method of having some parts of your window be "click-through" than the current setIgnoreMouseEvents API, which messes around with the WS_EX_LAYERED window style, causing strange bugs and incompatibility with hardware acceleration.

Checklist
  • PR description included and stakeholders cc'd
  • npm test passes
  • tests are changed or added
  • relevant documentation is changed or added
  • PR title follows semantic commit guidelines

@nornagon nornagon requested review from a team and zcbenz July 24, 2018 21:59
@nornagon nornagon requested a review from a team July 24, 2018 22:19
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
@nornagon nornagon changed the title [wip] feat: allow setting window shape feat: allow setting window shape Jul 24, 2018

#### `win.setShape(rects)` _Windows_ _Linux_ _Experimental_

* `rects` [Rectangle[]](structures/rectangle.md) - Sets a shape on the window.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you expand this documentation a bit to explain what shapes are and why you'd want to use them?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@MarshallOfSound MarshallOfSound added the semver/minor backwards-compatible functionality label Jul 30, 2018
@nornagon nornagon merged commit 3bdff2d into master Jul 30, 2018
@nornagon nornagon deleted the window-set-shape branch July 30, 2018 20:37
@ckerr
Copy link
Member

ckerr commented Aug 8, 2018

/trop run backport-to 2-1-x

@trop
Copy link
Contributor

trop bot commented Aug 8, 2018

The backport process for this PR has been manually initiated, sending your 1's and 0's to "2-1-x" here we go! :D

ckerr pushed a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
nornagon added a commit that referenced this pull request Aug 8, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
ckerr pushed a commit that referenced this pull request Aug 9, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
felixrieseberg pushed a commit that referenced this pull request Aug 29, 2018
This binds Widget::SetShape, an API that already exists in Chromium (for
Windows and Linux). It's a more reliable method of having some parts of
your window be "click-through" than the current `setIgnoreMouseEvents`
API, which messes around with the `WS_EX_LAYERED` window style on
Windows, causing strange bugs and incompatibility with hardware
acceleration.
@ckerr
Copy link
Member

ckerr commented Sep 4, 2018

/trop run backport-to 3-0-x

@trop
Copy link
Contributor

trop bot commented Sep 4, 2018

The backport process for this PR has been manually initiated,
sending your 1's and 0's to "3-0-x" here we go! :D

@trop
Copy link
Contributor

trop bot commented Sep 4, 2018

We have automatically backported this PR to "3-0-x", please check out #14445

@trop trop bot added the merged/3-0-x label Sep 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver/minor backwards-compatible functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants