Aspose::Slides::GeometryShape Class Reference

Represents the parent class for all geometric shapes. More...

Inherits Aspose::Slides::Shape, and Aspose::Slides::IGeometryShape.

Inherited by Aspose::Slides::AutoShape, Aspose::Slides::Connector, Aspose::Slides::PictureFrame, and Aspose::Slides::SmartArt::SmartArtShape.

Public Member Functions

System::SharedPtr< IShapeStyleget_ShapeStyle () override
 Returns shape's style object. Read-only IShapeStyle. More...
 
Aspose::Slides::ShapeType get_ShapeType () override
 Returns the geometry preset type. Note: on value changing all adjustment values will reset to their default values. Read Slides::ShapeType. More...
 
void set_ShapeType (Aspose::Slides::ShapeType value) override
 Sets the geometry preset type. Note: on value changing all adjustment values will reset to their default values. Write Slides::ShapeType. More...
 
System::SharedPtr< IAdjustValueCollectionget_Adjustments () override
 Returns a collection of shape's adjustment values. Read-only IAdjustValueCollection. More...
 
System::ArrayPtr< System::SharedPtr< IGeometryPath > > GetGeometryPaths () override
 Returns the copy of path of the geometry shape. Coordinates are relative to the left top corner of the shape. More...
 
void SetGeometryPath (System::SharedPtr< IGeometryPath > geometryPath) override
 Updates shape geometry from IGeometryPath object. Coordinates must be relative to the left top corner of the shape. Changes the type of the shape (ShapeType) to ShapeType::Custom. More...
 
void SetGeometryPaths (System::ArrayPtr< System::SharedPtr< IGeometryPath >> geometryPaths) override
 Updates shape geometry from array of IGeometryPath. Coordinates must be relative to the left top corner of the shape. Changes the type of the shape (ShapeType) to ShapeType::Custom. More...
 
System::ArrayPtr< System::SharedPtr< IShapeElement > > CreateShapeElements () override
 Creates and returns array of shape's elements. More...
 
- Public Member Functions inherited from Aspose::Slides::Shape
bool get_IsTextHolder () override
 Determines whether the shape is TextHolder_PPT. Read-only bool. More...
 
System::SharedPtr< IPlaceholderget_Placeholder () override
 Returns the placeholder for a shape. Returns null if the shape has no placeholder. Read-only IPlaceholder. More...
 
System::SharedPtr< ICustomDataget_CustomData () override
 Returns the shape's custom data. Read-only ICustomData. More...
 
System::SharedPtr< IShapeFrameget_RawFrame () override
 Returns the raw shape frame's properties. Read IShapeFrame. More...
 
void set_RawFrame (System::SharedPtr< IShapeFrame > value) override
 Sets the raw shape frame's properties. Write IShapeFrame. More...
 
System::SharedPtr< IShapeFrameget_Frame () override
 Returns the shape frame's properties. Read IShapeFrame. More...
 
void set_Frame (System::SharedPtr< IShapeFrame > value) override
 Sets the shape frame's properties. Write IShapeFrame. More...
 
System::SharedPtr< ILineFormatget_LineFormat () override
 Returns the LineFormat object that contains line formatting properties for a shape. Note: can return null for certain types of shapes which don't have line properties. Read-only ILineFormat. More...
 
System::SharedPtr< IThreeDFormatget_ThreeDFormat () override
 Returns the ThreeDFormat object that 3d effect properties for a shape. Note: can return null for certain types of shapes which don't have 3d properties. Read-only IThreeDFormat. More...
 
System::SharedPtr< IEffectFormatget_EffectFormat () override
 Returns the EffectFormat object which contains pixel effects applied to a shape. Note: can return null for certain types of shapes which don't have effect properties. Read-only IEffectFormat. More...
 
System::SharedPtr< IFillFormatget_FillFormat () override
 Returns the FillFormat object that contains fill formatting properties for a shape. Note: can return null for certain types of shapes which don't have fill properties. Read-only IFillFormat. More...
 
System::SharedPtr< IHyperlinkget_HyperlinkClick () override
 Returns the hyperlink defined for mouse click. Read IHyperlink. More...
 
void set_HyperlinkClick (System::SharedPtr< IHyperlink > value) override
 Sets the hyperlink defined for mouse click. Write IHyperlink. More...
 
System::SharedPtr< IHyperlinkget_HyperlinkMouseOver () override
 Returns the hyperlink defined for mouse over. Read IHyperlink. More...
 
void set_HyperlinkMouseOver (System::SharedPtr< IHyperlink > value) override
 Sets the hyperlink defined for mouse over. Write IHyperlink. More...
 
