• Miklos Vajna's avatar
    Related: tdf#117761 oox smartart: backport fixes related to picture strip · a02a160c
    Miklos Vajna yazdı
    This is a combination of 7 commits.
    
    This is the 1st commit:
    
    oox smartart, picture strip: handle bitmap fill of pres nodes
    
    There were two problems here:
    
    1) We did not import bitmap fill from presentation nodes.
    
    2) Presentation nodes contained properties with reference semantics, so
    if you set a bitmap fill for a first and a second shape, then at the end
    both shapes contained the second bitmap.
    
    With this, both bitmaps are imported exactly once.
    
    (cherry picked from commit 333e9ea1)
    
    This is the commit #2:
    
    oox smartart, picture strip: fetch # of children only once in snake algo
    
    No functional changes intended.
    
    (cherry picked from commit 90372d52)
    
    This is the commit #3:
    
    oox smartart, picture strip: expose aspect ratio of children for snake algo
    
    The aspect ratio request of the Shape is not yet used in
    AlgAtom::layoutShape(), though.
    
    The heavy-lifting is needed, because the number of cols/rows in the
    snake algorithm depends on the aspect ratio request from the child
    algorithm, so need to transfer the aspect ratio from child algorithm ->
    layout node -> shape -> parent algorithm.
    
    Still no functional changes intended.
    
    (cherry picked from commit a1e10b79)
    
    This is the commit #4:
    
    oox smartart, picture strip: fix too many columns with aspect ratio request
    
    The bugdoc has 3 items in the picture strip and PowerPoint laid this out
    as a single column with 3 rows (as a snake algorithm). We used to put
    the first two items to the first row and the third item to the second
    row.
    
    Improve out layout by taking into account what aspect ratio the child
    algorithms request: this way it's obvious that we should use a single
    column in case we have a large enough aspect ratio and few enough items.
    
    (PowerPoint also uses multiple columns without the aspect ratio
    request.)
    
    (cherry picked from commit 159e33ec)
    
    This is the commit #5:
    
    oox smartart, picture strip: fix lack of spacing around the picture list
    
    The snake algorithm in PowerPoint seem to interpret spacing as follows:
    if you have N elements, then there should be the requested amount of
    spacing between the elements, and also double amount of spacing around
    the actual list of elements.
    
    With this, the SmartArt and the title shape in the bugdoc no longer
    overlaps.
    
    (cherry picked from commit 0a29c928)
    
    This is the commit #6:
    
    oox smartart, picture strip: fix lack of margin in text shapes
    
    Shape text has two kind of spacing inside the shape's bounding box: the
    shape-level margin and the paragraph-level one. Only the second was
    handled in the tx algorithm so far, add support for the first.
    
    The margins taken from constraints were way large by default: the only
    explanation I found for that is that SmartArt layout sometimes
    calculates in MMs, sometimes in Points, and the ratio between the two is
    exactly the Impress / PowerPoint margin. So assume that indeed that unit
    difference is the reason for the smaller in-PowerPoint margin values and
    do the same on our side.
    
    (cherry picked from commit 279c7f83)
    
    This is the commit #7:
    
    oox smartart, picture strip: fix too wide child shapes
    
    Once the constraints determine the size, the aspect ratio may shrink one
    dimension to achieve the requested ratio. Implement the case where a >1
    ratio shrinks the width, so the container of the image-text shape pair
    has correct aspect ratio.
    
    (cherry picked from commit f4fbb127)
    
    Change-Id: I7bac764c031e80bac532c4f97ebd5b5096401096
    Reviewed-on: https://gerrit.libreoffice.org/68687
    Tested-by: Jenkins
    Reviewed-by: 's avatarAndras Timar <andras.timar@collabora.com>
    a02a160c
Adı
Son kayıt (commit)
Son güncelleme
..
LibreOfficeKit Loading commit data...
android Loading commit data...
animations Loading commit data...
apple_remote Loading commit data...
avmedia Loading commit data...
basegfx Loading commit data...
basic Loading commit data...
canvas Loading commit data...
codemaker Loading commit data...
com/sun/star/uno Loading commit data...
comphelper Loading commit data...
connectivity Loading commit data...
cppcanvas Loading commit data...
cppu Loading commit data...
cppuhelper Loading commit data...
cppunittester Loading commit data...
dbaccess Loading commit data...
desktop Loading commit data...
drawinglayer Loading commit data...
editeng Loading commit data...
filter Loading commit data...
formula Loading commit data...
fpicker Loading commit data...
framework Loading commit data...
helpcompiler Loading commit data...
i18nlangtag Loading commit data...
i18nutil Loading commit data...
jvmaccess Loading commit data...
jvmfwk Loading commit data...
linguistic Loading commit data...
o3tl Loading commit data...
onlineupdate Loading commit data...
oox Loading commit data...
opencl Loading commit data...
osl Loading commit data...
package Loading commit data...
registry Loading commit data...
rtl Loading commit data...
sal Loading commit data...
salhelper Loading commit data...
sax Loading commit data...
sfx2 Loading commit data...
sot Loading commit data...
store Loading commit data...
svl Loading commit data...
svtools Loading commit data...
svx Loading commit data...
systools/win32 Loading commit data...
test Loading commit data...
toolkit Loading commit data...
tools Loading commit data...
typelib Loading commit data...
ucbhelper Loading commit data...
uno Loading commit data...
unoidl Loading commit data...
unotest Loading commit data...
unotools Loading commit data...
vbahelper Loading commit data...
vcl Loading commit data...
xmloff Loading commit data...
xmlreader Loading commit data...
xmlscript Loading commit data...
default.rc Loading commit data...
postmac.h Loading commit data...
postwin.h Loading commit data...
premac.h Loading commit data...
prewin.h Loading commit data...
version.hrc Loading commit data...