Skip to content
Shiny.NET

Slide Editor | Shape Format & Text

The contextual Shape Format tab appears while a shape is selected. Every command is on the shared SlideEditorController and is one undo step.

Fill (solid, theme colour, gradient, picture, none), outline colour / weight / dash / none, shadow, quick styles, exact size fields (with aspect lock), align and distribute relative to the slide or the selection, rotate ±90°, and flip.

var c = editor.Controller!;
c.SetShapeFill(SlideFillSpec.Color(color)); // Theme / LinearGradient / None too
c.SetShapeOutlineColor(color); c.SetShapeOutlineWeight(2); c.SetShapeOutlineDash(LineDash.Dash);
c.RemoveShapeOutline();
c.SetShapeShadow(true);
c.ApplyQuickStyle(style);
c.SetShapeSize(320, null, lockAspect: true);
c.AlignToSlide = true;
c.Align(ShapeAlignment.Center);
c.Distribute(horizontally: true);
c.RotateBy(90); c.SetRotation(30); c.Flip(horizontal: true);

A selected shape shows a rotation handle above its top edge; drag it to rotate, holding Shift to snap to 15°. A whole rotation is one undo step, like a drag.

Shift/Ctrl+click adds to the selection, and dragging on empty slide draws a marquee. Moving several shapes moves them together.

Group writes a real p:grpSp (Ctrl+G); Ungroup (Ctrl+Shift+G) takes it apart, keeping each child where it was drawn. Editing inside an existing group is on Objects, Groups & Tables.

While dragging, smart guides snap to the slide’s centre and edges and to other shapes’ edges and centres (SmartGuides, SnapDistance). View ▸ Gridlines and Guides draw the static ones.

c.SelectedShapes; c.ToggleSelected(shape); c.SelectShapes(shapes); c.SelectAllShapes();
c.Group(); c.Ungroup();
c.SmartGuides = true; c.SnapDistance = 6;
c.ShowGridlines = true; c.ShowGuides = true; c.ShowRuler = true;

Home ▸ Font and Paragraph now match PowerPoint:

Soft line break Shift+Enter writes an a:br — a new line inside the same paragraph, so it keeps the bullet (InsertLineBreak)
Grow / shrink font Ctrl+Shift+> / < (GrowFont(±1))
Change case ChangeCase(TextCase) — the same TextCase as the document editor
Clear formatting ClearFormatting
Superscript / subscript ToggleSuperscript / ToggleSubscript
Character spacing SetCharacterSpacing — saved, not yet drawn
Line spacing, alignment SetLineSpacing, SetParagraphAlignment
Text direction Horizontal, rotated or stacked (SetTextDirection(ShapeTextDirection))
Vertical alignment SetTextAnchor
Autofit None, shrink text on overflow, or resize shape to fit text (SetAutofit(TextAutofit))

Links go on a text run or on a whole shape, to a web address or to another slide (#slide=N):

c.SetHyperlink(new SlideHyperlink("https://shinylib.net"));
c.SetHyperlink(new SlideHyperlink(null, Slide: 3));

A slide show follows them: web links open in the browser, slide links jump.