MathBox

MathBox class

Specifies the logical boxing (packaging) of mathematical element. For example, a boxed object can serve as an operator emulator with or without an alignment point, serve as a line break point, or be grouped such as not to allow line breaks within. For example, the "==" operator should be boxed to prevent line breaks.

class MathBox : public Aspose::Slides::MathText::MathElementBase,
                public Aspose::Slides::MathText::IMathBox,
                public Aspose::Slides::MathText::IHasControlCharacterProperties

Methods

MethodDescription
System::SharedPtr<IMathAccent> Accent(char16_t) overrideSets an accent mark (a character on the top of this element)
System::SharedPtr<IMathFunction> AsArgumentOfFunction(System::SharedPtr<IMathElement>) overrideTakes specified function using this instance as the argument
System::SharedPtr<IMathFunction> AsArgumentOfFunction(System::String) overrideTakes specified function using this instance as the argument
System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfOneArgument) overrideTakes specified function using this instance as the argument
System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfTwoArguments, System::SharedPtr<IMathElement>) overrideTakes specified function using this instance as the argument and specified additional argument
System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfTwoArguments, System::String) overrideTakes specified function using this instance as the argument and specified additional argument
System::SharedPtr<IMathFraction> Divide(System::SharedPtr<IMathElement>) overrideCreates a fraction with this numerator and specified denominator
System::SharedPtr<IMathFraction> Divide(System::String) overrideCreates a fraction with this numerator and specified denominator
System::SharedPtr<IMathFraction> Divide(System::SharedPtr<IMathElement>, MathFractionTypes) overrideCreates a fraction of the specified type with this numerator and specified denominator
System::SharedPtr<IMathFraction> Divide(System::String, MathFractionTypes) overrideCreates a fraction of the specified type with this numerator and specified denominator
System::SharedPtr<IMathDelimiter> Enclose() overrideEncloses a math element in parenthesis
System::SharedPtr<IMathDelimiter> Enclose(char16_t, char16_t) overrideEncloses a math element in specified characters such as parenthesis or another characters as framing
virtual bool Equals(ptr)Compares objects using C# Object.Equals semantics.
static std::enable_if<IsSmartPtr<T1>::value&&IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares reference type objects in C# style.
static std::enable_if<!IsSmartPtr<T1>::value&&!IsSmartPtr<T2>::value, bool>::type Equals(T1 const&, T2 const&)Compares value type objects in C# style.
static bool Equals(float const&, float const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
static bool Equals(double const&, double const&)Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN.
virtual bool FastCast(const Details::FastRttiBase&, void **) constFor internal purposes only.
System::SharedPtr<IMathFunction> Function(System::SharedPtr<IMathElement>) overrideTakes a function of an argument using this instance as the function name
System::SharedPtr<IMathFunction> Function(System::String) overrideTakes a function of an argument using this instance as the function name
bool get_AlignmentPoint() overrideWhen true, this operator emulator serves as an alignment point; that is, designated alignment points in other equations can be aligned with it. Default: false
System::SharedPtr<IMathElement> get_Base() overrideBase argument
bool get_Differential() overrideDifferential When true, the box acts as a differential (e.g., \uD835\uDC51\uD835\uDC65 in an integrand), and receives the appropriate horizontal spacing for the mathematical differential. Default: false
uint8_t get_ExplicitBreak() overrideExplicit break specifies whether there is a line break at the start of the Box object, such that the line wraps at the start of the box object. Specifies the number of the operator on the previous line of mathematical text which shall be used as the alignment point for the current line of mathematical text possible values: 1..255 Default: 0 (no explicit break)
bool get_NoBreak() overrideNo break This property specifies the "unbreakable" property on the object box. When true, no line breaks can occur within the box. This can be important for operator emulators that consist of more than one binary operator. When this element is not specified, breaks can occur inside box. Default: true
bool get_OperatorEmulator() overrideOperator Emulator. When true, the box and its contents behave as a single operator and inherit the properties of an operator. This means, for example, that the character can serve as a point for a line break and can be aligned to other operators. Operator Emulators are often used when one or more glyphs combine to form an operator, such as ‘==’. Default value: false
System::ArrayPtr<System::SharedPtr<IMathElement>> GetChildren() overrideGet children elements
Detail::SmartPtrCounter * GetCounter()Gets reference counter data structure associated with the object.
virtual int32_t GetHashCode() constAnalog of C# Object.GetHashCode() method. Enables hashing of custom objects.
virtual const TypeInfo& GetType() constGets actual type of object. Analog of C# System.Object.GetType() call.
System::SharedPtr<IMathGroupingCharacter> Group() overridePlaces this element in a group using a bottom curly bracket
System::SharedPtr<IMathGroupingCharacter> Group(char16_t, MathTopBotPositions, MathTopBotPositions) overridePlaces this element in a group using a grouping character such as bottom curly bracket or another
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>, MathLimitLocations) overrideTakes the integral
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) overrideTakes the integral
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes) overrideTakes the integral without limits
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::String, System::String, MathLimitLocations) overrideTakes the integral
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::String, System::String) overrideTakes the integral
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
System::SharedPtr<IMathBlock> Join(System::SharedPtr<IMathElement>) overrideJoins a mathematical element and forms a mathematical block
System::SharedPtr<IMathBlock> Join(System::String) overrideJoins a mathematical text and forms a mathematical block
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
MathBox(System::SharedPtr<IMathElement>)Initializes MathBox with the specified element as an argument
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
System::SharedPtr<IMathNaryOperator> Nary(MathNaryOperatorTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) overrideCreates a N-ary operator
System::SharedPtr<IMathNaryOperator> Nary(MathNaryOperatorTypes, System::String, System::String) overrideCreates a N-ary operator
Object()Creates object. Initializes all internal data structures.
Object(Object const&)Copy constructor. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
Object& operator=(Object const&)Assignment operator. Doesn’t copy anything, really, just initializes new object and enables copy constructing subclasses.
System::SharedPtr<IMathBar> Overbar() overrideSets a bar on the top of this element
System::SharedPtr<IMathRadical> Radical(System::SharedPtr<IMathElement>) overrideSpecifies the mathematical root of the given degree from the specified argument.
System::SharedPtr<IMathRadical> Radical(System::String) overrideSpecifies the mathematical root of the given degree from the specified argument.
static bool ReferenceEquals(ptr const&, ptr const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, T const&)Compares objects by reference.
static std::enable_if<!IsSmartPtr<T>::value, bool>::type ReferenceEquals(T const&, std::nullptr_t)Reference-compares value type object with nullptr.
bool ReferenceEquals(String const&, std::nullptr_t)Specialization of Object::ReferenceEquals for case of string and nullptr.
bool ReferenceEquals(String const&, String const&)Specialization of Object::ReferenceEquals for case of strings.
int RemovedSharedRefs(int)Decreases shared reference count by specified value.
void set_AlignmentPoint(bool) overrideWhen true, this operator emulator serves as an alignment point; that is, designated alignment points in other equations can be aligned with it. Default: false
void set_Differential(bool) overrideDifferential When true, the box acts as a differential (e.g., \uD835\uDC51\uD835\uDC65 in an integrand), and receives the appropriate horizontal spacing for the mathematical differential. Default: false
void set_ExplicitBreak(uint8_t) overrideExplicit break specifies whether there is a line break at the start of the Box object, such that the line wraps at the start of the box object. Specifies the number of the operator on the previous line of mathematical text which shall be used as the alignment point for the current line of mathematical text possible values: 1..255 Default: 0 (no explicit break)
void set_NoBreak(bool) overrideNo break This property specifies the "unbreakable" property on the object box. When true, no line breaks can occur within the box. This can be important for operator emulators that consist of more than one binary operator. When this element is not specified, breaks can occur inside box. Default: true
void set_OperatorEmulator(bool) overrideOperator Emulator. When true, the box and its contents behave as a single operator and inherit the properties of an operator. This means, for example, that the character can serve as a point for a line break and can be aligned to other operators. Operator Emulators are often used when one or more glyphs combine to form an operator, such as ‘==’. Default value: false
System::SharedPtr<IMathLimit> SetLowerLimit(System::SharedPtr<IMathElement>) overrideTakes lower limit
System::SharedPtr<IMathLimit> SetLowerLimit(System::String) overrideTakes lower limit
System::SharedPtr<IMathSubscriptElement> SetSubscript(System::SharedPtr<IMathElement>) overrideCreates subscript
System::SharedPtr<IMathSubscriptElement> SetSubscript(System::String) overrideCreates subscript
System::SharedPtr<IMathLeftSubSuperscriptElement> SetSubSuperscriptOnTheLeft(System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) overrideCreates subscript and superscript on the left
System::SharedPtr<IMathLeftSubSuperscriptElement> SetSubSuperscriptOnTheLeft(System::String, System::String) overrideCreates subscript and superscript on the left
System::SharedPtr<IMathRightSubSuperscriptElement> SetSubSuperscriptOnTheRight(System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) overrideCreates subscript and superscript on the right
System::SharedPtr<IMathRightSubSuperscriptElement> SetSubSuperscriptOnTheRight(System::String, System::String) overrideCreates subscript and superscript on the right
System::SharedPtr<IMathSuperscriptElement> SetSuperscript(System::SharedPtr<IMathElement>) overrideCreates superscript
System::SharedPtr<IMathSuperscriptElement> SetSuperscript(System::String) overrideCreates superscript
virtual void SetTemplateWeakPtr(uint32_t)Set n’th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode.
System::SharedPtr<IMathLimit> SetUpperLimit(System::SharedPtr<IMathElement>) overrideTakes upper limit
System::SharedPtr<IMathLimit> SetUpperLimit(System::String) overrideTakes upper limit
int SharedCount() constGets current value of shared reference counter.
Object * SharedRefAdded()Increments shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
int SharedRefRemovedSafe()Decrements and returns shared reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
System::SharedPtr<IMathBorderBox> ToBorderBox() overridePlaces this element in a border-box
System::SharedPtr<IMathBorderBox> ToBorderBox(bool, bool, bool, bool, bool, bool, bool, bool) overridePlaces this element in a border-box
System::SharedPtr<IMathBox> ToBox() overridePlaces this element in a non-visual box (logical grouping) which is used to group components of an equation or other instance of mathematical text. A boxed object can (for example) serve as an operator emulator with or without an alignment point, serve as a line break point, or be grouped such as not to allow line breaks within.
System::SharedPtr<IMathArray> ToMathArray() overridePuts in a vertical array
virtual String ToString() constAnalog of C# Object.ToString() method. Enables converting custom objects to string.
static const TypeInfo& Type()Implements C# typeof(System.Object) construct.
System::SharedPtr<IMathBar> Underbar() overrideSets a bar on the bottom of this element
void Unlock()Implements C# lock() statement unlocking. Call directly or use LockContext sentry object.
Detail::SmartPtrCounter * WeakRefAdded()Increments weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
void WeakRefRemoved()Decrements weak reference count. Shouldn’t be called directly; instead, use smart pointers or ThisProtector.
virtual ~Object()Destroys object. Frees all internal data structures.

Remarks

Example:

auto box = System::MakeObject<MathBox>(System::MakeObject<MathematicalText>(u"=="));

See Also