Bug 1421088 - Create a DrawNativeTitlebar overload that takes a UnifiedToolbarParams param. r?spohl
MozReview-Commit-ID: Gxe4qIZV7HI
--- a/widget/cocoa/nsNativeThemeCocoa.h
+++ b/widget/cocoa/nsNativeThemeCocoa.h
@@ -378,16 +378,18 @@ protected:
const SpinButtonParams& aParams);
void DrawSpinButton(CGContextRef context,
const HIRect& inBoxRect, SpinButton aDrawnButton,
const SpinButtonParams& aParams);
void DrawToolbar(CGContextRef cgContext, const CGRect& inBoxRect,
bool aIsMain);
void DrawUnifiedToolbar(CGContextRef cgContext, const HIRect& inBoxRect,
const UnifiedToolbarParams& aParams);
+ void DrawNativeTitlebar(CGContextRef aContext, CGRect aTitlebarRect,
+ const UnifiedToolbarParams& aParams);
void DrawStatusBar(CGContextRef cgContext, const HIRect& inBoxRect,
bool aIsMain);
void DrawResizer(CGContextRef cgContext, const HIRect& aRect, bool aIsRTL);
void DrawScrollbarThumb(CGContextRef cgContext, const CGRect& inBoxRect,
ScrollbarParams aParams);
void DrawScrollbarTrack(CGContextRef cgContext, const CGRect& inBoxRect,
ScrollbarParams aParams);
void DrawMultilineTextField(CGContextRef cgContext, const CGRect& inBoxRect,
--- a/widget/cocoa/nsNativeThemeCocoa.mm
+++ b/widget/cocoa/nsNativeThemeCocoa.mm
@@ -2655,16 +2655,24 @@ nsNativeThemeCocoa::DrawStatusBar(CGCont
void
nsNativeThemeCocoa::DrawNativeTitlebar(CGContextRef aContext, CGRect aTitlebarRect,
CGFloat aUnifiedHeight, BOOL aIsMain, BOOL aIsFlipped)
{
CGFloat unifiedHeight = std::max(aUnifiedHeight, aTitlebarRect.size.height);
DrawNativeTitlebarToolbarWithSquareCorners(aContext, aTitlebarRect, unifiedHeight, aIsMain, aIsFlipped);
}
+void
+nsNativeThemeCocoa::DrawNativeTitlebar(CGContextRef aContext, CGRect aTitlebarRect,
+ const UnifiedToolbarParams& aParams)
+{
+ DrawNativeTitlebar(aContext, aTitlebarRect, aParams.unifiedHeight,
+ aParams.isMain, YES);
+}
+
static void
RenderResizer(CGContextRef cgContext, const HIRect& aRenderRect, void* aData)
{
HIThemeGrowBoxDrawInfo* drawInfo = (HIThemeGrowBoxDrawInfo*)aData;
HIThemeDrawGrowBox(&CGPointZero, drawInfo, cgContext, kHIThemeOrientationNormal);
}
void
@@ -3155,20 +3163,21 @@ nsNativeThemeCocoa::DrawWidgetBackground
break;
}
DrawToolbar(cgContext, macRect, isMain);
}
break;
case NS_THEME_WINDOW_TITLEBAR: {
NSWindow* win = NativeWindowForFrame(aFrame);
- BOOL isMain = [win isMainWindow];
+ bool isMain = [win isMainWindow];
float unifiedToolbarHeight = [win isKindOfClass:[ToolbarWindow class]] ?
[(ToolbarWindow*)win unifiedToolbarHeight] : macRect.size.height;
- DrawNativeTitlebar(cgContext, macRect, unifiedToolbarHeight, isMain, YES);
+ DrawNativeTitlebar(cgContext, macRect,
+ UnifiedToolbarParams{unifiedToolbarHeight, isMain});
}
break;
case NS_THEME_STATUSBAR:
DrawStatusBar(cgContext, macRect, IsActive(aFrame, YES));
break;
case NS_THEME_MENULIST: