From 05fd2acf895847c51d8c02166a87d9fa50def39c Mon Sep 17 00:00:00 2001 From: Pablo Dobarro Date: Wed, 19 Feb 2020 19:11:47 +0100 Subject: Theme: Radial gradient background and enum for gradient type This commit replaces the "Use Gradient" checkbox theme option with an enum and implements a radial background. Whith this change, it should be easier to implemet other types of more complex background types, like a world space oriented gradient. Reviewed By: billreynish, fclem, brecht Differential Revision: https://developer.blender.org/D6825 --- source/blender/draw/engines/overlay/overlay_background.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'source/blender/draw/engines/overlay/overlay_background.c') diff --git a/source/blender/draw/engines/overlay/overlay_background.c b/source/blender/draw/engines/overlay/overlay_background.c index d98a9066a8e..880f5c49b3e 100644 --- a/source/blender/draw/engines/overlay/overlay_background.c +++ b/source/blender/draw/engines/overlay/overlay_background.c @@ -30,6 +30,7 @@ #define BG_SOLID 0 #define BG_GRADIENT 1 #define BG_CHECKER 2 +#define BG_RADIAL 3 void OVERLAY_background_cache_init(OVERLAY_Data *vedata) { @@ -67,11 +68,18 @@ void OVERLAY_background_cache_init(OVERLAY_Data *vedata) copy_v3_v3(color_override, v3d->shading.background_color); color_override[3] = 1.0f; } - else if (UI_GetThemeValue(TH_SHOW_BACK_GRAD)) { - background_type = BG_GRADIENT; - } else { - background_type = BG_SOLID; + switch (UI_GetThemeValue(TH_BACKGROUND_TYPE)) { + case TH_BACKGROUND_SINGLE_COLOR: + background_type = BG_SOLID; + break; + case TH_BACKGROUND_GRADIENT_LINEAR: + background_type = BG_GRADIENT; + break; + case TH_BACKGROUND_GRADIENT_RADIAL: + background_type = BG_RADIAL; + break; + } } DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_BACKGROUND; -- cgit v1.2.3