[Libreoffice-commits] core.git: Branch 'feature/opengl-canvas' - 25705 commits - accessibility/AllLangResTarget_acc.mk accessibility/bridge accessibility/CustomTarget_bridge_inc.mk accessibility/CustomTarget_bridge.mk accessibility/inc accessibility/Jar_accessibility.mk accessibility/Jar_uno_accessbridge.mk accessibility/Library_acc.mk accessibility/Library_java_uno_accessbridge.mk accessibility/Makefile accessibility/Module_accessibility.mk accessibility/Package_bridge_inc.mk accessibility/Package_bridge.mk accessibility/prj accessibility/README accessibility/source afms/delzip afms/ExternalPackage_fontunxafm.mk afms/Makefile afms/makefile.mk afms/Module_afms.mk afms/prj afms/README afms/UnpackedTarball_afms.mk android/abs-lib android/Bootstrap android/CustomTarget_android_desktop.mk android/CustomTarget_docloader.mk android/CustomTarget_lo4android.mk android/CustomTarget_sdremote.mk android/experimental android/experiments android/Makefile android/Module_android.mk android/qa android/RE ADME android/sdremote animations/inc animations/Library_animcore.mk animations/Makefile animations/Module_animations.mk animations/Package_inc.mk animations/Package_xml.mk animations/prj animations/README animations/source apache-commons/ExternalPackage_apache_commons_logging.mk apache-commons/ExternalProject_apache_commons_codec.mk apache-commons/ExternalProject_apache_commons_httpclient.mk apache-commons/ExternalProject_apache_commons_lang.mk apache-commons/ExternalProject_apache_commons_logging.mk apache-commons/java apache-commons/Makefile apache-commons/Module_apache-commons.mk apache-commons/Package_apache_commons_codec.mk apache-commons/Package_apache_commons_httpclient.mk apache-commons/Package_apache_commons_lang.mk apache-commons/patches apache-commons/prj apache-commons/README apache-commons/UnpackedTarball_apache_commons_codec.mk apache-commons/UnpackedTarball_apache_commons_httpclient.mk apache-commons/UnpackedTarball_apache_commons_lang.mk apache-commons/Unpack edTarball_apache_commons_logging.mk apple_remote/AppleRemote.m apple_remote/GlobalKeyboardDevice.m apple_remote/HIDRemoteControlDevice.m apple_remote/inc apple_remote/KeyspanFrontRowControl.m apple_remote/Library_AppleRemote.mk apple_remote/Makefile apple_remote/makefile.mk apple_remote/Module_apple_remote.mk apple_remote/MultiClickRemoteBehavior.m apple_remote/prj apple_remote/README apple_remote/RemoteControlContainer.m apple_remote/RemoteControl.m apple_remote/RemoteMainController.m apple_remote/source autodoc/Executable_autodoc.mk autodoc/inc autodoc/Makefile autodoc/Module_autodoc.mk autodoc/prj autodoc/README autodoc/source autogen.sh avmedia/AllLangResTarget_avmedia.mk avmedia/inc avmedia/Library_avmediagst_0_10.mk avmedia/Library_avmediagst.mk avmedia/Library_avmedia.mk avmedia/Library_avmediaQuickTime.mk avmedia/Library_avmediawin.mk avmedia/Makefile avmedia/Module_avmedia.mk avmedia/Package_inc.mk avmedia/prj avmedia/README avmedia/source avmedia/util basctl/AllLan gResTarget_basctl.mk basctl/inc basctl/Library_basctl.mk basctl/Makefile basctl/Module_basctl.mk basctl/Package_xml.mk basctl/prj basctl/README basctl/sdi basctl/source basctl/uiconfig basctl/UIConfig_basicide.mk basctl/util basebmp/CppunitTest_basebmp.mk basebmp/Executable_basebmp_cppunittester_all.mk basebmp/inc basebmp/Library_basebmp.mk basebmp/Makefile basebmp/Module_basebmp.mk basebmp/Package_inc.mk basebmp/prj basebmp/README basebmp/source basebmp/StaticLibrary_basebmp.mk basebmp/test basegfx/CppunitTest_basegfx.mk basegfx/Executable_basegfx_cppunittester_all.mk basegfx/inc basegfx/Library_basegfx.mk basegfx/Makefile basegfx/Module_basegfx.mk basegfx/Package_inc.mk basegfx/prj basegfx/qa basegfx/README basegfx/source basegfx/StaticLibrary_basegfx_s.mk basegfx/test basic/AllLangResTarget_sb.mk basic/CppunitTest_basic_coverage.mk basic/CppunitTest_basic_enable.mk basic/CppunitTest_basic_nested_struct.mk basic/CppunitTest_basic_scanner.mk basic/CppunitTest_basic_vba.mk b asic/inc basic/Library_sb.mk basic/Makefile basic/Module_basic.mk basic/Package_inc.mk basic/prj basic/qa basic/README basic/source basic/util bean/com bean/Jar_officebean.mk bean/JunitTest_bean_complex.mk bean/Library_officebean.mk bean/Makefile bean/Module_bean.mk bean/native bean/prj bean/qa bean/README beanshell/ExternalPackage_beanshell.mk beanshell/ExternalProject_beanshell.mk beanshell/Makefile beanshell/makefile.mk beanshell/Module_beanshell.mk beanshell/prj beanshell/README beanshell/UnpackedTarball_beanshell.mk bean/test berkeleydb/db-4.7.25-mingw.patch berkeleydb/db-4.7.25.patch berkeleydb/db-aix.patch berkeleydb/makefile.mk berkeleydb/prj binaryurp/CppunitTest_binaryurp_test-cache.mk binaryurp/CppunitTest_binaryurp_test-unmarshal.mk binaryurp/Library_binaryurp.mk binaryurp/Makefile binaryurp/Module_binaryurp.mk binaryurp/prj binaryurp/qa binaryurp/README binaryurp/source bin/convwatch.py bin/create_bootstrap_links bin/distro-install-clean-up bin/distro-install-de sktop-integration bin/distro-install-file-lists bin/distro-install-sdk bin/doubleNewlines.pl bin/find-german-comments bin/fuzzfiles bin/get-bugzilla-attachments-by-mimetype bin/get_config_variables bin/java-set-classpath.in bin/lint-ui.py bin/lo-commit-stat bin/lo-generate-source-tarball bin/lo-pack-sources bin/mkworkdir bin/module-deps.pl bin/moveglobalheaders.sh bin/README bin/repo-list.in bin/unpack-sources bin/update_pch.sh bin/verify-custom-widgets-libs bluez_bluetooth/inc bluez_bluetooth/Makefile bluez_bluetooth/Module_bluez_bluetooth.mk bluez_bluetooth/Package_inc.mk bluez_bluetooth/README boost/boost_1_44_0-clang-warnings.patch boost/boost_1_44_0-gcc4.7.patch boost/boost_1_44_0-gcc4.8.patch boost/boost_1_44_0-gthreads.patch boost/boost_1_44_0-logical-op-parentheses.patch boost/boost_1_44_0.patch boost/boost_1_44_0-unused-parameters.patch boost/boost.4100.warnings.patch boost/boost.4127.warnings.patch boost/boost.4510.warnings.patch boost/boost.4713.warnings.patch boo st/boost.4874.patch boost/boost.6139.clang.patch boost/boost.6142.warnings.patch.1 boost/boost.6369.warnings.patch boost/boost.6397.warnings.patch boost/boost.6940.glibc.patch boost/boost.7551.unusedvars.patch boost/boost.7774.warnings.patch.1 boost/boost.mipsbackport.patch boost/boost.ptree.patch boost/boost.vc2012.patch boost/boost.wundef.patch.1 boost/Makefile boost/makefile.mk boost/Module_boost.mk boost/prj boost/README boost/README.Regex_Experimental boost/Regex_Experimental.tar.gz boost/StaticLibrary_boostdatetime.mk boost/StaticLibrary_boostthread.mk boost/UnpackedTarball_boost.mk bootstrap bridges/CustomTarget_gcc3_ios_arm.mk bridges/CustomTarget_gcc3_linux_arm.mk bridges/inc bridges/Jar_java_uno.mk bridges/Library_cpp_uno.mk bridges/Library_java_uno.mk bridges/Makefile bridges/Module_bridges.mk bridges/prj bridges/README bridges/source bridges/test bridges/unotypes bridges/version.mk build_env.in cairo/cairo cairo/cairo-1.10.2.android.patch cairo/cairo-1.10.2.confi gure_ac.patch cairo/cairo-1.10.2.ios.patch cairo/cairo-1.10.2.no-atsui.patch cairo/cairo-1.10.2.patch cairo/cairo-1.10.2.wntmsc.patch cairo/cairo.dlsym.lcdfilter.patch cairo/ExternalPackage_cairo.mk cairo/ExternalPackage_pixman.mk cairo/ExternalProject_cairo.mk cairo/ExternalProject_pixman.mk cairo/Makefile cairo/Module_cairo.mk cairo/pixman cairo/pixman-0.24.0.android.patch cairo/pixman-0.24.0.patch cairo/prj cairo/README cairo/UnpackedTarball_cairo.mk cairo/UnpackedTarball_pixman.mk canvas/inc canvas/Library_cairocanvas.mk canvas/Library_canvasfactory.mk canvas/Library_canvastools.mk canvas/Library_directx5canvas.mk canvas/Library_directx9canvas.mk canvas/Library_gdipluscanvas.mk canvas/Library_nullcanvas.mk canvas/Library_oglcanvas.mk canvas/Library_simplecanvas.mk canvas/Library_vclcanvas.mk canvas/Makefile canvas/Module_canvas.mk canvas/overview.txt canvas/Package_inc.mk canvas/prj canvas/README canvas/source canvas/StaticLibrary_directxcanvas.mk canvas/workben chart2/A llLangResTarget_chartcontroller.mk chart2/CppunitTest_chart2_exporttest.mk chart2/CppunitTest_chart2_importtest.mk chart2/JunitTest_chart2_unoapi.mk chart2/Library_chartcontroller.mk chart2/Library_chartcore.mk chart2/Library_chartmodel.mk chart2/Library_charttools.mk chart2/Library_chartview.mk chart2/Makefile chart2/Module_chart2.mk chart2/Package_uiconfig.mk chart2/prj chart2/qa chart2/README chart2/source chart2/uiconfig chart2/UIConfig_chart2.mk chart2/workbench cli_ure/CliLibrary_cli_basetypes.mk cli_ure/CliLibrary_cli_ure.mk cli_ure/CliNativeLibrary_cli_cppuhelper.mk cli_ure/CliUnoApi_cli_uretypes.mk cli_ure/CustomTarget_cli_ure_assemblies.mk cli_ure/Executable_climaker.mk cli_ure/inc cli_ure/Library_cli_cppuhelper_native.mk cli_ure/Library_cli_uno.mk cli_ure/Makefile cli_ure/Module_cli_ure.mk cli_ure/Package_config.mk cli_ure/Package_version.mk cli_ure/prj cli_ure/qa cli_ure/README cli_ure/readme.txt cli_ure/source cli_ure/unotypes cli_ure/util cli_ure/version cli_ur e/workbench clucene/configs clucene/ExternalPackage_clucene.mk clucene/Library_clucene.mk clucene/Makefile clucene/Module_clucene.mk clucene/patches clucene/README clucene/UnpackedTarball_clucene.mk codemaker/codemaker.pmk codemaker/Executable_cppumaker.mk codemaker/Executable_javamaker.mk codemaker/inc codemaker/Makefile codemaker/Module_codemaker.mk codemaker/prj codemaker/README codemaker/source codemaker/StaticLibrary_codemaker_cpp.mk codemaker/StaticLibrary_codemaker_java.mk codemaker/StaticLibrary_codemaker.mk codemaker/test comphelper/CppunitTest_comphelper_test.mk comphelper/inc comphelper/JunitTest_comphelper_complex.mk comphelper/Library_comphelper.mk comphelper/Library_comphelp.mk comphelper/Makefile comphelper/Module_comphelper.mk comphelper/Package_inc.mk comphelper/prj comphelper/qa comphelper/README comphelper/source comphelper/test comphelper/util compilerplugins/clang compilerplugins/.gitignore compilerplugins/Makefile compilerplugins/Makefile-clang.mk compi lerplugins/Makefile.mk compilerplugins/README config_host/config_clang.h.in config_host/config_features.h.in config_host/config_global.h.in config_host/config_graphite.h.in config_host/config_harfbuzz.h.in config_host/config_kde4.h.in config_host/config_lgpl.h.in config_host/config_mingw.h.in config_host/config_oox.h.in config_host/config_telepathy.h.in config_host/config_typesizes.h.in config_host/config_vclplug.h.in config_host/config_version.h.in config_host/.gitignore config_host.mk.in config_host/README configmgr/JunitTest_configmgr_unoapi.mk configmgr/Library_configmgr.mk configmgr/Makefile configmgr/Module_configmgr.mk configmgr/prj configmgr/qa configmgr/README configmgr/source configure.ac configure.in connectivity/AllLangResTarget_cnr.mk connectivity/AllLangResTarget_sdbcl.mk connectivity/AllLangResTarget_sdberr.mk connectivity/com connectivity/Configuration_ado.mk connectivity/Configuration_calc.mk connectivity/Configuration_dbase.mk connectivity/Configuration_evo ab.mk connectivity/Configuration_flat.mk connectivity/Configuration_hsqldb.mk connectivity/Configuration_jdbc.mk connectivity/Configuration_kab.mk connectivity/Configuration_macab.mk connectivity/Configuration_mork.mk connectivity/Configuration_mozab.mk connectivity/Configuration_mysql.mk connectivity/Configuration_odbc.mk connectivity/Configuration_postgresql.mk connectivity/Configuration_tdeab.mk connectivity/CppunitTest_connectivity_ado.mk connectivity/CppunitTest_connectivity_commontools.mk connectivity/CppunitTest_connectivity_mork.mk connectivity/dbtools.pmk connectivity/Executable_mork_helper.mk connectivity/inc connectivity/Jar_ConnectivityTools.mk connectivity/Jar_sdbc_hsqldb.mk connectivity/JunitTest_complex.mk connectivity/Library_ado.mk connectivity/Library_calc.mk connectivity/Library_dbase.mk connectivity/Library_dbpool2.mk connectivity/Library_dbtools.mk connectivity/Library_evoab.mk connectivity/Library_file.mk connectivity/Library_flat.mk connectivity/Librar y_hsqldb.mk connectivity/Library_jdbc.mk connectivity/Library_kab1.mk connectivity/Library_kabdrv1.mk connectivity/Library_macab1.mk connectivity/Library_macabdrv1.mk connectivity/Library_mork.mk connectivity/Library_mozabdrv.mk connectivity/Library_mozab.mk connectivity/Library_mozbootstrap.mk connectivity/Library_mysql.mk connectivity/Library_odbcbase.mk connectivity/Library_odbc.mk connectivity/Library_postgresql-sdbc-impl.mk connectivity/Library_postgresql-sdbc.mk connectivity/Library_sdbc2.mk connectivity/Library_tdeab1.mk connectivity/Library_tdeabdrv1.mk connectivity/Makefile connectivity/makefile.pmk connectivity/Module_connectivity.mk connectivity/org connectivity/Package_generated.mk connectivity/Package_postgresql-sdbc.mk connectivity/prj connectivity/qa connectivity/Rdb_postgresql-sdbc.mk connectivity/README connectivity/registry connectivity/source connectivity/target.pmk connectivity/util connectivity/version.mk connectivity/workben cosv/inc cosv/Makefile cosv/ Module_cosv.mk cosv/prj cosv/README cosv/source cosv/StaticLibrary_cosv.mk cosv/util cppcanvas/inc cppcanvas/Library_cppcanvas.mk cppcanvas/Library_mtfrenderer.mk cppcanvas/Makefile cppcanvas/Module_cppcanvas.mk cppcanvas/Package_inc.mk cppcanvas/prj cppcanvas/README cppcanvas/source cppu/CppunitTest_cppu_qa_any.mk cppu/CppunitTest_cppu_qa_recursion.mk cppu/CppunitTest_cppu_qa_reference.mk cppu/CppunitTest_cppu_qa_unotype.mk cppu/CppunitTest_cppu_test_cppumaker.mk cppuhelper/CppunitTest_cppuhelper_cppu_ifcontainer.mk cppuhelper/CppunitTest_cppuhelper_cppu_unourl.mk cppuhelper/CppunitTest_cppuhelper_qa_weak.mk cppuhelper/inc cppuhelper/InternalUnoApi_cppuhelper.mk cppuhelper/Library_cppuhelper.mk cppuhelper/Makefile cppuhelper/Module_cppuhelper.mk cppuhelper/Package_findsofficepath.mk cppuhelper/Package_inc.mk cppuhelper/Package_unorc.mk cppuhelper/Package_unotypes.mk cppuhelper/prj cppuhelper/qa cppuhelper/README cppuhelper/source cppuhelper/StaticLibrary_findsofficepath.mk cppuhelper/test cppuhelper/unotypes cppu/inc cppu/InternalUnoApi_cppu.mk cppu/Library_affine_uno.mk cppu/Library_cppu.mk cppu/Library_log_uno.mk cppu/Library_purpenvhelper.mk cppu/Library_unsafe_uno.mk cppu/Makefile cppu/Module_cppu.mk cppunit/aix.patch cppunit/android.patch cppunit/avoid-synthetised-destructor.patch cppunit/cppunit-1.12.1-unused-parameters.patch cppunit/disable-dynloading.patch cppunit/ExternalPackage_cppunit.mk cppunit/ExternalProject_cppunit.mk cppunit/ios.patch cppunit/ldflags.patch cppunit/Makefile cppunit/makefile.mk cppunit/Module_cppunit.mk cppunit/ooo-cppunit_dll.mk cppunit/ooo-DllPlugInTester.mk cppunit/prj cppunit/README cppunit/solarisfinite.patch cppunit/unix.patch cppunit/UnpackedTarball_cppunit.mk cppunit/warnings.patch cppunit/windows.patch cppunit/wundef.patch cppu/Package_generated.mk cppu/Package_inc.mk cppu/prj cppu/qa cppu/README cppu/source cpputools/Executable_sp2bv.mk cpputools/Executable_uno.mk cpputools/Makefile cpputools/Module_cpp utools.mk cpputools/Package_bin.mk cpputools/prj cpputools/README cpputools/source cppu/util crashrep/CustomTarget_crashrep_res.mk crashrep/Executable_crashrep.mk crashrep/Makefile crashrep/Module_crashrep.mk crashrep/prj crashrep/README crashrep/source crashrep/WinResTarget_crashrep.mk cross_toolset/prj ct2n/ConvertTextToNumber-1.3.2-no-license.patch ct2n/ConvertTextToNumber-1.3.2-no-visible-by-default.patch ct2n/delzip ct2n/description-en-US.txt ct2n/ExternalPackage_ct2n.mk ct2n/Makefile ct2n/makefile.mk ct2n/Module_ct2n.mk ct2n/prj ct2n/README ct2n/UnpackedTarball_ct2n.mk cui/AllLangResTarget_cui.mk cui/Library_cui.mk cui/Makefile cui/Module_cui.mk cui/prj cui/README cui/source cui/uiconfig cui/UIConfig_cui.mk cui/util curl/curl-7.19.7_mingw.patch curl/curl-7.19.7.patch curl/curl-7.19.7_win.patch curl/curl-7.26.0_mingw.patch curl/curl-7.26.0_nspr.patch curl/curl-7.26.0.patch curl/curl-7.26.0_win.patch curl/curl-7.26.0_win-proxy.patch curl/curl-aix.patch curl/curl-android. patch curl/ExternalPackage_curl.mk curl/ExternalProject_curl.mk curl/Makefile curl/makefile.mk curl/Module_curl.mk curl/prj curl/README curl/UnpackedTarball_curl.mk dbaccess/AllLangResTarget_adabasui.mk dbaccess/AllLangResTarget_dba.mk dbaccess/AllLangResTarget_dbmm.mk dbaccess/AllLangResTarget_dbui.mk dbaccess/AllLangResTarget_dbu.mk dbaccess/AllLangResTarget_sdbt.mk dbaccess/CppunitTest_dbaccess_macros_test.mk dbaccess/Executable_odbcconfig.mk dbaccess/inc dbaccess/JunitTest_dbaccess_complex.mk dbaccess/JunitTest_dbaccess_unoapi.mk dbaccess/Library_adabasui.mk dbaccess/Library_dba.mk dbaccess/Library_dbaxml.mk dbaccess/Library_dbmm.mk dbaccess/Library_dbui.mk dbaccess/Library_dbu.mk dbaccess/Library_sdbt.mk dbaccess/Makefile dbaccess/Module_dbaccess.mk dbaccess/Package_inc.mk dbaccess/Package_uiconfig.mk dbaccess/Package_xml.mk dbaccess/prj dbaccess/qa dbaccess/README dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk dbaccess/UIConfig_dbapp.mk dbaccess/UIConf ig_dbbrowser.mk dbaccess/UIConfig_dbquery.mk dbaccess/UIConfig_dbrelation.mk dbaccess/UIConfig_dbtable.mk dbaccess/UIConfig_dbtdata.mk dbaccess/util dbaccess/win32 desktop/AllLangResTarget_deploymentgui.mk desktop/AllLangResTarget_deployment.mk desktop/AllLangResTarget_dkt.mk desktop/branding desktop/CustomTarget_soffice.mk desktop/Executable_crashrep.com.mk desktop/Executable_officeloader.mk desktop/Executable_oosplash.mk desktop/Executable_quickstart.mk desktop/Executable_sbase.mk desktop/Executable_scalc.mk desktop/Executable_sdraw.mk desktop/Executable_simpress.mk desktop/Executable_smath.mk desktop/Executable_soffice_bin.mk desktop/Executable_soffice.bin.mk desktop/Executable_soffice.mk desktop/Executable_sweb.mk desktop/Executable_swriter.mk desktop/Executable_unoinfo.mk desktop/Executable_unopkg.bin.mk desktop/Executable_unopkg.com.mk desktop/Executable_unopkg.mk desktop/Extension_test-passive.mk desktop/inc desktop/Jar_passive_java.mk desktop/Library_deploymentgui.mk desktop/Library_deploymentmisc.mk desktop/Library_deployment.mk desktop/Library_libreoffice.mk desktop/Library_migrationoo2.mk desktop/Library_migrationoo3.mk desktop/Library_offacc.mk desktop/Library_passive_native.mk desktop/Library_sofficeapp.mk desktop/Library_spl.mk desktop/Library_spl_unx.mk desktop/Library_unopkgapp.mk desktop/Makefile desktop/Module_desktop.mk desktop/Package_branding_custom.mk desktop/Package_branding.mk desktop/Package_intro.mk desktop/Package_pagein_install.mk desktop/Package_scripts_install.mk desktop/Package_scripts.mk desktop/Package_soffice_bin.mk desktop/Package_soffice_sh.mk desktop/Pagein_calc.mk desktop/Pagein_common.mk desktop/Pagein_draw.mk desktop/Pagein_impress.mk desktop/Pagein.mk desktop/Pagein_writer.mk desktop/prj desktop/Pyuno_passive_python.mk desktop/qa desktop/Rdb_passive_generic.mk desktop/Rdb_passive_platform.mk desktop/README desktop/scripts desktop/source desktop/StaticLibrary_winextendloaderenv.mk desktop/StaticLibrary_wi nlauncher.mk desktop/test desktop/uiconfig desktop/UIConfig_deployment.mk desktop/unx desktop/util desktop/win32 desktop/WinResTarget_quickstart.mk desktop/WinResTarget_sbase.mk desktop/WinResTarget_scalc.mk desktop/WinResTarget_sdraw.mk desktop/WinResTarget_simpress.mk desktop/WinResTarget_smath.mk desktop/WinResTarget_sofficebin.mk desktop/WinResTarget_soffice.mk desktop/WinResTarget_sweb.mk desktop/WinResTarget_swriter.mk desktop/Zip_brand_dev.mk desktop/Zip_brand.mk desktop/Zip_shell.mk dictionaries distro-configs/LibreOfficeAndroid.conf distro-configs/LibreOfficeAndroidX86.conf distro-configs/LibreOfficeDragonFly.conf distro-configs/LibreOfficeiOS.conf distro-configs/LibreOfficeLinux.conf distro-configs/LibreOfficeMacOSX.conf distro-configs/LibreOfficeMinGW.conf distro-configs/LibreOfficeOpenBSD.conf distro-configs/LibreOfficeWin32.conf distro-configs/LibreOfficeWin64.conf distro-configs/OxygenOfficeLinux.conf distro-configs/OxygenOfficeWin32.conf distro-configs/README dmake/acinclude.m4 dmake/aclocal.m4 dmake/alloc.h dmake/AUTHORS dmake/autogen.sh dmake/ChangeLog dmake/compile dmake/config.guess dmake/config.h.in dmake/config.sub dmake/configure dmake/configure.in dmake/COPYING dmake/dag.c dmake/db.h dmake/dbug dmake/depcomp dmake/dmake.c dmake/dmake.h dmake/dmakeroot.h.in dmake/dmdump.c dmake/dmstring.c dmake/dstdarg.h dmake/expand.c dmake/extern.h dmake/function.c dmake/getinp.c dmake/.gitignore dmake/hash.c dmake/imacs.c dmake/infer.c dmake/INSTALL dmake/install-sh dmake/itypes.h dmake/macparse.c dmake/make.bat dmake/make.c dmake/make.cmd dmake/Makefile.am dmake/Makefile.in dmake/makefile.mk dmake/man dmake/missing dmake/mkinstalldirs dmake/msdos dmake/NEWS dmake/os2 dmake/parse.c dmake/path.c dmake/percent.c dmake/posix.h dmake/qssl dmake/quit.c dmake/rcsclean.awk dmake/readme dmake/rulparse.c dmake/stamp-h dmake/startup dmake/stat.c dmake/state.c dmake/stdmacs.h dmake/struct.h dmake/sysintf.c dmake/tests dmake/tos dmake/unix dmake/ve xtern.h dmake/win95 dmake/winnt download download.lst drawinglayer/drawinglayer.component drawinglayer/inc drawinglayer/Library_drawinglayer.mk drawinglayer/Makefile drawinglayer/Module_drawinglayer.mk drawinglayer/Package_inc.mk drawinglayer/prj drawinglayer/README drawinglayer/source drawinglayer/util dtrans/Library_dnd.mk dtrans/Library_dtrans.mk dtrans/Library_ftransl.mk dtrans/Library_mcnttype.mk dtrans/Library_sysdtrans.mk dtrans/Makefile dtrans/Package_xml.mk dtrans/prj dtrans/README dtrans/source dtrans/StaticLibrary_dtobj.mk dtrans/test dtrans/util editeng/AllLangResTarget_editeng.mk editeng/CppunitTest_editeng_borderline.mk editeng/CppunitTest_editeng_core.mk editeng/CppunitTest_editeng_lookuptree.mk editeng/inc editeng/Library_editeng.mk editeng/Makefile editeng/Module_editeng.mk editeng/Package_inc.mk editeng/prj editeng/qa editeng/README editeng/source editeng/util embeddedobj/inc embeddedobj/Library_embobj.mk embeddedobj/Library_emboleobj.mk embeddedobj/Makefil e embeddedobj/Module_embeddedobj.mk embeddedobj/prj embeddedobj/qa embeddedobj/README embeddedobj/source embeddedobj/test embeddedobj/util embedserv/Library_emser.mk embedserv/Library_inprocserv.mk embedserv/Makefile embedserv/Module_embedserv.mk embedserv/prj embedserv/README embedserv/source embedserv/util epm/ExternalPackage_epm.mk epm/ExternalProject_epm.mk epm/Makefile epm/makefile.mk epm/Module_epm.mk epm/prj epm/README epm/UnpackedTarball_epm.mk eventattacher/Library_evtatt.mk eventattacher/Makefile eventattacher/Module_eventattacher.mk eventattacher/prj eventattacher/README eventattacher/source expat/expat-2.0.1.patch expat/expat-2.1.0.patch expat/expat-winapi.patch expat/ExternalPackage_expat.mk expat/ExternalProject_expat.mk expat/Makefile expat/makefile.mk expat/Module_expat.mk expat/prj expat/README expat/StaticLibrary_expat.mk expat/StaticLibrary_expat_x64.mk expat/UnpackedTarball_expat.mk extensions/AllLangResTarget_abp.mk extensions/AllLangResTarget_bib.mk ext ensions/AllLangResTarget_dbp.mk extensions/AllLangResTarget_pcr.mk extensions/AllLangResTarget_scn.mk extensions/AllLangResTarget_updchk.mk extensions/AllLangResTarget_upd.mk extensions/Configuration_updchk.mk extensions/CppunitTest_extensions_test_update.mk extensions/CustomTarget_so_activex_idl.mk extensions/CustomTarget_so_activex_x64.mk extensions/Executable_nsplugin.mk extensions/Executable_pluginapp.bin.mk extensions/inc extensions/JunitTest_extensions_unoapi.mk extensions/Library_abp.mk extensions/Library_bib.mk extensions/Library_dbp.mk extensions/Library_ldapbe2.mk extensions/Library_log.mk extensions/Library_npsoplugin.mk extensions/Library_oleautobridge2.mk extensions/Library_oleautobridge.mk extensions/Library_OOoSpotlightImporter.mk extensions/Library_pcr.mk extensions/Library_pl.mk extensions/Library_res.mk extensions/Library_scn.mk extensions/Library_so_activex.mk extensions/Library_so_activex_x64.mk extensions/Library_updatecheckui.mk extensions/Library_updat efeed.mk extensions/Library_updchk.mk extensions/Makefile extensions/Module_extensions.mk extensions/Package_bib.mk extensions/Package_mdibundle.mk extensions/Package_OOoSpotlightImporter.mk extensions/Package_pcr.mk extensions/prj extensions/qa extensions/README extensions/source extensions/StaticLibrary_npsoenv.mk extensions/StaticLibrary_plugcon.mk extensions/test extensions/uiconfig extensions/UIConfig_sbibliography.mk extensions/WinResTarget_activex.mk extensions/WinResTarget_npsoplugin.mk extensions/workben extensions/Zip_mdibundle.mk external/CustomTarget_jawt.mk external/CustomTarget_wine.mk external/dbghelp external/gcc3_specific external/gdiplus external/glibc external/glibc-2.1.3.patch external/jawt external/Makefile external/mingw-dlls external/mingwheaders external/Module_external.mk external/msm90 external/msvcp100 external/msvcp80 external/msvcp90 external/Package_dbghelp.mk external/Package_jawt.mk external/Package_mingw_dlls.mk external/Package_mingw_gccdlls .mk external/Package_msms.mk external/Package_msvc80_dlls.mk external/Package_msvc_dlls_debug.mk external/Package_msvc_dlls.mk external/Package_wine.mk external/prj external/StaticLibrary_gnu_getopt.mk external/StaticLibrary_gnu_readdir_r.mk external/unowinreg external/UnpackedTarball_glibc.mk external/wine extras/AllLangPackage_accessoriessamplesadvertisement.mk extras/AllLangPackage_accessoriessamplesdocumentation.mk extras/AllLangPackage_accessoriessamples.mk extras/AllLangPackage_accessoriessamplesnonfreeadvertisement.mk extras/AllLangPackage_accessoriessamplesnonfreedocumentation.mk extras/AllLangPackage_accessoriessamplesnonfree.mk extras/AllLangPackage_accessoriestemplateseducate.mk extras/AllLangPackage_accessoriestemplatesfinance.mk extras/AllLangPackage_accessoriestemplatesforms.mk extras/AllLangPackage_accessoriestemplateslabels.mk extras/AllLangPackage_accessoriestemplateslayout.mk extras/AllLangPackage_accessoriestemplatesmisc.mk extras/AllLangPackage_accessorie stemplates.mk extras/AllLangPackage_accessoriestemplatesnonfreeeducate.mk extras/AllLangPackage_accessoriestemplatesnonfreefinance.mk extras/AllLangPackage_accessoriestemplatesnonfreeforms.mk extras/AllLangPackage_accessoriestemplatesnonfreelabels.mk extras/AllLangPackage_accessoriestemplatesnonfreelayout.mk extras/AllLangPackage_accessoriestemplatesnonfreemisc.mk extras/AllLangPackage_accessoriestemplatesnonfree.mk extras/AllLangPackage_accessoriestemplatesnonfreeofficorr.mk extras/AllLangPackage_accessoriestemplatesnonfreeoffimisc.mk extras/AllLangPackage_accessoriestemplatesnonfreepersonal.mk extras/AllLangPackage_accessoriestemplatesnonfreepresent.mk extras/AllLangPackage_accessoriestemplatesofficorr.mk extras/AllLangPackage_accessoriestemplatesoffimisc.mk extras/AllLangPackage_accessoriestemplatespersonal.mk extras/AllLangPackage_accessoriestemplatespresent.mk extras/AllLangPackage_autotextshare.mk extras/CustomTarget_autocorr.mk extras/CustomTarget_glade.mk extras/Exte rnalPackage_accessoriesgallerydrawspeople.mk extras/ExternalPackage_accessoriesgalleryelementsbullets2.mk extras/ExternalPackage_accessoriesgallery.mk extras/ExternalPackage_accessoriesgallerynonfree.mk extras/ExternalPackage_accessoriesgalleryphotosbuildings.mk extras/ExternalPackage_accessoriesgalleryphotoscelebration.mk extras/ExternalPackage_accessoriesgalleryphotoscities.mk extras/ExternalPackage_accessoriesgalleryphotosfauna.mk extras/ExternalPackage_accessoriesgalleryphotosflowers.mk extras/ExternalPackage_accessoriesgalleryphotosfoodsanddrinks.mk extras/ExternalPackage_accessoriesgalleryphotoshumans.mk extras/ExternalPackage_accessoriesgalleryphotoslandscapes.mk extras/ExternalPackage_accessoriesgalleryphotosobjects.mk extras/ExternalPackage_accessoriesgalleryphotosplants.mk extras/ExternalPackage_accessoriesgalleryphotosspace.mk extras/ExternalPackage_accessoriesgalleryphotosstatues.mk extras/ExternalPackage_accessoriesgalleryphotostravel.mk extras/ExternalPackage_a ccessoriestemplatescommoneducate.mk extras/ExternalPackage_accessoriestemplatescommonfinance.mk extras/ExternalPackage_accessoriestemplatescommonforms.mk extras/ExternalPackage_accessoriestemplatescommonlabels.mk extras/ExternalPackage_accessoriestemplatescommonlayout.mk extras/ExternalPackage_accessoriestemplatescommonmisc.mk extras/ExternalPackage_accessoriestemplatescommon.mk extras/ExternalPackage_accessoriestemplatescommonofficorr.mk extras/ExternalPackage_accessoriestemplatescommonoffimisc.mk extras/ExternalPackage_accessoriestemplatescommonpersonal.mk extras/ExternalPackage_accessoriestemplatescommonpresent.mk extras/ExternalPackage_extra_fonts.mk extras/Makefile extras/Module_extras.mk extras/Package_autocorr.mk extras/Package_autotextuser.mk extras/Package_cfgsrvbitmapunx.mk extras/Package_cfgsrvnolang.mk extras/Package_cfgusr.mk extras/Package_databasebiblio.mk extras/Package_database.mk extras/Package_extensions.mk extras/Package_fonts.mk extras/Package_gallbullet s.mk extras/Package_gallhtmlexpo.mk extras/Package_gallroot.mk extras/Package_gallsound.mk extras/Package_gallsounds.mk extras/Package_gallsystem.mk extras/Package_gallwwwback.mk extras/Package_gallwwwgraf.mk extras/Package_glade.mk extras/Package_labels.mk extras/Package_newfiles.mk extras/Package_palettes.mk extras/Package_tpllayoutimpr.mk extras/Package_tplwizagenda.mk extras/Package_tplwizbitmap.mk extras/Package_tplwizdesktop.mk extras/Package_tplwizfax.mk extras/Package_tplwizletter.mk extras/Package_tplwizreport.mk extras/Package_tplwizstyles.mk extras/Package_wordbook.mk extras/prj extras/README extras/source extras/UnpackedTarball_fonts_pack.mk extras/UnpackedTarball_gallery_pack.mk extras/UnpackedTarball_samples_pack.mk extras/UnpackedTarball_templates_pack.mk extras/unx extras/util fileaccess/Library_fileacc.mk fileaccess/Makefile fileaccess/Module_fileaccess.mk fileaccess/prj fileaccess/README fileaccess/source filter/AllLangResTarget_eps.mk filter/AllLangResTarg et_flash.mk filter/AllLangResTarget_pdffilter.mk filter/AllLangResTarget_t602filter.mk filter/AllLangResTarget_xsltdlg.mk filter/Configuration_filter.mk filter/CppunitTest_filter_pict_test.mk filter/CppunitTest_filter_tga_test.mk filter/CppunitTest_filter_tiff_test.mk filter/CustomTarget_svg.mk filter/Executable_svg2odf.mk filter/inc filter/Jar_XSLTFilter.mk filter/Jar_XSLTValidate.mk filter/JunitTest_filter_complex.mk filter/Library_egi.mk filter/Library_eme.mk filter/Library_epb.mk filter/Library_epg.mk filter/Library_epp.mk filter/Library_eps.mk filter/Library_ept.mk filter/Library_era.mk filter/Library_eti.mk filter/Library_exp.mk filter/Library_filterconfig.mk filter/Library_filtertracer.mk filter/Library_flash.mk filter/Library_graphicfilter.mk filter/Library_icd.mk filter/Library_icg.mk filter/Library_idx.mk filter/Library_ime.mk filter/Library_ipb.mk filter/Library_ipd.mk filter/Library_ips.mk filter/Library_ipt.mk filter/Library_ipx.mk filter/Library_ira.mk filter/L ibrary_itg.mk filter/Library_iti.mk filter/Library_msfilter.mk filter/Library_odfflatxml.mk filter/Library_pdffilter.mk filter/Library_placeware.mk filter/Library_PptImporter.mk filter/Library_svgfilter.mk filter/Library_t602filter.mk filter/Library_textfd.mk filter/Library_xmlfa.mk filter/Library_xmlfd.mk filter/Library_xsltdlg.mk filter/Library_xsltfilter.mk filter/Makefile filter/Module_filter.mk filter/Package_docbook.mk filter/Package_filter_generated.mk filter/Package_inc.mk filter/Package_xhtml.mk filter/Package_xslt.mk filter/prj filter/qa filter/README filter/source filter/uiconfig filter/UIConfig_xsltdlg.mk firefoxos/sdremote fontconfig/ExternalPackage_fontconfig.mk fontconfig/ExternalProject_fontconfig.mk fontconfig/fontconfig-2.8.0.patch fontconfig/Makefile fontconfig/makefile.mk fontconfig/Module_fontconfig.mk fontconfig/prj fontconfig/README fontconfig/UnpackedTarball_fontconfig.mk forms/AllLangResTarget_frm.mk forms/JunitTest_forms_complex.mk forms/JunitTest_f orms_unoapi.mk forms/Library_frm.mk forms/Makefile forms/Module_forms.mk forms/Package_unotypes.mk forms/prj forms/qa forms/README forms/source forms/util formula/AllLangResTarget_for.mk formula/AllLangResTarget_forui.mk formula/inc formula/Library_for.mk formula/Library_forui.mk formula/Makefile formula/Module_formula.mk formula/Package_inc.mk formula/prj formula/README formula/source formula/util fpicker/AllLangResTarget_fps_office.mk fpicker/Executable_kdefilepicker.mk fpicker/Library_fop.mk fpicker/Library_fpicker.mk fpicker/Library_fps_aqua.mk fpicker/Library_fps_kde4.mk fpicker/Library_fps_kde.mk fpicker/Library_fps.mk fpicker/Library_fps_odma.mk fpicker/Library_fps_office.mk fpicker/Makefile fpicker/Module_fpicker.mk fpicker/Package_kde4_moc.mk fpicker/Package_kde_moc.mk fpicker/Package_xml.mk fpicker/prj fpicker/README fpicker/source fpicker/test fpicker/util fpicker/WinResTarget_fps.mk framework/AllLangResTarget_fwe.mk framework/dtd framework/inc framework/JunitTest _framework_complex.mk framework/JunitTest_framework_unoapi.mk framework/Library_fwe.mk framework/Library_fwi.mk framework/Library_fwk.mk framework/Library_fwl.mk framework/Library_fwm.mk framework/Library_lomenubar.mk framework/Makefile framework/Module_framework.mk framework/Package_dtd.mk framework/Package_inc.mk framework/Package_uiconfig.mk framework/Package_unotypes.mk framework/prj framework/qa framework/README framework/source framework/uiconfig framework/UIConfig_startmodule.mk framework/util freetype/ExternalPackage_freetype.mk freetype/ExternalProject_freetype.mk freetype/Makefile freetype/makefile.mk freetype/Module_freetype.mk freetype/prj freetype/README freetype/UnpackedTarball_freetype.mk g gdk-pixbuf/gdk-pixbuf-2.23.0.patch gdk-pixbuf/gdk-pixbuf-2.23.0-win32.patch gdk-pixbuf/makefile.mk gdk-pixbuf/prj gettext/gettext-0.18.1.1.patch gettext/gettext-0.18.1.1.stpncpy.patch gettext/makefile.mk gettext/prj .git-hooks/commit-msg git-hooks/commit-msg .git-hooks/post -merge git-hooks/post-merge .git-hooks/pre-commit git-hooks/pre-commit .git-hooks/README .gitignore .gitmodules .gitreview glib/glib-2.28.1.noise.patch glib/glib-2.28.1.patch glib/glib-2.28.1-win32-2.patch glib/glib-2.28.1-win32.patch glib/makefile.mk glib/prj graphite/graphite-2.3.1_debug.patch graphite/graphite2.issue1030.patch.1 graphite/graphite2.issue1115.patch.1 graphite/graphite2.patch graphite/graphite2.placementnew.patch graphite/graphite_make.patch graphite/Makefile graphite/makefile.mk graphite/Module_graphite.mk graphite/prj graphite/README graphite/StaticLibrary_graphite.mk graphite/UnpackedTarball_graphite.mk guw/guw.cc guw/makefile harfbuzz/ExternalPackage_harfbuzz.mk harfbuzz/ExternalProject_harfbuzz.mk harfbuzz/harfbuzz.configure.patch.1 harfbuzz/Makefile harfbuzz/Module_harfbuzz.mk harfbuzz/README harfbuzz/UnpackedTarball_harfbuzz.mk helpcompiler/Executable_helpindexer.mk helpcompiler/Executable_helplinker.mk helpcompiler/inc helpcompiler/Library_helplinker .mk helpcompiler/Makefile helpcompiler/Module_helpcompiler.mk helpcompiler/Package_inc.mk helpcompiler/source helpcontent2 hsqldb/ExternalPackage_hsqldb.mk hsqldb/ExternalProject_hsqldb.mk hsqldb/Makefile hsqldb/makefile.mk hsqldb/Module_hsqldb.mk hsqldb/patches hsqldb/prj hsqldb/README hsqldb/UnpackedTarball_hsqldb.mk hsqldb/version.mk hunspell/ExternalPackage_hunspell.mk hunspell/ExternalProject_hunspell.mk hunspell/hunspell-1.3.2-compound.patch hunspell/hunspell-1.3.2-literal.patch hunspell/hunspell-1.3.2-nullptr.patch hunspell/hunspell-1.3.2-overflow.patch hunspell/hunspell.rhbz918938.patch hunspell/hunspell-static.patch hunspell/hunspell-wntconfig.patch hunspell/hunspell-wundef.patch.1 hunspell/Makefile hunspell/makefile.mk hunspell/Module_hunspell.mk hunspell/prj hunspell/README hunspell/StaticLibrary_hunspell.mk hunspell/UnpackedTarball_hunspell.mk hwpfilter/CppunitTest_hwpfilter_test_hwpfilter.mk hwpfilter/Library_hwp.mk hwpfilter/Makefile hwpfilter/Module_hwpfilter. mk hwpfilter/prj hwpfilter/qa hwpfilter/README hwpfilter/source hyphen/ExternalPackage_hyphen.mk hyphen/ExternalProject_hyphen.mk hyphen/hyphen-android.patch hyphen/hyphen-build.patch hyphen/hyphen-fdo43931.patch hyphen/hyphen-lenwaswrong.patch hyphen/hyphen-rhmin.patch hyphen/Makefile hyphen/makefile.mk hyphen/Module_hyphen.mk hyphen/prj hyphen/README hyphen/StaticLibrary_hyphen.mk hyphen/UnpackedTarball_hyphen.mk i18nlangtag/CppunitTest_i18nlangtag_test_languagetag.mk i18nlangtag/Library_i18nlangtag.mk i18nlangtag/Makefile i18nlangtag/Module_i18nlangtag.mk i18nlangtag/qa i18nlangtag/README i18nlangtag/source i18npool/CppunitTest_i18npool_test_breakiterator.mk i18npool/CppunitTest_i18npool_test_characterclassification.mk i18npool/CppunitTest_i18npool_test_ordinalsuffix.mk i18npool/CppunitTest_i18npool_test_textsearch.mk i18npool/CustomTarget_breakiterator.mk i18npool/CustomTarget_collator.mk i18npool/CustomTarget_indexentry.mk i18npool/CustomTarget_localedata.mk i18npool/Cu stomTarget_textconversion.mk i18npool/Executable_gencoll_rule.mk i18npool/Executable_genconv_dict.mk i18npool/Executable_gendict.mk i18npool/Executable_genindex_data.mk i18npool/Executable_i18npool_cppunittester_all.mk i18npool/Executable_saxparser.mk i18npool/inc i18npool/Library_collator_data.mk i18npool/Library_dict_ja.mk i18npool/Library_dict_zh.mk i18npool/Library_i18nisolang1.mk i18npool/Library_i18npaper.mk i18npool/Library_i18npool.mk i18npool/Library_i18nsearch.mk i18npool/Library_index_data.mk i18npool/Library_localedata_en.mk i18npool/Library_localedata_es.mk i18npool/Library_localedata_euro.mk i18npool/Library_localedata_others.mk i18npool/Library_textconv_dict.mk i18npool/Makefile i18npool/Module_i18npool.mk i18npool/Package_generated.mk i18npool/Package_inc.mk i18npool/Package_xml.mk i18npool/prj i18npool/qa i18npool/README i18npool/source i18npool/util i18npool/version.mk i18npool/xml i18nutil/inc i18nutil/Library_i18nutil.mk i18nutil/Makefile i18nutil/Module_ i18nutil.mk i18nutil/Package_inc.mk i18nutil/prj i18nutil/README i18nutil/source icc/makefile.mk icc/prj icc/README icc/SampleICC-1.3.2-fmtargs.patch icc/SampleICC-1.3.2.patch icc/SampleICC-makefiles.patch icc/source icon-themes/classic icon-themes/crystal icon-themes/galaxy icon-themes/hicontrast icon-themes/human icon-themes/industrial icon-themes/oxygen icon-themes/README icon-themes/README.txt icon-themes/tango icon-themes/tango_testing icu/createmak.cfg icu/createmak.pl icu/CVE-2011-4599.patch icu/ExternalPackage_icu.mk icu/ExternalProject_icu.mk icu/icu4c.10129.wintz.patch icu/icu4c-4_4_2-wchar_t.patch icu/icu4c.7601.Indic-ccmp.patch icu/icu4c.8198.revert.icu5431.patch icu/icu4c.8320.freeserif.crash.patch icu/icu4c.9948.mlym-crash.patch icu/icu4c-aix.patch icu/icu4c-android.patch icu/icu4c-buffer-overflow.patch icu/icu4c-build.patch icu/icu4c-escapespace.patch icu/icu4c-macosx.patch icu/icu4c-mkdir.patch icu/icu4c-rpath.patch icu/icu4c-solarisgcc.patch icu/icu4c-strict -c.patch icu/icu4c-warnings.patch icu/icu4c-wchar_t.patch icu/icu-mp.patch icu/icuversion.mk icu/Makefile icu/makefile.mk icu/Module_icu.mk icu/prj icu/Readme icu/README icu/UnpackedTarball_icu.mk idlc/CustomTarget_parser_test.mk idlc/Executable_idlc.mk idlc/inc idlc/Makefile idlc/Module_idlc.mk idlc/prj idlc/README idlc/source idlc/test idl/Executable_svidl.mk idl/inc idl/Makefile idl/Module_idl.mk idl/prj idl/README idl/source idl/util include/animations include/apple_remote include/avmedia include/basebmp include/basegfx include/basic include/canvas include/codemaker include/com include/comphelper include/connectivity include/cosv include/cppcanvas include/cppu include/cppuhelper include/cppunittester include/default.rc include/drawinglayer include/editeng include/filter include/formula include/framework include/i18nlangtag include/i18nutil include/jvmaccess include/jvmfwk include/linguistic include/o3tl include/oox include/osl include/package include/postmac.h include/po stwin.h include/postx.h include/premac.h include/prewin.h include/prex.h include/registry include/rsc include/rtl include/sal include/salhelper include/sax include/sfx2 include/shell include/sot include/store include/svl include/svtools include/svx include/systools include/test include/toolkit include/tools include/touch include/tubes include/typelib include/ucbhelper include/udm include/uno include/unoidl include/unotest include/unotools include/vbahelper include/vcl include/version.hrc include/wntgcci include/xmloff include/xmlreader include/xmlscript install-sh instsetoo_native/config instsetoo_native/CustomTarget_install.mk instsetoo_native/CustomTarget_setup.mk instsetoo_native/inc_common instsetoo_native/inc_ooohelppack instsetoo_native/inc_ooolangpack instsetoo_native/inc_openoffice instsetoo_native/inc_sdkoo instsetoo_native/inc_ure instsetoo_native/Makefile instsetoo_native/Module_instsetoo_native.mk instsetoo_native/Package_config.mk instsetoo_native/Package_rdb.mk instsetoo_native/Package_setup.mk instsetoo_native/prj instsetoo_native/README instsetoo_native/res instsetoo_native/util io/inc io/Library_acceptor.mk io/Library_connector.mk io/Library_streams.mk io/Library_textinstream.mk io/Library_textoutstream.mk io/Makefile io/Module_io.mk io/prj io/README ios/CustomTarget_LibreOffice_app.mk ios/Executable_LibreOffice.mk ios/experimental ios/Makefile ios/Module_ios.mk io/source ios/qa ios/README io/test javaunohelper/com javaunohelper/inc javaunohelper/Jar_juh.mk javaunohelper/Library_juh.mk javaunohelper/Library_juhx.mk javaunohelper/Makefile javaunohelper/Module_javaunohelper.mk javaunohelper/prj javaunohelper/README javaunohelper/source javaunohelper/test javaunohelper/util jfreereport/ExternalPackage_jfreereport_flow_engine.mk jfreereport/ExternalPackage_jfreereport_flute.mk jfreereport/ExternalPackage_jfreereport_libbase.mk jfreereport/ExternalPackage_jfreereport_libfonts.mk jfreereport/ExternalPackage_jfreereport_libformula.mk jfreereport/ExternalPackage_jfreereport_liblayout.mk jfreereport/ExternalPackage_jfreereport_libloader.mk jfreereport/ExternalPackage_jfreereport_librepository.mk jfreereport/ExternalPackage_jfreereport_libserializer.mk jfreereport/ExternalPackage_jfreereport_libxml.mk jfreereport/ExternalPackage_jfreereport_sac.mk jfreereport/ExternalProject_jfreereport_flow_engine.mk jfreereport/ExternalProject_jfreereport_flute.mk jfreereport/ExternalProject_jfreereport_libbase.mk jfreereport/ExternalProject_jfreereport_libfonts.mk jfreereport/ExternalProject_jfreereport_libformula.mk jfreereport/ExternalProject_jfreereport_liblayout.mk jfreereport/ExternalProject_jfreereport_libloader.mk jfreereport/ExternalProject_jfreereport_librepository.mk jfreereport/ExternalProject_jfreereport_libserializer.mk jfreereport/ExternalProject_jfreereport_libxml.mk jfreereport/ExternalProject_jfreereport_sac.mk jfreereport/java jfreereport/Makefile jfreereport/Module_jfreereport.mk jfreereport/patches jf reereport/prj jfreereport/README jfreereport/UnpackedTarball_jfreereport_flow_engine.mk jfreereport/UnpackedTarball_jfreereport_flute.mk jfreereport/UnpackedTarball_jfreereport_libbase.mk jfreereport/UnpackedTarball_jfreereport_libfonts.mk jfreereport/UnpackedTarball_jfreereport_libformula.mk jfreereport/UnpackedTarball_jfreereport_liblayout.mk jfreereport/UnpackedTarball_jfreereport_libloader.mk jfreereport/UnpackedTarball_jfreereport_librepository.mk jfreereport/UnpackedTarball_jfreereport_libserializer.mk jfreereport/UnpackedTarball_jfreereport_libxml.mk jfreereport/UnpackedTarball_jfreereport_sac.mk jfreereport/version.mk jpeg/configs jpeg/ExternalPackage_jpeg.mk jpeg/jpeg-6b.patch jpeg/jpeg-8c.patch jpeg/Makefile jpeg/makefile.mk jpeg/Module_jpeg.mk jpeg/patches jpeg/prj jpeg/README jpeg/StaticLibrary_jpeg.mk jpeg/UnpackedTarball_jpeg.mk jurt/com jurt/CustomTarget_jnilib.mk jurt/CustomTarget_test_urp.mk jurt/demo jurt/InternalUnoApi_test_urp.mk jurt/Jar_jurt.mk jurt/Jun itTest_bridgefactory.mk jurt/JunitTest_connections.mk jurt/JunitTest_java.mk jurt/JunitTest_java_remote.mk jurt/JunitTest_remote.mk jurt/JunitTest_uno.mk jurt/JunitTest_urp.mk jurt/JunitTest_util.mk jurt/Library_jpipe.mk jurt/Library_jpipx.mk jurt/Makefile jurt/Module_jurt.mk jurt/Package_jnilib.mk jurt/prj jurt/README jurt/source jurt/test jurt/util jurt/workbench jvmaccess/inc jvmaccess/Library_jvmaccess.mk jvmaccess/Makefile jvmaccess/Module_jvmaccess.mk jvmaccess/prj jvmaccess/README jvmaccess/source jvmaccess/util jvmaccess/workbench jvmfwk/CustomTarget_jreproperties.mk jvmfwk/distributions jvmfwk/Executable_javaldx.mk jvmfwk/inc jvmfwk/Library_jvmfwk.mk jvmfwk/Library_sunjavaplugin.mk jvmfwk/Makefile jvmfwk/Module_jvmfwk.mk jvmfwk/Package_jreproperties_install.mk jvmfwk/Package_jreproperties.mk jvmfwk/Package_rcfiles_install.mk jvmfwk/Package_rcfiles.mk jvmfwk/plugins jvmfwk/prj jvmfwk/README jvmfwk/source l10ntools/Executable_cfgex.mk l10ntools/Executable_helpex.mk l1 0ntools/Executable_idxdict.mk l10ntools/Executable_localize.mk l10ntools/Executable_propex.mk l10ntools/Executable_stringex.mk l10ntools/Executable_transex3.mk l10ntools/Executable_treex.mk l10ntools/Executable_uiex.mk l10ntools/Executable_ulfex.mk l10ntools/Executable_xrmex.mk l10ntools/inc l10ntools/Makefile l10ntools/Module_l10ntools.mk l10ntools/Package_ulfconv.mk l10ntools/prj l10ntools/README l10ntools/scripts l10ntools/source l10ntools/StaticLibrary_transex.mk l10ntools/workbench languagetool/ExternalProject_languagetool.mk languagetool/JLanguageTool-1.4.0-no-hc.patch languagetool/JLanguageTool-1.4.0.patch languagetool/JLanguageTool-1.7.0.patch languagetool/Makefile languagetool/makefile.mk languagetool/Module_languagetool.mk languagetool/Package_languagetool.mk languagetool/prj languagetool/README languagetool/UnpackedTarball_languagetool.mk lcms2/ExternalPackage_lcms2.mk lcms2/ExternalProject_lcms2.mk lcms2/lcms2-2.4-windows.patch lcms2/lcms2.patch lcms2/Makefile lc ms2/Module_lcms2.mk lcms2/README lcms2/UnpackedTarball_lcms2.mk libcdr/ExternalPackage_libcdr.mk libcdr/ExternalProject_libcdr.mk libcdr/libcdr-0.0.0.patch libcdr/libcdr-0.0.13.patch libcdr/Makefile libcdr/makefile.mk libcdr/Module_libcdr.mk libcdr/prj libcdr/README libcdr/UnpackedTarball_cdr.mk libcmis/boost-win.patch libcmis/ExternalLib_libcmis.mk libcmis/ExternalPackage_libcmis.mk libcmis/libcmis-0001-virtualdtor.patch libcmis/libcmis-0.1.0-autotools.patch libcmis/libcmis-0.1.0.patch libcmis/libcmis-0.3.0-lotus-live-fix.patch libcmis/libcmis-0.3.0.patch libcmis/libcmis-0.3.0-proxy.patch libcmis/libcmis-0.3.0-warnings.patch libcmis/libcmis-0.3.0-win.patch libcmis/Makefile libcmis/makefile.mk libcmis/Module_libcmis.mk libcmis/prj libcmis/README libcmis/StaticLibrary_cmis.mk libcmis/UnpackedTarball_cmis.mk libcroco/libcroco-0.6.2.patch libcroco/makefile.mk libcroco/prj libexttextcat/android.patch libexttextcat/ExternalPackage_exttextcat.mk libexttextcat/ExternalPackage_finge rprint.mk libexttextcat/ExternalProject_exttextcat.mk libexttextcat/libexttextcat-3.2.0-visibility.patch libexttextcat/Makefile libexttextcat/makefile.mk libexttextcat/Module_libexttextcat.mk libexttextcat/prj libexttextcat/README libexttextcat/StaticLibrary_exttextcat.mk libexttextcat/unkown.patch.1 libexttextcat/UnpackedTarball_exttextcat.mk libgsf/libgsf-1.14.19.patch libgsf/libgsf-1.14.19.windows.patch libgsf/makefile.mk libgsf/prj liblangtag/ExternalPackage_langtag_data.mk liblangtag/ExternalPackage_langtag.mk liblangtag/ExternalPackage_liblangtag_data.mk liblangtag/ExternalProject_langtag.mk liblangtag/liblangtag-0.5.1-mingw.patch liblangtag/liblangtag-0.5.1-msvc-snprintf.patch liblangtag/liblangtag-0.5.1-msvc-ssize_t.patch liblangtag/liblangtag-0.5.1-msvc-strtoull.patch liblangtag/liblangtag-0.5.1-msvc-warning.patch liblangtag/liblangtag-0.5.1-redefinition-of-typedef.patch liblangtag/liblangtag-0.5.1-reg2xml-encoding-problem.patch liblangtag/liblangtag-0.5.1-scope-dec laration.patch liblangtag/liblangtag-0.5.1-undefined-have-sys-param-h.patch liblangtag/liblangtag-0.5.1-vsnprintf.patch liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch liblangtag/Makefile liblangtag/Module_liblangtag.mk liblangtag/README liblangtag/UnpackedTarball_langtag.mk libmariadb/configs libmariadb/ExternalPackage_libmariadb.mk libmariadb/Makefile libmariadb/mariadb-msvc.patch.1 libmariadb/mariadb-static-inline.patch libmariadb/mariadb-swap.patch libmariadb/mariadb-thread.patch libmariadb/mariadb-trunk-40.patch libmariadb/Module_libmariadb.mk libmariadb/StaticLibrary_mariadb.mk libmariadb/UnpackedTarball_mariadb.mk libmspub/ExternalPackage_libmspub.mk libmspub/ExternalProject_libmspub.mk libmspub/Makefile libmspub/Module_libmspub.mk libmspub/README libmspub/UnpackedTarball_mspub.mk libmwaw/ExternalPackage_libmwaw.mk libmwaw/ExternalProject_libmwaw.mk libmwaw/libmwaw-0.1.7-autotools.patch libmwaw/libmwaw-0.1.7-misc.patch libmwaw/Makefile libmwaw/M odule_libmwaw.mk libmwaw/README libmwaw/UnpackedTarball_mwaw.mk libodfgen/ExternalPackage_libodfgen.mk libodfgen/ExternalProject_libodfgen.mk libodfgen/libodfgen-0.0.0-android.patch libodfgen/Makefile libodfgen/Module_libodfgen.mk libodfgen/README libodfgen/UnpackedTarball_odfgen.mk liborcus/ExternalPackage_liborcus.mk liborcus/ExternalProject_liborcus.mk liborcus/liborcus_0.1.0-configure.patch liborcus/liborcus_0.1.0-dllimport.patch liborcus/liborcus_0.1.0-tac.patch liborcus/Makefile liborcus/Module_liborcus.mk liborcus/UnpackedTarball_orcus.mk libpng/configs libpng/ExternalPackage_libpng.mk libpng/libpng-1.5.1.patch libpng/Makefile libpng/makefile.mk libpng/Module_libpng.mk libpng/prj libpng/README libpng/StaticLibrary_png.mk libpng/UnpackedTarball_png.mk Library_merged.mk Library_urelibs.mk librelogo/CustomTarget_librelogo.mk librelogo/Makefile librelogo/Module_librelogo.mk librelogo/Package_librelogo.mk librelogo/Package_librelogo_properties.mk librelogo/README librelogo /source librsvg/librsvg-2.32.1.patch librsvg/librsvg-2.32.1-win32.patch librsvg/makefile.mk librsvg/prj libvisio/ExternalPackage_libvisio.mk libvisio/ExternalProject_libvisio.mk libvisio/libvisio-0.0.14.patch libvisio/Makefile libvisio/makefile.mk libvisio/Module_libvisio.mk libvisio/prj libvisio/README libvisio/UnpackedTarball_visio.mk libwpd/ExternalPackage_libwpd.mk libwpd/ExternalProject_libwpd.mk libwpd/Makefile libwpd/makefile.mk libwpd/Module_libwpd.mk libwpd/prj libwpd/README libwpd/UnpackedTarball_wpd.mk libwpg/ExternalPackage_libwpg.mk libwpg/ExternalProject_libwpg.mk libwpg/libwpg-0.2.1-build.patch libwpg/Makefile libwpg/makefile.mk libwpg/Module_libwpg.mk libwpg/prj libwpg/README libwpg/UnpackedTarball_wpg.mk libwps/ExternalPackage_libwps.mk libwps/ExternalProject_libwps.mk libwps/Makefile libwps/makefile.mk libwps/Module_libwps.mk libwps/prj libwps/README libwps/UnpackedTarball_wps.mk libxml2/ExternalPackage_xml2.mk libxml2/ExternalProject_xml2.mk libxml2/libxml 2-android.patch libxml2/libxml2-configure.patch libxml2/libxml2-long-path.patch libxml2/libxml2-vc10.patch libxml2/Makefile libxml2/makefile.mk libxml2/Module_libxml2.mk libxml2/prj libxml2/README libxml2/UnpackedTarball_xml2.mk libxmlsec/ExternalPackage_xmlsec.mk libxmlsec/ExternalProject_xmlsec.mk libxmlsec/include libxmlsec/Makefile libxmlsec/makefile.mk libxmlsec/Module_libxmlsec.mk libxmlsec/prj libxmlsec/README libxmlsec/readme.txt libxmlsec/src libxmlsec/UnpackedTarball_xmlsec.mk libxmlsec/xmlsec1-1.2.14-ansi.patch libxmlsec/xmlsec1-1.2.14_fix_extern_c.patch libxmlsec/xmlsec1-android.patch libxmlsec/xmlsec1-configure-libxml-libxslt.patch libxmlsec/xmlsec1-configure.patch libxmlsec/xmlsec1-customkeymanage.patch libxmlsec/xmlsec1-mingw32.patch libxmlsec/xmlsec1-oldlibtool.patch libxmlsec/xmlsec1-update-config-sub-and-guess.patch libxmlsec/xmlsec1-vc10.patch libxmlsec/xmlsec1-vc.patch libxslt/dummy libxslt/ExternalPackage_xslt.mk libxslt/ExternalProject_xslt.mk libxslt/l ibxslt-1.1.26-memdump.patch libxslt/libxslt-configure.patch libxslt/libxslt-vc10.patch libxslt/libxsltversion.mk libxslt/Makefile libxslt/makefile.mk libxslt/Module_libxslt.mk libxslt/prj libxslt/README libxslt/UnpackedTarball_xslt.mk lingucomponent/config lingucomponent/Library_guesslang.mk lingucomponent/Library_hyphen.mk lingucomponent/Library_lnth.mk lingucomponent/Library_MacOSXSpell.mk lingucomponent/Library_spell.mk lingucomponent/Makefile lingucomponent/Module_lingucomponent.mk lingucomponent/Package_config.mk lingucomponent/prj lingucomponent/README lingucomponent/source lingucomponent/StaticLibrary_ulingu.mk linguistic/inc linguistic/JunitTest_linguistic_complex.mk linguistic/JunitTest_linguistic_unoapi.mk linguistic/Library_lng.mk linguistic/Makefile linguistic/Module_linguistic.mk linguistic/Package_inc.mk linguistic/prj linguistic/qa linguistic/README linguistic/source linguistic/workben linguistic/xml logerrit lotuswordpro/CppunitTest_lotuswordpro_test_lotuswor dpro.mk lotuswordpro/Library_lwpft.mk lotuswordpro/Makefile lotuswordpro/Module_lotuswordpro.mk lotuswordpro/prj lotuswordpro/qa lotuswordpro/README lotuswordpro/source lotuswordpro/util lo.xcent.in lpsolve/ccc.static lpsolve/ExternalPackage_lpsolve.mk lpsolve/ExternalProject_lpsolve.mk lpsolve/lp_solve_5.5.patch lpsolve/lp_solve_5.5-windows.patch lpsolve/lp_solve-fixed-warn.patch lpsolve/Makefile lpsolve/makefile.mk lpsolve/Module_lpsolve.mk lpsolve/prj lpsolve/README lpsolve/UnpackedTarball_lpsolve.mk lucene/long_path.patch lucene/lucene.patch lucene/makefile.mk lucene/prj lucene/version.mk m4/ax_boost_base.m4 m4/ax_boost_date_time.m4 m4/ax_boost_system.m4 m4/libgcrypt.m4 m4/libo_check_extension.m4 m4/libo_externals.m4 m4/mingw.m4 m4/README Makefile Makefile.fetch Makefile.gbuild Makefile.in MathMLDTD/Makefile MathMLDTD/math.dtd MathMLDTD/Module_MathMLDTD.mk MathMLDTD/Package_bin.mk MathMLDTD/prj MathMLDTD/w3c_ipr_software_notice.html mdds/0001-Workaround-for-gcc-bug.patch mdds/Makefile mdds/makefile.mk mdds/mdds_0.5.3.patch mdds/mdds_0.6.0.patch mdds/mdds_0.7.0_unreachable_warning.patch.1 mdds/Module_mdds.mk mdds/prj mdds/README mdds/UnpackedTarball_mdds.mk mdds/wundef.patch Mesa/inc Mesa/Makefile Mesa/Module_Mesa.mk Mesa/Package_inc.mk Mesa/prj Mesa/README migrationanalysis/no_localization migrationanalysis/prj migrationanalysis/Read Me.odt migrationanalysis/src migrationanalysis/util Module_tail_build.mk more_fonts/ExternalPackage_dejavu.mk more_fonts/ExternalPackage_gentium.mk more_fonts/ExternalPackage_liberation.mk more_fonts/ExternalPackage_liberation_narrow.mk more_fonts/ExternalPackage_libertineg.mk more_fonts/ExternalPackage_opensans.mk more_fonts/ExternalPackage_ptserif.mk more_fonts/ExternalPackage_sourcecode.mk more_fonts/ExternalPackage_sourcesans.mk more_fonts/fonts more_fonts/Makefile more_fonts/Module_more_fonts.mk more_fonts/Package_conf.mk more_fonts/prj more_fonts/README more_fonts/UnpackedTarball_dejavu.mk more_fonts/Unpa ckedTarball_gentium.mk more_fonts/UnpackedTarball_liberation.mk more_fonts/UnpackedTarball_liberation_narrow.mk more_fonts/UnpackedTarball_libertineg.mk more_fonts/UnpackedTarball_opensans.mk more_fonts/UnpackedTarball_ptserif.mk more_fonts/UnpackedTarball_sourcecode.mk more_fonts/UnpackedTarball_sourcesans.mk moz/ExternalPackage_moz_lib.mk moz/ExternalPackage_runtime.mk moz/extractfiles.mk moz/Makefile moz/makefile.mk moz/Module_moz.mk moz/patches moz/prj moz/README moz/seamonkey-source-1.1.14.patch moz/UnpackedTarball_moz_inc.mk moz/UnpackedTarball_moz_lib.mk moz/UnpackedTarball_mozruntime.mk moz/zipped mysqlc/Configuration_mysql.mk mysqlc/Extension_mysql-connector-ooo.mk mysqlc/Library_mysqlc.mk mysqlc/Makefile mysqlc/Module_mysqlc.mk mysqlcppconn/binding_config.h mysqlcppconn/config.h mysqlcppconn/cppconn_config.pmk mysqlcppconn/Library_mysqlcppconn.mk mysqlcppconn/Makefile mysqlcppconn/makefile.mk mysqlcppconn/Module_mysqlcppconn.mk mysqlcppconn/mysql_config.pmk mysqlcp pconn/mysql-connector-c++-1.1.0-mysql-binding-dynamic.patch mysqlcppconn/mysql-connector-c++-1.1.0-mysql-binding-static.patch mysqlcppconn/mysql-connector-c++-1.1.0.patch mysqlcppconn/patches mysqlcppconn/prj mysqlcppconn/README mysqlcppconn/UnpackedTarball_mysqlcppconn.mk mysqlc/prj mysqlc/Rdb_mysqlc.mk mysqlc/README mysqlc/source mysqlc/version.mk mythes/ExternalPackage_mythes.mk mythes/ExternalProject_mythes.mk mythes/Makefile mythes/makefile.mk mythes/Module_mythes.mk mythes/mythes-1.2.0-android.patch mythes/mythes-1.2.0-makefile-mk.diff mythes/mythes-1.2.0-vanilla-th-gen-idx.patch mythes/mythes-1.2.1-rhbz675806.patch mythes/mythes-ssizet.patch mythes/prj mythes/README mythes/StaticLibrary_mythes.mk mythes/UnpackedTarball_mythes.mk neon/configs neon/Library_neon.mk neon/Makefile neon/makefile.mk neon/Module_neon.mk neon/neon.def neon/neon_exports_unix.patch neon/neon_exports_win.patch neon/neon_ne_set_request_flag.patch neon/neon.patch neon/neon_with_gnutls.patch neon/pr j neon/README neon/UnpackedTarball_neon.mk neon/version.mk nlpsolver/Extension_nlpsolver.mk nlpsolver/help nlpsolver/Jar_EvolutionarySolver.mk nlpsolver/Jar_nlpsolver.mk nlpsolver/Makefile nlpsolver/prj nlpsolver/README nlpsolver/src nlpsolver/ThirdParty np_sdk/inc np_sdk/Makefile np_sdk/Module_np_sdk.mk np_sdk/mozsrc np_sdk/Package_inc.mk np_sdk/Package_npapi.mk np_sdk/prj np_sdk/README np_sdk/StaticLibrary_nputils.mk nss/ExternalPackage_nss.mk nss/ExternalProject_nss.mk nss/Makefile nss/makefile.mk nss/Module_nss.mk nss/nsinstall.py nss/nspr-4.9-build.patch.3 nss/nss-3.13.3-build.patch.3 nss/nss-3.13.5-zlib-werror.patch nss/nss.aix.patch nss/nss-config.in nss/nss-config.patch nss/nss-linux3.patch nss/nss_macosx.patch nss/nss.mingw.patch.3 nss/nss.patch nss/nss.patch.mingw nss/nss.windows.patch nss/prj nss/README nss/readme.txt nss/UnpackedTarball_nss.mk o3tl/CppunitTest_o3tl_tests.mk o3tl/inc o3tl/Makefile o3tl/Module_o3tl.mk o3tl/Package_inc.mk o3tl/prj o3tl/qa o3tl/READM E odk/cfgWin.js odk/config odk/configure.pl odk/CppunitTest_checkapi.mk odk/CustomTarget_allheaders.mk odk/CustomTarget_autodoc.mk odk/CustomTarget_check.mk odk/CustomTarget_classes.mk odk/CustomTarget_config_win.mk odk/CustomTarget_doxygen.mk odk/CustomTarget_html.mk odk/CustomTarget_javadoc.mk odk/CustomTarget_settings.mk odk/CustomTarget_unowinreg.mk odk/docs odk/examples odk/Executable_unoapploader.mk odk/GeneratedPackage_cpp_docs.mk odk/inc odk/index.html odk/index_online.html odk/Library_unowinreg.mk odk/Makefile odk/Module_odk.mk odk/no_localization odk/pack odk/Package_autodoc.mk odk/Package_bin.mk odk/Package_cli.mk odk/Package_config.mk odk/Package_config_notwin.mk odk/Package_config_win.mk odk/Package_docs.mk odk/Package_examples.mk odk/Package_html.mk odk/Package_javadoc.mk odk/Package_lib.mk odk/Package_macosx.mk odk/Package_odk_headers_generated.mk odk/Package_odk_headers.mk odk/PackageSet_autodoc.mk odk/PackageSet_odk_headers.mk odk/Package_settings_generated. mk odk/Package_settings.mk odk/Package_uno_loader_classes.mk odk/Package_unowinreg.mk odk/prj odk/qa odk/README odk/setsdkenv_unix odk/setsdkenv_unix.csh.in odk/setsdkenv_unix.sh.in odk/setsdkenv_windows.bat odk/setsdkenv_windows.template odk/setsdkname.bat odk/settings odk/source odk/util offapi/com offapi/Makefile offapi/Module_offapi.mk offapi/org offapi/Package_offapi_idl.mk offapi/Package_offapi_inc.mk offapi/prj offapi/README offapi/type_reference offapi/UnoApi_offapi.mk offapi/UnoApi_types.mk offapi/util officecfg/Configuration_officecfg.mk officecfg/CppunitTest_officecfg_cppheader_test.mk officecfg/CustomTarget_registry.mk officecfg/files.mk officecfg/Makefile officecfg/Module_officecfg.mk officecfg/Package_cppheader.mk officecfg/Package_misc.mk officecfg/Package_tools.mk officecfg/prj officecfg/qa officecfg/README officecfg/registry officecfg/util ooo.lst.in oovbaapi/genconstidl oovbaapi/Makefile oovbaapi/Module_oovbaapi.mk oovbaapi/ooo oovbaapi/Package_oovbaapi_idl .mk oovbaapi/Package_oovbaapi_inc.mk oovbaapi/prj oovbaapi/README oovbaapi/ttt.diff oovbaapi/UnoApi_oovbaapi.mk oowintool oox/CustomTarget_generated.mk oox/inc oox/Library_oox.mk oox/Makefile oox/Module_oox.mk oox/Package_generated.mk oox/Package_inc.mk oox/Package_tokens.mk oox/prj oox/README oox/source oox/util openldap/ExternalPackage_openldap.mk openldap/ExternalProject_openldap.mk openldap/Makefile openldap/Module_openldap.mk openldap/openldap-2.4.31.patch openldap/UnpackedTarball_openldap.mk openssl/ExternalPackage_openssl.mk openssl/ExternalProject_openssl.mk openssl/Makefile openssl/makefile.mk openssl/Module_openssl.mk openssl/openssl-asm-fix.patch openssl/opensslios.patch openssl/openssllnx.patch openssl/opensslmacosx.patch openssl/opensslmingw.patch openssl/openssl.patch openssl/opensslsol.patch openssl/opensslwnt.patch openssl/prj openssl/README openssl/UnpackedTarball_openssl.mk openssl/version.mk package/dtd package/inc package/Library_package2.mk package/Libra ry_xstor.mk package/Makefile package/Module_package.mk package/Package_dtd.mk package/Package_inc.mk package/prj package/qa package/README package/source package/util packimages/pack packimages/prj padmin/AllLangResTarget_spa.mk padmin/Executable_spadmin.bin.mk padmin/Library_spa.mk padmin/Makefile padmin/Module_padmin.mk padmin/Package_inc.mk padmin/Package_padmin.mk padmin/prj padmin/README padmin/source padmin/uiconfig padmin/UIConfig_spa.mk pango/makefile.mk pango/pango-1.28.3-non-ascii.patch pango/pango-1.28.3.patch pango/pango-1.28.3-win32.patch pango/prj post_download.in postgresql/ExternalPackage_postgresql.mk postgresql/ExternalProject_postgresql.mk postgresql/Makefile postgresql/makefile.mk postgresql/Module_postgresql.mk postgresql/postgresql-9.1.1-autoreconf.patch postgresql/postgresql-9.1.1-libreoffice.patch postgresql/postgresql-9.2.1-autoreconf.patch postgresql/postgresql-9.2.1-libreoffice.patch postgresql/postgresql-libs-leak.patch postgresql/postgresql-moz-l dap.patch postgresql/prj postgresql/README postgresql/UnpackedTarball_postgresql.mk postprocess/checkxml postprocess/CustomTarget_images.mk postprocess/CustomTarget_registry.mk postprocess/CustomTarget_signing.mk postprocess/Makefile postprocess/Module_postprocess.mk postprocess/Package_images_install.mk postprocess/Package_images.mk postprocess/Package_registry_install.mk postprocess/Package_registry.mk postprocess/packcomponents postprocess/packconfig postprocess/packimages postprocess/packregistry postprocess/prj postprocess/Rdb_services.mk postprocess/README postprocess/rebase postprocess/signing psprint_config/configuration psprint_config/Makefile psprint_config/Module_psprint_config.mk psprint_config/Package_fontunxppds.mk psprint_config/Package_fontunxpsprint.mk psprint_config/prj psprint_config/README psprint_config/Zip_fontunxppds.mk psprint_config/Zip_fontunxpsprint.mk python3/ExternalPackage_python3.mk python3/ExternalProject_python3.mk python3/GeneratedPackage_py thon3.mk python3/i100492-freebsd.patch.1 python3/Makefile python3/Module_python3.mk python3/python-3.3.0-15833.patch.1 python3/python-3.3.0-aix.patch.1 python3/python-3.3.0-darwin.patch.1 python3/python-3.3.0-elf-rpath.patch.1 python3/python-3.3.0-ffi-clang.patch.1 python3/python-3.3.0-gcc-4.8.patch.1 python3/python-3.3.0-i42553.patch.2 python3/python-3.3.0-implicit-int.patch.1 python3/python-3.3.0-msvc2012.patch.1 python3/python-3.3.0-msvc-disable.patch.1 python3/python-3.3.0-msvc-x64.patch.1 python3/python-3.3.0-pythreadstate.patch.1 python3/python-3.3.0-ssl.patch.1 python3/README python3/UnpackedTarball_python3.mk python3/Zip_PythonFramework.mk python/makefile.mk python/prj python/Python-2.6.1-arch_i386.patch python/Python-2.6.1-arch_ppc.patch python/Python-2.6.1-dylib_dynload.patch python/Python-2.6.1-mingw.patch python/Python-2.6.1-nohardlink.patch python/Python-2.6.1.patch python/Python-2.6.1-py2422.patch python/Python-2.6.1-py4768.patch python/Python-2.6.1-py8067.patc h python/Python-2.6.1-sysbase.patch python/Python-2.6.1-urllib.patch python/Python-2.6.1-vc10.patch python/Python-aix.patch python/Python-parallel-make.patch python/Python-ssl.patch python/pyversion.mk pyuno/CustomTarget_python_bin.mk pyuno/CustomTarget_python_shell.mk pyuno/CustomTarget_zipcore.mk pyuno/demo pyuno/Executable_python_wrapper.mk pyuno/inc pyuno/Library_pythonloader.mk pyuno/Library_pyuno.mk pyuno/Library_pyuno_wrapper.mk pyuno/Makefile pyuno/Module_pyuno.mk pyuno/Package_python_bin.mk pyuno/Package_python_scripts_install.mk pyuno/Package_python_scripts.mk pyuno/Package_python_shell.mk pyuno/Package_pyunorc.mk pyuno/Package_zipcore.mk pyuno/prj pyuno/README pyuno/source pyuno/zipcore qadevOOo/Jar_OOoRunnerLight.mk qadevOOo/Jar_OOoRunner.mk qadevOOo/JunitTest_qadevOOo_unoapi.mk qadevOOo/Makefile qadevOOo/Module_qadevOOo.mk qadevOOo/objdsc qadevOOo/prj qadevOOo/qa qadevOOo/README qadevOOo/runner qadevOOo/testdocs qadevOOo/tests rdbmaker/inc rdbmaker/prj rdbmaker/ source readlicense_oo/CustomTarget_license.mk readlicense_oo/CustomTarget_readme.mk readlicense_oo/docs readlicense_oo/html readlicense_oo/Makefile readlicense_oo/makefile.mk readlicense_oo/Module_readlicense_oo.mk readlicense_oo/odt readlicense_oo/Package_files.mk readlicense_oo/Package_license.mk readlicense_oo/Package_readme.mk readlicense_oo/prj readlicense_oo/README readlicense_oo/txt readlicense_oo/util README.Android README.Code README.cross README.Solaris README.solver redland/ExternalPackage_raptor.mk redland/ExternalPackage_rasqal.mk redland/ExternalPackage_redland.mk redland/ExternalProject_raptor.mk redland/ExternalProject_rasqal.mk redland/ExternalProject_redland.mk redland/Library_raptor.mk redland/Library_rasqal.mk redland/Library_rdf.mk redland/LICENSE.txt redland/Makefile redland/Module_redland.mk redland/prj redland/raptor redland/rasqal redland/README redland/redland redland/redlandversion.mk redland/UnpackedTarball_raptor.mk redland/UnpackedTarball_rasqal .mk redland/UnpackedTarball_redland.mk regexp/inc regexp/Library_regexp.mk regexp/Makefile regexp/Module_regexp.mk regexp/Package_inc.mk regexp/prj regexp/source registry/Executable_regcompare.mk registry/Executable_regmerge.mk registry/Executable_regview.mk registry/inc registry/Library_reg.mk registry/Makefile registry/Module_registry.mk registry/prj registry/README registry/source registry/StaticLibrary_registry_helper.mk registry/test registry/tools registry/util registry/version.mk registry/workben remotebridges/examples remotebridges/Library_uuresolver.mk remotebridges/Makefile remotebridges/Module_remotebridges.mk remotebridges/prj remotebridges/README remotebridges/source reportbuilder/Jar_reportbuilder.mk reportbuilder/java reportbuilder/license reportbuilder/Makefile reportbuilder/Module_reportbuilder.mk reportbuilder/prj reportbuilder/README reportbuilder/registry reportbuilder/template reportbuilder/util reportdesign/AllLangResTarget_rpt.mk reportdesign/AllLangRe sTarget_rptui.mk reportdesign/inc reportdesign/JunitTest_reportdesign_complex.mk reportdesign/Library_rpt.mk reportdesign/Library_rptui.mk reportdesign/Library_rptxml.mk reportdesign/Makefile reportdesign/Module_reportdesign.mk reportdesign/Package_uiconfig.mk reportdesign/prj reportdesign/qa reportdesign/README reportdesign/source reportdesign/uiconfig reportdesign/UIConfig_dbreport.mk reportdesign/util RepositoryExternal.mk RepositoryFixes.mk Repository.mk RepositoryModule_build.mk RepositoryModule_host.mk RepositoryModule_ooo.mk rhino/ExternalPackage_rhino.mk rhino/ExternalProject_rhino.mk rhino/Makefile rhino/makefile.mk rhino/Module_rhino.mk rhino/OfficeScriptInfo.java rhino/prj rhino/README rhino/rhino1_5R5.patch rhino/UnpackedTarball_rhino.mk ridljar/com ridljar/CustomTarget_javamaker.mk ridljar/Jar_ridl.mk ridljar/Jar_unoloader.mk ridljar/javamaker ridljar/JunitTest_typedesc.mk ridljar/JunitTest_uno.mk ridljar/JunitTest_util.mk ridljar/Makefile ridljar/Module_ridljar .mk ridljar/prj ridljar/README ridljar/source ridljar/test ridljar/util rsc/Executable_rsc.mk rsc/inc rsc/Makefile rsc/Module_rsc.mk rsc/Package_inc.mk rsc/prj rsc/README rsc/source sal/android sal/cpprt sal/cppunittester sal/CppunitTest_Module_DLL.mk sal/CppunitTest_sal_bytesequence.mk sal/CppunitTest_sal_osl_condition.mk sal/CppunitTest_sal_osl_file.mk sal/CppunitTest_sal_osl_getsystempathfromfileurl.mk sal/CppunitTest_sal_osl_module.mk sal/CppunitTest_sal_osl_mutex.mk sal/CppunitTest_sal_osl_old_test_file.mk sal/CppunitTest_sal_osl_pipe.mk sal/CppunitTest_sal_osl_process.mk sal/CppunitTest_sal_osl_profile.mk sal/CppunitTest_sal_osl_security.mk sal/CppunitTest_sal_osl_setthreadname.mk sal/CppunitTest_sal_osl_thread.mk sal/CppunitTest_sal_rtl_alloc.mk sal/CppunitTest_sal_rtl_bootstrap.mk sal/CppunitTest_sal_rtl_cipher.mk sal/CppunitTest_sal_rtl_crc32.mk sal/CppunitTest_sal_rtl_doublelock.mk sal/CppunitTest_sal_rtl_locale.mk sal/CppunitTest_sal_rtl_math.mk sal/CppunitTest_sa l_rtl_ostringbuffer.mk sal/CppunitTest_sal_rtl_oustringbuffer.mk sal/CppunitTest_sal_rtl_strings.mk sal/CppunitTest_sal_rtl_textenc.mk sal/CppunitTest_sal_rtl_uri.mk sal/CppunitTest_sal_rtl_uuid.mk sal/CppunitTest_sal_tcwf.mk sal/CppunitTest_sal_types.mk sal/Executable_cppunittester.mk sal/Executable_osl_process_child.mk salhelper/CppunitTest_salhelper_testapi.mk salhelper/inc salhelper/Library_salhelper.mk salhelper/Makefile salhelper/Module_salhelper.mk salhelper/Package_inc.mk salhelper/prj salhelper/qa salhelper/README salhelper/source salhelper/test sal/inc sal/Library_lo-bootstrap.mk sal/Library_sal.mk sal/Library_sal_textenc.mk sal/Library_uwinapi.mk sal/Makefile sal/Module_sal.mk sal/osl sal/Package_generated.mk sal/Package_inc.mk sal/prj sal/qa sal/README sal/rtl sal/StaticLibrary_salcpprt.mk sal/systools sal/test sal/textenc sal/typesconfig sal/util sal/workben sane/Makefile sane/Module_sane.mk sane/Package_inc.mk sane/prj sane/README sax/CppunitTest_sax.mk sax/Exe cutable_sax_cppunittester_all.mk sax/inc sax/Library_expwrap.mk sax/Library_fastsax.mk sax/Library_sax.mk sax/Makefile sax/Module_sax.mk saxon/makefile.mk saxon/prj saxon/saxon-9.0.0.7-bj.patch sax/Package_inc.mk sax/prj sax/qa sax/README sax/source sax/StaticLibrary_sax_shared.mk sax/test scaddins/AllLangResTarget_analysis.mk scaddins/AllLangResTarget_date.mk scaddins/AllLangResTarget_pricing.mk scaddins/idl scaddins/InternalUnoApi_scaddins.mk scaddins/Library_analysis.mk scaddins/Library_date.mk scaddins/Library_pricing.mk scaddins/Makefile scaddins/Module_scaddins.mk scaddins/prj scaddins/README scaddins/source sc/AllLangResTarget_sc.mk sccomp/AllLangResTarget_solver.mk sccomp/Library_solver.mk sccomp/Makefile sccomp/Module_sccomp.mk sccomp/prj sccomp/README sccomp/source sc/CppunitTest_sc_annotationobj.mk sc/CppunitTest_sc_annotationshapeobj.mk sc/CppunitTest_sc_annotationsobj.mk sc/CppunitTest_sc_cellrangeobj.mk sc/CppunitTest_sc_chart_regression_test.mk sc/CppunitTest_ sc_databaserangeobj.mk sc/CppunitTest_sc_datapilotfieldobj.mk sc/CppunitTest_sc_datapilottableobj.mk sc/CppunitTest_sc_editfieldobj_cell.mk sc/CppunitTest_sc_editfieldobj_header.mk sc/CppunitTest_sc_filters_test.mk sc/CppunitTest_sc_macros_test.mk sc/CppunitTest_sc_modelobj.mk sc/CppunitTest_sc_namedrangeobj.mk sc/CppunitTest_sc_namedrangesobj.mk sc/CppunitTest_sc_outlineobj.mk sc/CppunitTest_sc_rangelst_test.mk sc/CppunitTest_sc_subsequent_export_test.mk sc/CppunitTest_sc_subsequent_filters_test.mk sc/CppunitTest_sc_tableautoformatfield.mk sc/CppunitTest_sc_tablesheetobj.mk sc/CppunitTest_sc_tablesheetsobj.mk sc/CppunitTest_sc_ucalc.mk sc/CustomTarget_uiconfig.mk sc/inc sc/JunitTest_sc_complex.mk sc/JunitTest_sc_unoapi.mk sc/Library_scd.mk sc/Library_scfilt.mk sc/Library_sc.mk sc/Library_scui.mk sc/Library_vbaobj.mk sc/Makefile sc/Module_sc.mk scp2/AutoInstallLibs_kde.mk scp2/AutoInstallLibs_ooo.mk scp2/AutoInstallLibs_ure.mk scp2/AutoInstallLibs_writer.mk scp2/CustomTarget _langmacros.mk scp2/inc scp2/InstallModule_accessories.mk scp2/InstallModule_activex.mk scp2/InstallModule_base.mk scp2/InstallModule_calc.mk scp2/InstallModule_canvas.mk scp2/InstallModule_crashrep.mk scp2/InstallModule_draw.mk scp2/InstallModule_extensions.mk scp2/InstallModule_gnome.mk scp2/InstallModule_graphicfilter.mk scp2/InstallModule_impress.mk scp2/InstallModule_kde.mk scp2/InstallModule_math.mk scp2/InstallModule_onlineupdate.mk scp2/InstallModule_ooo.mk scp2/InstallModule_python.mk scp2/InstallModule_quickstart.mk scp2/InstallModule_sdkoo.mk scp2/InstallModule_smoketest.mk scp2/InstallModule_tde.mk scp2/InstallModule_ure.mk scp2/InstallModule_windows.mk scp2/InstallModule_winexplorerext.mk scp2/InstallModule_writer.mk scp2/InstallModule_xsltfilter.mk scp2/InstallScript_sdkoo.mk scp2/InstallScript_setup_osl.mk scp2/InstallScript_test.mk scp2/macros scp2/Makefile scp2/Module_scp2.mk scp2/prj scp2/README scp2/source scp2/util sc/Package_uiconfig.mk sc/Package_xml.mk sc/prj sc/qa sc/README scripting/examples scripting/Extension_ScriptProviderForPython.mk scripting/Jar_HelloWorld.mk scripting/Jar_Highlight.mk scripting/Jar_MemoryUsage.mk scripting/Jar_ScriptFramework.mk scripting/Jar_ScriptProviderForBeanShell.mk scripting/Jar_ScriptProviderForJava.mk scripting/Jar_ScriptProviderForJavaScript.mk scripting/java scripting/Library_basprov.mk scripting/Library_dlgprov.mk scripting/Library_protocolhandler.mk scripting/Library_scriptframe.mk scripting/Library_stringresource.mk scripting/Library_vbaevents.mk scripting/Makefile scripting/Module_scripting.mk scripting/Package_java_jars.mk scripting/Package_java.mk scripting/Package_scriptbindinglib.mk scripting/Package_scriptproviderforpython.mk scripting/Package_ScriptsBeanShell.mk scripting/Package_ScriptsJavaScript.mk scripting/Package_ScriptsPython.mk scripting/prj scripting/Pyuno_mailmerge.mk scripting/Rdb_scriptproviderforbeanshell.mk scripting/Rdb_scriptproviderforjavascript.mk scripting/R EADME scripting/source scripting/util scripting/workben scripting/Zip_scriptbindinglib.mk scripting/Zip_ScriptsBeanShell.mk scripting/Zip_ScriptsJava.mk scripting/Zip_ScriptsJavaScript.mk scripting/Zip_ScriptsPython.mk sc/sdi sc/source sc/uiconfig sc/UIConfig_scalc.mk sc/util sc/workben sc/xml sd/AllLangResTarget_sd.mk sd/CppunitTest_sd_filters_test.mk sd/CppunitTest_sd_regression_test.mk sd/CppunitTest_sd_uimpress.mk sdext/Configuration_minimizer.mk sdext/CppunitTest_pdfimport.mk sdext/CustomTarget_pdfimport.mk sdext/Executable_pdf2xml.mk sdext/Executable_pdfunzip.mk sdext/Executable_xpdfimport.mk sdext/Extension_minimizer.mk sdext/inc sdext/Library_minimizer.mk sdext/Library_pdfimport.mk sdext/Library_PresenterScreen.mk sdext/Makefile sdext/Module_sdext.mk sdext/Package_pdfimport_xcu.mk sdext/Package_pdfimport_xpdfimport.mk sdext/prj sdext/Rdb_minimizer.mk sdext/README sdext/source sdext/StaticLibrary_pdfimport_s.mk sdext/util sd/inc sd/JunitTest_sd_unoapi.mk sd/Library_sd d.mk sd/Library_sdfilt.mk sd/Library_sd.mk sd/Library_sdui.mk sd/Makefile sd/Module_sd.mk sd/Package_inc.mk sd/Package_opengl.mk sd/Package_uiconfig.mk sd/Package_web.mk sd/Package_xml.mk sd/prj sd/qa sd/README sd/README_REMOTE sd/res sd/sdi sd/source sd/uiconfig sd/UIConfig_sdraw.mk sd/UIConfig_simpress.mk sd/util sd/workben sd/xml sd/xsl set_soenv.in setup_native/CustomTarget_mac.mk setup_native/CustomTarget_scripts.mk setup_native/CustomTarget_spell.mk setup_native/CustomTarget_wintools.mk setup_native/Library_getuid.mk setup_native/Library_instooofiltmsi.mk setup_native/Library_qslnkmsi.mk setup_native/Library_reg4allmsdoc.mk setup_native/Library_regactivex.mk setup_native/Library_regpatchactivex.mk setup_native/Library_sdqsmsi.mk setup_native/Library_sellangmsi.mk setup_native/Library_shlxtmsi.mk setup_native/Library_sn_tools.mk setup_native/Makefile setup_native/Module_setup_native.mk setup_native/Package_misc.mk setup_native/Package_packinfo.mk setup_native/Package_sc ripts_generated.mk setup_native/Package_scripts.mk setup_native/Package_spell.mk setup_native/Package_ulf.mk setup_native/Package_wintools.mk setup_native/prj setup_native/scripts setup_native/source setup_native/StaticLibrary_quickstarter.mk setup_native/StaticLibrary_seterror.mk setup_native/tests sfx2/AllLangResTarget_sfx2.mk sfx2/CppunitTest_sfx2_metadatable.mk sfx2/doc sfx2/inc sfx2/JunitTest_sfx2_complex.mk sfx2/JunitTest_sfx2_unoapi.mk sfx2/Library_qstart_gtk.mk sfx2/Library_qstart.mk sfx2/Library_sfx.mk sfx2/Makefile sfx2/Module_sfx2.mk sfx2/Package_inc.mk sfx2/Package_sdi.mk sfx2/prj sfx2/qa sfx2/README sfx2/sdi sfx2/source sfx2/uiconfig sfx2/UIConfig_sfx.mk sfx2/util sfx2/workben shell/CustomTarget_shlxthdl_res.mk shell/CustomTarget_x64.mk shell/Executable_gnome_open_url.mk shell/Executable_lngconvex.mk shell/Executable_regsvrex.mk shell/Executable_senddoc.mk shell/Executable_uri_encode.mk shell/inc shell/Library_cmdmail.mk shell/Library_desktopbe.mk shell/Library_ gconfbe.mk shell/Library_kde4be.mk shell/Library_kdebe.mk shell/Library_localebe.mk shell/Library_losessioninstall.mk shell/Library_macbe.mk shell/Library_ooofilt.mk shell/Library_ooofilt_x64.mk shell/Library_propertyhdl.mk shell/Library_propertyhdl_x64.mk shell/Library_recentfile.mk shell/Library_shlxthdl.mk shell/Library_shlxthdl_x64.mk shell/Library_smplmail.mk shell/Library_syssh.mk shell/Library_syssh_win.mk shell/Library_tdebe.mk shell/Library_wininetbe.mk shell/Makefile shell/Module_shell.mk shell/Package_scripts_gnome.mk shell/Package_scripts_kde.mk shell/Package_scripts.mk shell/Package_senddoc.mk shell/prj shell/qa shell/README shell/source shell/StaticLibrary_shlxthandler_common.mk shell/StaticLibrary_shlxthandler_common_x64.mk shell/StaticLibrary_simplemapi.mk shell/StaticLibrary_xmlparser.mk shell/StaticLibrary_xmlparser_x64.mk shell/WinResTarget_shlxthdl.mk slideshow/CppunitTest_slideshow.mk slideshow/Executable_demoshow.mk slideshow/Library_OGLTrans.mk slidesh ow/Library_slideshow.mk slideshow/Makefile slideshow/manifest.txt slideshow/Module_slideshow.mk slideshow/prj slideshow/qa slideshow/README slideshow/source slideshow/test slideshow/util smoketest/com smoketest/CppunitTest_smoketest.mk smoketest/data smoketest/Executable_libtest.mk smoketest/Extension_TestExtension.mk smoketest/Jar_TestExtension.mk smoketest/Library_smoketest.mk smoketest/libtest.cxx smoketest/lodownloadtest.py smoketest/losmoketest smoketest/losmoketest.py smoketest/Makefile smoketest/makefile.mk smoketest/Module_smoketest.mk smoketestoo_native/makefile.mk smoketestoo_native/prj smoketest/Package_losmoketest.mk smoketest/Package_smoketestdoc.mk smoketest/prj smoketest/README smoketest/smoketest.cxx smoketest/smoketest_too.cxx smoketest/Zip_smoketestdoc.mk solenv/bin solenv/CustomTarget_gdb.mk solenv/doc solenv/Executable_concat-deps.mk solenv/Executable_gcc-wrapper.mk solenv/Executable_g++-wrapper.mk solenv/gbuild solenv/gcc-wrappers solenv/gdb solenv/inc s olenv/lldb solenv/Makefile solenv/makefile.mk solenv/Module_solenv.mk solenv/Package_gdb_install.mk solenv/Package_gdb.mk solenv/prj solenv/README solenv/src solenv/StaticLibrary_wrapper.mk soltools/adjustvisibility soltools/checkdll soltools/cpp soltools/Executable_cpp.mk soltools/Executable_makedepend.mk soltools/giparser soltools/inc soltools/javadep soltools/ldump soltools/Makefile soltools/mkdepend soltools/Module_soltools.mk soltools/Package_inc.mk soltools/prj soltools/support soltools/testhxx soltools/util soltools/winunistd sot/CppunitTest_sot_test_sot.mk sot/inc sot/JunitTest_sot_complex.mk sot/Library_sot.mk sot/Makefile sot/Module_sot.mk sot/Package_inc.mk sot/prj sot/qa sot/README sot/source sot/util sot/workben .src_root starmath/AllLangResTarget_sm.mk starmath/CppunitTest_starmath_qa_cppunit.mk starmath/inc starmath/JunitTest_sm_unoapi.mk starmath/JunitTest_starmath_unoapi.mk starmath/Library_smd.mk starmath/Library_sm.mk starmath/Makefile starmath/Module_star math.mk starmath/Package_uiconfig.mk starmath/prj starmath/qa starmath/README starmath/sdi starmath/source starmath/uiconfig starmath/UIConfig_smath.mk starmath/util starmath/workben starmath/xml stax/makefile.mk stax/prj stlport/dos_lineends.patch stlport/makefile.mk stlport/prj stlport/STLport-4.0.patch stlport/STLport-4.0-sunstudio12u1.patch stlport/STLport-4.5-0119.patch stlport/STLport-4.5-cxx0x.patch stlport/STLport-4.5-gcc43_warnings.patch stlport/STLport-4.5.patch stlport/win32_custom.bat stlport/win32_custom.sh stlport/win32_sdk.bat stlport/win32_sdk.sh stoc/inc stoc/Library_bootstrap.mk stoc/Library_introspection.mk stoc/Library_invocadapt.mk stoc/Library_invocation.mk stoc/Library_javaloader.mk stoc/Library_javavm.mk stoc/Library_namingservice.mk stoc/Library_proxyfac.mk stoc/Library_reflection.mk stoc/Library_stocservices.mk stoc/Makefile stoc/Module_stoc.mk stoc/prj stoc/README stoc/source stoc/test stoc/unosdk.mk stoc/util store/inc store/Library_store.mk store /Makefile store/Module_store.mk store/prj store/README store/source store/util store/version.mk store/workben svgio/inc svgio/Library_svgio.mk svgio/Makefile svgio/Module_svgio.mk svgio/source svgio/svgio.component svl/AllLangResTarget_svl.mk svl/CppunitTest_svl_lngmisc.mk svl/CppunitTest_svl_qa_cppunit.mk svl/CppunitTest_svl_urihelper.mk svl/inc svl/JunitTest_svl_complex.mk svl/Library_fsstorage.mk svl/Library_passwordcontainer.mk svl/Library_svl.mk svl/Makefile svl/Module_svl.mk svl/Package_inc.mk svl/prj svl/qa svl/source svl/unx svl/util svtools/AllLangResTarget_svt.mk svtools/bmpmaker svtools/CppunitTest_svtools_filters_test.mk svtools/Executable_bmp.mk svtools/Executable_bmpsum.mk svtools/Executable_g2g.mk svtools/Executable_langsupport.mk svtools/inc svtools/JunitTest_svtools_unoapi.mk svtools/langsupport svtools/Library_hatchwindowfactory.mk svtools/Library_svt.mk svtools/Makefile svtools/Module_svtools.mk svtools/Package_inc.mk svtools/prj svtools/qa svtools/README svtools/source svtools/uiconfig svtools/UIConfig_svt.mk svtools/util svtools/workben svx/AllLangResTarget_gal.mk svx/AllLangResTarget_ofa.mk svx/AllLangResTarget_svx.mk svx/AllLangResTarget_textconversiondlgs.mk svx/doc svx/Executable_gengal.bin.mk svx/inc svx/JunitTest_svx_unoapi.mk svx/Library_svxcore.mk svx/Library_svx.mk svx/Library_textconversiondlgs.mk svx/Makefile svx/Module_svx.mk svx/Package_gengal.mk svx/Package_globlmn_hrc.mk svx/Package_inc.mk svx/Package_sdi.mk svx/prj svx/qa svx/README svx/sdi svx/source svx/uiconfig svx/UIConfig_svx.mk svx/util svx/workben svx/xml sw/AllLangResTarget_sw.mk sw/CppunitTest_sw_filters_test.mk sw/CppunitTest_sw_htmlexport.mk sw/CppunitTest_sw_layout_test.mk sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_odfexport.mk sw/CppunitTest_sw_odfimport.mk sw/CppunitTest_sw_ooxmlexport.mk sw/CppunitTest_sw_ooxmlimport.mk sw/CppunitTest_sw_rtfexport.mk sw/CppunitTest_sw_rtfimport.mk sw/CppunitTest_sw_swdoc_test.mk sw/CppunitTest_sw_uwrit er.mk sw/CppunitTest_sw_ww8export.mk sw/CppunitTest_sw_ww8import.mk swext/Configuration_mediawiki.mk swext/Extension_wiki-publisher.mk swext/Jar_mediawiki.mk swext/Makefile swext/mediawiki swext/Module_swext.mk swext/prj swext/README swext/Zip_mediawiki_develop.mk sw/inc sw/JunitTest_sw_complex.mk sw/JunitTest_sw_unoapi.mk sw/Library_msword.mk sw/Library_swd.mk sw/Library_sw.mk sw/Library_swui.mk sw/Library_vbaswobj.mk sw/Makefile sw/Module_sw.mk sw/Package_misc.mk sw/Package_uiconfig.mk sw/Package_xml.mk sw/prj sw/PythonTest_sw_python.mk sw/qa sw/README sw/sdi sw/source sw/uiconfig sw/UIConfig_sglobal.mk sw/UIConfig_sweb.mk sw/UIConfig_swform.mk sw/UIConfig_swreport.mk sw/UIConfig_swriter.mk sw/UIConfig_swxform.mk sw/util sw/xml sysui/CustomTarget_deb.mk sysui/CustomTarget_infoplist.mk sysui/CustomTarget_rpm.mk sysui/CustomTarget_share.mk sysui/CustomTarget_slackware.mk sysui/CustomTarget_solaris.mk sysui/desktop sysui/Makefile sysui/Module_sysui.mk sysui/Package_desktop.mk sysui/Package_icons.mk sysui/Package_infoplist.mk sysui/Package_osxicons.mk sysui/Package_share.mk sysui/prj sysui/README sysui/source sysui/util tail_build/Makefile tail_build/prj tail_build/README TEMPLATE.SOURCECODE.HEADER test/inc test/Library_subsequenttest.mk test/Library_test.mk test/Makefile test/Module_test.mk test/Package_inc.mk test/Package_unittest.mk test/prj test/README test/source testtools/com testtools/CustomTarget_bridgetest_climaker.mk testtools/CustomTarget_bridgetest_javamaker.mk testtools/CustomTarget_bridgetest.mk testtools/CustomTarget_uno_test.mk testtools/inc testtools/InternalUnoApi_bridgetest.mk testtools/Jar_testComponent.mk testtools/Library_bridgetest.mk testtools/Library_constructors.mk testtools/Library_cppobj.mk testtools/Makefile testtools/Module_testtools.mk testtools/prj testtools/qa testtools/Rdb_uno_services.mk testtools/README testtools/readme.txt testtools/source testtools/StaticLibrary_bridgetest.mk testtools/util test/user-template tomcat/build.xml tomcat/ExternalProject_tomcat.mk tomcat/Makefile tomcat/makefile.mk tomcat/Module_tomcat.mk tomcat/Package_tomcat.mk tomcat/prj tomcat/README tomcat/tomcat.patch tomcat/UnpackedTarball_tomcat.mk toolkit/AllLangResTarget_tk.mk toolkit/inc toolkit/JunitTest_toolkit_complex.mk toolkit/JunitTest_toolkit_unoapi.mk toolkit/Library_tk.mk toolkit/Makefile toolkit/Module_toolkit.mk toolkit/Package_inc.mk toolkit/Package_util.mk toolkit/prj toolkit/qa toolkit/README toolkit/source toolkit/src2xml toolkit/test toolkit/util tools/bootstrp tools/CppunitTest_tools_test.mk tools/CustomTarget_reversemap.mk tools/Executable_bestreversemap.mk tools/Executable_mkunroll.mk tools/Executable_rscdep.mk tools/Executable_so_checksum.mk tools/Executable_tools_cppunittester_all.mk tools/inc tools/Library_tl.mk tools/Makefile tools/Module_tools.mk tools/Package_inc.mk tools/Package_reversemap.mk tools/prj tools/qa tools/README tools/source tools/StaticLibrary_ooopathutils.mk tools/tes t tools/unx tools/win tools/workben touch/CustomTarget_touch_javamaker.mk touch/idl touch/InternalUnoApi_touch.mk touch/Library_libotouch.mk touch/Makefile touch/Module_touch.mk touch/README touch/source translations tubes/CppunitTest_tubes_test.mk tubes/Executable_liboapprover.mk tubes/Library_tubes.mk tubes/LibreOfficeApprover.client tubes/LibreOffice.client tubes/Makefile tubes/Module_tubes.mk tubes/org.freedesktop.Telepathy.Client.LibreOfficeApprover.service tubes/org.freedesktop.Telepathy.Client.LibreOffice.service tubes/qa tubes/README tubes/source tubes/uiconfig tubes/UIConfig_tubes.mk twain/inc twain/Makefile twain/Module_twain.mk twain/Package_inc.mk twain/prj twain/README ucbhelper/inc ucbhelper/Library_ucbhelper.mk ucbhelper/Makefile ucbhelper/Module_ucbhelper.mk ucbhelper/Package_inc.mk ucbhelper/prj ucbhelper/README ucbhelper/source ucbhelper/workben ucb/JunitTest_ucb_complex.mk ucb/JunitTest_ucb_unoapi.mk ucb/Library_cached1.mk ucb/Library_srtrs1.mk ucb/Library _ucb1.mk ucb/Library_ucpcmis1.mk ucb/Library_ucpdav1.mk ucb/Library_ucpexpand1.mk ucb/Library_ucpext.mk ucb/Library_ucpfile1.mk ucb/Library_ucpftp1.mk ucb/Library_ucpgio1.mk ucb/Library_ucpgvfs1.mk ucb/Library_ucphier1.mk ucb/Library_ucpodma1.mk ucb/Library_ucppkg1.mk ucb/Library_ucptdoc1.mk ucb/Makefile ucb/Module_ucb.mk ucb/Package_odma_inc.mk ucb/Package_xml.mk ucb/prj ucb/qa ucb/README ucb/source ucb/StaticLibrary_odma_lib.mk ucb/test ucb/workben ucpp/Executable_ucpp.mk ucpp/Makefile ucpp/Module_ucpp.mk ucpp/ucpp.patch ucpp/UnpackedTarball_ucpp.mk udkapi/com udkapi/Makefile udkapi/Module_udkapi.mk udkapi/Package_udkapi_idl.mk udkapi/Package_udkapi_inc.mk udkapi/prj udkapi/README udkapi/type_reference udkapi/UnoApi_udkapi.mk udkapi/UnoApi_uretypes.mk udm/inc udm/Makefile udm/Module_udm.mk udm/prj udm/README udm/source udm/StaticLibrary_udm.mk udm/util unixODBC/inc unixODBC/Makefile unixODBC/Module_unixODBC.mk unixODBC/Package_inc.mk unixODBC/prj unixODBC/README UnoControl s/inc UnoControls/Library_ctl.mk UnoControls/Makefile UnoControls/Module_UnoControls.mk UnoControls/prj UnoControls/README UnoControls/source UnoControls/util unodevtools/Executable_skeletonmaker.mk unodevtools/inc unodevtools/Makefile unodevtools/Module_unodevtools.mk unodevtools/prj unodevtools/README unodevtools/source unodevtools/unodevtools.pmk unoidl/Executable_reg2unoidl.mk unoidl/Library_unoidl.mk unoidl/Makefile unoidl/Module_unoidl.mk unoidl/source unoil/climaker unoil/com unoil/CustomTarget_climaker.mk unoil/CustomTarget_javamaker.mk unoil/drafts unoil/Jar_unoil.mk unoil/javamaker unoil/Makefile unoil/Module_unoil.mk unoil/Package_climaker.mk unoil/Package_clioootypesversion.mk unoil/prj unoil/README unoil/util unotest/inc unotest/Jar_test.mk unotest/Jar_test-tools.mk unotest/Library_unobootstrapprotector.mk unotest/Library_unoexceptionprotector.mk unotest/Library_unotest.mk unotest/Makefile unotest/Module_unotest.mk unotest/prj unotest/source unotools/inc unotool s/JunitTest_unotools_complex.mk unotools/Library_utl.mk unotools/Makefile unotools/Module_unotools.mk unotools/Package_inc.mk unotools/prj unotools/qa unotools/README unotools/source unotools/util unoxml/JunitTest_unordf_complex.mk unoxml/JunitTest_unoxml_complex.mk unoxml/Library_unordf.mk unoxml/Library_unoxml.mk unoxml/Makefile unoxml/Module_unoxml.mk unoxml/prj unoxml/qa unoxml/README unoxml/source unoxml/test unusedcode.easy unusedcode.exclude unusedcode.README ure/Makefile ure/Module_ure.mk ure/Package_distribution.mk ure/Package_install.mk ure/Package_uretest.mk ure/prj ure/Rdb_ure.mk ure/README ure/source ure/Zip_uretest.mk uui/AllLangResTarget_uui.mk uui/Library_uui.mk uui/Makefile uui/Module_uui.mk uui/Package_xml.mk uui/prj uui/README uui/source uui/uiconfig uui/UIConfig_uui.mk uui/util vbahelper/inc vbahelper/Library_msforms.mk vbahelper/Library_vbahelper.mk vbahelper/Makefile vbahelper/Module_vbahelper.mk vbahelper/Package_inc.mk vbahelper/prj vbahelper/README v bahelper/source vbahelper/util vcl/AllLangResTarget_vcl.mk vcl/android vcl/aqua vcl/coretext vcl/CppunitTest_vcl_filters_test.mk vcl/CustomTarget_afm_hash.mk vcl/CustomTarget_kde4_moc.mk vcl/CustomTarget_kde_moc.mk vcl/CustomTarget_tde_moc.mk vcl/Executable_kdefilepicker.mk vcl/Executable_tdefilepicker.mk vcl/Executable_ui-previewer.mk vcl/generic vcl/headless vcl/inc vcl/ios vcl/Library_desktop_detector.mk vcl/Library_vcl.mk vcl/Library_vclplug_gen.mk vcl/Library_vclplug_gtk3.mk vcl/Library_vclplug_gtk.mk vcl/Library_vclplug_kde4.mk vcl/Library_vclplug_kde.mk vcl/Library_vclplug_svp.mk vcl/Library_vclplug_tde.mk vcl/Makefile vcl/Module_vcl.mk vcl/null vcl/Package_afmhash.mk vcl/Package_inc.mk vcl/Package_kde4moc.mk vcl/Package_osx.mk vcl/Package_osxres.mk vcl/prj vcl/qa vcl/quartz vcl/README vcl/source vcl/StaticLibrary_headless.mk vcl/StaticLibrary_vclmain.mk vcl/test vcl/uiconfig vcl/UIConfig_vcl.mk vcl/unx vcl/vcl.android.component vcl/vcl.headless.component vcl/vcl.ios. component vcl/vcl.macosx.component vcl/vcl.unx.component vcl/vcl.windows.component vcl/win vcl/WinResTarget_vcl.mk vcl/workben vigra/Makefile vigra/makefile.mk vigra/Module_vigra.mk vigra/prj vigra/README vigra/UnpackedTarball_vigra.mk vigra/vigra1.4.0-enumwarn.patch wizards/AllLangResTarget_cal.mk wizards/AllLangResTarget_dbw.mk wizards/AllLangResTarget_eur.mk wizards/AllLangResTarget_imp.mk wizards/AllLangResTarget_tpl.mk wizards/AllLangResTarget_wwz.mk wizards/AllLangResTarget_wzi.mk wizards/com wizards/Jar_agenda.mk wizards/Jar_commonwizards.mk wizards/Jar_fax.mk wizards/Jar_form.mk wizards/Jar_letter.mk wizards/Jar_query.mk wizards/Jar_reportbuilder.mk wizards/Jar_report.mk wizards/Jar_table.mk wizards/Jar_web.mk wizards/Makefile wizards/Module_wizards.mk wizards/Package_depot.mk wizards/Package_euro.mk wizards/Package_form.mk wizards/Package_gimmicks.mk wizards/Package_import.mk wizards/Package_share.mk wizards/Package_standard.mk wizards/Package_template.mk wizards/Pa ckage_tools.mk wizards/Package_tutorials.mk wizards/Package_usr.mk wizards/prj wizards/Pyuno_agenda.mk wizards/Pyuno_commonwizards.mk wizards/Pyuno_fax.mk wizards/Pyuno_letter.mk wizards/Pyuno_web.mk wizards/README wizards/source wizards/util wizards/Zip_depot.mk wizards/Zip_euro.mk wizards/Zip_form.mk wizards/Zip_gimmicks.mk wizards/Zip_import.mk wizards/Zip_launcher.mk wizards/Zip_schedule.mk wizards/Zip_share.mk wizards/Zip_standard.mk wizards/Zip_template.mk wizards/Zip_tools.mk wizards/Zip_tutorials.mk wizards/Zip_usr.mk wizards/Zip_web.mk writerfilter/CppunitTest_writerfilter_doctok.mk writerfilter/CppunitTest_writerfilter_rtftok.mk writerfilter/CustomTarget_source.mk writerfilter/debug_setup.mk writerfilter/documentation writerfilter/inc writerfilter/JunitTest_writerfilter_complex.mk writerfilter/Library_doctok.mk writerfilter/Library_ooxml.mk writerfilter/Library_resourcemodel.mk writerfilter/Library_rtftok.mk writerfilter/Library_writerfilter.mk writerfilter/Library _writerfilter_uno.mk writerfilter/Makefile writerfilter/Module_writerfilter.mk writerfilter/Package_sprmids.mk writerfilter/Package_writerfilter_generated.mk writerfilter/prj writerfilter/qa writerfilter/README writerfilter/source writerfilter/unocomponent writerfilter/util writerperfect/Library_cdrimport.mk writerperfect/Library_msworks.mk writerperfect/Library_visioimport.mk writerperfect/Library_wpftdraw.mk writerperfect/Library_wpft.mk writerperfect/Library_wpftwriter.mk writerperfect/Library_wpgimport.mk writerperfect/Makefile writerperfect/Module_writerperfect.mk writerperfect/prj writerperfect/README writerperfect/source writerperfect/StaticLibrary_writerperfect.mk writerperfect/util x11_extensions/Makefile x11_extensions/Module_x11_extensions.mk x11_extensions/Package_inc.mk x11_extensions/prj x11_extensions/README xmerge/inc xmerge/Jar_aportisdoc.mk xmerge/Jar_htmlsoff.mk xmerge/Jar_pexcel.mk xmerge/Jar_pocketword.mk xmerge/Jar_XMergeBridge.mk xmerge/Jar_xmerge.mk x merge/Makefile xmerge/Module_xmerge.mk xmerge/Package_xmergesync.mk xmerge/prj xmerge/README xmerge/source xmerge/workben xml2cmp/Executable_xml2cmp.mk xml2cmp/Makefile xml2cmp/Module_xml2cmp.mk xml2cmp/prj xml2cmp/source xmlhelp/Library_tvhlp1.mk xmlhelp/Library_ucpchelp1.mk xmlhelp/Makefile xmlhelp/Module_xmlhelp.mk xmlhelp/Package_helpxsl.mk xmlhelp/Package_xsl.mk xmlhelp/prj xmlhelp/README xmlhelp/source xmlhelp/util xmloff/CppunitTest_xmloff_uxmloff.mk xmloff/dtd xmloff/inc xmloff/JunitTest_xmloff_unoapi.mk xmloff/Library_xof.mk xmloff/Library_xo.mk xmloff/Makefile xmloff/Module_xmloff.mk xmloff/Package_dtd.mk xmloff/Package_inc.mk xmloff/prj xmloff/qa xmloff/README xmloff/source xmloff/util xmloff/xml xmlreader/inc xmlreader/Library_xmlreader.mk xmlreader/Makefile xmlreader/Module_xmlreader.mk xmlreader/Package_inc.mk xmlreader/prj xmlreader/README xmlreader/source xmlscript/dtd xmlscript/inc xmlscript/Library_xcr.mk xmlscript/Library_xmlscript.mk xmlscript/Makefile xm lscript/Module_xmlscript.mk xmlscript/Package_dtd.mk xmlscript/Package_inc.mk xmlscript/prj xmlscript/README xmlscript/source xmlscript/test xmlscript/util xmlsecurity/AllLangResTarget_xsec.mk xmlsecurity/CppunitTest_qa_certext.mk xmlsecurity/inc xmlsecurity/Library_xmlsecurity.mk xmlsecurity/Library_xsec_fw.mk xmlsecurity/Library_xsec_xmlsec.mk xmlsecurity/Makefile xmlsecurity/Module_xmlsecurity.mk xmlsecurity/prj xmlsecurity/qa xmlsecurity/README xmlsecurity/source xmlsecurity/test_docs xmlsecurity/tools xmlsecurity/uiconfig xmlsecurity/UIConfig_xmlsec.mk xmlsecurity/util xmlsecurity/workben xpdf/ExternalPackage_xpdf.mk xpdf/ExternalProject_xpdf.mk xpdf/Makefile xpdf/makefile.mk xpdf/Module_xpdf.mk xpdf/prj xpdf/README xpdf/UnpackedTarball_xpdf.mk xpdf/xpdf-3.02-gfxColorMaxComps.patch xpdf/xpdf-3.02.patch xpdf/xpdf-no-writable-literals.patch xsltml/ExternalPackage_xsltml.mk xsltml/Makefile xsltml/makefile.mk xsltml/Module_xsltml.mk xsltml/prj xsltml/README xsltml/UnpackedT arball_xsltml.mk xsltml/xsltml_2.1.2.patch zlib/ExternalPackage_zlib.mk zlib/Makefile zlib/makefile.mk zlib/make_patched_header.pl zlib/Module_zlib.mk zlib/prj zlib/README zlib/StaticLibrary_zlib.mk zlib/StaticLibrary_zlib_x64.mk zlib/UnpackedTarball_zlib.mk zlib/zlib-1.2.3.patch zlib/zlib-1.2.5.patch zlib/zlib-valgrind.patch

