[Libreoffice] GSoC 2012 - Improving Impress svg export filter

Marco Cecchetti mrcekets at gmail.com
Thu Apr 5 14:32:46 PDT 2012

On Wed, 04 Apr 2012 15:16:06 +0200, Thorsten Behrens
<thb at documentfoundation.org> wrote:

> Marco Cecchetti wrote:
>> Week 1, 2, 3
>>   Task 1 - Porting the part of the Impress animation engine
>>            responsible for slide transitions and providing
>>            support at least for the following basic slide
>>            transitions:
>>              Wipe up, down, left, right
>>              Push up, down, left, right
>>              Fade Through Black
>>              Fade Smoothly
> Hi Marco,

Hi Thorsten,

> really glad to see you back - your CV is impressive, wrt the project
> plan - the above can IMO be done quicker, all those slide
> transitions are mostly coded individually - so if you can do wipe
> up, the other wipes, and push, are like 3 extra hours of work or so.

Ops, sorry just a bad joke of my memory. After analyzed the source
code I agree that 3 weeks are too many. The routines involved in the
porting are createShapeTransition, crateSlideTransition,
ClippingAnimation, the various SlideChange helper classes and for
supporting CLIP POLYPOLYGON transitions some more routines.
Moreover the slide export needs to be reworked because of how master
page are exported: think of a master page shared between two
consecutive slides with a pushwipe transition (say from left to right)
for passing from one to the other. The master page should be both
entering from the left side and leaving on the right side, but with
only one actual master page for both slide is not possible to
implement such an effect. A solution is to utilize svg def and use
elements appropriately (by implementing the slide index I learned
that not all browser are happy with use element and visibility
attribute). So that requires a bit of design and work.
I think that 10-12 days can be enough for making all that working,
anyway for not make the time-line too complex I'll keep it officially
down to a single week. (In the end buffer weeks are there for something).

>> Week 4, 5
>>   Task 2 - Implement support for repeated animations
>>   Task 3 - Implement support for rewinded animations
> Those two are not exactly working correctly even in the c++
> implementation - fixes there greatly appreciated. I would not mind
> to extend these subtasks to multiple weeks. ;)
>>   Task 4 - Provide the possibility to go backward of one
>>            single effect.
> Spend a week or two on that as well. And we should roll back any
> smart idea for the state machine there into c++ land then. :)

Well, if I need to fix the C++ implementation too I'll need a
long time for sure. So I modify that part as follows:

Week 2,3
      Task 2 - Implement support for repeated animations
      Task 3 - Implement support for rewinded animations

Week 3,4
      Task 4 - Provide the possibility to go backward of one
               single effect.

>> Week 6, 7
>>   Buffer - Spread from the GSoC start to the mid-term period
> Good.
>> Week 8, 9
>>   Task 5 - New text export implementation that provides better
>>            support for text search engines
>> Week 10, 11
>>   Task 6 - Provide support for text animations
>>   Task 7 - Export embedded svg pictures in a transparent way
>> Week 12, 13
>>   Buffer - Spread from the mid-term period to the GSoC end.
> Yeah, this is alright

Ok so I leave this part unchanged.

>> Optional task:
>>   Use svg native gradients whenever possible.
> I would love that!

I hope to have enough time for that :)

> So - go ahead with submission. We can always tweak it, even inside
> melange.

Indeed, I read your mail after posting the proposal, anyway I hope to
be able to edit it.

-- Marco

PS: sorry for the double mail, I forgot to cc

Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

More information about the LibreOffice mailing list