Граф коммитов

30 Коммитов

Автор SHA1 Сообщение Дата
Markus Stange a0e9560488 Bug 1370040 - Use the public API -[NSVisualEffectView setMaskImage:] instead of the private API -[NSWindow _cornerMask]. r=spohl
The idea is the following:
Behind-window vibrancy is mostly rendered by the window server. For a given
vibrant region of a window, the window server renders a vibrancy "backdrop",
which is a blurred version of everything that's behind that region, modified
with a color tint and blended in some way. Then it puts our actual window
contents on top of that background.
The backdrop's shape is usually a rectangle. If we don't want it to be a
rectangle, we need to tell the window server about the shape that we want it to
be. We can't just "draw" a different shape in our own rendering, because our
own rendering is merely placed on top of the backdrop - but here we want to
modify the shape of the backdrop itself.

NSVisualEffectView lets us set a mask image on the view. If this view is the
content view of a window, then the view will automatically communicate the mask
image to the window server.

Traditionally, our popup windows have had a ChildView as their content view. If
we now want an NSVisualEffectView to be the content view of the window, then we
need to nest the ChildView inside that NSVisualEffectView.
But this NSVisualEffectView is only needed when the window is vibrant and the
vibrancy backdrop needs to have a certain shape. This is the case for our menus
which need to have rounded corners. If the window transitions to being
non-vibrant, or not needing a special shape, then we can go back to the way our
window's NSView hierarchy has worked traditionally. So we need to reparent
NSViews during those transitions.

MozReview-Commit-ID: Bo2VzjhhR0A

--HG--
extra : rebase_source : 9eb463cc68c16c3b9281b57455330969c5e2642c
2017-11-19 18:38:35 -05:00
Andreea Pavel 9474960c52 Backed out 1 changesets (bug 1370040) for build bustage at /cocoa/VibrancyManager.mm:207 r=backout on a CLOSED TREE
Backed out changeset 84c737eb3c6e (bug 1370040)
2017-11-20 01:36:36 +02:00
Markus Stange 75bf1f6ae8 Bug 1370040 - Use the public API -[NSVisualEffectView setMaskImage:] instead of the private API -[NSWindow _cornerMask]. r=spohl
The idea is the following:
Behind-window vibrancy is mostly rendered by the window server. For a given
vibrant region of a window, the window server renders a vibrancy "backdrop",
which is a blurred version of everything that's behind that region, modified
with a color tint and blended in some way. Then it puts our actual window
contents on top of that background.
The backdrop's shape is usually a rectangle. If we don't want it to be a
rectangle, we need to tell the window server about the shape that we want it to
be. We can't just "draw" a different shape in our own rendering, because our
own rendering is merely placed on top of the backdrop - but here we want to
modify the shape of the backdrop itself.

NSVisualEffectView lets us set a mask image on the view. If this view is the
content view of a window, then the view will automatically communicate the mask
image to the window server.

Traditionally, our popup windows have had a ChildView as their content view. If
we now want an NSVisualEffectView to be the content view of the window, then we
need to nest the ChildView inside that NSVisualEffectView.
But this NSVisualEffectView is only needed when the window is vibrant and the
vibrancy backdrop needs to have a certain shape. This is the case for our menus
which need to have rounded corners. If the window transitions to being
non-vibrant, or not needing a special shape, then we can go back to the way our
window's NSView hierarchy has worked traditionally. So we need to reparent
NSViews during those transitions.

MozReview-Commit-ID: Bo2VzjhhR0A

--HG--
extra : rebase_source : 0434a17e2cddc94715db6a5fd17bc27e2cddd05c
2017-11-19 17:01:02 -05:00
Markus Stange b5fdbfc62c Bug 1387594 - Stop getting the font smoothing background color from the theme. r=mattwoodrow
MozReview-Commit-ID: 2r1B8SvEkEl
2017-09-14 23:09:47 +02:00
stefanh@inbox.com 4efcc85bc7 Bug 1310808 - Make use of the new 10.12 constant NSVisualEffectMaterialSelection. r=mstange. 2016-10-17 22:45:02 +02:00
stefanh@inbox.com 3a689f8b9a Bug 1192053 - Implement NS_THEME_MAC_SOURCE_LIST_SELECTION and NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION. r=mstange. 2016-10-14 22:45:29 +02:00
Matt Woodrow f5298ba1b7 Bug 1297879 - Don't allow the cocoa GL context to be opaque if we vibrant regions within the window. r=mstange 2016-09-07 15:35:03 +12:00
Markus Stange f1138d1e77 Bug 1070710 - Use ViewRegion for vibrant areas in VibrancyManager. r=spohl
MozReview-Commit-ID: 5qVo59SV7QG

