office-gobmx/vcl/Library_vclplug_win.mk
Caolán McNamara a3f4008867 Related: tdf#118320 enable some windows dark theme support
If experimental mode is enabled and only for windows >= 10.0.18362

Toggling from dark to light mode is detected, and getting some
suitable colors for dark mode works.

The titlebar will toggle into dark/light mode successfully.

DrawThemeBackground does something sensible for buttons and scrollbar at
least, comboboxes can be forced to work. SpinButtons are less
successful. Menubar and toolbar just bodged to draw a solid backcolor.

Notebooks/TabControls don't respect the theme.

Its possible it makes more sense to not try and use the windows control
drawings apis and just set some dark colors and draw with the old
built-in vcl widget rendering or alternative.

Change-Id: Ic7927fb9af7ec94444d9de6e0204560e2789be46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131453
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-03-16 22:16:01 +01:00

144 lines
4 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# 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,vclplug_win))
$(eval $(call gb_Library_set_plugin_for,vclplug_win,vcl))
$(eval $(call gb_Library_set_componentfile,vclplug_win,vcl/vclplug_win,services))
$(eval $(call gb_Library_set_include,vclplug_win,\
$$(INCLUDE) \
-I$(SRCDIR)/vcl/inc \
-I$(SRCDIR)/vcl/inc/win \
))
$(eval $(call gb_Library_add_defs,vclplug_win,\
-DVCLPLUG_WIN_IMPLEMENTATION \
-DVCL_INTERNALS \
))
$(eval $(call gb_Library_use_custom_headers,vclplug_win,\
officecfg/registry \
))
$(eval $(call gb_Library_use_sdk_api,vclplug_win))
$(eval $(call gb_Library_use_common_precompiled_header,vclplugin_win))
$(eval $(call gb_Library_use_libraries,vclplug_win,\
$(call gb_Helper_optional,BREAKPAD, \
crashreport) \
basegfx \
comphelper \
cppu \
cppuhelper \
i18nlangtag \
i18nutil \
sal \
salhelper \
tl \
utl \
))
$(eval $(call gb_Library_use_externals,vclplug_win,\
boost_headers \
epoxy \
glm_headers \
harfbuzz \
$(if $(filter SKIA,$(BUILD_TYPE)),skia) \
))
$(eval $(call gb_Library_add_exception_objects,vclplug_win,\
vcl/source/opengl/win/context \
vcl/win/app/saldata \
vcl/win/app/salinfo \
vcl/win/app/salinst \
vcl/win/app/salshl \
vcl/win/app/saltimer \
vcl/win/dtrans/APNDataObject \
vcl/win/dtrans/clipboardmanager \
vcl/win/dtrans/DataFmtTransl \
vcl/win/dtrans/DOTransferable \
vcl/win/dtrans/DtObjFactory \
vcl/win/dtrans/DTransHelper \
vcl/win/dtrans/Fetc \
vcl/win/dtrans/FetcList \
vcl/win/dtrans/FmtFilter \
vcl/win/dtrans/ftransl \
vcl/win/dtrans/generic_clipboard \
vcl/win/dtrans/globals \
vcl/win/dtrans/idroptarget \
vcl/win/dtrans/ImplHelper \
vcl/win/dtrans/MtaOleClipb \
vcl/win/dtrans/source \
vcl/win/dtrans/sourcecontext \
vcl/win/dtrans/target \
vcl/win/dtrans/targetdragcontext \
vcl/win/dtrans/targetdropcontext \
vcl/win/dtrans/TxtCnvtHlp \
vcl/win/dtrans/WinClipboard \
vcl/win/dtrans/XNotifyingDataObject \
vcl/win/dtrans/XTDataObject \
vcl/win/gdi/gdiimpl \
vcl/win/gdi/salbmp \
vcl/win/gdi/salfont \
vcl/win/gdi/salgdi \
vcl/win/gdi/salgdi2 \
vcl/win/gdi/salgdi_gdiplus \
vcl/win/gdi/salnativewidgets-luna \
vcl/win/gdi/salprn \
vcl/win/gdi/salvd \
vcl/win/gdi/winlayout \
vcl/win/gdi/DWriteTextRenderer \
vcl/win/window/keynames \
vcl/win/window/salframe \
vcl/win/window/salmenu \
vcl/win/window/salobj \
$(if $(filter SKIA,$(BUILD_TYPE)), \
vcl/skia/win/gdiimpl ) \
))
$(eval $(call gb_Library_use_system_win32_libs,vclplug_win,\
advapi32 \
d2d1 \
dwmapi \
dwrite \
gdi32 \
gdiplus \
imm32 \
ole32 \
oleaut32 \
shell32 \
shlwapi \
uuid \
uxtheme \
version \
winspool \
))
$(eval $(call gb_Library_add_nativeres,vclplug_win,vcl/salsrc))
# HACK: dependency on icon themes so running unit tests don't
# prevent delivering these by having open file handles on WNT
ifeq ($(gb_Side),host)
$(eval $(call gb_Library_use_package,vclplug_win,postprocess_images))
endif
# vim: set noet sw=4 ts=4: