Browse our Products
Aspose.Slides for C++ 22.10 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
Key | Summary | Category | Related Documentation |
---|---|---|---|
SLIDESNET-35636 | Add the support of 3D shadow effects | Feature | https://docs.aspose.com/slides/net/3d-presentation/ |
SLIDESNET-35634 | Add the support of 3D bevel effects | Feature | https://docs.aspose.com/slides/net/3d-presentation/ |
SLIDESNET-35907 | Set Transparent Effect for picture as filled shape in presentation file | Enhancement | https://docs.aspose.com/slides/net/manage-placeholder/#set-placeholder-image-transparency |
SLIDESNET-43437 | Compress presentation - embedded fonts | Enhancement | |
SLIDESNET-43310 | Changing color of leader lines in Pie charts | Feature | https://docs.aspose.com/slides/net/powerpoint-charts/ |
Other Improvements and Changes
Key | Summary | Category | Related Documentation |
---|---|---|---|
SLIDESCPP-3317 | Use Aspose.Slides for .NET 22.10 features | Enhancement | https://docs.aspose.com/slides/net/aspose-slides-for-net-22-10-release-notes/ |
SLIDESCPP-3548 | Application hangs when loading a presentation | Bug | https://docs.aspose.com/slides/cpp/slide-layout/ |
SLIDESCPP-3547 | Loading a PPT file throws ArgumentOutOfRangeException | Bug | https://docs.aspose.com/slides/cpp/open-presentation/ |
Public API Changes
New methods have been added to the ISVGOptions interface
New get_UseFrameSize(), set_UseFrameSize(), get_UseFrameRotation() and set_UseFrameRotation() methods have been added to the ISVGOptions interface and SVGOptions class.
The get_UseFrameSize() and set_UseFrameSize() methods determine whether the text frame will be included in a rendering area.
Methods declaration:
/// <summary>
/// Determines whether the text frame will be included in a rendering area or not.
/// Read <see cref="bool"></see>.
/// Default value is false.
/// </summary>
bool get_UseFrameSize();
/// <summary>
/// Determines whether the text frame will be included in a rendering area or not.
/// Write <see cref="bool"></see>.
/// Default value is false.
/// </summary>
void set_UseFrameSize(bool value);
The get_UseFrameRotation() and set_UseFrameRotation() methods determine whether to perform the specified rotation of the shape when rendering.
Methods declaration:
/// <summary>
/// Determines whether to perform the specified rotation of the shape when rendering or not.
/// Read <see cref="bool"></see>.
/// Default value is true.
/// </summary>
bool get_UseFrameRotation();
/// <summary>
/// Determines whether to perform the specified rotation of the shape when rendering or not.
/// Write <see cref="bool"></see>.
/// Default value is true.
/// </summary>
void set_UseFrameRotation(bool value);
The code snippet below demonstrates using these properties:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
auto svgOptions = System::MakeObject<SVGOptions>();
// Does not perform the specified rotation of the shape while rendering to SVG.
svgOptions->set_UseFrameRotation(false);
// Include the text frame in a rendering area while rendering to SVG.
svgOptions->set_UseFrameSize(true);
// Save shape to SVG
auto stream = System::MakeObject<System::IO::FileStream>(u"pres-out.svg", System::IO::FileMode::Create);
pres->get_Slides()->idx_get(0)->get_Shapes()->idx_get(1)->WriteAsSvg(stream, svgOptions);
Embedded fonts compress feature has been added
Embedded fonts can be compressed to decrease the size of the presentation that contains such fonts. To provide this functionality, the CompressEmbeddedFonts method was added to LowCode API.
Below is the snippet demonstrating compression:
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
Aspose::Slides::LowCode::Compress::CompressEmbeddedFonts(pres);
pres->Save(u"pres-out.pptx", Aspose::Slides::Export::SaveFormat::Pptx);
New methods have been added to the IDataLabelCollection interface
New get_LeaderLinesColor() and set_LeaderLinesColor() methods have been added to the IDataLabelCollection interface and DataLabelCollection class. Now the color of all leader lines in the collection can be adjusted.
auto pres = System::MakeObject<Presentation>(u"pres.pptx");
auto chart = System::ExplicitCast<Aspose::Slides::Charts::IChart>(pres->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
auto series = chart->get_ChartData()->get_Series();
auto labels = series->idx_get(0)->get_Labels();
labels->set_LeaderLinesColor(System::Drawing::Color::FromArgb(255, 255, 0, 0));
Changes in type casting functions
The System::DynamicCast()
, System::DynamicCast_noexcept()
, System::StaticCast()
and System::StaticCast_noexcept()
functions are now marked as deprecated and will be removed in the upcoming releases. The System::ExplicitCast() and System::AsCast() functions should be used instead.
- Use System::ExplicitCast() instead of
System::DynamicCast()
andSystem::StaticCast()
. - Use System::AsCast() instead of
System::DynamicCast_noexcept()
andSystem::StaticCast_noexcept()
.
Obsolete code with the System::DynamicCast()
function:
auto pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto shape = DynamicCast<Aspose::Slides::AutoShape>(pres->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
New code with the System::ExplicitCast() function:
auto pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto shape = ExplicitCast<Aspose::Slides::AutoShape>(pres->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
Obsolete code with the System::DynamicCast_noexcept()
function:
auto pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto shape = DynamicCast_noexcept<Aspose::Slides::AutoShape>(pres->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
New code with the System::AsCast() function:
auto pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto shape = AsCast<Aspose::Slides::AutoShape>(pres->get_Slides()->idx_get(0)->get_Shapes()->idx_get(0));
Obsolete code with the System::StaticCast()
function:
SharedPtr<Aspose::Slides::IPresentation> pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto pres2 = StaticCast<Aspose::Slides::Presentation>(pres);
New code with the System::ExplicitCast() function:
SharedPtr<Aspose::Slides::IPresentation> pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto pres2 = ExplicitCast<Aspose::Slides::Presentation>(pres);
Obsolete code with the System::StaticCast_noexcept()
function:
SharedPtr<Aspose::Slides::IPresentation> pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto pres2 = StaticCast_noexcept<Aspose::Slides::Presentation>(pres);
New code with the System::AsCast() function:
SharedPtr<Aspose::Slides::IPresentation> pres = MakeObject<Presentation>(u"MyPresentation.pptx");
auto pres2 = AsCast<Aspose::Slides::Presentation>(pres);