6e5529d738
ODF allows a 3D mode for custom shapes. That can be used to render some of the 3D effects possible in MS Office. MS Office has not published, how they calculate the 3D-scenes. Thus most principles and values are found by experiments. My assumptions are contained as comments. This current solution does not work well for perspectiveFront camera with rotation on only y-axis or on only x-axis. If someone has an idea, what is wrong in my solution or what MS Office might specially do, please tell me. The tests do not cover whether the rendering in LO is the same as in MS Office. I have no idea how to write such tests. To test manually: In Powerpoint: Copy the shape and set the copy to wireframe. Cut the copy and insert it as svg image. Move the image so that the lines cover the original shape. Save it. In LibreOffice: Open the file and set the shape to wireframe. Now you can easily compare the rendering of PowerPoint and LibreOffice. Extrusion can be used for images, that have a 3D-scene applied like in tdf#45495. That would work with this patch, but the related places are commented out because of tdf#159515. This patch does not cover lighting and material and it does not contain export. 3D-text is not contained in the patch. There are principle problems with 3D-text. Thus a solution requieres a lot, including additions to the ODF standard. The comments in tdf#70039 contain more about aspects, where MS Office and ODF are in principle incompatible in regard to 3D-effects. Change-Id: I8a5da536ade2a4b67630af221ea47e0288450188 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162594 Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de> Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
53 lines
1.5 KiB
Makefile
53 lines
1.5 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#*************************************************************************
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
#*************************************************************************
|
|
|
|
$(eval $(call gb_CppunitTest_CppunitTest,oox_testscene3d))
|
|
|
|
$(eval $(call gb_CppunitTest_use_externals,oox_testscene3d,\
|
|
boost_headers \
|
|
libxml2 \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_add_exception_objects,oox_testscene3d, \
|
|
oox/qa/unit/testscene3d \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_libraries,oox_testscene3d, \
|
|
comphelper \
|
|
cppu \
|
|
cppuhelper \
|
|
oox \
|
|
sal \
|
|
subsequenttest \
|
|
test \
|
|
unotest \
|
|
utl \
|
|
tl \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_sdk_api,oox_testscene3d))
|
|
|
|
$(eval $(call gb_CppunitTest_use_ure,oox_testscene3d))
|
|
$(eval $(call gb_CppunitTest_use_vcl,oox_testscene3d))
|
|
|
|
$(eval $(call gb_CppunitTest_use_rdb,oox_testscene3d,services))
|
|
|
|
$(eval $(call gb_CppunitTest_use_custom_headers,oox_testscene3d,\
|
|
officecfg/registry \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_configuration,oox_testscene3d))
|
|
|
|
$(eval $(call gb_CppunitTest_add_arguments,oox_testscene3d, \
|
|
-env:arg-env=$(gb_Helper_LIBRARY_PATH_VAR)"$$$${$(gb_Helper_LIBRARY_PATH_VAR)+=$$$$$(gb_Helper_LIBRARY_PATH_VAR)}" \
|
|
))
|
|
|
|
# vim: set noet sw=4 ts=4:
|