Bug 77125 - Please make the shape of rounded rectangle callout customizable
Summary: Please make the shape of rounded rectangle callout customizable
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
(earliest affected) rc
Hardware: Other All
: medium enhancement
Assignee: Not Assigned
Keywords: difficultyInteresting, easyHack, skillCpp
Depends on:
Blocks: Shapes Shapes-Custom
  Show dependency treegraph
Reported: 2014-04-07 09:01 UTC by narayanaras
Modified: 2023-10-21 18:46 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:

Proposed "Rounded rectangle"-type callout with customizable shape (32.30 KB, application/vnd.oasis.opendocument.presentation)
2014-04-07 09:01 UTC, narayanaras
Document with description and callout with circle corners (50.60 KB, application/vnd.oasis.opendocument.text)
2018-11-27 21:21 UTC, Regina Henschel

Note You need to log in before you can comment on or make changes to this bug.
Description narayanaras 2014-04-07 09:01:48 UTC
Created attachment 97026 [details]
Proposed "Rounded rectangle"-type callout with customizable shape

Currently the shape of the "rounded rectangle"-type callouts is fixed. 
(a) Only the "beak" part of the callout can be moved.
(b) The rounding looks ugly (not symmetrical), especially for small heights

Often the "beak" of the callout becomes too thin or too thick, and looks ugly.

But the user has no control on it.

This is a major limitation in making the presentation attractive.


Please see the attached file for a sample of better-shaped callout.

This simulated callout has the following features:
1. Handles to control the rounding radius (separate for x and y directions)
2. Handles to move the "beak" along the periphery of the rectangle
   (this also controls the base-width of the beak)
Comment 1 A (Andy) 2014-10-01 21:22:28 UTC
changed to enhancement
Comment 2 Andras Timar 2015-06-12 21:32:42 UTC
This custom shape is defined in svx/source/customshapes/EnhancedCustomShapeGeometry.cxx, it is the msoWedgeRRectCallout. 

Introduction to custom shapes:
Comment 3 Robinson Tryon (qubit) 2015-12-14 06:58:08 UTC Comment hidden (obsolete)
Comment 4 Robinson Tryon (qubit) 2016-02-18 14:51:28 UTC Comment hidden (obsolete)
Comment 5 Regina Henschel 2018-11-24 19:04:11 UTC
For totally new shapes you need no knowledge in C++. You only need the ODF specification to define such shape. New kind of shapes can be added to the Gallery.

The shape in question should fit to the predefined custom shape "wedgeRoundRectCallout" of OOXML, but it doesn't. That should be changed in core, without introducing new handles.
Comment 6 Regina Henschel 2018-11-27 21:21:19 UTC
Created attachment 147077 [details]
Document with description and callout with circle corners

The attached document provides a callout with quarter circles in the corners, which do not change to ellipse when you resize the shape. It behaves similar to the callout of PowerPoint. The shape uses the commands "logwidth" and "logheight". MS Office does not understand these commands, so the shape will not be shown by MS Office. If you are forced to use OOXML (docx or pptx), then you need to use the callout from the drawing toolbar. For all others my shape might be an improvement.

This shape does not solve the entire request, because the circles are not sizeable and the callout pointer cannot be changed in its basis. But this shape is already very complex. You should think about using a rounded rectangle as callout and add the callout pointer manually by e.g. using a filled path.
Comment 7 Eyal Rozenberg 2023-10-21 18:46:20 UTC
See also bug 149077 regarding making the corners circular rather than elliptic quadrants.