IMathBox

IMathBox 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 IMathBox : public virtual Aspose::Slides::MathText::IMathElement

Methods

MethodDescription
virtual System::SharedPtr<IMathAccent> Accent(char16_t)Sets an accent mark (a character on the top of this element)
virtual System::SharedPtr<IMathFunction> AsArgumentOfFunction(System::SharedPtr<IMathElement>)Takes specified function using this instance as the argument
virtual System::SharedPtr<IMathFunction> AsArgumentOfFunction(System::String)Takes specified function using this instance as the argument
virtual System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfOneArgument)Takes specified function using this instance as the argument
virtual System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfTwoArguments, System::SharedPtr<IMathElement>)Takes specified function using this instance as the argument and specified additional argument
virtual System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfTwoArguments, System::String)Takes specified function using this instance as the argument and specified additional argument
virtual System::SharedPtr<IMathFraction> Divide(System::SharedPtr<IMathElement>)Creates a fraction with this numerator and specified denominator
virtual System::SharedPtr<IMathFraction> Divide(System::String)Creates a fraction with this numerator and specified denominator
virtual System::SharedPtr<IMathFraction> Divide(System::SharedPtr<IMathElement>, MathFractionTypes)Creates a fraction of the specified type with this numerator and specified denominator
virtual System::SharedPtr<IMathFraction> Divide(System::String, MathFractionTypes)Creates a fraction of the specified type with this numerator and specified denominator
virtual System::SharedPtr<IMathDelimiter> Enclose()Encloses a math element in parenthesis
virtual System::SharedPtr<IMathDelimiter> Enclose(char16_t, char16_t)Encloses this 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.
virtual System::SharedPtr<IMathFunction> Function(System::SharedPtr<IMathElement>)Takes a function of an argument using this instance as the function name
virtual System::SharedPtr<IMathFunction> Function(System::String)Takes a function of an argument using this instance as the function name
virtual bool get_AlignmentPoint()When true, this operator emulator serves as an alignment point; that is, designated alignment points in other equations can be aligned with it. Default: false
virtual System::SharedPtr<IMathElement> get_Base()Base argument
virtual bool get_Differential()Differential. 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
virtual uint8_t get_ExplicitBreak()Explicit 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)
virtual bool get_NoBreak()No 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
virtual bool get_OperatorEmulator()Operator 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
virtual System::ArrayPtr<System::SharedPtr<IMathElement>> GetChildren()Get 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.
virtual System::SharedPtr<IMathGroupingCharacter> Group()Places this element in a group using a bottom curly bracket
virtual System::SharedPtr<IMathGroupingCharacter> Group(char16_t, MathTopBotPositions, MathTopBotPositions)Places this element in a group using a grouping character such as bottom curly bracket or another
virtual System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>, MathLimitLocations)Takes the integral
virtual System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>)Takes the integral
virtual System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes)Takes the integral without limits
virtual System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::String, System::String, MathLimitLocations)Takes the integral
virtual System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::String, System::String)Takes the integral
virtual bool Is(const TypeInfo&) constCheck if object represents an instance of type described by targetType. Analog of C# ‘is’ operator.
virtual System::SharedPtr<IMathBlock> Join(System::SharedPtr<IMathElement>)Joins a mathematical element and forms a mathematical block
virtual System::SharedPtr<IMathBlock> Join(System::String)Joins a mathematical text and forms a mathematical block
void Lock()Implements C# lock() statement locking. Call directly or use LockContext sentry object.
virtual ptr MemberwiseClone() constAnalog of C# Object.MemberwiseClone() method. Enables cloning custom types.
virtual System::SharedPtr<IMathNaryOperator> Nary(MathNaryOperatorTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>)Creates a N-ary operator
virtual System::SharedPtr<IMathNaryOperator> Nary(MathNaryOperatorTypes, System::String, System::String)Creates 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.
virtual System::SharedPtr<IMathBar> Overbar()Sets a bar on the top of this element
virtual System::SharedPtr<IMathRadical> Radical(System::SharedPtr<IMathElement>)Specifies the mathematical root of the given degree from the specified argument.
virtual System::SharedPtr<IMathRadical> Radical(System::String)Specifies 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.
virtual void set_AlignmentPoint(bool)When true, this operator emulator serves as an alignment point; that is, designated alignment points in other equations can be aligned with it. Default: false
virtual void set_Differential(bool)Differential. 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
virtual void set_ExplicitBreak(uint8_t)Explicit 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)
virtual void set_NoBreak(bool)No 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
virtual void set_OperatorEmulator(bool)Operator 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
virtual System::SharedPtr<IMathLimit> SetLowerLimit(System::SharedPtr<IMathElement>)Takes lower limit
virtual System::SharedPtr<IMathLimit> SetLowerLimit(System::String)Takes lower limit
virtual System::SharedPtr<IMathSubscriptElement> SetSubscript(System::SharedPtr<IMathElement>)Creates subscript
virtual System::SharedPtr<IMathSubscriptElement> SetSubscript(System::String)Creates subscript
virtual System::SharedPtr<IMathLeftSubSuperscriptElement> SetSubSuperscriptOnTheLeft(System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>)Creates subscript and superscript on the left
virtual System::SharedPtr<IMathLeftSubSuperscriptElement> SetSubSuperscriptOnTheLeft(System::String, System::String)Creates subscript and superscript on the left
virtual System::SharedPtr<IMathRightSubSuperscriptElement> SetSubSuperscriptOnTheRight(System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>)Creates subscript and superscript on the right
virtual System::SharedPtr<IMathRightSubSuperscriptElement> SetSubSuperscriptOnTheRight(System::String, System::String)Creates subscript and superscript on the right
virtual System::SharedPtr<IMathSuperscriptElement> SetSuperscript(System::SharedPtr<IMathElement>)Creates superscript
virtual System::SharedPtr<IMathSuperscriptElement> SetSuperscript(System::String)Creates 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.
virtual System::SharedPtr<IMathLimit> SetUpperLimit(System::SharedPtr<IMathElement>)Takes upper limit
virtual System::SharedPtr<IMathLimit> SetUpperLimit(System::String)Takes 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.
virtual System::SharedPtr<IMathBorderBox> ToBorderBox()Places this element in a border-box
virtual System::SharedPtr<IMathBorderBox> ToBorderBox(bool, bool, bool, bool, bool, bool, bool, bool)Places this element in a border-box
virtual System::SharedPtr<IMathBox> ToBox()Places 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.
virtual System::SharedPtr<IMathArray> ToMathArray()Puts 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.
virtual System::SharedPtr<IMathBar> Underbar()Sets 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<MathematicalText>(u"==")->ToBox();

See Also