From 2fe67d044fe20af57f5a0aaad9a00b3d1bafc712 Mon Sep 17 00:00:00 2001 From: Pablo Vazquez Date: Wed, 5 Jul 2023 12:44:08 +0200 Subject: [PATCH] UI: Make 3D Viewport header transparent Back in Blender 3.0, the header and toolbar position were swapped to follow hierarchy of settings. However, due to the header having usually less buttons than the toolbar, it looked weird so it was decided to make it fully opaque. Based on user feedback it is preferred to have transparency and gain that extra bit of space, even if at times it could look weird due to the header having less items. This PR makes it so the header supports region overlap, and makes it fully transparent. Fixes #92844 Related PR !107094 --- release/datafiles/userdef/userdef_default_theme.c | 2 +- source/blender/blenkernel/BKE_blender_version.h | 2 +- source/blender/blenloader/intern/versioning_userdef.c | 4 ++++ source/blender/editors/screen/area.cc | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 8ee8b653fbb..596c46598c3 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -291,7 +291,7 @@ const bTheme U_theme_default = { .title = RGBA(0xeeeeeeff), .text = RGBA(0xe6e6e6ff), .text_hi = RGBA(0xffffffff), - .header = RGBA(0x303030b3), + .header = RGBA(0x30303000), .header_text = RGBA(0xeeeeeeff), .header_text_hi = RGBA(0xffffffff), .tab_active = RGBA(0x303030ff), diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h index c171a7e82b9..96edba09c31 100644 --- a/source/blender/blenkernel/BKE_blender_version.h +++ b/source/blender/blenkernel/BKE_blender_version.h @@ -27,7 +27,7 @@ extern "C" { /* Blender file format version. */ #define BLENDER_FILE_VERSION BLENDER_VERSION -#define BLENDER_FILE_SUBVERSION 7 +#define BLENDER_FILE_SUBVERSION 8 /* Minimum Blender version that supports reading file written with the current * version. Older Blender versions will test this and show a warning if the file diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c index e759eb1b926..ed627359867 100644 --- a/source/blender/blenloader/intern/versioning_userdef.c +++ b/source/blender/blenloader/intern/versioning_userdef.c @@ -65,6 +65,10 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme) #define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(userdef, ver, subver) #define FROM_DEFAULT_V4_UCHAR(member) copy_v4_v4_uchar(btheme->member, U_theme_default.member) + if (!USER_VERSION_ATLEAST(400, 8)) { + FROM_DEFAULT_V4_UCHAR(space_view3d.header); + } + if (!USER_VERSION_ATLEAST(300, 41)) { memcpy(btheme, &U_theme_default, sizeof(*btheme)); } diff --git a/source/blender/editors/screen/area.cc b/source/blender/editors/screen/area.cc index ddfb0d36ce1..c7cbf81fd36 100644 --- a/source/blender/editors/screen/area.cc +++ b/source/blender/editors/screen/area.cc @@ -1242,6 +1242,7 @@ bool ED_region_is_overlap(int spacetype, int regiontype) RGN_TYPE_UI, RGN_TYPE_TOOL_PROPS, RGN_TYPE_FOOTER, + RGN_TYPE_HEADER, RGN_TYPE_TOOL_HEADER)) { return true; -- 2.30.2