NS_IMETHODIMP nsBox::GetPadding(nsMargin& aMargin) { const nsStyleDisplay *disp = GetStyleDisplay(); if (disp->mAppearance && gTheme) { // Go to the theme for the padding. nsPresContext *context = PresContext(); if (gTheme->ThemeSupportsWidget(context, this, disp->mAppearance)) { nsIntMargin margin(0, 0, 0, 0); PRBool useThemePadding; useThemePadding = gTheme->GetWidgetPadding(context->DeviceContext(), this, disp->mAppearance, &margin); if (useThemePadding) { aMargin.top = context->DevPixelsToAppUnits(margin.top); aMargin.right = context->DevPixelsToAppUnits(margin.right); aMargin.bottom = context->DevPixelsToAppUnits(margin.bottom); aMargin.left = context->DevPixelsToAppUnits(margin.left); return NS_OK; } } } aMargin.SizeTo(0,0,0,0); GetStylePadding()->GetPadding(aMargin); return NS_OK; }
NS_IMETHODIMP nsScrollbarFrame::GetMargin(nsMargin& aMargin) { aMargin.SizeTo(0,0,0,0); if (LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars) != 0) { nsPresContext* presContext = PresContext(); nsITheme* theme = presContext->GetTheme(); if (theme) { nsIntSize size; bool isOverridable; nsRefPtr<nsRenderingContext> rc = presContext->PresShell()->GetReferenceRenderingContext(); theme->GetMinimumWidgetSize(rc, this, NS_THEME_SCROLLBAR, &size, &isOverridable); if (IsHorizontal()) { aMargin.top = -presContext->DevPixelsToAppUnits(size.height); } else { if (StyleVisibility()->mDirection == NS_STYLE_DIRECTION_RTL) { aMargin.right = -presContext->DevPixelsToAppUnits(size.width); } else { aMargin.left = -presContext->DevPixelsToAppUnits(size.width); } } return NS_OK; } } return nsBox::GetMargin(aMargin); }
NS_IMETHODIMP nsBox::GetBorder(nsMargin& aMargin) { aMargin.SizeTo(0,0,0,0); const nsStyleDisplay* disp = GetStyleDisplay(); if (disp->mAppearance && gTheme) { // Go to the theme for the border. nsPresContext *context = PresContext(); if (gTheme->ThemeSupportsWidget(context, this, disp->mAppearance)) { nsIntMargin margin(0, 0, 0, 0); gTheme->GetWidgetBorder(context->DeviceContext(), this, disp->mAppearance, &margin); aMargin.top = context->DevPixelsToAppUnits(margin.top); aMargin.right = context->DevPixelsToAppUnits(margin.right); aMargin.bottom = context->DevPixelsToAppUnits(margin.bottom); aMargin.left = context->DevPixelsToAppUnits(margin.left); return NS_OK; } } aMargin = GetStyleBorder()->GetActualBorder(); return NS_OK; }
NS_IMETHODIMP nsBox::GetMargin(nsMargin& aMargin) { aMargin.SizeTo(0,0,0,0); GetStyleMargin()->GetMargin(aMargin); return NS_OK; }
nsresult nsBox::GetMargin(nsMargin& aMargin) { aMargin.SizeTo(0,0,0,0); StyleMargin()->GetMargin(aMargin); return NS_OK; }
NS_IMETHODIMP nsIFrame::GetBorderAndPadding(nsMargin& aBorderAndPadding) { aBorderAndPadding.SizeTo(0, 0, 0, 0); nsresult rv = GetBorder(aBorderAndPadding); if (NS_FAILED(rv)) return rv; nsMargin padding; rv = GetPadding(padding); if (NS_FAILED(rv)) return rv; aBorderAndPadding += padding; return rv; }
nsresult nsScrollbarFrame::GetScrollbarMargin( nsMargin& aMargin, mozilla::ScrollFrameHelper::eScrollbarSide aSide) { nsresult rv = NS_ERROR_FAILURE; aMargin.SizeTo(0,0,0,0); if (LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars) != 0) { nsPresContext* presContext = PresContext(); nsITheme* theme = presContext->GetTheme(); if (theme) { LayoutDeviceIntSize size; bool isOverridable; theme->GetMinimumWidgetSize(presContext, this, NS_THEME_SCROLLBAR, &size, &isOverridable); if (IsHorizontal()) { aMargin.top = -presContext->DevPixelsToAppUnits(size.height); } else { aMargin.left = -presContext->DevPixelsToAppUnits(size.width); } rv = NS_OK; } } if (NS_FAILED(rv)) { rv = nsBox::GetMargin(aMargin); } if (NS_SUCCEEDED(rv) && aSide == ScrollFrameHelper::eScrollbarOnLeft) { Swap(aMargin.left, aMargin.right); } return rv; }
nsresult nsGroupBoxFrame::GetBorderAndPadding(nsMargin& aBorderAndPadding) { aBorderAndPadding.SizeTo(0,0,0,0); return NS_OK; }
NS_IMETHODIMP nsGroupBoxFrame::GetBorderAndPadding(nsMargin& aBorderAndPadding) { aBorderAndPadding.SizeTo(0,0,0,0); return NS_OK; }