MathBox
Contents
[
Hide
]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
Method | Description |
---|---|
System::SharedPtr<IMathAccent> Accent(char16_t) override | Sets an accent mark (a character on the top of this element) |
System::SharedPtr<IMathFunction> AsArgumentOfFunction(System::SharedPtr<IMathElement>) override | Takes specified function using this instance as the argument |
System::SharedPtr<IMathFunction> AsArgumentOfFunction(System::String) override | Takes specified function using this instance as the argument |
System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfOneArgument) override | Takes specified function using this instance as the argument |
System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfTwoArguments, System::SharedPtr<IMathElement>) override | Takes specified function using this instance as the argument and specified additional argument |
System::SharedPtr<IMathFunction> AsArgumentOfFunction(MathFunctionsOfTwoArguments, System::String) override | Takes specified function using this instance as the argument and specified additional argument |
System::SharedPtr<IMathFraction> Divide(System::SharedPtr<IMathElement>) override | Creates a fraction with this numerator and specified denominator |
System::SharedPtr<IMathFraction> Divide(System::String) override | Creates a fraction with this numerator and specified denominator |
System::SharedPtr<IMathFraction> Divide(System::SharedPtr<IMathElement>, MathFractionTypes) override | Creates a fraction of the specified type with this numerator and specified denominator |
System::SharedPtr<IMathFraction> Divide(System::String, MathFractionTypes) override | Creates a fraction of the specified type with this numerator and specified denominator |
System::SharedPtr<IMathDelimiter> Enclose() override | Encloses a math element in parenthesis |
System::SharedPtr<IMathDelimiter> Enclose(char16_t, char16_t) override | Encloses 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 **) const | For internal purposes only. |
System::SharedPtr<IMathFunction> Function(System::SharedPtr<IMathElement>) override | Takes a function of an argument using this instance as the function name |
System::SharedPtr<IMathFunction> Function(System::String) override | Takes a function of an argument using this instance as the function name |
bool get_AlignmentPoint() override | 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 |
System::SharedPtr<IMathElement> get_Base() override | Base argument |
bool get_Differential() override | 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 |
uint8_t get_ExplicitBreak() override | 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) |
bool get_NoBreak() override | 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 |
bool get_OperatorEmulator() override | 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 |
System::ArrayPtr<System::SharedPtr<IMathElement>> GetChildren() override | Get children elements |
Detail::SmartPtrCounter * GetCounter() | Gets reference counter data structure associated with the object. |
virtual int32_t GetHashCode() const | Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. |
virtual const TypeInfo& GetType() const | Gets actual type of object. Analog of C# System.Object.GetType() call. |
System::SharedPtr<IMathGroupingCharacter> Group() override | Places this element in a group using a bottom curly bracket |
System::SharedPtr<IMathGroupingCharacter> Group(char16_t, MathTopBotPositions, MathTopBotPositions) override | Places 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) override | Takes the integral |
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) override | Takes the integral |
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes) override | Takes the integral without limits |
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::String, System::String, MathLimitLocations) override | Takes the integral |
System::SharedPtr<IMathNaryOperator> Integral(MathIntegralTypes, System::String, System::String) override | Takes the integral |
virtual bool Is(const TypeInfo&) const | Check if object represents an instance of type described by targetType. Analog of C# ‘is’ operator. |
System::SharedPtr<IMathBlock> Join(System::SharedPtr<IMathElement>) override | Joins a mathematical element and forms a mathematical block |
System::SharedPtr<IMathBlock> Join(System::String) override | Joins 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() const | Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. |
System::SharedPtr<IMathNaryOperator> Nary(MathNaryOperatorTypes, System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) override | Creates a N-ary operator |
System::SharedPtr<IMathNaryOperator> Nary(MathNaryOperatorTypes, System::String, System::String) override | 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. |
System::SharedPtr<IMathBar> Overbar() override | Sets a bar on the top of this element |
System::SharedPtr<IMathRadical> Radical(System::SharedPtr<IMathElement>) override | Specifies the mathematical root of the given degree from the specified argument. |
System::SharedPtr<IMathRadical> Radical(System::String) override | 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. |
void set_AlignmentPoint(bool) override | 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 |
void set_Differential(bool) override | 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 |
void set_ExplicitBreak(uint8_t) override | 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) |
void set_NoBreak(bool) override | 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 |
void set_OperatorEmulator(bool) override | 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 |
System::SharedPtr<IMathLimit> SetLowerLimit(System::SharedPtr<IMathElement>) override | Takes lower limit |
System::SharedPtr<IMathLimit> SetLowerLimit(System::String) override | Takes lower limit |
System::SharedPtr<IMathSubscriptElement> SetSubscript(System::SharedPtr<IMathElement>) override | Creates subscript |
System::SharedPtr<IMathSubscriptElement> SetSubscript(System::String) override | Creates subscript |
System::SharedPtr<IMathLeftSubSuperscriptElement> SetSubSuperscriptOnTheLeft(System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) override | Creates subscript and superscript on the left |
System::SharedPtr<IMathLeftSubSuperscriptElement> SetSubSuperscriptOnTheLeft(System::String, System::String) override | Creates subscript and superscript on the left |
System::SharedPtr<IMathRightSubSuperscriptElement> SetSubSuperscriptOnTheRight(System::SharedPtr<IMathElement>, System::SharedPtr<IMathElement>) override | Creates subscript and superscript on the right |
System::SharedPtr<IMathRightSubSuperscriptElement> SetSubSuperscriptOnTheRight(System::String, System::String) override | Creates subscript and superscript on the right |
System::SharedPtr<IMathSuperscriptElement> SetSuperscript(System::SharedPtr<IMathElement>) override | Creates superscript |
System::SharedPtr<IMathSuperscriptElement> SetSuperscript(System::String) override | 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. |
System::SharedPtr<IMathLimit> SetUpperLimit(System::SharedPtr<IMathElement>) override | Takes upper limit |
System::SharedPtr<IMathLimit> SetUpperLimit(System::String) override | Takes upper limit |
int SharedCount() const | Gets 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() override | Places this element in a border-box |
System::SharedPtr<IMathBorderBox> ToBorderBox(bool, bool, bool, bool, bool, bool, bool, bool) override | Places this element in a border-box |
System::SharedPtr<IMathBox> ToBox() override | 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. |
System::SharedPtr<IMathArray> ToMathArray() override | Puts in a vertical array |
virtual String ToString() const | Analog 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() override | 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<MathBox>(System::MakeObject<MathematicalText>(u"=="));
See Also
- Class MathElementBase
- Class IMathBox
- Class IHasControlCharacterProperties
- Namespace Aspose::Slides::MathText
- Library Aspose.Slides