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.