System::SharedPtr< IHyperlinkManagerget_HyperlinkManager () override
 Returns the hyperlink manager. Read-only IHyperlinkManager. More...
 
bool get_Hidden () override
 Determines whether the shape is hidden. Read bool. More...
 
void set_Hidden (bool value) override
 Determines whether the shape is hidden. Write bool. More...
 
int32_t get_ZOrderPosition () override
 Returns the position of a shape in the z-order. Shapes[0] returns the shape at the back of the z-order, and Shapes[Shapes.Count - 1] returns the shape at the front of the z-order. Read-only int32_t. More...
 
int32_t get_ConnectionSiteCount () override
 Returns the number of connection sites on the shape. Read-only int32_t. More...
 
float get_Rotation () override
 Returns the number of degrees the specified shape is rotated around the z-axis. A positive value indicates clockwise rotation; a negative value indicates counterclockwise rotation. Read float. More...
 
void set_Rotation (float value) override
 Sets the number of degrees the specified shape is rotated around the z-axis. A positive value indicates clockwise rotation; a negative value indicates counterclockwise rotation. Write float. More...
 
float get_X () override
 Returns the x-coordinate of the upper-left corner of the shape. Read float. More...
 
void set_X (float value) override
 Sets the x-coordinate of the upper-left corner of the shape. Write float. More...
 
float get_Y () override
 Returns the y-coordinate of the upper-left corner of the shape. Read float. More...
 
void set_Y (float value) override
 Sets the y-coordinate of the upper-left corner of the shape. Write float. More...
 
float get_Width () override
 Returns the width of the shape. Read float. More...
 
void set_Width (float value) override
 Sets the width of the shape. Write float. More...
 
float get_Height () override
 Returns the height of the shape. Read float. More...
 
void set_Height (float value) override
 Sets the height of the shape. Write float. More...
 
Aspose::Slides::BlackWhiteMode get_BlackWhiteMode () override
 Property specifies how a shape will render in black-and-white display mode.. Read Slides::BlackWhiteMode. More...
 
void set_BlackWhiteMode (Aspose::Slides::BlackWhiteMode value) override
 Property specifies how a shape will render in black-and-white display mode.. Write Slides::BlackWhiteMode. More...
 
uint32_t get_UniqueId () override
 Gets unique shape identifier in presentation scope. Read-only uint32_t. See also Shape::get_OfficeInteropShapeId for getting unique shape identifier in slide scope. More...
 
uint32_t get_OfficeInteropShapeId () override
 Gets unique shape identifier in slide scope. Read-only uint32_t. See also Shape::get_UniqueId for getting unique shape identifier in presentation scope. More...
 
System::String get_AlternativeText () override
 Returns the alternative text associated with a shape. Read System::String. More...
 
void set_AlternativeText (System::String value) override
 Sets the alternative text associated with a shape. Write System::String. More...
 
System::String get_AlternativeTextTitle () override
 Returns the title of alternative text associated with a shape. Read System::String. More...
 
void set_AlternativeTextTitle (System::String value) override
 Sets the title of alternative text associated with a shape. Write System::String. More...
 
System::String get_Name () override
 Returns the name of a shape. Must be not null. Use empty string value if needed. Read System::String. More...
 
void set_Name (System::String value) override
 Sets the name of a shape. Must be not null. Use empty string value if needed. Write System::String. More...
 
System::SharedPtr< IBaseShapeLockget_ShapeLock () override
 Returns shape's locks. Read-only IBaseShapeLock. More...
 
bool get_IsGrouped () override
 Determines whether the shape is grouped. Read-only bool. More...
 
System::SharedPtr< IGroupShapeget_ParentGroup () override
 Returns parent GroupShape object if shape is grouped. Otherwise returns null. Read-only IGroupShape. More...
 
System::SharedPtr< IDOMObjectget_Parent_Immediate () override
 Returns Parent_Immediate object. Read-only IDOMObject. More...
 
System::SharedPtr< IBaseSlideget_Slide () override
 Returns the parent slide of a shape. Read-only IBaseSlide. More...
 
System::SharedPtr< IPresentationget_Presentation () override
 Returns the parent presentation of a slide. Read-only IPresentation. More...
 
void RemovePlaceholder () override
 Defines that this shape isn't a placeholder. More...
 
System::SharedPtr< IPlaceholderAddPlaceholder (System::SharedPtr< IPlaceholder > placeholderToCopyFrom) override
 Adds a new placeholder if there is no and sets placeholder properties to a specified one. More...
 
System::SharedPtr< System::Drawing::BitmapGetThumbnail () override
 Returns shape thumbnail. ShapeThumbnailBounds::Shape shape thumbnail bounds type is used by default. More...
 
