mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 959570 - Don't draw rounded corners and a highlight line in fullscreen mode. r=smichaud
This commit is contained in:
parent
3cfdf7a5d6
commit
01d6616d38
@ -185,6 +185,10 @@ enum {
|
||||
};
|
||||
typedef NSUInteger NSEventPhase;
|
||||
|
||||
enum {
|
||||
NSFullScreenWindowMask = 1 << 14
|
||||
};
|
||||
|
||||
@interface NSWindow (LionWindowFeatures)
|
||||
- (NSRect)convertRectToScreen:(NSRect)aRect;
|
||||
@end
|
||||
@ -681,6 +685,7 @@ protected:
|
||||
bool mHasRoundedBottomCorners;
|
||||
int mDevPixelCornerRadius;
|
||||
bool mIsCoveringTitlebar;
|
||||
bool mIsFullscreen;
|
||||
nsIntRect mTitlebarRect;
|
||||
|
||||
// The area of mTitlebarCGContext that needs to be redrawn during the next
|
||||
|
@ -376,6 +376,7 @@ nsChildView::nsChildView() : nsBaseWidget()
|
||||
, mShowsResizeIndicator(false)
|
||||
, mHasRoundedBottomCorners(false)
|
||||
, mIsCoveringTitlebar(false)
|
||||
, mIsFullscreen(false)
|
||||
, mTitlebarCGContext(nullptr)
|
||||
, mBackingScaleFactor(0.0)
|
||||
, mVisible(false)
|
||||
@ -2071,6 +2072,7 @@ nsChildView::PrepareWindowEffects()
|
||||
CGFloat cornerRadius = [(ChildView*)mView cornerRadius];
|
||||
mDevPixelCornerRadius = cornerRadius * BackingScaleFactor();
|
||||
mIsCoveringTitlebar = [(ChildView*)mView isCoveringTitlebar];
|
||||
mIsFullscreen = ([[mView window] styleMask] & NSFullScreenWindowMask) != 0;
|
||||
if (mIsCoveringTitlebar) {
|
||||
mTitlebarRect = RectContainingTitlebarControls();
|
||||
UpdateTitlebarCGContext();
|
||||
@ -2375,7 +2377,7 @@ void
|
||||
nsChildView::MaybeDrawTitlebar(GLManager* aManager, const nsIntRect& aRect)
|
||||
{
|
||||
MutexAutoLock lock(mEffectsLock);
|
||||
if (!mIsCoveringTitlebar) {
|
||||
if (!mIsCoveringTitlebar || mIsFullscreen) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2428,13 +2430,13 @@ nsChildView::MaybeDrawRoundedCorners(GLManager* aManager, const nsIntRect& aRect
|
||||
gfx3DMatrix flipX = gfx3DMatrix::ScalingMatrix(-1, 1, 1);
|
||||
gfx3DMatrix flipY = gfx3DMatrix::ScalingMatrix(1, -1, 1);
|
||||
|
||||
if (mIsCoveringTitlebar) {
|
||||
if (mIsCoveringTitlebar && !mIsFullscreen) {
|
||||
// Mask the top corners.
|
||||
mCornerMaskImage->Draw(aManager, aRect.TopLeft());
|
||||
mCornerMaskImage->Draw(aManager, aRect.TopRight(), flipX);
|
||||
}
|
||||
|
||||
if (mHasRoundedBottomCorners) {
|
||||
if (mHasRoundedBottomCorners && !mIsFullscreen) {
|
||||
// Mask the bottom corners.
|
||||
mCornerMaskImage->Draw(aManager, aRect.BottomLeft(), flipY);
|
||||
mCornerMaskImage->Draw(aManager, aRect.BottomRight(), flipY * flipX);
|
||||
|
Loading…
Reference in New Issue
Block a user