office-gobmx/lotuswordpro
Hossein 35c85effec Use M_PI instead of defined value; use rad2deg()
* Replace defined values of PI with M_PI defined in <cmath>
* Use M_PI_2 instead of PI / 2.0
* Instances could be found with:

    git grep 3.14 *.cxx *.hxx|grep define

* One instance is ignored:

  sc/source/core/opencl/opinlinefun_statistical.cxx

* Replace *(180 / PI) with basegfx::rad2deg()
* Replace 2*PI/360 with basegfx::deg2rad()
* Use atan2 instead of atan where it was more appropriate
  + atan2() handles all 4 quadrants
  + Extra conditions for different quadrants are removed

Change-Id: I083ee2e1427cd36ba0b8c38e4fe5f782d6486075
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124229
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-14 08:14:15 +01:00
..
inc Use M_PI instead of defined value; use rad2deg() 2021-11-14 08:14:15 +01:00
qa/cppunit
source/filter Use M_PI instead of defined value; use rad2deg() 2021-11-14 08:14:15 +01:00
util
CppunitTest_lotuswordpro_import_test.mk
CppunitTest_lotuswordpro_test_lotuswordpro.mk
IwyuFilter_lotuswordpro.yaml
Library_lwpft.mk
Makefile
Module_lotuswordpro.mk
README.md

Import Filter for File Format of Lotus Word Pro (lwp)

Description

The import is not direct, but via an intermediate format: StarOffice XML, the predecessor of ODF (yes, the code is old). The entry point to the filter is class LotusWordProImportFilter (refer to Source code section), but that just hooks up the necessary machinery for processing StarOffice XML produced by the filter. The real fun starts in function ReadWordproFile() (source/filter/lwpfilter.cxx); this function initializes the parser (class Lwp9Reader) and the SAX XML handler that produces the output (class XFSaxStream). The Lwp9Reader class then does the actual parsing.

If the module is built with debug level greater than 0, it is possible to examine the intermediate XML: set environment variable DBG_LWPIMPORT_DIR= to an existing directory and, on opening an lwp document, a file named lwpimport.xml will be created in that directory.

Source Code

Module Contents

  • inc: module-global headers (can be included by any file in source)
  • qa: cppunit tests
  • source: the filter itself
  • util: UNO passive registration config

Source Contents

  • filter: lwp document format parser
  • filter/LotusWordProImportFilter.cxx: the entry point to the filter
  • filter/xfilter: export to StarOffice XML