System::SharedPtr< System::Drawing::BitmapGetThumbnail (ShapeThumbnailBounds bounds, float scaleX, float scaleY) override
 Returns shape thumbnail. More...
 
void WriteAsSvg (System::SharedPtr< System::IO::Stream > stream) override
 Saves content of Shape as SVG file. More...
 
void WriteAsSvg (System::SharedPtr< System::IO::Stream > stream, System::SharedPtr< Export::ISVGOptions > svgOptions) override
 Saves content of Shape as SVG file. More...
 
- Public Member Functions inherited from System::Object
 Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ~Object ()
 Destroys object. Frees all internal data structures. More...
 
 Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared reference counter. More...
 
void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual String ToString () const
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual void SetTemplateWeakPtr (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 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. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 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. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Protected Member Functions

void Draw (System::SharedPtr< Drawing::Canvas > canvas, System::SharedPtr< Drawing::RenderContext > rc, System::SharedPtr< InterruptionToken > interruptionToken) override
 
System::SharedPtr< ILineFormatEffectiveDataCreateLineFormatEffectiveImpl () override
 
System::SharedPtr< IFillFormatEffectiveDataCreateFillFormatEffectiveImpl () override
 
System::SharedPtr< IEffectFormatEffectiveDataCreateEffectFormatEffectiveImpl () override
 
System::SharedPtr< IThreeDFormatEffectiveDataCreateThreeDFormatEffectiveImpl () override
 
System::ArrayPtr< System::Drawing::PointFCreateConnectionPoints () override
 
System::ArrayPtr< floatCreateConnectionDirections () override
 
virtual ~GeometryShape ()
 
- Protected Member Functions inherited from Aspose::Slides::Shape
void set_ShapeLock (System::SharedPtr< IBaseShapeLock > value)
 Returns shape's locks. Read-only IBaseShapeLock. More...
 
virtual ~Shape ()
 

Additional Inherited Members

- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Implements C# typeof(System.Object) construct. More...
 

Detailed Description

Represents the parent class for all geometric shapes.

Constructor & Destructor Documentation

◆ ~GeometryShape()

virtual Aspose::Slides::GeometryShape::~GeometryShape ( )
protectedvirtual

Member Function Documentation

◆ CreateConnectionDirections()

System::ArrayPtr<float> Aspose::Slides::GeometryShape::CreateConnectionDirections ( )
overrideprotected

◆ CreateConnectionPoints()

System::ArrayPtr<System::Drawing::PointF> Aspose::Slides::GeometryShape::CreateConnectionPoints ( )
overrideprotected

◆ CreateEffectFormatEffectiveImpl()

System::SharedPtr<IEffectFormatEffectiveData> Aspose::Slides::GeometryShape::CreateEffectFormatEffectiveImpl ( )
overrideprotected

◆ CreateFillFormatEffectiveImpl()

System::SharedPtr<IFillFormatEffectiveData> Aspose::Slides::GeometryShape::CreateFillFormatEffectiveImpl ( )
overrideprotected

◆ CreateLineFormatEffectiveImpl()

System::SharedPtr<ILineFormatEffectiveData> Aspose::Slides::GeometryShape::CreateLineFormatEffectiveImpl ( )
overrideprotected

◆ CreateShapeElements()

System::ArrayPtr<System::SharedPtr<IShapeElement> > Aspose::Slides::GeometryShape::CreateShapeElements ( )
overridevirtual

Creates and returns array of shape's elements.

Returns
Array of ShapeElement

Implements Aspose::Slides::IGeometryShape.

◆ CreateThreeDFormatEffectiveImpl()

System::SharedPtr<IThreeDFormatEffectiveData> Aspose::Slides::GeometryShape::CreateThreeDFormatEffectiveImpl ( )
overrideprotected

◆ Draw()

void Aspose::Slides::GeometryShape::Draw ( System::SharedPtr< Drawing::Canvas >  canvas,
System::SharedPtr< Drawing::RenderContext >  rc,
System::SharedPtr< InterruptionToken interruptionToken 
)
overrideprotected

◆ get_Adjustments()

System::SharedPtr<IAdjustValueCollection> Aspose::Slides::GeometryShape::get_Adjustments ( )
overridevirtual

Returns a collection of shape's adjustment values. Read-only IAdjustValueCollection.

Implements Aspose::Slides::IGeometryShape.

◆ get_ShapeStyle()

System::SharedPtr<IShapeStyle> Aspose::Slides::GeometryShape::get_ShapeStyle ( )
overridevirtual

Returns shape's style object. Read-only IShapeStyle.

Implements Aspose::Slides::IGeometryShape.

◆ get_ShapeType()

Aspose::Slides::ShapeType Aspose::Slides::GeometryShape::get_ShapeType ( )
overridevirtual

Returns the geometry preset type. Note: on value changing all adjustment values will reset to their default values. Read Slides::ShapeType.

Implements Aspose::Slides::IGeometryShape.

Reimplemented in Aspose::Slides::PictureFrame, and Aspose::Slides::SmartArt::SmartArtShape.

◆ GetGeometryPaths()

System::ArrayPtr<System::SharedPtr<IGeometryPath> > Aspose::Slides::GeometryShape::GetGeometryPaths ( )
overridevirtual

Returns the copy of path of the geometry shape. Coordinates are relative to the left top corner of the shape.

Returns
Array of IGeometryPath

Example:

using namespace System;
using namespace Aspose::Slides;
auto pres = MakeObject<Presentation>();
auto shape = DynamicCast_noexcept<GeometryShape>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100.0f, 100.0f, 200.0f, 100.0f));
auto geometryPath = shape->GetGeometryPaths()->idx_get(0);
geometryPath->LineTo(100.0f, 50.0f, 1);
geometryPath->LineTo(100.0f, 50.0f, 4);
shape->SetGeometryPath(geometryPath);
pres->Save(u"output.pptx", SaveFormat::Pptx);

