nsRubyBaseFrame.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* This Source Code is subject to the terms of the Mozilla Public License
  3. * version 2.0 (the "License"). You can obtain a copy of the License at
  4. * http://mozilla.org/MPL/2.0/. */
  5. /* rendering object for CSS "display: ruby-base" */
  6. #ifndef nsRubyBaseFrame_h___
  7. #define nsRubyBaseFrame_h___
  8. #include "nsRubyContentFrame.h"
  9. /**
  10. * Factory function.
  11. * @return a newly allocated nsRubyBaseFrame (infallible)
  12. */
  13. nsContainerFrame* NS_NewRubyBaseFrame(nsIPresShell* aPresShell,
  14. nsStyleContext* aContext);
  15. class nsRubyBaseFrame final : public nsRubyContentFrame
  16. {
  17. public:
  18. NS_DECL_FRAMEARENA_HELPERS
  19. NS_DECL_QUERYFRAME_TARGET(nsRubyBaseFrame)
  20. NS_DECL_QUERYFRAME
  21. // nsIFrame overrides
  22. virtual nsIAtom* GetType() const override;
  23. #ifdef DEBUG_FRAME_DUMP
  24. virtual nsresult GetFrameName(nsAString& aResult) const override;
  25. #endif
  26. protected:
  27. friend nsContainerFrame* NS_NewRubyBaseFrame(nsIPresShell* aPresShell,
  28. nsStyleContext* aContext);
  29. explicit nsRubyBaseFrame(nsStyleContext* aContext)
  30. : nsRubyContentFrame(aContext) {}
  31. };
  32. #endif /* nsRubyBaseFrame_h___ */