MathPhantom
Contents
[
Hide
]MathPhantom class
Represents a phantom math object (<m:phant>) that affects the layout of its child element without necessarily displaying it. A phantom can hide its base expression while preserving its width, height, or depth to align formulas or reserve space. Visibility and geometry behavior are controlled by properties such as Show, ZeroWid, ZeroAsc, ZeroDesc, and Transp.
class MathPhantom : public Aspose::Slides::MathText::MathElementBase,
public Aspose::Slides::MathText::IMathPhantom,
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 |
| System::SharedPtr<IMathElement> get_Base() override | Base argument |
| bool get_Show() override | Gets a value indicating whether the base element is displayed. |
| bool get_Transp() override | Gets a value indicating whether the phantom is transparent for class-based spacing rules. |
| bool get_ZeroAsc() override | Gets a value indicating whether the ascent (height above baseline) of the base element should be treated as zero. |
| bool get_ZeroDesc() override | Gets a value indicating whether the descent (depth below baseline) of the base element should be treated as zero. |
| bool get_ZeroWidth() override | Gets a value indicating whether the width of the base element should be treated as zero. |
| 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. |
| MathPhantom(System::SharedPtr<IMathElement>) | Initializes a new instance of the MathPhantom class using the specified base math element. |
| 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_Show(bool) override | Sets a value indicating whether the base element is displayed. |
| void set_Transp(bool) override | Sets a value indicating whether the phantom is transparent for class-based spacing rules. |
| void set_ZeroAsc(bool) override | Sets a value indicating whether the ascent (height above baseline) of the base element should be treated as zero. |
| void set_ZeroDesc(bool) override | Sets a value indicating whether the descent (depth below baseline) of the base element should be treated as zero. |
| void set_ZeroWidth(bool) override | Sets a value indicating whether the width of the base element should be treated as zero. |
| 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:
System::SharedPtr<IMathPhantom> phantom = System::MakeObject<MathPhantom>(System::MakeObject<MathematicalText>(u"1/2"));
phantom->set_Show(false); // Hide the content
phantom->set_ZeroWidth(false); // Keep the width
See Also
- Class MathElementBase
- Class IMathPhantom
- Class IHasControlCharacterProperties
- Namespace Aspose::Slides::MathText
- Library Aspose.Slides