Browse our Products

Aspose.Slides for C++ 23.3 Release Notes

Supported Platforms

  • Aspose.Slides for C++ for Windows x64/x86 (Microsoft Visual Studio 2017 or later).
  • Aspose.Slides for C++ for Linux (Clang 3.9 or later, GCC 6.1 or later).
  • Aspose.Slides for C++ for macOS (Xcode 13.4 or later).

New Features and Enhancements

KeySummaryCategoryRelated Documentation
SLIDESNET-43760Managing Trim Video settingsFeaturehttps://docs.aspose.com/slides/net/convert-powerpoint-to-video/
SLIDESNET-43659Animation timing settings: Rewind when done playingFeaturehttps://docs.aspose.com/slides/net/shape-animation/#change-animation-effect-timing-properties
SLIDESNET-43672EMF images are blurred when converting PPTX to PDFEnhancementhttps://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/
SLIDESNET-43634Add support for Audio/Video plugin in ODP formatFeaturehttps://docs.aspose.com/slides/net/convert-openoffice-odp/

Other Improvements and Changes

KeySummaryCategoryRelated Documentation
SLIDESCPP-3611Use Aspose.Slides for .NET 23.3 featuresEnhancementhttps://docs.aspose.com/slides/net/aspose-slides-for-net-23-3-release-notes/
SLIDESCPP-3578Improve usability of Aspose.Slides for C++ API for setter expressionsEnhancement

Public API Changes

New methods have been added to various interfaces and classes to improve API usability.

These methods have been added to reduce the complexity of invocation chains.

It should be noted that the old way can still be used and is fully equivalent to the new way.

List of methods:

Class nameOrdinary syntaxNew improved syntax
Aspose::Slides::Animation::IEffectget_Behaviors()->idx_set(index, value)set_Behavior(index, value)
Aspose::Slides::Animation::Effectget_Behaviors()->idx_set(index, value)set_Behavior(index, value)
Aspose::Slides::ICustomDataget_Tags()->idx_set(name, value)set_Tag(name, value)
Aspose::Slides::CustomDataget_Tags()->idx_set(name, value)set_Tag(name, value)
Aspose::Slides::IControlget_Properties()->idx_set(name, value)set_Property(name, value)
Aspose::Slides::Controlget_Properties()->idx_set(name, value)set_Property(name, value)
Aspose::Slides::IColorFormatget_ColorTransform()->idx_set(index, value)set_ColorOperation(index, value)
Aspose::Slides::ColorFormatget_ColorTransform()->idx_set(index, value)set_ColorOperation(index, value)
Aspose::Slides::IPresentationget_DocumentProperties()->idx_set(name, value)set_DocumentProperty(name, value)
Aspose::Slides::Presentationget_DocumentProperties()->idx_set(name, value)set_DocumentProperty(name, value)

Example:

This code snippet:

presentation->get_Tags()->idx_set(u"Content Creator", u"My Name");

Can be rewritten as follows:

presentation->set_Tag(u"Content Creator", u"My Name");

Animation timing settings

The ITiming::get_Rewind() and ITiming::set_Rewind() methods have been added to specify whether an effect will rewind after playing.

Rewind when done playing

Example:

 System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(u"demo.pptx");
        
// Gets the effects sequence for the first slide
System::SharedPtr<ISequence> effectsSequence = presentation->get_Slide(0)->get_Timeline()->get_MainSequence();
        
// Gets the first effect of the main sequence.
System::SharedPtr<IEffect> effect = effectsSequence->idx_get(0);
        
// Turns the effect Timing/Rewind on.
effect->get_Timing()->set_Rewind(true);}

Trim Video Settings

The IVideoFrame::get_TrimFromStart(), IVideoFrame::set_TrimFromStart(), IVideoFrame::get_TrimFromEnd(), and IVideoFrame::set_TrimFromEnd() methods have been added to manage Trim Video settings.

Trim Video settings

Example:

System::SharedPtr<Presentation> pres = System::MakeObject<Presentation>();
        
System::SharedPtr<ISlide> slide = pres->get_Slide(0);
System::SharedPtr<IVideo> video = pres->get_Videos()->AddVideo(System::IO::File::ReadAllBytes(u"video.mp4"));
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(0.0f, 0.0f, 100.0f, 100.0f, video);

// sets the trimming start time to 1sec
videoFrame->set_TrimFromStart(1000.f);

// sets the triming end time to 2sec
videoFrame->set_TrimFromEnd(2000.f);

IChartDataPoint::get_Index() method has been added

To allow you determine what parent’s children collection this data point applies to, the IChartDataPoint::get_Index() property has been added.

Example:

System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(u"pres.pptx");
System::SharedPtr<Chart> chart = System::ExplicitCast<Aspose::Slides::Charts::Chart>(presentation->get_Slide(0)->get_Shape(0));
System::SharedPtr<IChartDataPointCollection> dataPoints = chart->get_ChartData()->get_ChartSeries(0)->get_DataPoints();

for (auto&& dataPoint : dataPoints)
{
    System::Console::WriteLine(u"Point with index {0} is applied to {1}", dataPoint->get_Index(), dataPoint->get_Value());
}