Implements Aspose::Slides::IGeometryShape.

◆ set_ShapeType()

void Aspose::Slides::GeometryShape::set_ShapeType ( Aspose::Slides::ShapeType  value)
overridevirtual

Sets the geometry preset type. Note: on value changing all adjustment values will reset to their default values. Write Slides::ShapeType.

Implements Aspose::Slides::IGeometryShape.

Reimplemented in Aspose::Slides::PictureFrame, and Aspose::Slides::SmartArt::SmartArtShape.

◆ SetGeometryPath()

void Aspose::Slides::GeometryShape::SetGeometryPath ( System::SharedPtr< IGeometryPath geometryPath)
overridevirtual

Updates shape geometry from IGeometryPath object. Coordinates must be relative to the left top corner of the shape. Changes the type of the shape (ShapeType) to ShapeType::Custom.

Parameters
geometryPathGeometry path
Exceptions
System::ArgumentExceptionNo path found
System::ArgumentExceptionEmpty path found

Example:

using namespace System;
using namespace Aspose::Slides;
auto pres = MakeObject<Presentation>();
auto shape = DynamicCast_noexcept<GeometryShape>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100.0f, 100.0f, 200.0f, 100.0f));
auto geometryPath0 = MakeObject<GeometryPath>();
geometryPath0->MoveTo(0.0f, 0.0f);
geometryPath0->LineTo(shape->get_Width(), 0.0f);
geometryPath0->LineTo(shape->get_Width(), shape->get_Height() / 3);
geometryPath0->LineTo(0.0f, shape->get_Height() / 3);
geometryPath0->CloseFigure();
auto geometryPath1 = MakeObject<GeometryPath>();
geometryPath1->MoveTo(0.0f, shape->get_Height() / 3 * 2);
geometryPath1->LineTo(shape->get_Width(), shape->get_Height() / 3 * 2);
geometryPath1->LineTo(shape->get_Width(), shape->get_Height());
geometryPath1->LineTo(0.0f, shape->get_Height());
geometryPath1->CloseFigure();
shape->SetGeometryPaths(StaticCastArray<SharedPtr<IGeometryPath>>(MakeArray<SharedPtr<GeometryPath>>({geometryPath0, geometryPath1})));
pres->Save(u"output.pptx", SaveFormat::Pptx);

Implements Aspose::Slides::IGeometryShape.

◆ SetGeometryPaths()

void Aspose::Slides::GeometryShape::SetGeometryPaths ( System::ArrayPtr< System::SharedPtr< IGeometryPath >>  geometryPaths)
overridevirtual

Updates shape geometry from array of IGeometryPath. Coordinates must be relative to the left top corner of the shape. Changes the type of the shape (ShapeType) to ShapeType::Custom.

Parameters
geometryPathsArray geometry paths
Exceptions
System::ArgumentExceptionNo path found
System::ArgumentExceptionEmpty path

Example:

using namespace System;
using namespace Aspose::Slides;
auto pres = MakeObject<Presentation>();
auto shape = DynamicCast_noexcept<GeometryShape>(pres->get_Slides()->idx_get(0)->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100.0f, 100.0f, 200.0f, 100.0f));
auto geometryPath = shape->GetGeometryPaths()->idx_get(0);
geometryPath->LineTo(100.0f, 50.0f, 1);
geometryPath->LineTo(100.0f, 50.0f, 4);
shape->SetGeometryPath(geometryPath);
pres->Save(u"output.pptx", SaveFormat::Pptx);

Implements Aspose::Slides::IGeometryShape.