Bug 144525 - Allow fill for line strokes and borders of shapes
Summary: Allow fill for line strokes and borders of shapes
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
7.2.0.4 release
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
: 140434 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-09-16 05:13 UTC by Lucas J
Modified: 2021-09-20 13:00 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Workaround in Draw by converting line to contour (95.66 KB, image/png)
2021-09-16 05:13 UTC, Lucas J
Details
Example of options available for fill of shapes (32.23 KB, image/png)
2021-09-16 05:14 UTC, Lucas J
Details
Unless workaround is used, the fill does not work for lines (106.41 KB, image/png)
2021-09-16 05:17 UTC, Lucas J
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lucas J 2021-09-16 05:13:05 UTC
Description:
If I draw a shape such as a rectangle, I have many fill options. I can fill with gradient, hatch, pattern, color, or bitmap. However, this applies to the inside of the shape, not the border. I would like to be able to do this on the border of shapes as well as lines. As a workaround, if I'm using Draw, if I convert my line to Contour I can make my line with these effects (see attachment). However, as far as I know you can't do this in Writer. You also can't do this for the border of shapes. Please allow fill options for lines and borders of shapes without requiring strange workarounds in all LibreOffice products.

Steps to Reproduce:
1. Draw shape
2. Set fill to a pattern, gradient, hatch or bitmap and observe the output
3. Draw line or a non-filled shape
4. Attempt step #2

Actual Results:
1. Doesn't work since it only applies to interior of shape, not border

Expected Results:
If I want my shape to have a border with a bitmap, pattern, or gradient I should still see it.


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.2.0.4 (x64) / LibreOffice Community
Build ID: 9a9c6381e3f7a62afc1329bd359cc48accb6435b
CPU threads: 4; OS: Windows 10.0 Build 22454; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL
Comment 1 Lucas J 2021-09-16 05:13:44 UTC
Created attachment 175042 [details]
Workaround in Draw by converting line to contour
Comment 2 Lucas J 2021-09-16 05:14:34 UTC
Created attachment 175043 [details]
Example of options available for fill of shapes
Comment 3 Lucas J 2021-09-16 05:17:00 UTC
Created attachment 175044 [details]
Unless workaround is used, the fill does not work for lines
Comment 4 Regina Henschel 2021-09-16 22:56:03 UTC
I think, this needs no new report. It is the same problem as your bug 140434.

Writer has a reduced UI for manipulating draw objects. But you can always create the object in Draw and then copy it to the text document.

Unless someone pays for it, it is unlikely that such feature will be implemented. It would require a large change in code and an addition a change to the ODF standard.

A different question is, whether LibreOffice should apply your workaround automatically when it imports files from OOXML format.

A line and the stroke (border) of a shape are the same properties internally and in file format.
Comment 5 Lucas J 2021-09-19 21:06:37 UTC
Regina, thank you for your dedicated work with the LibreOffice community. I made this additional feature request since my previous request is not as clear and developers would have to search through the comments to find out what the report covers. The previous report does not emphasize the already existing ability to apply this desired feature to the fill of shapes and does not emphasize the existing workaround. If possible, I would prefer the previous request to either be removed or replaced with this one. However, I believe your discretion would be best on what we should do.

As a supporter of LibreOffice, I would love to help develop this feature myself. While I am new to the project, I would love to contribute despite the time it may take to develop such a feature. Is it possible that I can send the ODF specification request to the people at OASIS? Do you have information on how I could proceed with this? I would love to continue to see this technology improve and be more available to everyone.

I thank you so much for your time, knowledge, and dedication. I am looking forward to your response, and please have a good day! God bless. :)
Comment 6 Lucas J 2021-09-20 07:33:46 UTC
In addition to my previous comment, might I ask, what do you think about LibreOffice automatically treating strokes as contour behind-the-scenes for this purpose?

Ultimately if anything is going to be filled, it needs to have an area that can be filled. When we have two dimensional shapes, there is an area, thus it can be filled. If we have a one dimenson, it is a line, and there is no area inside of it. When we convert to contour, LibreOffice treats the line as if it were a rectange and allows it to be filled since it now has an area defined by the length and width of the line.

Instead of modifying the ODF standard and significantly modifying the code, if the user wants to change the style of the stroke, why not automatically convert the line to contour behind the scenes and still allow the user to interact with the object as if it were just a normal line?

The functionality already exists to provide the desired output. It appears the only thing needed would be implementing a button or something to automate this workaround.

What do you think of this idea?
Comment 7 Regina Henschel 2021-09-20 12:59:46 UTC
(In reply to Lucas J from comment #5)
> If possible, I would prefer the
> previous request to either be removed or replaced with this one. However, I
> believe your discretion would be best on what we should do.

I will set this to "New" and the previous one to "Duplicate".

(In reply to Lucas J from comment #5)
> As a supporter of LibreOffice, I would love to help develop this feature
> myself. While I am new to the project, I would love to contribute despite
> the time it may take to develop such a feature.

Then you should start with https://wiki.documentfoundation.org/Developmen. Follow the links in section "Getting Started with Development". For discussing problems (e.g. in getting a build, or looking for code pointers) please use the mailing libreoffice@lists.freedesktop.org or irc://irc.libera.chat/#libreoffice-dev.

 Is it possible that I can
> send the ODF specification request to the people at OASIS? Do you have
> information on how I could proceed with this? I would love to continue to
> see this technology improve and be more available to everyone.

The ODF technical committee (TC) does only accepts feature requests, if there exist an implementation that shows how it could work. That need not be a final release of an application. The TC tries to help developers to implement new features in a way, that it could be added to the standard: https://wiki.oasis-open.org/office/ProposalTemplate%20ODF%201.4
But you are far away from that point.

(In reply to Lucas J from comment #6)
> Instead of modifying the ODF standard and significantly modifying the code,
> if the user wants to change the style of the stroke, why not automatically
> convert the line to contour behind the scenes and still allow the user to
> interact with the object as if it were just a normal line?
> 

If you convert a shape to contour, then currently the original object type is lost. I think, such conversion should never be done "behind the scenes" but needs explicit agreement from the user, see for example the tool "Distort". Nevertheless such tool "Fill line with gradient" or "Fill line with bitmap" would be possible. It would even be possible as macro. But it does not solve the problem, how such line filling should be handled by the import filter for MS Office drawings.
Comment 8 Regina Henschel 2021-09-20 13:00:04 UTC
*** Bug 140434 has been marked as a duplicate of this bug. ***