Björn Breitmeyer | 1 Oct 2010 16:03
Favicon

Re: Review Request: Fixes missing translation of the KoShapeContainter bounding boxes

This is an automatically generated e-mail. To reply, visit: http://svn.reviewboard.kde.org/r/5505/

On October 1st, 2010, 12:59 p.m., Johannes Simon wrote:

Mhh. I wonder why this works for charts that you manually insert into documents (or anything I've tested so far). Do they still show up correctly with your patch? The painter itself should probably be translated before KoShapeContainer::paint() is called (which it is, maybe just not correctly) and that trivially handles the transformation of the container. Maybe a caller of KoShapeContainer::paint() or KoShape::paint() does not transform the painter correctly?

On October 1st, 2010, 1:33 p.m., Björn Breitmeyer wrote:

Well i have found some problems and am still not sure why they occur, in kspread and with newly added chartshapes the size of the chart has to be increased for the content to become visible. Im still unsure about the zoom, specifically i don't know why the zoom should matter to the bounding box test at all. But the design is generally very complicated an scene graph like approach would be easier to handle as only local transformations need to be applied to make sure the bounding box test works correctly. Regarding the painter issue, thats the fascinating thing, the diagram drawing is fully independent to the bounding box check, it draws everything correctly if the bounding box test does not prohibit it. Deleting the bounding box test shows the chart legend as expected.
Ah and regarding the fact that this works for everything you have tested so far i have a very good explanation. There is a shape level more in the loaded kword documents, this layer is not present if you just add a new chart to the document or use another program.

- Björn


On October 1st, 2010, 12:45 p.m., Björn Breitmeyer wrote:

Review request for KOffice.
By Björn Breitmeyer.

Updated 2010-10-01 12:45:29

Description

The KoShapeContainer was assuming it is a top level component, so it did not translated its own outline before testing if the child shapes intersect with it. This lead to missing legends in msoo documents. Fixed it by applying the transformation of the own object.

Testing

Tested with some documents.

Diffs

  • /trunk/koffice/libs/flake/KoShapeContainer.cpp (1180844)

View Diff

_______________________________________________
koffice-devel mailing list
koffice-devel <at> kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel

Gmane