/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- *//* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. *///// Eric Vaughan// Netscape Communications//// See documentation in associated header file//#include"nsBox.h"#include"nsCOMPtr.h"#include"nsContainerFrame.h"#include"nsBoxLayout.h"voidnsBoxLayout::AddBorderAndPadding(nsIFrame*aBox,nsSize&aSize){nsBox::AddBorderAndPadding(aBox,aSize);}voidnsBoxLayout::AddMargin(nsIFrame*aBox,nsSize&aSize){nsBox::AddMargin(aBox,aSize);}voidnsBoxLayout::AddMargin(nsSize&aSize,constnsMargin&aMargin){nsBox::AddMargin(aSize,aMargin);}nsSizensBoxLayout::GetXULPrefSize(nsIFrame*aBox,nsBoxLayoutState&aBoxLayoutState){nsSizepref(0,0);AddBorderAndPadding(aBox,pref);returnpref;}nsSizensBoxLayout::GetXULMinSize(nsIFrame*aBox,nsBoxLayoutState&aBoxLayoutState){nsSizeminSize(0,0);AddBorderAndPadding(aBox,minSize);returnminSize;}nsSizensBoxLayout::GetXULMaxSize(nsIFrame*aBox,nsBoxLayoutState&aBoxLayoutState){//AddBorderAndPadding () never changes maxSize (NS_INTRINSICSIZE)//AddBorderAndPadding(aBox, maxSize);returnnsSize(NS_INTRINSICSIZE,NS_INTRINSICSIZE);}nscoordnsBoxLayout::GetAscent(nsIFrame*aBox,nsBoxLayoutState&aBoxLayoutState){return0;}NS_IMETHODIMPnsBoxLayout::Layout(nsIFrame*aBox,nsBoxLayoutState&aBoxLayoutState){returnNS_OK;}voidnsBoxLayout::AddLargestSize(nsSize&aSize,constnsSize&aSize2){if(aSize2.width>aSize.width)aSize.width=aSize2.width;if(aSize2.height>aSize.height)aSize.height=aSize2.height;}voidnsBoxLayout::AddSmallestSize(nsSize&aSize,constnsSize&aSize2){if(aSize2.width<aSize.width)aSize.width=aSize2.width;if(aSize2.height<aSize.height)aSize.height=aSize2.height;}NS_IMPL_ISUPPORTS(nsBoxLayout,nsBoxLayout)