GSoC’18: SmartArt Week 9

This week I’ve submitted some patches which relates to unit testing, laying out of shapes, and supporting some parameter.

Support ctrShpMap(Center Shape Mapping) Parameter

It relates to the cycle algorithm. A value of none specifies to place nodes around a circle. A value of fNode specifies to place the first node in the center and the remaining nodes around the circle with default is none. In simple language it specifies where to place nodes in relation to the center circle.

Support parTxRTLAlign(Parent Text Right to Left Align) parameter

If the graphic is used with language settings that display text from right to left(like Hebrew), the text should align to the right. There are two parent text(LTR and RTL) alignment parameters that determine the value to use according to system settings. So for that graphic, we should also include parTxRTLAlign (parent text right-to-left align) with default is center.

SmartArt Pyramid

This algorithm was initially not implemented, because of that it was not able to show shapes which relates to pyramid, but with this patch, It rendered correctly except some minor adjustment values issues which can be fixed in the upcoming patches.

Pyramid before the implementation
Pyramid after the implementation

Node layout information

Added two cases in switch statement:

AnimLvl: This variable is used to indicate the animate by level string which is displayed to a user in the user interface. When animLvl is set to ctr. This is being defined in a radial type diagram which allows the user to specify that animation is to start at the center of the diagram.

AnimOne: This variable is used to indicate the string to use for one-by-one animation in the user interface. This is used primarily when defining hierarchical diagrams to specify different ways animations applies to different levels of the diagram.

Unit test: Smartart Pyramid

Added unit testing for Pyramid which tests the Y-position, text in shape and height of the child. But a error is creating problem for building it, tried rebase but it didn’t work, would be awesome if anyone can point to the cause of that error.

Like what you read? Give Ekansh Jha a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.