# -*- 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/. # # This file incorporates work covered by the following license notice: # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed # with this work for additional information regarding copyright # ownership. The ASF licenses this file to you under the Apache # License, Version 2.0 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.apache.org/licenses/LICENSE-2.0 . # $(eval $(call gb_Library_Library,vcl)) $(eval $(call gb_Library_set_componentfile,vcl,vcl/vcl.common,services)) ifeq ($(OS),MACOSX) $(eval $(call gb_Library_add_componentimpl,vcl,macosx)) else ifeq ($(OS),WNT) $(eval $(call gb_Library_add_componentimpl,vcl,windows)) else ifeq ($(OS),ANDROID) $(eval $(call gb_Library_add_componentimpl,vcl,android)) else ifeq ($(OS),iOS) $(eval $(call gb_Library_add_componentimpl,vcl,ios)) else ifeq ($(DISABLE_GUI),TRUE) $(eval $(call gb_Library_add_componentimpl,vcl,headless)) else $(eval $(call gb_Library_add_componentimpl,vcl,unx)) endif $(eval $(call gb_Library_set_precompiled_header,vcl,vcl/inc/pch/precompiled_vcl)) $(eval $(call gb_Library_set_include,vcl,\ $$(INCLUDE) \ -I$(SRCDIR)/vcl/inc \ -I$(SRCDIR)/external/libfixmath \ )) $(eval $(call gb_Library_add_defs,vcl,\ -DVCL_DLLIMPLEMENTATION \ -DDLLIMPLEMENTATION_UITEST \ -DCUI_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,cui))\" \ -DDESKTOP_DETECTOR_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,desktop_detector))\" \ -DTK_DLL_NAME=\"$(call gb_Library_get_runtime_filename,$(call gb_Library__get_name,tk))\" \ $(if $(SYSTEM_GLM),-DGLM_ENABLE_EXPERIMENTAL) \ )) $(eval $(call gb_Library_use_sdk_api,vcl)) $(eval $(call gb_Library_use_custom_headers,vcl,\ officecfg/registry \ )) $(eval $(call gb_Library_use_libraries,vcl,\ basegfx \ comphelper \ cppu \ cppuhelper \ $(call gb_Helper_optional,BREAKPAD,crashreport) \ drawinglayercore \ i18nlangtag \ i18nutil \ $(if $(ENABLE_JAVA),jvmaccess) \ $(if $(filter OPENCL,$(BUILD_TYPE)),opencl) \ sal \ salhelper \ sot \ svl \ tl \ ucbhelper \ utl \ xmlreader \ )) $(eval $(call gb_Library_use_externals,vcl,\ boost_headers \ gio \ glm_headers \ graphite \ harfbuzz \ icu_headers \ icuuc \ lcms2 \ libeot \ libjpeg \ libpng \ libwebp \ mdds_headers \ )) $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/rendercontext/drawmode \ vcl/skia/SkiaHelper \ vcl/source/animate/Animation \ vcl/source/animate/AnimationBitmap \ vcl/source/cnttype/mcnttfactory \ vcl/source/cnttype/mcnttype \ vcl/source/printer/Options \ vcl/source/printer/QueueInfo \ vcl/source/window/bubblewindow \ vcl/source/window/errinf \ vcl/source/window/settings \ vcl/source/window/paint \ vcl/source/window/abstdlg \ vcl/source/window/accel \ vcl/source/window/accmgr \ vcl/source/window/brdwin \ vcl/source/window/bufferdevice \ vcl/source/window/accessibility \ vcl/source/window/legacyaccessibility \ vcl/source/window/clipping \ vcl/source/window/stacking \ vcl/source/window/debug \ vcl/source/window/globalization \ vcl/source/window/builder \ vcl/source/window/commandevent \ vcl/source/window/cursor \ vcl/source/window/debugevent \ vcl/source/window/decoview \ vcl/source/window/dialog \ vcl/source/window/dlgctrl \ vcl/source/window/dndeventdispatcher \ vcl/source/window/dndlistenercontainer \ vcl/source/window/dockingarea \ vcl/source/window/dockmgr \ vcl/source/window/dockwin \ vcl/source/window/event \ vcl/source/window/floatwin \ $(if $(ENABLE_WASM_STRIP_SPLASH),,vcl/source/window/introwin) \ vcl/source/window/keycod \ vcl/source/window/keyevent \ vcl/source/window/layout \ vcl/source/window/menu \ vcl/source/window/menubarwindow \ vcl/source/window/menufloatingwindow \ vcl/source/window/menuitemlist \ vcl/source/window/menuwindow \ vcl/source/window/mnemonic \ vcl/source/window/mouse \ vcl/source/window/NotebookBarAddonsMerger \ vcl/source/window/OptionalBox \ vcl/source/window/printdlg \ vcl/source/window/scrwnd \ vcl/source/window/seleng \ vcl/source/window/split \ vcl/source/window/splitwin \ vcl/source/window/status \ vcl/source/window/syschild \ vcl/source/window/syswin \ vcl/source/window/tabdlg \ vcl/source/window/tabpage \ vcl/source/window/taskpanelist \ vcl/source/window/toolbox2 \ vcl/source/window/toolbox \ vcl/source/window/window2 \ vcl/source/window/window3 \ vcl/source/window/window \ vcl/source/window/winproc \ vcl/source/window/wrkwin \ vcl/source/window/EnumContext \ vcl/source/control/button \ vcl/source/control/calendar \ vcl/source/control/combobox \ vcl/source/control/ctrl \ vcl/source/control/ContextVBox \ vcl/source/control/DropdownBox \ vcl/source/control/edit \ vcl/source/control/field2 \ vcl/source/control/field \ vcl/source/control/fixed \ vcl/source/control/fixedhyper \ vcl/source/control/hyperlabel \ vcl/source/control/fmtfield \ vcl/source/control/InterimItemWindow \ vcl/source/control/imgctrl \ vcl/source/control/imivctl1 \ vcl/source/control/imivctl2 \ vcl/source/control/ivctrl \ vcl/source/control/longcurr \ vcl/source/control/imp_listbox \ vcl/source/control/listbox \ vcl/source/control/managedmenubutton \ vcl/source/control/menubtn \ vcl/source/control/NotebookbarPopup \ vcl/source/control/PriorityHBox \ vcl/source/control/PriorityMergedHBox \ vcl/source/control/notebookbar \ vcl/source/control/WeldedTabbedNotebookbar \ vcl/source/control/quickselectionengine \ vcl/source/control/prgsbar \ vcl/source/control/roadmap \ vcl/source/control/roadmapwizard \ vcl/source/control/scrbar \ vcl/source/control/slider \ vcl/source/control/spinbtn \ vcl/source/control/spinfld \ vcl/source/control/tabctrl \ vcl/source/control/throbber \ vcl/source/control/wizardmachine \ vcl/source/edit/vclmedit \ vcl/source/edit/textdata \ vcl/source/edit/textdoc \ vcl/source/edit/texteng \ vcl/source/edit/textundo \ vcl/source/edit/textview \ vcl/source/edit/txtattr \ vcl/source/edit/xtextedt \ vcl/source/toolkit/group \ vcl/source/toolkit/morebtn \ vcl/source/outdev/background \ vcl/source/outdev/eps \ vcl/source/outdev/outdev \ vcl/source/outdev/stack \ vcl/source/outdev/clipping \ vcl/source/outdev/fill \ vcl/source/outdev/polygon \ vcl/source/outdev/transparent \ vcl/source/outdev/mask \ vcl/source/outdev/bitmap \ vcl/source/outdev/bitmapex \ vcl/source/outdev/font \ vcl/source/outdev/text \ vcl/source/outdev/textline \ vcl/source/outdev/pixel \ vcl/source/outdev/rect \ vcl/source/outdev/line \ vcl/source/outdev/polyline \ vcl/source/outdev/hatch \ vcl/source/outdev/gradient \ vcl/source/outdev/curvedshapes \ vcl/source/outdev/wallpaper \ vcl/source/outdev/vclreferencebase \ vcl/source/outdev/nativecontrols \ vcl/source/outdev/map \ vcl/source/text/ImplLayoutArgs \ vcl/source/text/TextLayoutCache \ vcl/source/treelist/headbar \ vcl/source/treelist/iconview \ vcl/source/treelist/iconviewimpl \ vcl/source/treelist/imap \ vcl/source/treelist/imap2 \ vcl/source/treelist/imap3 \ vcl/source/treelist/inetimg \ vcl/source/treelist/svtabbx \ vcl/source/treelist/transfer \ vcl/source/treelist/transfer2 \ vcl/source/treelist/viewdataentry \ vcl/source/treelist/treelist \ vcl/source/treelist/treelistbox \ vcl/source/treelist/treelistentry \ vcl/source/treelist/svimpbox \ vcl/source/treelist/svlbitm \ vcl/source/treelist/uiobject \ vcl/source/text/ImplLayoutRuns \ vcl/source/gdi/configsettings \ vcl/source/gdi/cvtgrf \ vcl/source/gdi/embeddedfontshelper \ vcl/source/gdi/FileDefinitionWidgetDraw \ vcl/source/gdi/WidgetDefinitionReader \ vcl/source/gdi/WidgetDefinition \ vcl/source/gdi/extoutdevdata \ vcl/source/gdi/gdimtf \ vcl/source/gdi/mtfxmldump \ vcl/source/gdi/gdimetafiletools \ vcl/source/gdi/gfxlink \ vcl/source/gdi/gradient \ vcl/source/gdi/graph \ vcl/source/gdi/graphictools \ vcl/source/gdi/hatch \ vcl/source/gdi/impanmvw \ vcl/source/gdi/impglyphitem \ vcl/source/gdi/impgraph \ vcl/source/gdi/jobset \ vcl/source/gdi/lineinfo \ vcl/source/gdi/mapmod \ vcl/source/gdi/metaact \ vcl/source/gdi/oldprintadaptor \ vcl/source/gdi/pdfbuildin_fonts \ vcl/source/gdi/pdfextoutdevdata \ vcl/source/gdi/pdffontcache \ vcl/source/gdi/pdfwriter \ vcl/source/gdi/pdfwriter_impl2 \ vcl/source/gdi/pdfwriter_impl \ vcl/source/gdi/pdfobjectcopier \ vcl/source/gdi/print2 \ vcl/source/gdi/print3 \ vcl/source/gdi/print \ vcl/source/gdi/regband \ vcl/source/gdi/region \ vcl/source/gdi/regionband \ vcl/source/gdi/salgdilayout \ vcl/source/gdi/salgdiimpl \ vcl/source/gdi/sallayout \ vcl/source/gdi/salmisc \ vcl/source/gdi/vectorgraphicdata \ vcl/source/gdi/textlayout \ vcl/source/gdi/virdev \ vcl/source/gdi/wall \ vcl/source/gdi/scrptrun \ vcl/source/gdi/CommonSalLayout \ vcl/source/gdi/TypeSerializer \ vcl/source/pdf/PdfConfig \ vcl/source/pdf/ResourceDict \ vcl/source/pdf/Matrix3 \ vcl/source/pdf/XmpMetadata \ vcl/source/pdf/ExternalPDFStreams \ vcl/source/graphic/BinaryDataContainer \ vcl/source/graphic/BinaryDataContainerTools \ vcl/source/graphic/GraphicID \ vcl/source/graphic/GraphicLoader \ vcl/source/graphic/GraphicObject \ vcl/source/graphic/GraphicObject2 \ vcl/source/graphic/GraphicReader \ vcl/source/graphic/Manager \ vcl/source/graphic/UnoBinaryDataContainer \ vcl/source/graphic/UnoGraphic \ vcl/source/graphic/UnoGraphicMapper \ vcl/source/graphic/UnoGraphicDescriptor \ vcl/source/graphic/UnoGraphicObject \ vcl/source/graphic/UnoGraphicProvider \ vcl/source/graphic/VectorGraphicSearch \ vcl/source/graphic/VectorGraphicLoader \ vcl/source/bitmap/impvect \ vcl/source/bitmap/bitmap \ vcl/source/bitmap/bitmappalette \ vcl/source/bitmap/BitmapEx \ vcl/source/bitmap/BitmapInfoAccess \ vcl/source/bitmap/BitmapReadAccess \ vcl/source/bitmap/BitmapWriteAccess \ vcl/source/bitmap/alpha \ vcl/source/bitmap/dibtools \ vcl/source/bitmap/bmpfast \ vcl/source/bitmap/bitmapfilter \ vcl/source/bitmap/bitmappaint \ vcl/source/bitmap/BitmapShadowFilter \ vcl/source/bitmap/BitmapAlphaClampFilter \ vcl/source/bitmap/BitmapBasicMorphologyFilter \ vcl/source/bitmap/BitmapMaskToAlphaFilter \ vcl/source/bitmap/BitmapMonochromeFilter \ vcl/source/bitmap/BitmapSmoothenFilter \ vcl/source/bitmap/BitmapLightenFilter \ vcl/source/bitmap/BitmapDisabledImageFilter \ vcl/source/bitmap/BitmapColorizeFilter \ vcl/source/bitmap/BitmapGaussianSeparableBlurFilter \ vcl/source/bitmap/BitmapSobelGreyFilter \ vcl/source/bitmap/BitmapSolarizeFilter \ vcl/source/bitmap/BitmapSepiaFilter \ vcl/source/bitmap/BitmapMosaicFilter \ vcl/source/bitmap/BitmapEmbossGreyFilter \ vcl/source/bitmap/BitmapPopArtFilter \ vcl/source/bitmap/BitmapDuoToneFilter \ vcl/source/bitmap/BitmapConvolutionMatrixFilter \ vcl/source/bitmap/BitmapMedianFilter \ vcl/source/bitmap/BitmapInterpolateScaleFilter \ vcl/source/bitmap/BitmapSeparableUnsharpenFilter \ vcl/source/bitmap/BitmapFastScaleFilter \ vcl/source/bitmap/BitmapScaleSuperFilter \ vcl/source/bitmap/BitmapScaleConvolutionFilter \ vcl/source/bitmap/BitmapSymmetryCheck \ vcl/source/bitmap/BitmapColorQuantizationFilter \ vcl/source/bitmap/BitmapSimpleColorQuantizationFilter \ vcl/source/bitmap/BitmapTools \ vcl/source/bitmap/checksum \ vcl/source/bitmap/Octree \ vcl/source/bitmap/salbmp \ vcl/source/image/Image \ vcl/source/image/ImageTree \ vcl/source/image/ImageRepository \ vcl/source/image/ImplImage \ vcl/source/image/ImplImageTree \ vcl/source/bitmap/BitmapFilterStackBlur \ vcl/source/helper/canvasbitmap \ vcl/source/helper/canvastools \ vcl/source/helper/commandinfoprovider \ vcl/source/helper/displayconnectiondispatch \ vcl/source/helper/driverblocklist \ vcl/source/helper/errcode \ vcl/source/helper/evntpost \ vcl/source/helper/lazydelete \ vcl/source/helper/strhelper \ vcl/source/helper/svtaccessiblefactory \ vcl/source/helper/threadex \ vcl/source/app/brand \ vcl/source/app/customweld \ vcl/source/app/dbggui \ vcl/source/app/dndhelp \ vcl/source/app/help \ vcl/source/app/i18nhelp \ vcl/source/app/idle \ vcl/source/app/salplug \ vcl/source/app/salusereventlist \ vcl/source/app/salvtables \ vcl/source/app/scheduler \ vcl/source/app/session \ vcl/source/app/settings \ vcl/source/app/IconThemeInfo \ vcl/source/app/IconThemeScanner \ vcl/source/app/IconThemeSelector \ vcl/source/app/ITiledRenderable \ vcl/source/app/sound \ vcl/source/app/stdtext \ vcl/source/app/svapp \ vcl/source/app/svdata \ vcl/source/app/svmain \ vcl/source/app/timer \ vcl/source/app/unohelp2 \ vcl/source/app/unohelp \ vcl/source/app/vclevent \ vcl/source/app/watchdog \ vcl/source/app/weldutils \ vcl/source/app/winscheduler \ vcl/source/components/dtranscomp \ vcl/source/components/factory \ vcl/source/components/fontident \ vcl/source/filter/bmp/BmpReader \ vcl/source/filter/bmp/BmpWriter \ vcl/source/filter/egif/egif \ vcl/source/filter/egif/giflzwc \ vcl/source/filter/eps/eps \ vcl/source/filter/etiff/etiff \ vcl/source/filter/FilterConfigCache \ vcl/source/filter/FilterConfigItem \ vcl/source/filter/graphicfilter \ vcl/source/filter/graphicfilter2 \ vcl/source/filter/GraphicNativeTransform \ vcl/source/filter/GraphicNativeMetadata \ vcl/source/filter/GraphicFormatDetector \ vcl/source/filter/idxf/dxf2mtf \ vcl/source/filter/idxf/dxfblkrd \ vcl/source/filter/idxf/dxfentrd \ vcl/source/filter/idxf/dxfgrprd \ vcl/source/filter/idxf/dxfreprd \ vcl/source/filter/idxf/dxftblrd \ vcl/source/filter/idxf/dxfvec \ vcl/source/filter/idxf/idxf \ vcl/source/filter/ieps/ieps \ vcl/source/filter/igif/decode \ vcl/source/filter/igif/gifread \ vcl/source/filter/imet/ios2met \ vcl/source/filter/ipbm/ipbm \ vcl/source/filter/ipcd/ipcd \ vcl/source/filter/ipcx/ipcx \ vcl/source/filter/ipict/ipict \ vcl/source/filter/ipsd/ipsd \ vcl/source/filter/ipict/shape \ vcl/source/filter/ipdf/pdfread \ vcl/source/filter/ipdf/pdfdocument \ vcl/source/filter/iras/iras \ vcl/source/filter/itga/itga \ vcl/source/filter/itiff/ccidecom \ vcl/source/filter/itiff/itiff \ vcl/source/filter/itiff/lzwdecom \ vcl/source/filter/ixbm/xbmread \ vcl/source/filter/ixpm/xpmread \ vcl/source/filter/jpeg/Exif \ vcl/source/filter/jpeg/jpeg \ vcl/source/filter/jpeg/jpegc \ vcl/source/filter/jpeg/JpegReader \ vcl/source/filter/jpeg/JpegWriter \ vcl/source/filter/jpeg/JpegTransform \ vcl/source/filter/svm/SvmConverter \ vcl/source/filter/svm/SvmReader \ vcl/source/filter/svm/SvmWriter \ vcl/source/filter/wmf/emfwr \ vcl/source/filter/wmf/wmf \ vcl/source/filter/wmf/wmfexternal \ vcl/source/filter/wmf/wmfwr \ vcl/source/filter/png/PngImageReader \ vcl/source/filter/png/pngwrite \ vcl/source/filter/webp/reader \ vcl/source/filter/webp/writer \ vcl/source/font/DirectFontSubstitution \ vcl/source/font/Feature \ vcl/source/font/FeatureCollector \ vcl/source/font/FeatureParser \ vcl/source/font/FontSelectPattern \ vcl/source/font/OpenTypeFeatureDefinitionList \ vcl/source/font/PhysicalFontCollection \ vcl/source/font/PhysicalFontFace \ vcl/source/font/PhysicalFontFamily \ vcl/source/font/fontattributes \ vcl/source/font/fontinstance \ vcl/source/font/fontcache \ vcl/source/font/fontcharmap \ vcl/source/font/fontmetric \ vcl/source/font/font \ vcl/source/fontsubset/cff \ vcl/source/fontsubset/fontsubset \ vcl/source/fontsubset/list \ vcl/source/fontsubset/sft \ vcl/source/fontsubset/ttcr \ vcl/source/fontsubset/xlat \ vcl/source/pdf/PDFiumTools \ vcl/source/uitest/logger \ vcl/source/uitest/uiobject \ vcl/source/uitest/uitest \ vcl/source/uitest/uno/uiobject_uno \ vcl/source/uitest/uno/uitest_uno \ vcl/backendtest/outputdevice/bitmap \ vcl/backendtest/outputdevice/clip \ vcl/backendtest/outputdevice/common \ vcl/backendtest/outputdevice/gradient \ vcl/backendtest/outputdevice/line \ vcl/backendtest/outputdevice/outputdevice \ vcl/backendtest/outputdevice/pixel \ vcl/backendtest/outputdevice/polygon \ vcl/backendtest/outputdevice/polypolygon \ vcl/backendtest/outputdevice/polypolygon_b2d \ vcl/backendtest/outputdevice/polyline \ vcl/backendtest/outputdevice/polyline_b2d \ vcl/backendtest/outputdevice/text \ vcl/backendtest/outputdevice/rectangle \ vcl/backendtest/GraphicsRenderTests \ vcl/jsdialog/enabled \ vcl/jsdialog/jsdialogbuilder \ vcl/jsdialog/executor \ )) $(eval $(call gb_Library_add_cobjects,vcl,\ vcl/source/filter/jpeg/transupp \ vcl/source/fontsubset/fixmath \ )) vcl_headless_code= \ vcl/headless/svpframe \ $(if $(filter-out iOS,$(OS)), \ vcl/headless/svpbmp \ vcl/headless/svpgdi \ vcl/headless/SvpGraphicsBackend \ vcl/headless/CairoCommon \ vcl/headless/BitmapHelper \ ) \ vcl/headless/svpdummies \ vcl/headless/svpinst \ vcl/headless/svpvd \ vcl/unx/generic/app/gendisp \ vcl/unx/generic/app/geninst \ vcl/unx/generic/app/gensys \ vcl_headless_freetype_code=\ vcl/headless/svpprn \ vcl/headless/svptext \ vcl/unx/generic/app/gendata \ vcl/unx/generic/gdi/cairotextrender \ vcl/unx/generic/gdi/freetypetextrender \ vcl/unx/generic/glyphs/freetype_glyphcache \ vcl/unx/generic/glyphs/glyphcache \ vcl/unx/generic/fontmanager/fontsubst \ vcl/unx/generic/fontmanager/fontconfig \ vcl/unx/generic/fontmanager/fontmanager \ vcl/unx/generic/fontmanager/helper \ vcl/headless/svpcairotextrender \ vcl/unx/generic/print/bitmap_gfx \ vcl/unx/generic/print/common_gfx \ vcl/unx/generic/print/glyphset \ vcl/unx/generic/print/printerjob \ vcl/unx/generic/print/psputil \ vcl/unx/generic/print/GenPspGfxBackend \ vcl/unx/generic/print/genpspgraphics \ vcl/unx/generic/print/genprnpsp \ vcl/unx/generic/print/prtsetup \ vcl/unx/generic/print/text_gfx \ vcl/unx/generic/printer/jobdata \ vcl/unx/generic/printer/ppdparser \ ifeq ($(USING_X11),TRUE) $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/unx/generic/window/screensaverinhibitor \ vcl/unx/generic/printer/cpdmgr \ )) $(eval $(call gb_Library_use_externals,vcl,\ dbus \ valgrind \ )) $(eval $(call gb_Library_add_libs,vcl,\ -lX11 \ -lXext \ )) ifneq (,$(filter LINUX %BSD SOLARIS,$(OS))) $(eval $(call gb_Library_use_static_libraries,vcl,\ glxtest \ )) $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/opengl/x11/X11DeviceInfo \ )) endif endif # USING_X11 ifeq ($(DISABLE_GUI),TRUE) $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/headless/headlessinst \ )) else # !DISABLE_GUI $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/opengl/DeviceInfo \ vcl/source/opengl/OpenGLContext \ vcl/source/opengl/OpenGLHelper \ $(if $(filter SKIA,$(BUILD_TYPE)), \ vcl/skia/salbmp \ vcl/skia/zone \ vcl/skia/gdiimpl \ ) \ )) $(eval $(call gb_Library_use_externals,vcl,\ epoxy \ $(if $(filter SKIA,$(BUILD_TYPE)),skia) \ )) endif # !DISABLE_GUI # # * plugin loader: used on all platforms except iOS and Android # * select headless code and corresponding libraries # $(eval $(call gb_Library_add_exception_objects,vcl,\ $(if $(USE_HEADLESS_CODE), \ $(if $(ENABLE_CUPS), \ vcl/unx/generic/printer/cupsmgr \ vcl/unx/generic/printer/printerinfomanager \ , \ vcl/null/printerinfomanager \ ) \ $(vcl_headless_code) \ $(vcl_headless_freetype_code) \ ) \ vcl/source/pdf/$(if $(filter PDFIUM,$(BUILD_TYPE)),,Dummy)PDFiumLibrary \ )) # fontconfig depends on expat for static builds $(eval $(call gb_Library_use_externals,vcl,\ $(if $(USE_HEADLESS_CODE), \ cairo \ $(if $(ENABLE_CUPS),cups) \ fontconfig \ freetype \ ) \ $(if $(filter PDFIUM,$(BUILD_TYPE)),pdfium) \ )) $(eval $(call gb_Library_add_libs,vcl,\ $(if $(filter LINUX %BSD SOLARIS,$(OS)), \ -lm \ $(if $(DISABLE_DYNLOADING),,$(UNIX_DLAPI_LIBS)) \ ) \ )) # # OS specific stuff not handled yet # ifeq ($(OS),HAIKU) $(eval $(call gb_Library_add_libs,vcl,\ -lbe \ )) endif ifeq ($(OS),ANDROID) $(eval $(call gb_Library_add_libs,vcl,\ -llog \ -landroid \ -llo-bootstrap \ )) $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/android/androidinst \ )) endif ifeq ($(OS),iOS) $(eval $(call gb_Library_add_cxxflags,vcl,\ $(gb_OBJCXXFLAGS) \ )) $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/ios/iosinst \ vcl/ios/dummies \ vcl/ios/clipboard \ vcl/ios/salios \ vcl/ios/iOSTransferable \ vcl/ios/DataFlavorMapping \ vcl/ios/HtmlFmtFlt \ vcl/quartz/ctfonts \ vcl/quartz/salbmp \ vcl/quartz/salgdi \ vcl/quartz/salgdicommon \ vcl/quartz/salvd \ vcl/quartz/utils \ vcl/quartz/AquaGraphicsBackend \ $(vcl_headless_code) \ )) $(eval $(call gb_Library_use_system_darwin_frameworks,vcl,\ UIKit \ CoreFoundation \ )) endif ifeq ($(OS),MACOSX) $(eval $(call gb_Library_use_system_darwin_frameworks,vcl,\ Cocoa \ CoreFoundation \ )) endif ifeq ($(OS),WNT) $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/opengl/win/WinDeviceInfo \ vcl/win/app/fileregistration \ )) $(eval $(call gb_Library_use_system_win32_libs,vcl,\ ole32 \ setupapi \ version \ )) $(eval $(call gb_Library_add_nativeres,vcl,vcl/salsrc)) # HACK: dependency on icon themes so running unit tests don't # prevent delivering these by having open file handles on WNT $(eval $(call gb_Library_use_packages,vcl, \ vcl_opengl_denylist \ $(if $(filter host,$(gb_Side)),postprocess_images) \ )) endif # WNT # vim: set noet sw=4 ts=4: n> LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/sw/source/uibase/shells/txtattr.cxx
AgeCommit message (Collapse)Author
2024-11-13tdf#36709 editeng: Layout for font-relative first-line indentJonathan Clark
This change extends layout for font-relative paragraph first-line indentation into Edit Engine. Change-Id: I5906f493b91fbcb87ded165709fb132b33ce1906 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176487 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-13tdf#36709 sw: Writer layout for font-relative first-line indentJonathan Clark
This change implements layout for font-relative paragraph first-line indentation in Writer. Change-Id: Ie8f386bcc13a43ab92d5c15654c24bfdfc62bd69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176216 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-08-16tdf#162491 tdf#125032 add hyphenation settings to sidebarLászló Németh
Add .uno:NoBreak to the Character sidebar panel to disable automatic hyphenation for selected words. The icon is enabled only on hyphenated words and words with disabled hyphenation. Add .uno:Hyphenate icon to the Character sidebar panel, with tooltip "Insert Soft Hyphen...", which opens the dialog for (semi-)automatic insertion of soft hyphens. Add paragraph-level hyphenation settings to the Paragraph sidebar panel. Only the toggle button icon "Hyphenation" is visible to enable hyphenation, if the paragraph is not hyphenated. If it's enabled, show all paragraph-level settings. These new sidebar controls allow adjusting paragraph layout and hyphenation quickly, like DTP software do. Note: to add icon to .uno:NoBreak, modify "Properties" of officecfg/registry/data/org/openoffice/Office/UI/WriterCommands.xcu. Note: it's possible, that high resolution icon sizes will need extra dispatcher calls (the draft is attached to the issue in the bug tracker). Change-Id: I292527589ed3a38e4400cfd97ea54cbc7ff56a44 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171883 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-06-14tdf#161563 tdf#161565 sw: add No Break to word context menu & visualizeLászló Németh
Add No Break option to context menu of words hyphenated automatically, giving as easy access to fix paragraph layout, as context menu of misspelled words – like DTP software do. Also add this option to context menu of words with enabled "No Break" to disable it. To avoid unwanted paragraph layout during further text editing or formatting, visualize words excluded from hyphenation with a light gray dotted underline, when Formatting Marks is enabled. Follow-up to commit b5e275f47a54bd7fee39dad516a433fde5be872d "tdf#106733 sw: implement CharNoHyphenation" and commit 73bd04a71e741788a2f2f3b26cc46ddb6a361372 "tdf#106733 xmloff: keep fo:hyphenate in character formatting". Change-Id: I81bb410abcf999c8d9a3dca28acfc5c21aa0f260 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168827 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2024-02-18ITEM: Rename for more control over SlotID usagesArmin Le Grand (allotropia)
Change-Id: I51585f1c15984a066262023184f668662853d20f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163556 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-01-27ITEM: Cleanup some Pool stuff with DefaultsArmin Le Grand (allotropia)
Sorted out some methods at ItemPool which process Defaults to make more clear what is going on and what which method is doing. Change-Id: I2568d3e03d0a56a14b6fe4e04521e1a8e22c000b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162643 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-06-12related tdf#80194 SvxEscapementItem: set auto flag as defaultJustin Luth
This OUGHT to effectively be identical - since nProp is the default, and the DFLT_ESC_ values match what _AUTO_ ought to calculate. So it shouldn't be too scary. It would ?only? expose areas that deficiently handle _AUTO_. The primary intended effect is on calling .uno:SubScript (via the properties panel or toolbar) and getting an automatic subscript/superscript for editeng text (which would be draw/impress/calc objects, or Writer textboxes). Instead of setting the default value for subscript/superscript, set the auto-flag so the computer can more intelligently handle the positioning. That's what I would expect as a user, especially since this is the default in the character format dialog, and Writer already did this explicitly. One possible downside to this is that "automatic" is less clearly defined for pixel-exact compatibility with other programs, or for export/import. But we already do that with Writer - which is the most concerned about pixel-exactness... Prior to 7.0, editeng automatic subscripts weren't calculated very well (i.e. subscripts were placed way too low). So don't enable automatic mode until after 7.6, so that the older, stable versions have a chance to not mess up positioning an automatic value on newly created documents. CAUTION: Doing this at such a low level might be too radical. The other option would be to specify it at all of the SID_SET_SUB_SCRIPT locations - similar to the way that Writer did it. Change-Id: Ic6fb866477653ff57edd02bb894769545a60acf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88998 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-06-07tdf#155376 partially convert SvCTLOptions to officecfgNoel Grandin
When accessibility is enabled, Calc will add tens of thousands of listeners. We then spend a significant chunk of time creating SvCTLOptions objects (attached to ImpEditEngine) and adding and removing those objects from the related listener lists. But the required information is already globally cached by the officecfg module, so we can avoid that overhead and just fetch it directly from officecfg. Change-Id: I7ff55fd7c4926866eb7086812275ba8bd6e84c75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152645 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24tdf#78510 sw,cui: split SvxLRSpaceItem for SwTextNode, SwTextFormatCollMichael Stahl
Leave editengine and non-paragraph usages of SvxLRSpaceItem as-is for now. Add new items RES_MARGIN_LEFT etc., order them so that paragraphs can have 3 consecutive items RES_MARGIN_FIRSTLINE..RES_MARGIN_RIGHT and non-paragraphs also have 2-4 consecutive items RES_MARGIN_RIGHT..RES_MARGIN_LEFT (only the 3 paragraph ones are actually used now). The HTML import filter is particularly annoying because it parses CSS stuff into SfxItemSets without knowing where the items will be applied, so it can't know whether to create SvxLeftMarginItem or SvxTextLeftMarginItem... the split items are created in ParseCSS1_* functions and then converted later if necessary. WW8 import has some weird code as well, SwWW8ImplReader::Read_LR() creates 3 items and then something wants to set every item on its own so SwWW8FltControlStack::SetAttrInDoc() turned out rather weird. Convert the paragraph dialog to handle the split items (by mapping them to SID_ATTR_PARA_FIRSTLINESPACE/SID_ATTR_PARA_LEFTSPACE/ SID_ATTR_PARA_RIGHTSPACE), but the SvxRuler looks a bit more confusing so convert in sw shells for now and leave that for later (also unclear if changing these slot items like SID_ATTR_PARA_LRSPACE breaks any ABIs?). Change-Id: I40431821868fd3e1cceba121b5539ff9ae6befbc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147024 Tested-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-02-16SfxViewShell::GetViewFrame never returns null, change to a referenceCaolán McNamara
various null checks can be seen to be redundant and removed Change-Id: Icf49c1de4b0302795d2769a370af3abceaad0221 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147147 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-12-13sw: rename SwFormat::m_bAutoUpdateFormat to m_bAutoUpdateOnDirectFormatMiklos Vajna
To make it more obvious that this flag describes the relatively obscure feature where a direct format on one paragraph automatically makes it into its style and all other paragraphs with the same style are updated accordingly, kind of preventing real direct formatting. Change-Id: Ia97929cd65f1aa0ff7f11425ec6d00f234053921 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144051 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-03-04Removed duplicated includeAndrea Gelmini
Change-Id: I9c62e12f3b0f88ead3dbd2cdc69b7462cbbe294b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130978 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
2022-03-03use SfxItemSet::GetItemIfSet in sw/source/uibaseNoel Grandin
Change-Id: Ic82df8d321ba2eb94957236264c71c5eb9a940a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130905 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-24use more TypedWhichIdNoel Grandin
Change-Id: I6ab3ca829bc08e672736dd8dd41ba714d7172090 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130498 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-22sw: remove useless debug code in SwTextShellMiklos Vajna
A debugger can be used to examine that temporary instead. Change-Id: I8c04144f5174564e232c5d5effe466ccf5e52468 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124037 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-10-19tdf#113512 Writer: 1.15 line spacing UNO commandJim Raykowski
Resolves the Writer 1.15 line spacing part of the request for 1.15, 2.5, and 3 line spacing UNO commands. Change-Id: I2a654063df3549e8a23021bc4fc76bc17c270d69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123569 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2021-10-10use SfxItemSetFixed in swNoel Grandin
Change-Id: I69e188d7599b7fc439f613cec0a0967ccb748b7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123313 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-19Move svl::Items to include/svl/whichranges.hxx, and unify its usageMike Kaganski
... in WhichRangesContainer and SfxItemSet ctors. Now it's not needed to explicitly use 'value' in WhichRangesContainer's ctor, or create an instance for use in SfxItemSet ctor (svl::Items is already defined as a template value of corresponding type). Instead of WhichRangesContainer Foo(svl::Items<1, 2>::value); SfxItemSet Bar(rItemPool, svl::Items<1, 2>{}); now use: WhichRangesContainer Foo(svl::Items<1, 2>); SfxItemSet Bar(rItemPool, svl::Items<1, 2>); Change-Id: I4681d952b6442732025e5a26768098878907a238 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119157 Tested-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-04-09Recheck include/ with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: Ifc253bf800bb1468b5774663a93f4fb30bec81d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113657 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-01-08tdf#42949 Fix IWYU warnings in sw/source/uibase/[i-t]*/*cxxGabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I53139566ff41c8ee748945b39cd70b66fed8dc97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85973 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-11jsdialog: send items on status changeSzymon Kłos
Use existing mechanism, delete sending in getter code which caused unnecessary work. Change-Id: Ibc191c16b95fd58e7065e019f48f3837cfed5bbd Reviewed-on: https://gerrit.libreoffice.org/84914 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Szymon Kłos <szymon.klos@collabora.com>
2019-11-29jsdialog: migrate left/right margin to generic items dumpSzymon Kłos
Change-Id: Ie687393ae4b9a7f8350eea07c1d417c11fc532bd Reviewed-on: https://gerrit.libreoffice.org/84002 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2019-11-12jsdialogs: send .uno:LeftRightParaMargin updatesSzymon Kłos
Change-Id: I22aef6ac57c94893bf2e73ea2901ed8bc074076e Reviewed-on: https://gerrit.libreoffice.org/82501 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit c6cf2bec7148e403e2ee9592b4410cc73bad8f46) Reviewed-on: https://gerrit.libreoffice.org/82506 Tested-by: Jenkins
2019-11-12tdf#121239 give writer, calc and draw/impress the same underline optionsCaolán McNamara
uno:Underline is the "real" deal, and has multiple underline options uno:UnderlineSimple is "some underline on" vs no underline calc and writer had UnderlineSingle, UnderlineDouble and UnderlineDotted for that specific type of underline on vs not-on add those to draw/impress too and then use UnderlineSingle instead of Underline in the format menu so that when UnderlineDouble is applied, UnderlineSingle is not show as applied, instead of using Underline ot UnderlineSimple which would show as on if UnderlineDouble was applied Change-Id: I6f9fcf37c2c90d215ea52b536e4fa84734754850 Reviewed-on: https://gerrit.libreoffice.org/82469 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>