Aspose.Slides for C++ 22.3 Release Notes

Supported Platforms

  • Aspose.Slides for C++ for Windows x64 (Microsoft Visual C++).
  • Aspose.Slides for C++ for Windows x86 (Microsoft Visual C++).
  • Aspose.Slides for C++ for Linux (Clang).

New Features and Enhancements

KeySummaryCategoryRelated Documentation
SLIDESNET-42621Add support Bevel for chartsFeaturehttps://docs.aspose.com/slides/cpp/create-chart/
SLIDESNET-42959Introduce a flag to indicate if shape was created as text box or notEnhancement
SLIDESNET-43061Throw a meaningful exception when saving an already Disposed PresentationFeaturehttps://docs.aspose.com/slides/cpp/save-presentation/

Other Improvements and Changes

KeySummaryCategoryRelated Documentation
SLIDESCPP-3227Use Aspose.Slides for .NET 22.3 featuresEnhancement
SLIDESCPP-3270How to differentiate TextBox and Shape?Feature
SLIDESCPP-3375Extracting two images instead of oneBug

Public API Changes

AutoShape::get_IsTextBox() method has been added

AutoShape::get_IsTextBox() method has been added to indicate if the shape was created as a text box or not. The screenshot below demonstrates two scenarios when a shape will be created as a text box and a regular shape:

Text box and shape

This code snippet demonstrates iteration over all Presentation shapes and out to console if the shape is a text box or not (if the shape is AutoShape).

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
for (auto&& slide : pres->get_Slides())
{
    for (auto&& shape : slide->get_Shapes())
    {
        auto autoShape = System::DynamicCast_noexcept<Aspose::Slides::AutoShape>(shape);
        if (autoShape != nullptr)
        {
            System::Console::WriteLine(autoShape->get_IsTextBox() ? System::String(u"shape is text box") : System::String(u"shape is not text box"));
        }
    }
}

Classes inherited from EffectEffectiveData removed from public API

The follwoing classes that inherited from EffectEffectiveData were removed from the public API:

  • AlphaBiLevelEffectiveData
  • AlphaModulateFixedEffectiveData
  • AlphaReplaceEffectiveData
  • BiLevelEffectiveData
  • BlurEffectiveData
  • ColorChangeEffectiveData
  • ColorReplaceEffectiveData
  • DuotoneEffectiveData
  • FillOverlayEffectiveData
  • GlowEffectiveData
  • HSLEffectiveData
  • InnerShadowEffectiveData
  • LuminanceEffectiveData
  • OuterShadowEffectiveData
  • PresetShadowEffectiveData
  • ReflectionEffectiveData
  • SoftEdgeEffectiveData
  • TintEffectiveData

All effective values are still available via corresponding public interfaces, e.g.:

using namespace Aspose::Slides;

void portion_callback(System::SharedPtr<Portion> portion, System::SharedPtr<Paragraph> para, System::SharedPtr<BaseSlide> slide, int32_t index)
{
    System::SharedPtr<IPortionFormatEffectiveData> effective = portion->get_PortionFormat()->GetEffective();
}

int main()
{
    auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    LowCode::ForEach::Portion(pres, portion_callback);
}