tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nsMathMLmmultiscriptsFrame.h (1784B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
      2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
      3 /* This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #ifndef nsMathMLmmultiscriptsFrame_h___
      8 #define nsMathMLmmultiscriptsFrame_h___
      9 
     10 #include "nsMathMLContainerFrame.h"
     11 
     12 namespace mozilla {
     13 class PresShell;
     14 }  // namespace mozilla
     15 
     16 //
     17 // <mmultiscripts> -- attach prescripts and tensor indices to a base
     18 // <msub> -- attach a subscript to a base
     19 // <msubsup> -- attach a subscript-superscript pair to a base
     20 // <msup> -- attach a superscript to a base
     21 //
     22 
     23 class nsMathMLmmultiscriptsFrame final : public nsMathMLContainerFrame {
     24 public:
     25  NS_DECL_FRAMEARENA_HELPERS(nsMathMLmmultiscriptsFrame)
     26 
     27  friend nsIFrame* NS_NewMathMLmmultiscriptsFrame(
     28      mozilla::PresShell* aPresShell, ComputedStyle* aStyle);
     29 
     30  NS_IMETHOD
     31  TransmitAutomaticData() override;
     32 
     33  void Place(DrawTarget* aDrawTarget, const PlaceFlags& aFlags,
     34             ReflowOutput& aDesiredSize) override;
     35 
     36  static void PlaceMultiScript(
     37      nsPresContext* aPresContext, DrawTarget* aDrawTarget,
     38      const PlaceFlags& aFlags, ReflowOutput& aDesiredSize,
     39      nsMathMLContainerFrame* aFrame, nscoord aUserSubScriptShift,
     40      nscoord aUserSupScriptShift, float aFontSizeInflation);
     41 
     42  uint8_t ScriptIncrement(nsIFrame* aFrame) override;
     43 
     44 protected:
     45  explicit nsMathMLmmultiscriptsFrame(ComputedStyle* aStyle,
     46                                      nsPresContext* aPresContext)
     47      : nsMathMLContainerFrame(aStyle, aPresContext, kClassID) {}
     48  virtual ~nsMathMLmmultiscriptsFrame();
     49 };
     50 
     51 #endif /* nsMathMLmmultiscriptsFrame_h___ */