Thorsten Behrens tbehrens at suse.com
Mon May 6 12:09:34 PDT 2013


Rebased ref, commits from common ancestor:
commit e37cfc7b3d8a9787aa2563d625cb27a7105972dd
Author: Thorsten Behrens <tbehrens at suse.com>
Date:   Tue Jan 31 01:07:48 2012 +0100

    Add opengl canvas implementation.
    
    Adds opengl canvas implementation - display-list-based, all
    rendering done as textured geometry. Needs shader support.
    
    Currently compiles and works on Linux, Mac should be ~easy to
    add, win32 eventually.
    
    Change-Id: Ibf3eb88d6a36a91b2960a3a6320d708160e4fc14

diff --git a/Repository.mk b/Repository.mk
index 13d7e70..736fffd 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -614,6 +614,7 @@ $(eval $(call gb_Helper_register_libraries,OOOLIBS, \
     migrationoo3 \
     msforms \
     mtfrenderer \
+    oglcanvas \
     OGLTrans \
     passwordcontainer \
     pdfimport \
diff --git a/canvas/Library_oglcanvas.mk b/canvas/Library_oglcanvas.mk
new file mode 100644
index 0000000..fca6996
--- /dev/null
+++ b/canvas/Library_oglcanvas.mk
@@ -0,0 +1,69 @@
+# -*- 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_Library_Library,oglcanvas))
+
+$(eval $(call gb_Library_set_componentfile,oglcanvas,canvas/source/opengl/oglcanvas))
+
+$(eval $(call gb_Library_use_sdk_api,oglcanvas))
+
+$(eval $(call gb_Library_use_libraries,oglcanvas,\
+	sal \
+	cppu \
+	basegfx \
+	cppuhelper \
+	comphelper \
+	vcl \
+	tk \
+	tl \
+	i18nlangtag \
+	canvastools \
+	$(gb_UWINAPI) \
+))
+
+$(eval $(call gb_Library_add_exception_objects,oglcanvas,\
+	canvas/source/opengl/ogl_bitmapcanvashelper \
+	canvas/source/opengl/ogl_canvasbitmap \
+	canvas/source/opengl/ogl_canvascustomsprite \
+	canvas/source/opengl/ogl_canvasfont \
+	canvas/source/opengl/ogl_canvashelper \
+	canvas/source/opengl/ogl_canvastools \
+	canvas/source/opengl/ogl_spritecanvas \
+	canvas/source/opengl/ogl_spritedevicehelper \
+	canvas/source/opengl/ogl_textlayout \
+	canvas/source/opengl/ogl_texturecache \
+))
+
+$(eval $(call gb_Library_use_externals,oglcanvas,\
+	boost_headers \
+))
+
+ifeq ($(strip $(OS)),MACOSX)
+$(eval $(call gb_Library_use_system_darwin_frameworks,oglcanvas,\
+    Cocoa \
+    GLUT \
+    OpenGL \
+))
+
+else ifeq ($(strip $(OS)),WNT)
+$(eval $(call gb_Library_use_system_win32_libs,oglcanvas,\
+    gdi32 \
+    glu32 \
+    opengl32 \
+))
+
+else
+$(eval $(call gb_Library_add_libs,oglcanvas,\
+    -lGL \
+    -lGLU \
+    -lX11 \
+))
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/canvas/Module_canvas.mk b/canvas/Module_canvas.mk
index 59acf96..89171fd 100644
--- a/canvas/Module_canvas.mk
+++ b/canvas/Module_canvas.mk
@@ -41,6 +41,12 @@ $(eval $(call gb_Module_add_targets,canvas,\
 ))
 endif
 
+ifeq ($(ENABLE_OPENGL),TRUE)
+$(eval $(call gb_Module_add_targets,canvas,\
+	Library_oglcanvas \
+))
+endif
+
 ifneq ($(ENABLE_DIRECTX),)
 $(eval $(call gb_Module_add_targets,canvas,\
 	Library_directx9canvas \
diff --git a/canvas/source/opengl/ogl_bitmapcanvashelper.cxx b/canvas/source/opengl/ogl_bitmapcanvashelper.cxx
new file mode 100644
index 0000000..1d132cb
--- /dev/null
+++ b/canvas/source/opengl/ogl_bitmapcanvashelper.cxx
@@ -0,0 +1,101 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#include "ogl_bitmapcanvashelper.hxx"
+
+#include <canvas/debug.hxx>
+#include <canvas/canvastools.hxx>
+#include <tools/diagnose_ex.h>
+
+
+using namespace ::com::sun::star;
+
+namespace oglcanvas
+{
+    BitmapCanvasHelper::BitmapCanvasHelper()
+    {}
+
+    void BitmapCanvasHelper::disposing()
+    {
+        CanvasHelper::disposing();
+    }
+
+    void BitmapCanvasHelper::init( rendering::XGraphicDevice&     rDevice,
+                                   SpriteDeviceHelper&            rDeviceHelper,
+                                   const geometry::IntegerSize2D& rSize )
+    {
+        maSize = rSize;
+        CanvasHelper::init(rDevice,rDeviceHelper);
+    }
+
+    void BitmapCanvasHelper::copyRect( const rendering::XCanvas*                            /*pCanvas*/,
+                                       const uno::Reference< rendering::XBitmapCanvas >&    /*sourceCanvas*/,
+                                       const geometry::RealRectangle2D&                     /*sourceRect*/,
+                                       const rendering::ViewState&                          /*sourceViewState*/,
+                                       const rendering::RenderState&                        /*sourceRenderState*/,
+                                       const geometry::RealRectangle2D&                     /*destRect*/,
+                                       const rendering::ViewState&                          /*destViewState*/,
+                                       const rendering::RenderState&                        /*destRenderState*/ )
+    {
+        // TODO(F2): copyRect NYI
+    }
+
+    geometry::IntegerSize2D BitmapCanvasHelper::getSize()
+    {
+        return maSize;
+    }
+
+    uno::Reference< rendering::XBitmap > BitmapCanvasHelper::getScaledBitmap( const geometry::RealSize2D& /*newSize*/,
+                                                                              sal_Bool                    /*beFast*/ )
+    {
+        // TODO(F1):
+        return uno::Reference< rendering::XBitmap >();
+    }
+
+    uno::Sequence< sal_Int8 > BitmapCanvasHelper::getData( rendering::IntegerBitmapLayout&     /*bitmapLayout*/,
+                                                           const geometry::IntegerRectangle2D& /*rect*/ )
+    {
+        // TODO(F2): NYI - and improbable to ever be
+        return uno::Sequence< sal_Int8 >();
+    }
+
+    void BitmapCanvasHelper::setData( const uno::Sequence< sal_Int8 >&      /*data*/,
+                                      const rendering::IntegerBitmapLayout& /*bitmapLayout*/,
+                                      const geometry::IntegerRectangle2D&   /*rect*/ )
+    {
+        // TODO(F2): NYI - and improbable to ever be
+    }
+
+    void BitmapCanvasHelper::setPixel( const uno::Sequence< sal_Int8 >&       /*color*/,
+                                       const rendering::IntegerBitmapLayout&  /*bitmapLayout*/,
+                                       const geometry::IntegerPoint2D&        /*pos*/ )
+    {
+        // TODO(F2): NYI - and improbable to ever be
+    }
+
+    uno::Sequence< sal_Int8 > BitmapCanvasHelper::getPixel( rendering::IntegerBitmapLayout&   /*bitmapLayout*/,
+                                                            const geometry::IntegerPoint2D&   /*pos*/ )
+    {
+        // TODO(F2): NYI - and improbable to ever be
+        return uno::Sequence< sal_Int8 >();
+    }
+
+    rendering::IntegerBitmapLayout BitmapCanvasHelper::getMemoryLayout()
+    {
+        return ::canvas::tools::getStdMemoryLayout(getSize());
+    }
+
+    bool BitmapCanvasHelper::hasAlpha() const
+    {
+        return true;
+    }
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_bitmapcanvashelper.hxx b/canvas/source/opengl/ogl_bitmapcanvashelper.hxx
new file mode 100644
index 0000000..50781c3
--- /dev/null
+++ b/canvas/source/opengl/ogl_bitmapcanvashelper.hxx
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef OGL_BITMAPCANVASHELPER_HXX_
+#define OGL_BITMAPCANVASHELPER_HXX_
+
+#include <com/sun/star/rendering/XBitmapCanvas.hpp>
+#include <com/sun/star/rendering/XIntegerBitmap.hpp>
+
+#include <basegfx/vector/b2isize.hxx>
+#include <basegfx/vector/b2dsize.hxx>
+
+#include <boost/utility.hpp>
+#include <boost/shared_ptr.hpp>
+#include <vector>
+
+#include "ogl_canvashelper.hxx"
+
+
+namespace oglcanvas
+{
+    /** Helper class for basic canvas functionality. */
+    class BitmapCanvasHelper : public CanvasHelper
+    {
+    public:
+        BitmapCanvasHelper();
+
+        /// Release all references
+        void disposing();
+
+        /** Initialize canvas helper
+
+            This method late-initializes the canvas helper, providing
+            it with the necessary device and output objects. Note that
+            the CanvasHelper does <em>not</em> take ownership of the
+            passed rDevice reference, nor does it perform any
+            reference counting. Thus, to prevent the reference counted
+            SpriteCanvas object from deletion, the user of this class
+            is responsible for holding ref-counted references itself!
+
+            @param rDevice
+            Reference device this canvas is associated with
+
+         */
+        void init( ::com::sun::star::rendering::XGraphicDevice&     rDevice,
+                   SpriteDeviceHelper&                              rDeviceHelper,
+                   const ::com::sun::star::geometry::IntegerSize2D& rSize );
+
+        // BitmapCanvasHelper functionality
+        // ================================
+
+        void copyRect( const ::com::sun::star::rendering::XCanvas*          rCanvas,
+                       const ::com::sun::star::uno::Reference<
+                            ::com::sun::star::rendering::XBitmapCanvas >&   sourceCanvas,
+                       const ::com::sun::star::geometry::RealRectangle2D&   sourceRect,
+                       const ::com::sun::star::rendering::ViewState&        sourceViewState,
+                       const ::com::sun::star::rendering::RenderState&      sourceRenderState,
+                       const ::com::sun::star::geometry::RealRectangle2D&   destRect,
+                       const ::com::sun::star::rendering::ViewState&        destViewState,
+                       const ::com::sun::star::rendering::RenderState&      destRenderState );
+
+        ::com::sun::star::geometry::IntegerSize2D getSize();
+
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > queryBitmapCanvas();
+
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmap >
+            getScaledBitmap( const ::com::sun::star::geometry::RealSize2D&  newSize,
+                             sal_Bool                                               beFast );
+
+        ::com::sun::star::uno::Sequence< sal_Int8 >
+            getData( ::com::sun::star::rendering::IntegerBitmapLayout&      bitmapLayout,
+                     const ::com::sun::star::geometry::IntegerRectangle2D&  rect );
+
+        void setData( const ::com::sun::star::uno::Sequence< sal_Int8 >&        data,
+                      const ::com::sun::star::rendering::IntegerBitmapLayout&   bitmapLayout,
+                      const ::com::sun::star::geometry::IntegerRectangle2D&     rect );
+
+        void setPixel( const ::com::sun::star::uno::Sequence< sal_Int8 >&       color,
+                       const ::com::sun::star::rendering::IntegerBitmapLayout&  bitmapLayout,
+                       const ::com::sun::star::geometry::IntegerPoint2D&        pos );
+
+        ::com::sun::star::uno::Sequence< sal_Int8 >
+            getPixel( ::com::sun::star::rendering::IntegerBitmapLayout& bitmapLayout,
+                      const ::com::sun::star::geometry::IntegerPoint2D& pos );
+
+        ::com::sun::star::rendering::IntegerBitmapLayout getMemoryLayout();
+
+        bool hasAlpha() const;
+
+    private:
+        ::com::sun::star::geometry::IntegerSize2D maSize;
+    };
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_buffercontext.hxx b/canvas/source/opengl/ogl_buffercontext.hxx
new file mode 100644
index 0000000..b996412
--- /dev/null
+++ b/canvas/source/opengl/ogl_buffercontext.hxx
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef OGL_BUFFERCONTEXT_HXX_
+#define OGL_BUFFERCONTEXT_HXX_
+
+#include <sal/config.h>
+#include <boost/shared_ptr.hpp>
+
+namespace oglcanvas
+{
+    struct IBufferContext
+    {
+        virtual ~IBufferContext() {}
+
+        /// start render to buffer. changes gl current context
+        virtual bool startBufferRendering() = 0;
+
+        /// end render to buffer. switches to window context, and selects rendered texture
+        virtual bool endBufferRendering() = 0;
+    };
+
+    typedef ::boost::shared_ptr<IBufferContext> IBufferContextSharedPtr;
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvasbitmap.cxx b/canvas/source/opengl/ogl_canvasbitmap.cxx
new file mode 100644
index 0000000..d78baf5
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvasbitmap.cxx
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#include "ogl_canvasbitmap.hxx"
+
+#include <canvas/debug.hxx>
+#include <canvas/canvastools.hxx>
+#include <tools/diagnose_ex.h>
+
+
+using namespace ::com::sun::star;
+
+namespace oglcanvas
+{
+    CanvasBitmap::CanvasBitmap( const geometry::IntegerSize2D& rSize,
+                                const SpriteCanvasRef&         rDevice,
+                                SpriteDeviceHelper&            rDeviceHelper,
+                                bool                           bHasAlpha ) :
+        mpDevice( rDevice ),
+        mbHasAlpha( bHasAlpha )
+    {
+        ENSURE_OR_THROW( mpDevice.is(),
+                         "CanvasBitmap::CanvasBitmap(): Invalid surface or device" );
+
+        maCanvasHelper.init( *mpDevice.get(), rDeviceHelper, rSize );
+    }
+
+    CanvasBitmap::CanvasBitmap( const CanvasBitmap& rSrc ) :
+        mpDevice( rSrc.mpDevice ),
+        mbHasAlpha( rSrc.mbHasAlpha )
+    {
+        maCanvasHelper = rSrc.maCanvasHelper;
+    }
+
+    void SAL_CALL CanvasBitmap::disposeThis()
+    {
+        mpDevice.clear();
+
+        // forward to parent
+        CanvasBitmapBaseT::disposeThis();
+    }
+
+    bool CanvasBitmap::renderRecordedActions() const
+    {
+        return maCanvasHelper.renderRecordedActions();
+    }
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvasbitmap.hxx b/canvas/source/opengl/ogl_canvasbitmap.hxx
new file mode 100644
index 0000000..b874bde
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvasbitmap.hxx
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef OGL_CANVASBITMAP_HXX
+#define OGL_CANVASBITMAP_HXX
+
+#include <cppuhelper/compbase2.hxx>
+
+#include <com/sun/star/rendering/XBitmapCanvas.hpp>
+#include <com/sun/star/rendering/XIntegerBitmap.hpp>
+
+#include <canvas/base/integerbitmapbase.hxx>
+#include <canvas/base/disambiguationhelper.hxx>
+#include <basegfx/vector/b2isize.hxx>
+
+#include <boost/shared_ptr.hpp>
+
+#include "ogl_bitmapcanvashelper.hxx"
+#include "ogl_spritecanvas.hxx"
+
+
+/* Definition of CanvasBitmap class */
+
+namespace oglcanvas
+{
+    typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::rendering::XBitmapCanvas,
+                                              ::com::sun::star::rendering::XIntegerBitmap > CanvasBitmapBase_Base;
+    typedef ::canvas::IntegerBitmapBase<
+        ::canvas::DisambiguationHelper< CanvasBitmapBase_Base >,
+        BitmapCanvasHelper,
+        ::osl::MutexGuard,
+        ::cppu::OWeakObject >                          CanvasBitmapBaseT;
+
+    class CanvasBitmap : public CanvasBitmapBaseT
+    {
+    public:
+        /** Create a canvas bitmap for the given surface
+
+            @param rSize
+            Size of the bitmap
+
+            @param rDevice
+            Reference device, with which bitmap should be compatible
+         */
+        CanvasBitmap( const ::com::sun::star::geometry::IntegerSize2D& rSize,
+                      const SpriteCanvasRef&                           rDevice,
+                      SpriteDeviceHelper&                              rDeviceHelper,
+                      bool                                             bHasAlpha );
+
+        /** Create verbatim copy (including all recorded actions)
+         */
+        CanvasBitmap( const CanvasBitmap& rSrc );
+
+        /// Dispose all internal references
+        virtual void disposeThis();
+
+        /** Write out recorded actions
+         */
+        bool renderRecordedActions() const;
+
+    private:
+        /** MUST hold here, too, since CanvasHelper only contains a
+            raw pointer (without refcounting)
+        */
+        SpriteCanvasRef mpDevice;
+        bool            mbHasAlpha;
+    };
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvascustomsprite.cxx b/canvas/source/opengl/ogl_canvascustomsprite.cxx
new file mode 100644
index 0000000..7c08671
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvascustomsprite.cxx
@@ -0,0 +1,261 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#include "ogl_canvascustomsprite.hxx"
+#include "ogl_canvastools.hxx"
+#include "ogl_tools.hxx"
+
+#include <canvas/debug.hxx>
+#include <canvas/verbosetrace.hxx>
+#include <canvas/verifyinput.hxx>
+#include <tools/diagnose_ex.h>
+
+#include <canvas/canvastools.hxx>
+
+#include <basegfx/matrix/b2dhommatrix.hxx>
+#include <basegfx/point/b2dpoint.hxx>
+#include <basegfx/tools/canvastools.hxx>
+#include <basegfx/polygon/b2dpolygonclipper.hxx>
+#include <basegfx/polygon/b2dpolygontriangulator.hxx>
+#include <basegfx/polygon/b2dpolypolygontools.hxx>
+
+#include <GL/gl.h>
+#include <GL/glu.h>
+#include <GL/glext.h>
+
+
+using namespace ::com::sun::star;
+
+namespace oglcanvas
+{
+    CanvasCustomSprite::CanvasCustomSprite( const ::com::sun::star::geometry::RealSize2D& rSpriteSize,
+                                            const SpriteCanvasRef&                        rRefDevice,
+                                            SpriteDeviceHelper&                           rDeviceHelper ) :
+        mpSpriteCanvas( rRefDevice ),
+        maSize(rSpriteSize),
+        mxClip(),
+        maTransformation(),
+        maPosition(),
+        mfAlpha(0.0),
+        mfPriority(0.0)
+    {
+        ENSURE_OR_THROW( rRefDevice.get(),
+                         "CanvasCustomSprite::CanvasCustomSprite(): Invalid sprite canvas" );
+
+        ::canvas::tools::setIdentityAffineMatrix2D(maTransformation);
+        maCanvasHelper.init( *rRefDevice.get(),
+                             rDeviceHelper );
+    }
+
+    void SAL_CALL CanvasCustomSprite::disposeThis()
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+
+        mpSpriteCanvas.clear();
+
+        // forward to parent
+        CanvasCustomSpriteBaseT::disposeThis();
+    }
+
+    void SAL_CALL CanvasCustomSprite::setAlpha( double alpha ) throw (lang::IllegalArgumentException,
+                                                                      uno::RuntimeException)
+    {
+        canvas::tools::verifyRange( alpha, 0.0, 1.0 );
+
+        ::osl::MutexGuard aGuard( m_aMutex );
+        mfAlpha = alpha;
+    }
+
+    void SAL_CALL CanvasCustomSprite::move( const geometry::RealPoint2D&  aNewPos,
+                                            const rendering::ViewState&   viewState,
+                                            const rendering::RenderState& renderState ) throw (lang::IllegalArgumentException,
+                                                                                               uno::RuntimeException)
+    {
+        canvas::tools::verifyArgs(aNewPos, viewState, renderState,
+                                  BOOST_CURRENT_FUNCTION,
+                                  static_cast< ::cppu::OWeakObject* >(this));
+
+        ::osl::MutexGuard aGuard( m_aMutex );
+        ::basegfx::B2DHomMatrix aTransform;
+        ::canvas::tools::mergeViewAndRenderTransform(aTransform,
+                                                     viewState,
+                                                     renderState);
+
+        // convert position to device pixel
+        maPosition = ::basegfx::unotools::b2DPointFromRealPoint2D(aNewPos);
+        maPosition *= aTransform;
+    }
+
+    void SAL_CALL CanvasCustomSprite::transform( const geometry::AffineMatrix2D& aTransformation ) throw (lang::IllegalArgumentException,
+                                                                                                          uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+        maTransformation = aTransformation;
+    }
+
+    void SAL_CALL CanvasCustomSprite::clip( const uno::Reference< rendering::XPolyPolygon2D >& xClip ) throw (uno::RuntimeException)
+    {
+        mxClip = xClip;
+    }
+
+    void SAL_CALL CanvasCustomSprite::setPriority( double nPriority ) throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+        mfPriority = nPriority;
+    }
+
+    void SAL_CALL CanvasCustomSprite::show() throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+        if( mpSpriteCanvas.is() )
+            mpSpriteCanvas->show(this);
+    }
+
+    void SAL_CALL CanvasCustomSprite::hide() throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+        if( mpSpriteCanvas.is() )
+            mpSpriteCanvas->hide(this);
+    }
+
+    uno::Reference< rendering::XCanvas > SAL_CALL CanvasCustomSprite::getContentCanvas() throw (uno::RuntimeException)
+    {
+        return this;
+    }
+
+    bool CanvasCustomSprite::renderSprite() const
+    {
+        if( ::basegfx::fTools::equalZero( mfAlpha ) )
+            return true;
+
+        TransformationPreserver aPreserver1;
+        const ::basegfx::B2IVector aSpriteSizePixel(
+            ::canvas::tools::roundUp( maSize.Width ),
+            ::canvas::tools::roundUp( maSize.Height ));
+
+        // translate sprite to output position
+        glTranslated(maPosition.getX(), maPosition.getY(), 0);
+
+        {
+            TransformationPreserver aPreserver2;
+
+            // apply sprite content transformation matrix
+            double aGLTransform[] =
+                {
+                    maTransformation.m00, maTransformation.m10, 0, 0,
+                    maTransformation.m01, maTransformation.m11, 0, 0,
+                    0,                    0,                    1, 0,
+                    maTransformation.m02, maTransformation.m12, 0, 1
+                };
+            glMultMatrixd(aGLTransform);
+
+            IBufferContextSharedPtr pBufferContext;
+            if( mfAlpha != 1.0 || mxClip.is() )
+            {
+                // drats. need to render to temp surface before, and then
+                // composite that to screen
+
+                // TODO(P3): buffer pbuffer, maybe even keep content
+                // (in a texture?)
+                pBufferContext=maCanvasHelper.getDeviceHelper()->createBufferContext(aSpriteSizePixel);
+                pBufferContext->startBufferRendering();
+            }
+
+            // this ends up in pBufferContext, if that one's "current"
+            if( !maCanvasHelper.renderRecordedActions() )
+                return false;
+
+            if( pBufferContext )
+            {
+                // content ended up in background buffer - compose to
+                // screen now. Calls below switches us back to window
+                // context, and binds to generated, dynamic texture
+                pBufferContext->endBufferRendering();
+
+                glEnable(GL_TEXTURE_2D);
+                glTexParameteri(GL_TEXTURE_2D,
+                                GL_TEXTURE_MIN_FILTER,
+                                GL_NEAREST);
+                glTexParameteri(GL_TEXTURE_2D,
+                                GL_TEXTURE_MAG_FILTER,
+                                GL_NEAREST);
+                glEnable(GL_BLEND);
+                glBlendFunc(GL_SRC_ALPHA,
+                            GL_ONE_MINUS_SRC_ALPHA);
+
+                // blend against fixed vertex color; texture alpha is multiplied in
+                glColor4f(1,1,1,mfAlpha);
+
+                if( mxClip.is() )
+                {
+                    const double fWidth=maSize.Width;
+                    const double fHeight=maSize.Height;
+
+                    // TODO(P3): buffer triangulation
+                    const ::basegfx::B2DPolygon& rTriangulatedPolygon(
+                        ::basegfx::triangulator::triangulate(
+                            ::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(mxClip)));
+
+                    basegfx::B2DPolygon rTriangleList(
+                        basegfx::tools::clipTriangleListOnRange(
+                            rTriangulatedPolygon,
+                            basegfx::B2DRange(
+                                0,0,
+                                aSpriteSizePixel.getX(),
+                                aSpriteSizePixel.getY())));
+
+                    glBegin(GL_TRIANGLES);
+                    for( sal_uInt32 i=0; i<rTriangulatedPolygon.count(); i++ )
+                    {
+                        const ::basegfx::B2DPoint& rPt( rTriangulatedPolygon.getB2DPoint(i) );
+                        const double s(rPt.getX()/fWidth);
+                        const double t(rPt.getY()/fHeight);
+                        glTexCoord2f(s,t); glVertex2d(rPt.getX(), rPt.getY());
+                    }
+                    glEnd();
+                }
+                else
+                {
+                    const double fWidth=maSize.Width/aSpriteSizePixel.getX();
+                    const double fHeight=maSize.Height/aSpriteSizePixel.getY();
+
+                    glBegin(GL_TRIANGLE_STRIP);
+                    glTexCoord2f(0,0);            glVertex2d(0,0);
+                    glTexCoord2f(0,fHeight);      glVertex2d(0, aSpriteSizePixel.getY());
+                    glTexCoord2f(fWidth,0);       glVertex2d(aSpriteSizePixel.getX(),0);
+                    glTexCoord2f(fWidth,fHeight); glVertex2d(aSpriteSizePixel.getX(),aSpriteSizePixel.getY());
+                    glEnd();
+                }
+
+                glBindTexture(GL_TEXTURE_2D, 0);
+                glDisable(GL_TEXTURE_2D);
+            }
+        }
+
+        glColor4f(1,0,0,1);
+        glBegin(GL_LINE_STRIP);
+        glVertex2d(-2,-2);
+        glVertex2d(-2,maSize.Height+4);
+        glVertex2d(maSize.Width+4,maSize.Height+4);
+        glVertex2d(maSize.Width+4,-2);
+        glVertex2d(-2,-2);
+        glVertex2d(maSize.Width+4,maSize.Height+4);
+        glEnd();
+
+        std::vector<double> aVec;
+        aVec.push_back(mfAlpha);
+        aVec.push_back(mfPriority);
+        aVec.push_back(maCanvasHelper.getRecordedActionCount());
+        renderOSD( aVec, 10 );
+
+        return true;
+    }
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvascustomsprite.hxx b/canvas/source/opengl/ogl_canvascustomsprite.hxx
new file mode 100644
index 0000000..a96ce64
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvascustomsprite.hxx
@@ -0,0 +1,100 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef OGL_CANVASCUSTOMSPRITE_HXX
+#define OGL_CANVASCUSTOMSPRITE_HXX
+
+#include <cppuhelper/compbase2.hxx>
+#include <comphelper/uno3.hxx>
+
+#include <com/sun/star/lang/XComponent.hpp>
+#include <com/sun/star/rendering/XCustomSprite.hpp>
+#include <com/sun/star/rendering/XPolyPolygon2D.hpp>
+
+#include <basegfx/point/b2dpoint.hxx>
+#include <basegfx/vector/b2isize.hxx>
+#include <basegfx/matrix/b2dhommatrix.hxx>
+
+#include <canvas/base/disambiguationhelper.hxx>
+
+#include "ogl_spritecanvas.hxx"
+#include "ogl_canvashelper.hxx"
+
+
+namespace oglcanvas
+{
+    typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::rendering::XCustomSprite,
+                                              ::com::sun::star::rendering::XCanvas > CanvasCustomSpriteBase_Base;
+    typedef ::canvas::CanvasBase<
+         ::canvas::DisambiguationHelper< CanvasCustomSpriteBase_Base >,
+         CanvasHelper,
+         ::osl::MutexGuard,
+         ::cppu::OWeakObject >                          CanvasCustomSpriteBaseT;
+
+    /* Definition of CanvasCustomSprite class */
+
+    class CanvasCustomSprite : public CanvasCustomSpriteBaseT
+    {
+    public:
+        /** Create a custom sprite
+
+            @param rSpriteSize
+            Size of the sprite in pixel
+
+            @param rRefDevice
+            Associated output device
+
+            @param rSpriteCanvas
+            Target canvas
+
+            @param rDevice
+            Target DX device
+         */
+        CanvasCustomSprite( const ::com::sun::star::geometry::RealSize2D&   rSpriteSize,
+                            const SpriteCanvasRef&                          rRefDevice,
+                            SpriteDeviceHelper&                             rDeviceHelper );
+
+        virtual void disposeThis();
+
+        // XSprite
+        virtual void SAL_CALL setAlpha( double alpha ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+        virtual void SAL_CALL move( const ::com::sun::star::geometry::RealPoint2D&  aNewPos, const ::com::sun::star::rendering::ViewState&  viewState, const ::com::sun::star::rendering::RenderState& renderState ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+        virtual void SAL_CALL transform( const ::com::sun::star::geometry::AffineMatrix2D& aTransformation ) throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+        virtual void SAL_CALL clip( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D >& aClip ) throw (::com::sun::star::uno::RuntimeException);
+        virtual void SAL_CALL setPriority( double nPriority ) throw (::com::sun::star::uno::RuntimeException);
+        virtual void SAL_CALL show() throw (::com::sun::star::uno::RuntimeException);
+        virtual void SAL_CALL hide() throw (::com::sun::star::uno::RuntimeException);
+
+        // XCustomSprite
+        virtual ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvas > SAL_CALL getContentCanvas() throw (::com::sun::star::uno::RuntimeException);
+
+        double getPriority() const { return mfPriority; }
+
+        /// Render sprite content at sprite position
+        bool renderSprite() const;
+
+    private:
+        /** MUST hold here, too, since CanvasHelper only contains a
+            raw pointer (without refcounting)
+        */
+        SpriteCanvasRef                              mpSpriteCanvas;
+        const ::com::sun::star::geometry::RealSize2D maSize;
+
+        ::com::sun::star::uno::Reference<
+            ::com::sun::star::rendering::XPolyPolygon2D > mxClip;
+        ::com::sun::star::geometry::AffineMatrix2D        maTransformation;
+        ::basegfx::B2DPoint                               maPosition;
+        double                                            mfAlpha;
+        double                                            mfPriority;
+    };
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvasfont.cxx b/canvas/source/opengl/ogl_canvasfont.cxx
new file mode 100644
index 0000000..d465919
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvasfont.cxx
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#include "ogl_canvasfont.hxx"
+#include "ogl_textlayout.hxx"
+
+#include <com/sun/star/rendering/XSpriteCanvas.hpp>
+#include <com/sun/star/rendering/PanoseWeight.hpp>
+
+
+using namespace ::com::sun::star;
+
+namespace oglcanvas
+{
+    CanvasFont::CanvasFont( const rendering::FontRequest&                   rFontRequest,
+                            const uno::Sequence< beans::PropertyValue >&    /*extraFontProperties*/,
+                            const geometry::Matrix2D&                       fontMatrix ) :
+        CanvasFontBaseT( m_aMutex ),
+        maFontRequest( rFontRequest ),
+        maFontMatrix( fontMatrix )
+    {
+    }
+
+    void SAL_CALL CanvasFont::disposing()
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+    }
+
+    uno::Reference< rendering::XTextLayout > SAL_CALL CanvasFont::createTextLayout( const rendering::StringContext& aText,
+                                                                                    sal_Int8                        nDirection,
+                                                                                    sal_Int64                       nRandomSeed ) throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+
+        return new TextLayout( aText, nDirection, nRandomSeed, ImplRef( this ) );
+    }
+
+    uno::Sequence< double > SAL_CALL CanvasFont::getAvailableSizes(  ) throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+
+        // TODO
+        return uno::Sequence< double >();
+    }
+
+    uno::Sequence< beans::PropertyValue > SAL_CALL CanvasFont::getExtraFontProperties(  ) throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+
+        // TODO
+        return uno::Sequence< beans::PropertyValue >();
+    }
+
+    rendering::FontRequest SAL_CALL CanvasFont::getFontRequest(  ) throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+
+        return maFontRequest;
+    }
+
+    rendering::FontMetrics SAL_CALL CanvasFont::getFontMetrics(  ) throw (uno::RuntimeException)
+    {
+        ::osl::MutexGuard aGuard( m_aMutex );
+
+        // TODO
+        return rendering::FontMetrics();
+    }
+
+    const ::com::sun::star::geometry::Matrix2D& CanvasFont::getFontMatrix() const
+    {
+        return maFontMatrix;
+    }
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvasfont.hxx b/canvas/source/opengl/ogl_canvasfont.hxx
new file mode 100644
index 0000000..9a26297
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvasfont.hxx
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef OGL_CANVASFONT_HXX
+#define OGL_CANVASFONT_HXX
+
+#include <comphelper/implementationreference.hxx>
+
+#include <cppuhelper/compbase1.hxx>
+#include <comphelper/broadcasthelper.hxx>
+
+#include <com/sun/star/rendering/XCanvas.hpp>
+#include <com/sun/star/rendering/XCanvasFont.hpp>
+
+#include <rtl/ref.hxx>
+
+#include <boost/shared_ptr.hpp>
+#include <boost/utility.hpp>
+
+
+/* Definition of CanvasFont class */
+
+namespace oglcanvas
+{
+    class SpriteCanvas;
+
+    typedef ::cppu::WeakComponentImplHelper1< ::com::sun::star::rendering::XCanvasFont > CanvasFontBaseT;
+
+    class CanvasFont : public ::comphelper::OBaseMutex,
+                       public CanvasFontBaseT,
+                       private ::boost::noncopyable
+    {
+    public:
+        typedef ::comphelper::ImplementationReference<
+            CanvasFont,
+            ::com::sun::star::rendering::XCanvasFont > ImplRef;
+
+        CanvasFont( const ::com::sun::star::rendering::FontRequest&                                     fontRequest,
+                    const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >&    extraFontProperties,
+                    const ::com::sun::star::geometry::Matrix2D&                                         fontMatrix );
+
+        /// Dispose all internal references
+        virtual void SAL_CALL disposing();
+
+        // XCanvasFont
+        virtual ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XTextLayout > SAL_CALL createTextLayout( const ::com::sun::star::rendering::StringContext& aText, sal_Int8 nDirection, sal_Int64 nRandomSeed ) throw (::com::sun::star::uno::RuntimeException);
+        virtual ::com::sun::star::rendering::FontRequest SAL_CALL getFontRequest(  ) throw (::com::sun::star::uno::RuntimeException);
+        virtual ::com::sun::star::rendering::FontMetrics SAL_CALL getFontMetrics(  ) throw (::com::sun::star::uno::RuntimeException);
+        virtual ::com::sun::star::uno::Sequence< double > SAL_CALL getAvailableSizes(  ) throw (::com::sun::star::uno::RuntimeException);
+        virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue > SAL_CALL getExtraFontProperties(  ) throw (::com::sun::star::uno::RuntimeException);
+
+        const ::com::sun::star::geometry::Matrix2D& getFontMatrix() const;
+
+    private:
+        ::com::sun::star::rendering::FontRequest    maFontRequest;
+        ::com::sun::star::geometry::Matrix2D        maFontMatrix;
+    };
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvashelper.cxx b/canvas/source/opengl/ogl_canvashelper.cxx
new file mode 100644
index 0000000..ae349b9
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvashelper.cxx
@@ -0,0 +1,1011 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#define GL_GLEXT_PROTOTYPES
+
+#include "ogl_canvashelper.hxx"
+
+#include <rtl/crc.h>
+#include <canvas/debug.hxx>
+#include <tools/diagnose_ex.h>
+#include <basegfx/tools/canvastools.hxx>
+#include <basegfx/polygon/b2dpolypolygon.hxx>
+#include <basegfx/polygon/b2dpolygontriangulator.hxx>
+#include <basegfx/polygon/b2dpolypolygontools.hxx>
+
+#include <com/sun/star/rendering/TexturingMode.hpp>
+#include <com/sun/star/rendering/CompositeOperation.hpp>
+#include <com/sun/star/rendering/RepaintResult.hpp>
+#include <com/sun/star/rendering/PathCapType.hpp>
+#include <com/sun/star/rendering/PathJoinType.hpp>
+
+#include <vcl/virdev.hxx>
+#include <vcl/metric.hxx>
+#include <vcl/font.hxx>
+
+#include "ogl_canvasfont.hxx"
+#include "ogl_canvastools.hxx"
+#include "ogl_canvasbitmap.hxx"
+#include "ogl_spritecanvas.hxx"
+#include "ogl_texturecache.hxx"
+#include "ogl_tools.hxx"
+
+#include <GL/gl.h>
+#include <GL/glu.h>
+#include <GL/glext.h>
+
+#include <boost/scoped_array.hpp>
+
+
+using namespace ::com::sun::star;
+
+namespace oglcanvas
+{
+    /* Concepts:
+       =========
+
+       This OpenGL canvas implementation tries to keep all render
+       output as high-level as possible, i.e. geometry data and
+       externally-provided bitmaps. Therefore, calls at the
+       XCanvas-interfaces are not immediately transformed into colored
+       pixel inside some GL buffer, but are retained simply with their
+       call parameters. Only after XSpriteCanvas::updateScreen() has
+       been called, this all gets transferred to the OpenGL subsystem
+       and converted to a visible scene. The big advantage is, this
+       makes sprite modifications practically zero-overhead, and saves
+       a lot on texture memory (compared to the directx canvas, which
+       immediately dumps every render call into a texture).
+
+       The drawback, of course, is that complex images churn a lot of
+       GPU cycles on every re-rendering.
+
+       For the while, I'll be using immediate mode, i.e. transfer data
+       over and over again to the OpenGL subsystem. Alternatively,
+       there are display lists, which at least keep the data on the
+       server, or even better, vertex buffers, which copy geometry
+       data over en bloc.
+
+       Next todo: put polygon geometry into vertex buffer (LRU cache
+       necessary?) - or, rather, buffer objects! prune entries older
+       than one updateScreen() call)
+
+       Text: http://www.opengl.org/resources/features/fontsurvey/
+     */
+
+    struct CanvasHelper::Action
+    {
+        ::basegfx::B2DHomMatrix         maTransform;
+        GLenum                          meSrcBlendMode;
+        GLenum                          meDstBlendMode;
+        rendering::ARGBColor            maARGBColor;
+        ::basegfx::B2DPolyPolygonVector maPolyPolys;
+
+        ::boost::function6< bool,
+                            const CanvasHelper&,
+                            const ::basegfx::B2DHomMatrix&,
+                            GLenum,
+                            GLenum,
+                            const rendering::ARGBColor&,
+                            const ::basegfx::B2DPolyPolygonVector& > maFunction;
+    };
+
+    namespace
+    {
+        bool lcl_drawPoint( const CanvasHelper&              /*rHelper*/,
+                            const ::basegfx::B2DHomMatrix&   rTransform,
+                            GLenum                           eSrcBlend,
+                            GLenum                           eDstBlend,
+                            const rendering::ARGBColor&      rColor,
+                            const geometry::RealPoint2D&     rPoint )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rColor);
+
+            glBegin(GL_POINTS);
+            glVertex2d(rPoint.X, rPoint.Y);
+            glEnd();
+
+            return true;
+        }
+
+        bool lcl_drawLine( const CanvasHelper&              /*rHelper*/,
+                           const ::basegfx::B2DHomMatrix&   rTransform,
+                           GLenum                           eSrcBlend,
+                           GLenum                           eDstBlend,
+                           const rendering::ARGBColor&      rColor,
+                           const geometry::RealPoint2D&     rStartPoint,
+                           const geometry::RealPoint2D&     rEndPoint )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rColor);
+
+            glBegin(GL_LINES);
+            glVertex2d(rStartPoint.X, rStartPoint.Y);
+            glVertex2d(rEndPoint.X, rEndPoint.Y);
+            glEnd();
+
+            return true;
+        }
+
+        bool lcl_drawPolyPolygon( const CanvasHelper&                    /*rHelper*/,
+                                  const ::basegfx::B2DHomMatrix&         rTransform,
+                                  GLenum                                 eSrcBlend,
+                                  GLenum                                 eDstBlend,
+                                  const rendering::ARGBColor&            rColor,
+                                  const ::basegfx::B2DPolyPolygonVector& rPolyPolygons )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rColor);
+
+            ::basegfx::B2DPolyPolygonVector::const_iterator aCurr=rPolyPolygons.begin();
+            const ::basegfx::B2DPolyPolygonVector::const_iterator aEnd=rPolyPolygons.end();
+            while( aCurr != aEnd )
+                renderPolyPolygon(*aCurr++);
+
+            return true;
+        }
+
+        bool lcl_fillPolyPolygon( const CanvasHelper&                    /*rHelper*/,
+                                  const ::basegfx::B2DHomMatrix&         rTransform,
+                                  GLenum                                 eSrcBlend,
+                                  GLenum                                 eDstBlend,
+                                  const rendering::ARGBColor&            rColor,
+                                  const ::basegfx::B2DPolyPolygonVector& rPolyPolygons )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rColor);
+
+            ::basegfx::B2DPolyPolygonVector::const_iterator aCurr=rPolyPolygons.begin();
+            const ::basegfx::B2DPolyPolygonVector::const_iterator aEnd=rPolyPolygons.end();
+            while( aCurr != aEnd )
+            {
+                glBegin(GL_TRIANGLES);
+                renderComplexPolyPolygon(*aCurr++);
+                glEnd();
+            }
+
+            return true;
+        }
+
+        bool lcl_fillGradientPolyPolygon( const CanvasHelper&                            rHelper,
+                                          const ::basegfx::B2DHomMatrix&                 rTransform,
+                                          GLenum                                         eSrcBlend,
+                                          GLenum                                         eDstBlend,
+                                          const ::canvas::ParametricPolyPolygon::Values& rValues,
+                                          const rendering::Texture&                      rTexture,
+                                          const ::basegfx::B2DPolyPolygonVector&         rPolyPolygons )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rendering::ARGBColor());
+
+            // convert to weird canvas textur coordinate system (not
+            // [0,1]^2, but path coordinate system)
+            ::basegfx::B2DHomMatrix aTextureTransform;
+            ::basegfx::unotools::homMatrixFromAffineMatrix( aTextureTransform,
+                                                            rTexture.AffineTransform );
+            ::basegfx::B2DRange aBounds;
+            ::basegfx::B2DPolyPolygonVector::const_iterator aCurr=rPolyPolygons.begin();
+            const ::basegfx::B2DPolyPolygonVector::const_iterator aEnd=rPolyPolygons.end();
+            while( aCurr != aEnd )
+                aBounds.expand(::basegfx::tools::getRange(*aCurr++));
+            aTextureTransform.translate(-aBounds.getMinX(), -aBounds.getMinY());
+            aTextureTransform.scale(1/aBounds.getWidth(), 1/aBounds.getHeight());
+
+            const sal_Int32 nNumCols=rValues.maColors.getLength();
+            uno::Sequence< rendering::ARGBColor > aColors(nNumCols);
+            rendering::ARGBColor* const pColors=aColors.getArray();
+            rendering::ARGBColor* pCurrCol=pColors;
+            for( sal_Int32 i=0; i<nNumCols; ++i )
+                *pCurrCol++ = rHelper.getDevice()->getDeviceColorSpace()->convertToARGB(rValues.maColors[i])[0];
+
+            OSL_ASSERT(nNumCols == rValues.maStops.getLength());
+
+            switch( rValues.meType )
+            {
+                case ::canvas::ParametricPolyPolygon::GRADIENT_LINEAR:
+                    rHelper.getDeviceHelper()->useLinearGradientShader(pColors,
+                                                                       rValues.maStops,
+                                                                       aTextureTransform);
+                    break;
+
+                case ::canvas::ParametricPolyPolygon::GRADIENT_ELLIPTICAL:
+                    rHelper.getDeviceHelper()->useRadialGradientShader(pColors,
+                                                                       rValues.maStops,
+                                                                       aTextureTransform);
+                    break;
+
+                case ::canvas::ParametricPolyPolygon::GRADIENT_RECTANGULAR:
+                    rHelper.getDeviceHelper()->useRectangularGradientShader(pColors,
+                                                                            rValues.maStops,
+                                                                            aTextureTransform);
+                    break;
+
+                default:
+                    ENSURE_OR_THROW( false,
+                                      "CanvasHelper lcl_fillGradientPolyPolygon(): Unexpected case" );
+            }
+
+
+            aCurr=rPolyPolygons.begin();
+            while( aCurr != aEnd )
+            {
+                glBegin(GL_TRIANGLES);
+                renderComplexPolyPolygon(*aCurr++);
+                glEnd();
+            }
+
+            glUseProgram(0);
+            glLoadIdentity();
+            glMatrixMode(GL_MODELVIEW);
+
+            return true;
+        }
+
+        bool lcl_drawOwnBitmap( const CanvasHelper&              /*rHelper*/,
+                                const ::basegfx::B2DHomMatrix&   rTransform,
+                                GLenum                           eSrcBlend,
+                                GLenum                           eDstBlend,
+                                const rendering::ARGBColor&      rColor,
+                                const CanvasBitmap&              rBitmap )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rColor);
+
+            return rBitmap.renderRecordedActions();
+        }
+
+        bool lcl_drawGenericBitmap( const CanvasHelper&              rHelper,
+                                    const ::basegfx::B2DHomMatrix&   rTransform,
+                                    GLenum                           eSrcBlend,
+                                    GLenum                           eDstBlend,
+                                    const rendering::ARGBColor&      rColor,
+                                    const geometry::IntegerSize2D&   rPixelSize,
+                                    const uno::Sequence<sal_Int8>&   rPixelData,
+                                    sal_uInt32                       nPixelCrc32 )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rColor);
+
+            const unsigned int nTexId=rHelper.getDeviceHelper()->getTextureCache().getTexture(
+                rPixelSize, rPixelData.getConstArray(), nPixelCrc32);
+
+            glBindTexture(GL_TEXTURE_2D, nTexId);
+            glEnable(GL_TEXTURE_2D);
+            glTexParameteri(GL_TEXTURE_2D,
+                            GL_TEXTURE_MIN_FILTER,
+                            GL_NEAREST);
+            glTexParameteri(GL_TEXTURE_2D,
+                            GL_TEXTURE_MAG_FILTER,
+                            GL_NEAREST);
+            glEnable(GL_BLEND);
+            glBlendFunc(GL_SRC_ALPHA,
+                        GL_ONE_MINUS_SRC_ALPHA);
+
+            // blend against fixed vertex color; texture alpha is multiplied in
+            glColor4f(1,1,1,1);
+
+            glBegin(GL_TRIANGLE_STRIP);
+            glTexCoord2f(0,0); glVertex2d(0,0);
+            glTexCoord2f(0,1); glVertex2d(0, rPixelSize.Height);
+            glTexCoord2f(1,0); glVertex2d(rPixelSize.Width,0);
+            glTexCoord2f(1,1); glVertex2d(rPixelSize.Width,rPixelSize.Height);
+            glEnd();
+
+            glBindTexture(GL_TEXTURE_2D, 0);
+            glDisable(GL_TEXTURE_2D);
+
+            return true;
+        }
+
+        bool lcl_fillTexturedPolyPolygon( const CanvasHelper&                    rHelper,
+                                          const ::basegfx::B2DHomMatrix&         rTransform,
+                                          GLenum                                 eSrcBlend,
+                                          GLenum                                 eDstBlend,
+                                          const rendering::Texture&              rTexture,
+                                          const geometry::IntegerSize2D&         rPixelSize,
+                                          const uno::Sequence<sal_Int8>&         rPixelData,
+                                          sal_uInt32                             nPixelCrc32,
+                                          const ::basegfx::B2DPolyPolygonVector& rPolyPolygons )
+        {
+            TransformationPreserver aPreserver;
+            setupState(rTransform, eSrcBlend, eDstBlend, rendering::ARGBColor());
+
+            const unsigned int nTexId=rHelper.getDeviceHelper()->getTextureCache().getTexture(
+                rPixelSize, rPixelData.getConstArray(), nPixelCrc32);
+
+            glBindTexture(GL_TEXTURE_2D, nTexId);
+            glEnable(GL_TEXTURE_2D);
+            glTexParameteri(GL_TEXTURE_2D,
+                            GL_TEXTURE_MIN_FILTER,
+                            GL_NEAREST);
+            glTexParameteri(GL_TEXTURE_2D,
+                            GL_TEXTURE_MAG_FILTER,
+                            GL_NEAREST);
+            glEnable(GL_BLEND);
+            glBlendFunc(GL_SRC_ALPHA,
+                        GL_ONE_MINUS_SRC_ALPHA);
+
+            // convert to weird canvas textur coordinate system (not
+            // [0,1]^2, but path coordinate system)
+            ::basegfx::B2DHomMatrix aTextureTransform;
+            ::basegfx::unotools::homMatrixFromAffineMatrix( aTextureTransform,
+                                                            rTexture.AffineTransform );
+            ::basegfx::B2DRange aBounds;
+            ::basegfx::B2DPolyPolygonVector::const_iterator aCurr=rPolyPolygons.begin();
+            const ::basegfx::B2DPolyPolygonVector::const_iterator aEnd=rPolyPolygons.end();
+            while( aCurr != aEnd )
+                aBounds.expand(::basegfx::tools::getRange(*aCurr++));
+            aTextureTransform.translate(-aBounds.getMinX(), -aBounds.getMinY());
+            aTextureTransform.scale(1/aBounds.getWidth(), 1/aBounds.getHeight());
+            aTextureTransform.invert();
+
+            glMatrixMode(GL_TEXTURE);
+            double aTexTransform[] =
+                {
+                    aTextureTransform.get(0,0), aTextureTransform.get(1,0), 0, 0,
+                    aTextureTransform.get(0,1), aTextureTransform.get(1,1), 0, 0,
+                    0,                          0,                          1, 0,
+                    aTextureTransform.get(0,2), aTextureTransform.get(1,2), 0, 1
+                };
+            glLoadMatrixd(aTexTransform);
+
+            // blend against fixed vertex color; texture alpha is multiplied in
+            glColor4f(1,1,1,rTexture.Alpha);
+
+            aCurr=rPolyPolygons.begin();
+            while( aCurr != aEnd )
+            {
+                glBegin(GL_TRIANGLES);
+                renderComplexPolyPolygon(*aCurr++);
+                glEnd();
+            }
+
+            glLoadIdentity();
+            glMatrixMode(GL_MODELVIEW);
+
+            glBindTexture(GL_TEXTURE_2D, 0);
+            glDisable(GL_TEXTURE_2D);
+
+            return true;
+        }
+    }
+
+    CanvasHelper::CanvasHelper() :
+        mpDevice( NULL ),
+        mpRecordedActions()
+    {}
+
+    CanvasHelper::~CanvasHelper()
+    {}
+
+    CanvasHelper& CanvasHelper::operator=( const CanvasHelper& rSrc )
+    {
+        mpDevice = rSrc.mpDevice;
+        mpDeviceHelper = rSrc.mpDeviceHelper;
+        mpRecordedActions = rSrc.mpRecordedActions;
+        return *this;
+    }
+
+    void CanvasHelper::disposing()
+    {
+        RecordVectorT aThrowaway;
+        mpRecordedActions.swap( aThrowaway );
+        mpDevice = NULL;
+        mpDeviceHelper = NULL;
+    }
+
+    void CanvasHelper::init( rendering::XGraphicDevice& rDevice,
+                             SpriteDeviceHelper& rDeviceHelper )
+    {
+        mpDevice = &rDevice;
+        mpDeviceHelper = &rDeviceHelper;
+    }
+
+    void CanvasHelper::clear()
+    {
+        mpRecordedActions->clear();
+    }
+
+    void CanvasHelper::drawPoint( const rendering::XCanvas*     /*pCanvas*/,
+                                  const geometry::RealPoint2D&  aPoint,
+                                  const rendering::ViewState&   viewState,
+                                  const rendering::RenderState& renderState )
+    {
+        if( mpDevice )
+        {
+            mpRecordedActions->push_back( Action() );
+            Action& rAct=mpRecordedActions->back();
+
+            setupGraphicsState( rAct, viewState, renderState );
+            rAct.maFunction = ::boost::bind(&lcl_drawPoint,
+                                            _1,_2,_3,_4,_5,
+                                            aPoint);
+        }
+    }
+
+    void CanvasHelper::drawLine( const rendering::XCanvas*      /*pCanvas*/,
+                                 const geometry::RealPoint2D&   aStartPoint,
+                                 const geometry::RealPoint2D&   aEndPoint,
+                                 const rendering::ViewState&    viewState,
+                                 const rendering::RenderState&  renderState )
+    {
+        if( mpDevice )
+        {
+            mpRecordedActions->push_back( Action() );
+            Action& rAct=mpRecordedActions->back();
+
+            setupGraphicsState( rAct, viewState, renderState );
+            rAct.maFunction = ::boost::bind(&lcl_drawLine,
+                                            _1,_2,_3,_4,_5,
+                                            aStartPoint,aEndPoint);
+        }
+    }
+
+    void CanvasHelper::drawBezier( const rendering::XCanvas*            /*pCanvas*/,
+                                   const geometry::RealBezierSegment2D& aBezierSegment,
+                                   const geometry::RealPoint2D&         aEndPoint,
+                                   const rendering::ViewState&          viewState,
+                                   const rendering::RenderState&        renderState )
+    {
+        if( mpDevice )
+        {
+            mpRecordedActions->push_back( Action() );
+            Action& rAct=mpRecordedActions->back();
+
+            setupGraphicsState( rAct, viewState, renderState );
+
+            // TODO(F2): subdivide&render whole curve
+            rAct.maFunction = ::boost::bind(&lcl_drawLine,
+                                            _1,_2,_3,_4,_5,
+                                            geometry::RealPoint2D(
+                                                aBezierSegment.Px,
+                                                aBezierSegment.Py),
+                                            aEndPoint);
+        }
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::drawPolyPolygon( const rendering::XCanvas*                          /*pCanvas*/,
+                                                                                 const uno::Reference< rendering::XPolyPolygon2D >& xPolyPolygon,
+                                                                                 const rendering::ViewState&                        viewState,
+                                                                                 const rendering::RenderState&                      renderState )
+    {
+        ENSURE_OR_THROW( xPolyPolygon.is(),
+                          "CanvasHelper::drawPolyPolygon: polygon is NULL");
+
+        if( mpDevice )
+        {
+            mpRecordedActions->push_back( Action() );
+            Action& rAct=mpRecordedActions->back();
+
+            setupGraphicsState( rAct, viewState, renderState );
+            rAct.maPolyPolys.push_back(
+                ::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(xPolyPolygon));
+            rAct.maPolyPolys.back().makeUnique(); // own copy, for thread safety
+
+            rAct.maFunction = &lcl_drawPolyPolygon;
+        }
+
+        // TODO(P1): Provide caching here.
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::strokePolyPolygon( const rendering::XCanvas*                            /*pCanvas*/,
+                                                                                   const uno::Reference< rendering::XPolyPolygon2D >&   xPolyPolygon,
+                                                                                   const rendering::ViewState&                          viewState,
+                                                                                   const rendering::RenderState&                        renderState,
+                                                                                   const rendering::StrokeAttributes&                   /*strokeAttributes*/ )
+    {
+        ENSURE_OR_THROW( xPolyPolygon.is(),
+                          "CanvasHelper::strokePolyPolygon: polygon is NULL");
+
+        if( mpDevice )
+        {
+            mpRecordedActions->push_back( Action() );
+            Action& rAct=mpRecordedActions->back();
+
+            setupGraphicsState( rAct, viewState, renderState );
+            rAct.maPolyPolys.push_back(
+                ::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(xPolyPolygon));
+            rAct.maPolyPolys.back().makeUnique(); // own copy, for thread safety
+
+            // TODO(F3): fallback to drawPolyPolygon currently
+            rAct.maFunction = &lcl_drawPolyPolygon;
+        }
+
+        // TODO(P1): Provide caching here.
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::strokeTexturedPolyPolygon( const rendering::XCanvas*                            /*pCanvas*/,
+                                                                                           const uno::Reference< rendering::XPolyPolygon2D >&   /*xPolyPolygon*/,
+                                                                                           const rendering::ViewState&                          /*viewState*/,
+                                                                                           const rendering::RenderState&                        /*renderState*/,
+                                                                                           const uno::Sequence< rendering::Texture >&           /*textures*/,
+                                                                                           const rendering::StrokeAttributes&                   /*strokeAttributes*/ )
+    {
+        // TODO
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::strokeTextureMappedPolyPolygon( const rendering::XCanvas*                           /*pCanvas*/,
+                                                                                                const uno::Reference< rendering::XPolyPolygon2D >&  /*xPolyPolygon*/,
+                                                                                                const rendering::ViewState&                         /*viewState*/,
+                                                                                                const rendering::RenderState&                       /*renderState*/,
+                                                                                                const uno::Sequence< rendering::Texture >&          /*textures*/,
+                                                                                                const uno::Reference< geometry::XMapping2D >&       /*xMapping*/,
+                                                                                                const rendering::StrokeAttributes&                  /*strokeAttributes*/ )
+    {
+        // TODO
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XPolyPolygon2D >   CanvasHelper::queryStrokeShapes( const rendering::XCanvas*                            /*pCanvas*/,
+                                                                                   const uno::Reference< rendering::XPolyPolygon2D >&   /*xPolyPolygon*/,
+                                                                                   const rendering::ViewState&                          /*viewState*/,
+                                                                                   const rendering::RenderState&                        /*renderState*/,
+                                                                                   const rendering::StrokeAttributes&                   /*strokeAttributes*/ )
+    {
+        // TODO
+        return uno::Reference< rendering::XPolyPolygon2D >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::fillPolyPolygon( const rendering::XCanvas*                          /*pCanvas*/,
+                                                                                 const uno::Reference< rendering::XPolyPolygon2D >& xPolyPolygon,
+                                                                                 const rendering::ViewState&                        viewState,
+                                                                                 const rendering::RenderState&                      renderState )
+    {
+        ENSURE_OR_THROW( xPolyPolygon.is(),
+                          "CanvasHelper::fillPolyPolygon: polygon is NULL");
+
+        if( mpDevice )
+        {
+            mpRecordedActions->push_back( Action() );
+            Action& rAct=mpRecordedActions->back();
+
+            setupGraphicsState( rAct, viewState, renderState );
+            rAct.maPolyPolys.push_back(
+                ::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(xPolyPolygon));
+            rAct.maPolyPolys.back().makeUnique(); // own copy, for thread safety
+
+            rAct.maFunction = &lcl_fillPolyPolygon;
+        }
+
+        // TODO(P1): Provide caching here.
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::fillTexturedPolyPolygon( const rendering::XCanvas*                          /*pCanvas*/,
+                                                                                         const uno::Reference< rendering::XPolyPolygon2D >& xPolyPolygon,
+                                                                                         const rendering::ViewState&                        viewState,
+                                                                                         const rendering::RenderState&                      renderState,
+                                                                                         const uno::Sequence< rendering::Texture >&         textures )
+    {
+        ENSURE_OR_THROW( xPolyPolygon.is(),
+                          "CanvasHelper::fillPolyPolygon: polygon is NULL");
+
+        if( mpDevice )
+        {
+            mpRecordedActions->push_back( Action() );
+            Action& rAct=mpRecordedActions->back();
+
+            setupGraphicsState( rAct, viewState, renderState );
+            rAct.maPolyPolys.push_back(
+                ::basegfx::unotools::b2DPolyPolygonFromXPolyPolygon2D(xPolyPolygon));
+            rAct.maPolyPolys.back().makeUnique(); // own copy, for thread safety
+
+            // TODO(F1): Multi-texturing
+            if( textures[0].Gradient.is() )
+            {
+                // try to cast XParametricPolyPolygon2D reference to
+                // our implementation class.
+                ::canvas::ParametricPolyPolygon* pGradient =
+                      dynamic_cast< ::canvas::ParametricPolyPolygon* >( textures[0].Gradient.get() );
+
+                if( pGradient )
+                {
+                    // copy state from Gradient polypoly locally
+                    // (given object might change!)
+                    const ::canvas::ParametricPolyPolygon::Values& rValues(
+                        pGradient->getValues() );
+
+                    rAct.maFunction = ::boost::bind(&lcl_fillGradientPolyPolygon,
+                                                    _1,_2,_3,_4,
+                                                    rValues,
+                                                    textures[0],
+                                                    _6);
+                }
+                else
+                {
+                    // TODO(F1): The generic case is missing here
+                    ENSURE_OR_THROW( false,
+                                      "CanvasHelper::fillTexturedPolyPolygon(): unknown parametric polygon encountered" );
+                }
+            }
+            else if( textures[0].Bitmap.is() )
+            {
+                // own bitmap?
+                CanvasBitmap* pOwnBitmap=dynamic_cast<CanvasBitmap*>(textures[0].Bitmap.get());
+                if( pOwnBitmap )
+                {
+                    // TODO(F2): own texture bitmap
+                }
+                else
+                {
+                    // TODO(P3): Highly inefficient - simply copies pixel data
+
+                    uno::Reference< rendering::XIntegerReadOnlyBitmap > xIntegerBitmap(
+                        textures[0].Bitmap,
+                        uno::UNO_QUERY);
+                    if( xIntegerBitmap.is() )
+                    {
+                        const geometry::IntegerSize2D aSize=xIntegerBitmap->getSize();
+                        rendering::IntegerBitmapLayout aLayout;
+                        uno::Sequence<sal_Int8> aPixelData=
+                            xIntegerBitmap->getData(
+                                aLayout,
+                                geometry::IntegerRectangle2D(0,0,aSize.Width,aSize.Height));
+
+                        // force-convert color to ARGB8888 int color space
+                        uno::Sequence<sal_Int8> aARGBBytes(
+                            aLayout.ColorSpace->convertToIntegerColorSpace(
+                                aPixelData,
+                                canvas::tools::getStdColorSpace()));
+
+                        rAct.maFunction = ::boost::bind(&lcl_fillTexturedPolyPolygon,
+                                                        _1,_2,_3,_4,
+                                                        textures[0],
+                                                        aSize,
+                                                        aARGBBytes,
+                                                        rtl_crc32(0,
+                                                                  aARGBBytes.getConstArray(),
+                                                                  aARGBBytes.getLength()),
+                                                        _6);
+                    }
+                    // TODO(F1): handle non-integer case
+                }
+            }
+        }
+
+        // TODO(P1): Provide caching here.
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::fillTextureMappedPolyPolygon( const rendering::XCanvas*                             /*pCanvas*/,
+                                                                                              const uno::Reference< rendering::XPolyPolygon2D >&    /*xPolyPolygon*/,
+                                                                                              const rendering::ViewState&                           /*viewState*/,
+                                                                                              const rendering::RenderState&                         /*renderState*/,
+                                                                                              const uno::Sequence< rendering::Texture >&            /*textures*/,
+                                                                                              const uno::Reference< geometry::XMapping2D >&         /*xMapping*/ )
+    {
+        // TODO
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCanvasFont > CanvasHelper::createFont( const rendering::XCanvas*                    /*pCanvas*/,
+                                                                       const rendering::FontRequest&                fontRequest,
+                                                                       const uno::Sequence< beans::PropertyValue >& extraFontProperties,
+                                                                       const geometry::Matrix2D&                    fontMatrix )
+    {
+        if( mpDevice )
+            return uno::Reference< rendering::XCanvasFont >(
+                    new CanvasFont(fontRequest, extraFontProperties, fontMatrix ) );
+
+        return uno::Reference< rendering::XCanvasFont >();
+    }
+
+    uno::Sequence< rendering::FontInfo > CanvasHelper::queryAvailableFonts( const rendering::XCanvas*                       /*pCanvas*/,
+                                                                            const rendering::FontInfo&                      /*aFilter*/,
+                                                                            const uno::Sequence< beans::PropertyValue >&    /*aFontProperties*/ )
+    {
+        // TODO
+        return uno::Sequence< rendering::FontInfo >();
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::drawText( const rendering::XCanvas*                         /*pCanvas*/,
+                                                                          const rendering::StringContext&                   /*text*/,
+                                                                          const uno::Reference< rendering::XCanvasFont >&   /*xFont*/,
+                                                                          const rendering::ViewState&                       /*viewState*/,
+                                                                          const rendering::RenderState&                     /*renderState*/,
+                                                                          sal_Int8                                          /*textDirection*/ )
+    {
+        // TODO - but not used from slideshow
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::drawTextLayout( const rendering::XCanvas*                       /*pCanvas*/,
+                                                                                const uno::Reference< rendering::XTextLayout >& xLayoutetText,
+                                                                                const rendering::ViewState&                     viewState,
+                                                                                const rendering::RenderState&                   renderState )
+    {
+        ENSURE_OR_THROW( xLayoutetText.is(),
+                          "CanvasHelper::drawTextLayout: text is NULL");
+
+        if( mpDevice )
+        {
+            VirtualDevice aVDev;
+            aVDev.EnableOutput(false);
+
+            CanvasFont* pFont=dynamic_cast<CanvasFont*>(xLayoutetText->getFont().get());
+            const rendering::StringContext& rTxt=xLayoutetText->getText();
+            if( pFont && rTxt.Length )
+            {
+                // create the font
+                const rendering::FontRequest& rFontRequest = pFont->getFontRequest();
+                const geometry::Matrix2D&     rFontMatrix = pFont->getFontMatrix();
+                ::Font aFont(
+                    rFontRequest.FontDescription.FamilyName,
+                    rFontRequest.FontDescription.StyleName,
+                    Size( 0, ::basegfx::fround(rFontRequest.CellSize)));
+
+                aFont.SetAlign( ALIGN_BASELINE );
+                aFont.SetCharSet( (rFontRequest.FontDescription.IsSymbolFont==util::TriState_YES) ? RTL_TEXTENCODING_SYMBOL : RTL_TEXTENCODING_UNICODE );
+                aFont.SetVertical( (rFontRequest.FontDescription.IsVertical==util::TriState_YES) ? true : false );
+                aFont.SetWeight( static_cast<FontWeight>(rFontRequest.FontDescription.FontDescription.Weight) );
+                aFont.SetItalic( (rFontRequest.FontDescription.FontDescription.Letterform<=8) ? ITALIC_NONE : ITALIC_NORMAL );
+
+                // adjust to stretched font
+                if(!::rtl::math::approxEqual(rFontMatrix.m00, rFontMatrix.m11))
+                {
+                    const Size aSize = aVDev.GetFontMetric( aFont ).GetSize();
+                    const double fDividend( rFontMatrix.m10 + rFontMatrix.m11 );
+                    double fStretch = (rFontMatrix.m00 + rFontMatrix.m01);
+
+                    if( !::basegfx::fTools::equalZero( fDividend) )
+                        fStretch /= fDividend;
+
+                    const sal_Int32 nNewWidth = ::basegfx::fround( aSize.Width() * fStretch );
+
+                    aFont.SetWidth( nNewWidth );
+                }
+
+                // set font
+                aVDev.SetFont(aFont);
+
+                mpRecordedActions->push_back( Action() );
+                Action& rAct=mpRecordedActions->back();
+
+                setupGraphicsState( rAct, viewState, renderState );
+
+                // handle custom spacing, if there
+                uno::Sequence<double> aLogicalAdvancements=xLayoutetText->queryLogicalAdvancements();
+                if( aLogicalAdvancements.getLength() )
+                {
+                    // create the DXArray
+                    const sal_Int32 nLen( aLogicalAdvancements.getLength() );
+                    ::boost::scoped_array<sal_Int32> pDXArray( new sal_Int32[nLen] );
+                    for( sal_Int32 i=0; i<nLen; ++i )
+                        pDXArray[i] = basegfx::fround( aLogicalAdvancements[i] );
+
+                    // get the glyphs
+                    aVDev.GetTextOutlines(rAct.maPolyPolys,
+                                          rTxt.Text,
+                                          0,
+                                          (xub_StrLen)rTxt.StartPosition,
+                                          (xub_StrLen)rTxt.Length,
+                                          true,
+                                          0,
+                                          pDXArray.get() );
+                }
+                else
+                {
+                    // get the glyphs
+                    aVDev.GetTextOutlines(rAct.maPolyPolys,
+                                          rTxt.Text,
+                                          0,
+                                          (xub_StrLen)rTxt.StartPosition,
+                                          (xub_StrLen)rTxt.Length );
+                }
+
+                // own copy, for thread safety
+                std::for_each(rAct.maPolyPolys.begin(),
+                              rAct.maPolyPolys.end(),
+                              ::boost::mem_fn(&::basegfx::B2DPolyPolygon::makeUnique));
+
+                rAct.maFunction = &lcl_fillPolyPolygon;
+            }
+        }
+
+        // TODO
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::drawBitmap( const rendering::XCanvas*                   /*pCanvas*/,
+                                                                            const uno::Reference< rendering::XBitmap >& xBitmap,
+                                                                            const rendering::ViewState&                 viewState,
+                                                                            const rendering::RenderState&               renderState )
+    {
+        ENSURE_OR_THROW( xBitmap.is(),
+                          "CanvasHelper::drawBitmap: bitmap is NULL");
+
+        if( mpDevice )
+        {
+            // own bitmap?
+            CanvasBitmap* pOwnBitmap=dynamic_cast<CanvasBitmap*>(xBitmap.get());
+            if( pOwnBitmap )
+            {
+                // insert as transformed copy of bitmap action vector -
+                // during rendering, this gets rendered into a temporary
+                // buffer, and then composited to the front
+                mpRecordedActions->push_back( Action() );
+                Action& rAct=mpRecordedActions->back();
+
+                setupGraphicsState( rAct, viewState, renderState );
+                rAct.maFunction = ::boost::bind(&lcl_drawOwnBitmap,
+                                                _1,_2,_3,_4,_5,
+                                                *pOwnBitmap);
+            }
+            else
+            {
+                // TODO(P3): Highly inefficient - simply copies pixel data
+
+                uno::Reference< rendering::XIntegerReadOnlyBitmap > xIntegerBitmap(
+                    xBitmap, uno::UNO_QUERY);
+                if( xIntegerBitmap.is() )
+                {
+                    const geometry::IntegerSize2D aSize=xBitmap->getSize();
+                    rendering::IntegerBitmapLayout aLayout;
+                    uno::Sequence<sal_Int8> aPixelData=
+                        xIntegerBitmap->getData(
+                            aLayout,
+                            geometry::IntegerRectangle2D(0,0,aSize.Width,aSize.Height));
+
+                    // force-convert color to ARGB8888 int color space
+                    uno::Sequence<sal_Int8> aARGBBytes(
+                        aLayout.ColorSpace->convertToIntegerColorSpace(
+                            aPixelData,
+                            canvas::tools::getStdColorSpace()));
+
+                    mpRecordedActions->push_back( Action() );
+                    Action& rAct=mpRecordedActions->back();
+
+                    setupGraphicsState( rAct, viewState, renderState );
+                    rAct.maFunction = ::boost::bind(&lcl_drawGenericBitmap,
+                                                    _1,_2,_3,_4,_5,
+                                                    aSize, aARGBBytes,
+                                                    rtl_crc32(0,
+                                                              aARGBBytes.getConstArray(),
+                                                              aARGBBytes.getLength()));
+                }
+                // TODO(F1): handle non-integer case
+            }
+        }
+
+        // TODO(P1): Provide caching here.
+        return uno::Reference< rendering::XCachedPrimitive >(NULL);
+    }
+
+    uno::Reference< rendering::XCachedPrimitive > CanvasHelper::drawBitmapModulated( const rendering::XCanvas*                      pCanvas,
+                                                                                     const uno::Reference< rendering::XBitmap >&    xBitmap,
+                                                                                     const rendering::ViewState&                    viewState,
+                                                                                     const rendering::RenderState&                  renderState )
+    {
+        // TODO(F3): remove this wart altogether
+        return drawBitmap(pCanvas, xBitmap, viewState, renderState);
+    }
+
+    uno::Reference< rendering::XGraphicDevice > CanvasHelper::getDevice()
+    {
+        return uno::Reference< rendering::XGraphicDevice >(mpDevice);
+    }
+
+    void CanvasHelper::setupGraphicsState( Action&                       o_action,
+                                           const rendering::ViewState&   viewState,
+                                           const rendering::RenderState& renderState )
+    {
+        ENSURE_OR_THROW( mpDevice,
+                          "CanvasHelper::setupGraphicsState: reference device invalid" );
+
+        // TODO(F3): clipping
+        // TODO(P2): think about caching transformations between canvas calls
+
+        // setup overall transform only now. View clip above was
+        // relative to view transform
+        ::basegfx::B2DHomMatrix aTransform;
+        ::canvas::tools::mergeViewAndRenderTransform(o_action.maTransform,
+                                                     viewState,
+                                                     renderState);
+        // setup compositing - mapping courtesy David Reveman
+        // (glitz_operator.c)
+        switch( renderState.CompositeOperation )
+        {
+            case rendering::CompositeOperation::OVER:
+                o_action.meSrcBlendMode=GL_ONE;
+                o_action.meDstBlendMode=GL_ONE_MINUS_SRC_ALPHA;
+                break;
+            case rendering::CompositeOperation::CLEAR:
+                o_action.meSrcBlendMode=GL_ZERO;
+                o_action.meDstBlendMode=GL_ZERO;
+                break;
+            case rendering::CompositeOperation::SOURCE:
+                o_action.meSrcBlendMode=GL_ONE;
+                o_action.meDstBlendMode=GL_ZERO;
+                break;
+            case rendering::CompositeOperation::UNDER:
+                // FALLTHROUGH intended - but correct?!
+            case rendering::CompositeOperation::DESTINATION:
+                o_action.meSrcBlendMode=GL_ZERO;
+                o_action.meDstBlendMode=GL_ONE;
+                break;
+            case rendering::CompositeOperation::INSIDE:
+                o_action.meSrcBlendMode=GL_DST_ALPHA;
+                o_action.meDstBlendMode=GL_ZERO;
+                break;
+            case rendering::CompositeOperation::INSIDE_REVERSE:
+                o_action.meSrcBlendMode=GL_ONE_MINUS_DST_ALPHA;
+                o_action.meDstBlendMode=GL_ZERO;
+                break;
+            case rendering::CompositeOperation::OUTSIDE:
+                o_action.meSrcBlendMode=GL_ONE_MINUS_DST_ALPHA;
+                o_action.meDstBlendMode=GL_ONE;
+                break;
+            case rendering::CompositeOperation::OUTSIDE_REVERSE:
+                o_action.meSrcBlendMode=GL_ZERO;
+                o_action.meDstBlendMode=GL_ONE_MINUS_SRC_ALPHA;
+                break;
+            case rendering::CompositeOperation::ATOP:
+                o_action.meSrcBlendMode=GL_DST_ALPHA;
+                o_action.meDstBlendMode=GL_ONE_MINUS_SRC_ALPHA;
+                break;
+            case rendering::CompositeOperation::ATOP_REVERSE:
+                o_action.meSrcBlendMode=GL_ONE_MINUS_DST_ALPHA;
+                o_action.meDstBlendMode=GL_SRC_ALPHA;
+                break;
+            case rendering::CompositeOperation::XOR:
+                o_action.meSrcBlendMode=GL_ONE_MINUS_DST_ALPHA;
+                o_action.meDstBlendMode=GL_ONE_MINUS_SRC_ALPHA;
+                break;
+            case rendering::CompositeOperation::ADD:
+                o_action.meSrcBlendMode=GL_ONE;
+                o_action.meDstBlendMode=GL_ONE;
+                break;
+            case rendering::CompositeOperation::SATURATE:
+                o_action.meSrcBlendMode=GL_SRC_ALPHA_SATURATE;
+                o_action.meDstBlendMode=GL_SRC_ALPHA_SATURATE;
+                break;
+
+            default:
+                ENSURE_OR_THROW( false, "CanvasHelper::setupGraphicsState: unexpected mode" );
+                break;
+        }
+
+        o_action.maARGBColor =
+            mpDevice->getDeviceColorSpace()->convertToARGB(renderState.DeviceColor)[0];
+    }
+
+    void CanvasHelper::flush() const
+    {
+    }
+
+    bool CanvasHelper::renderRecordedActions() const
+    {
+        std::vector<Action>::const_iterator aCurr(mpRecordedActions->begin());
+        const std::vector<Action>::const_iterator aEnd(mpRecordedActions->end());
+        while( aCurr != aEnd )
+        {
+            if( !aCurr->maFunction( *this,
+                                    aCurr->maTransform,
+                                    aCurr->meSrcBlendMode,
+                                    aCurr->meDstBlendMode,
+                                    aCurr->maARGBColor,
+                                    aCurr->maPolyPolys ) )
+                return false;
+
+            ++aCurr;
+        }
+
+        return true;
+    }
+
+    size_t CanvasHelper::getRecordedActionCount() const
+    {
+        return mpRecordedActions->size();
+    }
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/canvas/source/opengl/ogl_canvashelper.hxx b/canvas/source/opengl/ogl_canvashelper.hxx
new file mode 100644
index 0000000..b7280ac
--- /dev/null
+++ b/canvas/source/opengl/ogl_canvashelper.hxx
@@ -0,0 +1,238 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef OGL_CANVASHELPER_HXX_
+#define OGL_CANVASHELPER_HXX_
+
+#include <com/sun/star/rendering/XCanvas.hpp>
+
+#include <basegfx/vector/b2isize.hxx>
+#include <basegfx/vector/b2dsize.hxx>
+
+#include <o3tl/cow_wrapper.hxx>
+#include <vector>
+
+namespace oglcanvas
+{
+    class SpriteDeviceHelper;
+
+    /** Helper class for basic canvas functionality. */
+    class CanvasHelper
+    {
+    public:
+        CanvasHelper();
+
+        // outline because of incomplete type Action
+        ~CanvasHelper();
+        CanvasHelper& operator=( const CanvasHelper& );
+
+        /// Release all references
+        void disposing();
+
+        /** Initialize canvas helper
+
+            This method late-initializes the canvas helper, providing
+            it with the necessary device and output objects. Note that
+            the CanvasHelper does <em>not</em> take ownership of the
+            passed rDevice reference, nor does it perform any
+            reference counting. Thus, to prevent the reference counted
+            SpriteCanvas object from deletion, the user of this class
+            is responsible for holding ref-counted references itself!
+
+            @param rDevice
+            Reference device this canvas is associated with
+
+         */
+        void init( ::com::sun::star::rendering::XGraphicDevice& rDevice,
+                   SpriteDeviceHelper& rDeviceHelper );
+
+        // CanvasHelper functionality
+        // ==========================
+
+        // XCanvas (only providing, not implementing the
+        // interface. Also note subtle method parameter differences)
+        void clear();
+        void drawPoint( const ::com::sun::star::rendering::XCanvas*     pCanvas,
+                        const ::com::sun::star::geometry::RealPoint2D&  aPoint,
+                        const ::com::sun::star::rendering::ViewState&   viewState,
+                        const ::com::sun::star::rendering::RenderState& renderState );
+        void drawLine( const ::com::sun::star::rendering::XCanvas*      pCanvas,
+                       const ::com::sun::star::geometry::RealPoint2D&   aStartPoint,
+                       const ::com::sun::star::geometry::RealPoint2D&   aEndPoint,
+                       const ::com::sun::star::rendering::ViewState&    viewState,
+                       const ::com::sun::star::rendering::RenderState&  renderState );
+        void drawBezier( const ::com::sun::star::rendering::XCanvas*            pCanvas,
+                         const ::com::sun::star::geometry::RealBezierSegment2D& aBezierSegment,
+                         const ::com::sun::star::geometry::RealPoint2D&         aEndPoint,
+                         const ::com::sun::star::rendering::ViewState&          viewState,
+                         const ::com::sun::star::rendering::RenderState&        renderState );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >
+            drawPolyPolygon( const ::com::sun::star::rendering::XCanvas*            pCanvas,
+                             const ::com::sun::star::uno::Reference<
+                                    ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                             const ::com::sun::star::rendering::ViewState&          viewState,
+                             const ::com::sun::star::rendering::RenderState&        renderState );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >
+            strokePolyPolygon( const ::com::sun::star::rendering::XCanvas*          pCanvas,
+                               const ::com::sun::star::uno::Reference<
+                                    ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                               const ::com::sun::star::rendering::ViewState&        viewState,
+                               const ::com::sun::star::rendering::RenderState&      renderState,
+                               const ::com::sun::star::rendering::StrokeAttributes& strokeAttributes );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >
+            strokeTexturedPolyPolygon( const ::com::sun::star::rendering::XCanvas*          pCanvas,
+                                       const ::com::sun::star::uno::Reference<
+                                            ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                                       const ::com::sun::star::rendering::ViewState&        viewState,
+                                       const ::com::sun::star::rendering::RenderState&      renderState,
+                                       const ::com::sun::star::uno::Sequence<
+                                            ::com::sun::star::rendering::Texture >&         textures,
+                                       const ::com::sun::star::rendering::StrokeAttributes& strokeAttributes );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >
+            strokeTextureMappedPolyPolygon( const ::com::sun::star::rendering::XCanvas*             pCanvas,
+                                            const ::com::sun::star::uno::Reference<
+                                                    ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                                            const ::com::sun::star::rendering::ViewState&           viewState,
+                                            const ::com::sun::star::rendering::RenderState&         renderState,
+                                            const ::com::sun::star::uno::Sequence<
+                                                    ::com::sun::star::rendering::Texture >&         textures,
+                                            const ::com::sun::star::uno::Reference<
+                                                    ::com::sun::star::geometry::XMapping2D >&       xMapping,
+                                            const ::com::sun::star::rendering::StrokeAttributes&    strokeAttributes );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XPolyPolygon2D >
+            queryStrokeShapes( const ::com::sun::star::rendering::XCanvas*          pCanvas,
+                               const ::com::sun::star::uno::Reference<
+                                    ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                               const ::com::sun::star::rendering::ViewState&        viewState,
+                               const ::com::sun::star::rendering::RenderState&      renderState,
+                               const ::com::sun::star::rendering::StrokeAttributes& strokeAttributes );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >
+            fillPolyPolygon( const ::com::sun::star::rendering::XCanvas*            pCanvas,
+                             const ::com::sun::star::uno::Reference<
+                                    ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                             const ::com::sun::star::rendering::ViewState&          viewState,
+                             const ::com::sun::star::rendering::RenderState&        renderState );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >
+            fillTexturedPolyPolygon( const ::com::sun::star::rendering::XCanvas*            pCanvas,
+                                     const ::com::sun::star::uno::Reference<
+                                            ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                                     const ::com::sun::star::rendering::ViewState&          viewState,
+                                     const ::com::sun::star::rendering::RenderState&        renderState,
+                                     const ::com::sun::star::uno::Sequence<
+                                            ::com::sun::star::rendering::Texture >&         textures );
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCachedPrimitive >
+            fillTextureMappedPolyPolygon( const ::com::sun::star::rendering::XCanvas*           pCanvas,
+                                          const ::com::sun::star::uno::Reference<
+                                                ::com::sun::star::rendering::XPolyPolygon2D >&  xPolyPolygon,
+                                          const ::com::sun::star::rendering::ViewState&         viewState,
+                                          const ::com::sun::star::rendering::RenderState&       renderState,
+                                          const ::com::sun::star::uno::Sequence<
+                                                ::com::sun::star::rendering::Texture >&         textures,
+                                          const ::com::sun::star::uno::Reference<
+                                                ::com::sun::star::geometry::XMapping2D >&       xMapping );
+
+        ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XCanvasFont > SAL_CALL
+            createFont( const ::com::sun::star::rendering::XCanvas*             pCanvas,
+                        const ::com::sun::star::rendering::FontRequest&         fontRequest,
+                        const ::com::sun::star::uno::Sequence<

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list