When importing writerfilter, we change to oox when importing images. This transition doesn't store any previous contexts and all instances are reset. The problem occurs when we have identical images because the transition erases all caches we have to determine if an image has already been imported or not, which causes that we import the same image multiple times which create unnecessary copies. This introduces the XGraphicMapper, which can be used to store the XGraphic for a key and can be transferred between writerfilter to oox. With this we can remember which images were already imported and don't create unnecessary internal copies which decreases memory. This also includes a test which checks that the import and export doesn't produce unnecessary copies of identical images. The test checks that for OOXML, ODF and MS Binary formats. Change-Id: I33dc19218c565937fab77e132b3a996c51358b6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103283 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Contains all of the IDL files except those in [[udkapi]] i.e. the interfaces that are specific to the LibreOffice application. An artificial (?) separation. The reference offapi/type_reference/offapi.idl and udkapi/type_reference/udkapi.idl (formerly combined into a single offapi/type_reference/types.rdb) are used to detect inadvertent incompatible changes. They are plain-text .idl files (not strictly lexicographically sorted, though, so they satisfy the .idl file requirements for no forward dependencies), so in cases where we deliberately /do/ become incompatible they can be modified manually. Old such cases of deliberately becoming incompatible are listed in offapi/type_reference/typelibrary_history.txt, newer such cases are recorded in the git logs of (now superseded) offapi/type_reference/types.rdb, offapi/type_reference/offapi.rdb, and udkapi/type_reference/udkapi.rdb, new such cases are recorded in the git logs of offapi/type_reference/offapi.idl and udkapi/type_reference/udkapi.idl.