 Ich weiß nicht. So, attention everyone, the talk on this slot has changed, so Torsten is not doing his talk, so I jump in with talking about two features we did in the last few months, good things das kommt zu south through rate, because it's going about stuff which took some time to appear at all in the world, and it's about border frames and writer graphics, so I'm splitting this in two parts, so it's about to show ongoing changes in LibreOffice and it's quite important, deep changes from my point of view and thanks to the customer to support this, so it was hard to decide what to show, but I chose two most important which from my point of view and I will use examples as far as possible to show you that it's really working, stuff like that. Maybe try to use live demonstration, but as you have seen in my talk before, it didn't work too well, so I will try to be careful, so border frames, better title would be frames for cells and tables in the office, so used in various places, Kalk of course, tables and writer, tables and tables, but also in the UI, so the border defining custom widget is also using this stuff already, so all of them use their own model implementation as usual, all use their own visualization processing and all look bad and were somewhat broken, I'm not sure for how long, maybe two, two and a half, three years, I don't know how it happened, I resisted to look into git blame or something, I had no interest in that, who cares, so I just got this as a bug report, checked what's happening in source, that's a lot of stuff is broken, so I just started to fix it. So you see, left version, old version, right version, new version, so here, I think I can dare to go to the live, okay, let's end this presentation mode for a while, so you can see this live, it's this 5.2 version, and you see it looks horrible, not rounded or adapted or something, at least taking merged cells into account, not too bad, but when you change the cell appearance to something like double line, it's just horrible, so, and it's pretty much the same in draw, impress and stuff like that. So, this is the example you see, this is a table example in writer, table example in draw, impress, before and after the fix, and even in the UI, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so, so Warum? So, let's take the Kalkexample. In the current master you see it looks already better. And if you change the cell stuff, it just looks like you would expect. So, this is pretty much fixed. You can do different border stuff and things like that. And the overlapping is now changed in basic geometry below the rendering level. And more details soon. Writer also looked very bad. So now, table properties. Let's do something fancy quickly, whatever. And oops. You have this nice three-color things and writer. Stuff like that. And when you zoom in, you see, it's all there now. And it's also exported in PDF and print and stuff like that. So, this is fixed, I hope, for the next few years. So, next time I will check a good blame. And if someone breaks it again, you will hear from me. So, back to the talk. So, this is just the examples again. So, what was changed? Just some short development internals. No change to model data. So, in my opinion, it's not too expensive to do. It's just every application is doing its own thing. But I adapted all visualization processing in the U.I. Using primitives as far as possible. Line matching solved on model geometry level, as I just said. So, rendering should work. If it doesn't work, it's a question of the VCL shortcut stuff, which should then be fixed. So, the same tooling now, as we explained already. Extended tooling to handle rotated crossed for Kalk. I didn't show this now, but Kalk has this extra stuff that you can cross out fields. And if you cross out and use double line, it even gets matched to surrounding lines. So, you are not limited to 90-degree matching stuff like that. And the unified line and matching primitives are prepared to handle more than three line patterns. So, in the future, if someone thinks of a line with four draws and wants to match it, we can do that. And maybe useful when we want to offer frames for multiline polygons and stuff like that. We will see. So, we have a working matching stuff where you can do funny things. So, writer graphics, second thing we did is a better title would be make writer graphic fly frames really rotatable. So, this is requested since ages. You can look in Buxilla. It's about 20, 22 years, the first request to get that. So, Miklos did in-between step and added 90-degree rotations. Thanks for that. You didn't? Oh, sorry. I have to change the slide. I'm very sorry. Is Thomas here? No, please say him I'm sorry for the video recording. I should have asked one of you. So, done in multiple steps due to complexity. Core UI, ODF format, of course. It has to be represented surprisingly in ODF. There was already code to save and load an angle, but it was not good. It was in degrees and it was not correct and stuff like that, whatever. It was there. I don't know. Anyone seemed to have tried this before. So, first version shown as preview at Rome, LibreOffice Conference, and I collected feedback. This was very interesting because I got a lot of feedback from different people, what should happen and stuff like that. In the Rome version it was in-between step and it was all rotated inside the frame. So, not changing or expanding the frame. So, also added persistence UI elements, modifying graphics, preserve unchanged original. It's not so important, because the 90-degree rotations we had before did not really change the graphics, but only changed flags on the graphics, for example for JPEG, but they supported only three formats. So, no, you can, even with 90 degrees, you can rotate any graphic. So, first version still rotated graphic inside. I talked about not acceptable as final solution, of course not. So, continued internal development. I had to isolate all places, which needed to be adapted to make the frame expand on the image rotating. So, this is writer layout. Writer layout means to have to deal with writer frames. Writer frames means you have SVRect. This SVRect is handed out from the structure, controlling it as const reference, but also as reference. So, there were 1400 places changing this values. I isolated this 1400 places to get control over the stuff, renamed all of it, and isolated change to helper classes, which do the change in their destructors. So, all completely isolated to get control over this. This was urgently necessary to get this new kind of transformation into writer. In principle, you can see the SVRect as a transformation, if you like, but it's missing the rotation and shear stuff, and of course, the mirroring, even with the arrows at width and height can be negative as usual in the office, which makes a lot of problems. I limited the rotation to around center, which makes it simpler for the user. All I discussed with UI guys with this, and also our big competitor do this. It's just easier for people, I think. So, made this version work, including print, PDF in good quality and stuff like that. So, live example, we can do in a moment. So, I have a screenshot for you. This is in the 6.0, so you just see writer fly frames with graphics. In the top left, you just have no text flow defined in the top right. I just edit this mask with existing mask editor. In the top left, you see it rotated with frame on, and on the top right a little bit different rotated with the same frame on to show the expansion. But we will do this live in a moment. So, development internals. Huge changes I told about. Go to homogene transformations. So, homogene transformations are now available at writer frames. So, if someone implement something new, please directly use the homogene transformations. Of course, not all places doing geometry stuff in writer frames were adapted. It's just impossible too much stuff. So, providing alternative transformations that each writer flame no need to adapt, but please use, please use in the future. So, now let's go to the live, what the master is doing in the 6.0. So, let's just use writer, zoom out, DT, F3, get a chair, select some text, paste it, make it smaller to get a good flow, method, insert graphic, Einstein for example. So, what you have now is first position in size is expanded to rotation. So, you can just start rotating your image. You can also of course use this one to reset or stuff like that. Completely in the undo buffer, stuff like that. You can still mirror the original. You can have a frame around it and let's make the frame a little bit wider, raise it now, area, may borders. Oops, have a little bit more. As you have seen, this is also fixed. So, we can use something to pick for the screen. So, and to make the text flow like you would intend to do, of course you can use the stuff, which is here. And with Enable Contour you get the same, like you get without rotation. So, I don't like standard behavior like it is currently, but it's not dependent from the rotation. It's also what currently happens when you have a frame. So, I think it's an error, but I didn't change it yet. What you can do now is to edit contour and you just add contour for the full image and that's all you need to do to get your text flow. So, of course you have to switch off the frame to make it look a little bit nicer. You also have controls. Huh? Yeah, give me a moment. You see, this expanding frame with everything and persistence and as far as possible backwards compatibility with older versions. Be surprised when loading it. No, it's not that bad. It's just not what you hate it when you load it in an old office. So, this is working pretty well. So, next steps will be to make the background rotatable too, because the reason I cannot update missing should get in color. Yeah, whatever. The reason I cannot rotate the frame with it currently is the frame is using primitives already, so I could rotate the frame but the fill and the shadow of the right of life frames are still rendered more or less by feet, like it was for 20 years. So I have to transform this part to also use primitives and when we have it all to primitives you can just transform it as it is sort. So, after 6.0 I already talked about how we could do that in the file format. After 6.0 we will need some kind of flag or change to default by default rotate it with the frame but be able to load 6.0 files unrotated and to give the user the chance to choose what he wants to do. Yeah, questions. Go ahead. Rotation point. Do you mean something? Right. It's a pure user UI decision. It was even work to not show the movable center point. But that's by purpose really because our competitor does not do this without thinking about it and I think for normal users it's just easier. Okay, we can make another switch. Okay, that's the presentation of this stuff. So, for now let's ah, now the filling. Ah, you see the filling is dependent from the from the style running from the text flow. That's strange. Okay, whatever. Time, Haustime. Okay.