Source code

Revision control

Copy as Markdown

Other Tools

/* 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/. */
/* rendering object for CSS "display: ruby-base" */
#ifndef nsRubyBaseFrame_h_
#define nsRubyBaseFrame_h_
#include "nsRubyContentFrame.h"
namespace mozilla {
class PresShell;
} // namespace mozilla
/**
* Factory function.
* @return a newly allocated nsRubyBaseFrame (infallible)
*/
nsContainerFrame* NS_NewRubyBaseFrame(mozilla::PresShell* aPresShell,
mozilla::ComputedStyle* aStyle);
class nsRubyBaseFrame final : public nsRubyContentFrame {
public:
NS_DECL_FRAMEARENA_HELPERS(nsRubyBaseFrame)
NS_DECL_QUERYFRAME
#ifdef DEBUG_FRAME_DUMP
nsresult GetFrameName(nsAString& aResult) const override;
#endif
mozilla::RubyMetrics RubyMetrics(float aRubyMetricsFactor) const override {
// provided by nsContainerFrame
return RubyMetricsIncludingChildren(aRubyMetricsFactor);
}
protected:
friend nsContainerFrame* NS_NewRubyBaseFrame(mozilla::PresShell* aPresShell,
ComputedStyle* aStyle);
explicit nsRubyBaseFrame(ComputedStyle* aStyle, nsPresContext* aPresContext)
: nsRubyContentFrame(aStyle, aPresContext, kClassID) {}
};
#endif /* nsRubyBaseFrame_h_ */