WEBVTT

00:00.000 --> 00:29.760
So, I have everyone, my name is Balash Vargo, and I'm working with

00:29.760 --> 00:40.280
Alotropia, I'm with it not working, okay, so I will talk much louder, is it better?

00:40.280 --> 00:47.000
So in this presentation I would like to introduce a new small feature, but I worked on last

00:47.000 --> 00:53.560
year, but I couldn't have time to talk about it on the last label count, so I will present

00:53.560 --> 01:02.800
it here, it's the glue effect on text in different shapes, as you can see already on the

01:02.800 --> 01:11.000
main title, the presentation has a text glue effect, and it wouldn't be implemented, it's

01:11.000 --> 01:19.840
already the title wouldn't be visible, so let's start it.

01:19.840 --> 01:26.800
And history about the glue effect in LibreOffice, in LibreOffice we could already apply

01:26.800 --> 01:33.560
glue and soft edge effects for shape objects, in the feature where I've worked in LibreOffice

01:33.560 --> 01:42.880
since version 7, as you can see on the image, but we couldn't apply any glue effect on individual

01:42.880 --> 01:52.600
text in shapes, so check what I'm talking about, there is an example, but I mentioned

01:52.600 --> 01:59.240
the previous slide, as you can see on the left picture, there are two examples from Microsoft

01:59.240 --> 02:06.760
Office, with a green and the white colored text glue effect, and on the right side, the

02:06.760 --> 02:14.320
right side after we loaded the same document in LibreOffice, the green effect disappeared,

02:14.320 --> 02:25.080
and the white one as well, which make the second text even invisible on the black background.

02:25.080 --> 02:31.000
So let's see what was implemented, first of all, three new properties were added, named

02:31.000 --> 02:38.840
the glue, text color, the text radius, and the text transparency for the shapes, then

02:38.840 --> 02:47.080
had to create a new text glue primitive for rendering and storing the text glue effect, then

02:47.080 --> 02:55.640
I had to add some new images, such as a new panel on the sidebar, and the last two

02:55.640 --> 03:04.280
part was the OXML Import Export, and the ODS implementations, finally some unit tests in

03:04.280 --> 03:06.280
the end.

03:06.280 --> 03:15.440
So for creating the new text glue effect, I had to create a new text glue primitive class for storing

03:15.440 --> 03:23.040
all the new formations about the text clear effect, such as the color radius and transparency

03:23.040 --> 03:28.880
of the glue, which is included in the color object.

03:28.880 --> 03:36.560
The text radius specified the size of the glue, which is also depending from the font size.

03:36.560 --> 03:43.680
So the rendered size of the text glue effect is the combination of the setted radius and

03:43.680 --> 03:50.040
the font size of the text, which is calculated with a power function.

03:50.040 --> 04:01.320
This is just a approximation function to make it look similar what it does in Microsoft Office.

04:01.320 --> 04:09.120
So on this slide, there is some demonstration in the order of the different effects of

04:09.120 --> 04:12.040
the shapes, which can be applied on them.

04:12.120 --> 04:20.600
First, we have the sub-primitives, which contains all the main parts of the shapes, like

04:20.600 --> 04:25.360
the shape, color, the field and the line colors.

04:25.360 --> 04:34.480
Then the second one is the glue effect of the shape, which is needed to be added to the

04:34.480 --> 04:39.040
primitive before the other effects.

04:39.040 --> 04:45.240
Then we can create the text primitives from the text objects, which can have their individual

04:45.240 --> 04:51.560
character level effects, such as character shadow or other character effects.

04:51.560 --> 04:59.280
So we have to store them on the primitive first and then after that we have the text primitives,

04:59.320 --> 05:04.760
we can use it and apply the text glue effect on the text, and then we need to put back

05:04.760 --> 05:09.400
to the same position in the primitive containers.

05:09.400 --> 05:15.520
So that's how it looks like, and the last one is the shadow of the shapes, which is

05:15.520 --> 05:23.520
added in the last place on the containers of the effects.

05:23.600 --> 05:30.880
Let's talk about the user implementations, the new text effect property panel was added on

05:30.880 --> 05:38.600
the properties panel, which is activated when they are selecting an object with text frames.

05:38.600 --> 05:44.560
It's only available in Calc, Impress and Rowe, because in Libra office right there are

05:44.560 --> 05:51.920
different frames, which makes it more complicated or different, so it's not working

05:51.920 --> 05:52.920
there.

05:52.920 --> 06:00.040
Only in the other applications, and we have three options, the radius, the color, and transparency

06:00.040 --> 06:06.320
of the glue option, which can be set in.

06:06.320 --> 06:15.720
Okay, so one more important thing is that we are undering only the text, without any text

06:15.800 --> 06:22.040
glue effect in edit mode of a text object, because the edit engine is not supporting

06:22.040 --> 06:28.520
the text glue effect, it's quite limited, and it's rendering on the primitive level, as I

06:28.520 --> 06:34.880
mentioned earlier, there is some short animation here, which represent how it looks

06:34.880 --> 06:44.160
like, when we click inside a text frame, the glue effect disappear, and you can edit the text

06:44.160 --> 06:52.320
and write after you click out, it appears again, which can be quite effective and make

06:52.320 --> 06:59.720
it a bit faster, and yeah, I'm glad it's for the animation, a bit narrative, you're not

06:59.720 --> 07:10.280
at it's working, yeah, so on this slide there are two screenshots about how it looks

07:10.280 --> 07:17.280
like in Microsoft Office, and before the OXML implementation in the office, as you can see

07:17.280 --> 07:22.800
there are cases in the text, become invisible in the text boxes, which is quite annoying

07:22.800 --> 07:32.280
for the users, and let's see how it looks like after the OXML implementation, on this

07:32.280 --> 07:38.360
example, we have different shape types, just to demonstrate it works in many cases, such

07:38.360 --> 07:48.000
as in in placeholders, text boxes, basic and different kind of custom shapes, and the last

07:48.000 --> 07:55.720
one, the ODS, import text ports, also works on, as you can see on the left image, and in

07:55.720 --> 08:03.600
ODS we introduce the new feature extended attributes, the XMA glue text, the radius, the

08:03.600 --> 08:11.760
text color, and the text transparency, for exporting these properties inside the glue

08:11.760 --> 08:19.560
effects, and yeah, here's some related patch to this new feature and the first one contains

08:19.560 --> 08:30.280
all the implementations, but I talked about, and last two was just some smaller fixes, and

08:30.280 --> 08:38.280
thanks a lot for supporting this work, and also thanks for Armin and Regina for reviews

08:38.280 --> 08:49.560
and advices, and thanks for questions, if they have, it's not, thank you for your time.