--HG--
extra : histedit_source : 12980052172b2a858a52978fdd98dea28a9ea854
2016-07-11 14:47:05 -04:00
stefanh@inbox.com d76d8b9c90 Bug 1192053 - Native theming: Support for Mac OS X source lists (background part). r=gijs, mstange. 2016-05-17 07:37:05 +02:00
Nicholas Nethercote 7d6edf2c51 Bug 1239864 (part 10) - Use the new rect iterators in view/ and widget/. r=roc.
--HG--
extra : rebase_source : 3d1c6ff6a1a146bd74ce57e09146bba7ea075232
2016-01-18 17:20:59 -08:00
Nicholas Nethercote 6a194c8cf8 Bug 1239864 (part 1) - Add new, nicer rect-iterators for nsRegion and nsIntRegion. r=roc.
This requires renaming the existing nsIntRegion::RectIterator as
nsIntRegion::OldRectIterator to make way for the new nsIntRegion::RectIterator.
This doesn't require many knock-on changes because most existing uses of
that type use the nsIntRegionRectIterator typedef.

--HG--
extra : rebase_source : 16c79610ae20820ead6aa63cbe214e4e4b3a9fab
2016-01-14 18:36:11 -08:00
Nicholas Nethercote 400204beea Bug 1229237 (part 4) - Make ThemeGeometry::mRect a LayoutDeviceIntRect. r=botond.
--HG--
extra : rebase_source : 3483ed8e2ff2e61ce8a74dcb59a7b43b46bf502d
2015-11-22 20:32:29 -08:00
Nicholas Nethercote 52b3d826da Bug 1225007 (part 1, attempt 3) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : e4b3bb36c18822557f7724a58979eddd9d8cac62
2015-11-19 14:10:38 +11:00
Phil Ringnalda 87802cdbad Backed out 2 changesets (bug 1225007) for frequent OS X "Shouldn't return empty rect" assertion failures, a=backout
Backed out changeset c5b352c74b35 (bug 1225007)
Backed out changeset 8a513c70ce7c (bug 1225007)
2015-11-19 20:55:26 -08:00
Nicholas Nethercote ce671f3678 Bug 1225007 (part 1, attempt 2) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ea132cb4a6eda3553682114f3a1a280acfaf0aa3
2015-11-19 14:10:38 +11:00
Nicholas Nethercote f659df0ca3 Bug 1186795 (part 3) - Replace nsBaseHashtable::EnumerateRead() calls in widget/ with iterators. r=roc. 2015-11-17 18:18:32 -08:00
Nicholas Nethercote 26b0d282a5 Backout 52ba24123046 and 66768d6a50fa (bug 1225007) for causing lots of test assertions on Mac. CLOSED TREE 2015-11-17 17:02:39 -08:00
Nicholas Nethercote eb12a384c0 Bug 1225007 (part 1) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ad3466d05e476ebf65affdde3fca52494e1327cb
2015-11-15 21:37:52 -08:00
Benoit Girard 13e50db20e Bug 1210180 - Force the view to update when we recycle a Vibrancy view. r=mstange
--HG--
extra : commitid : 8EmCjAdcxhE
extra : rebase_source : cf01abb7caafa37e49b9a5d3987bd3b9097f3001
2015-10-05 10:54:29 -04:00
Markus Stange 5065eb9638 Bug 1187680 - Use NSVisualEffectMaterialMenu for menus if it's available. r=smichaud
--HG--
extra : rebase_source : a18253301999879bbc9acb613f880a356c6dbe16
2015-09-09 19:08:25 -04:00
stefanh@inbox.com 540e84dadf Bug 889085 - Make sheets styled with '-moz-appearance: dialog;' vibrant/semi-transparent. r=mstange, roc. 2015-05-26 19:55:08 +02:00
Markus Stange 9a4b1b5557 Bug 1142393 - Make menus look correct when 'Reduce transparency' is set. r=smichaud 2015-03-16 16:20:46 -04:00
Markus Stange c9764ae723 Bug 1045213 - Make menu separators look correct by having them use foreground vibrancy. r=smichaud 2015-02-04 17:25:19 -05:00
Markus Stange 81d520103d Bug 1045213 - Make the highlighted menu item vibrant. r=smichaud 2015-02-04 17:25:19 -05:00
Markus Stange fd3d5eb0f0 Bug 1045213 - Use vibrancy effect for context menus. r=smichaud 2015-02-04 17:25:18 -05:00
Gijs Kruitbosch a64f8dab5f Bug 1075653 - Make tooltips use vibrancy on Yosemite. r=smichaud 2014-09-12 14:10:09 +01:00
Markus Stange 67c0411542 Bug 1055634 - Expose the fontSmoothingBackgroundColor from the vibrant NSVisualEffectView via nsITheme. r=smichaud 2014-10-24 18:32:23 +02:00
Markus Stange 69eea9ff97 Bug 1085475 - Don't attempt to use vibrancy in 32-bit mode. r=smichaud 2014-10-23 22:44:39 +02:00
Markus Stange eece1584e2 Bug 1062801 - Fill vibrant window regions with the correct vibrancy fill color. r=smichaud 2014-10-07 16:18:01 +02:00
Markus Stange 8a49452f67 Bug 1051522 - Create NSVisualEffectViews for vibrant window regions. r=smichaud 2014-08-28 02:15:33 +02:00