gui/components/cc_item.cpp: use theme option for one/two color gradient

This commit is contained in:
[CST] Focus
2015-05-07 16:39:28 +03:00
parent 76fa4bc221
commit 62a9621cb0
2 changed files with 4 additions and 2 deletions

View File

@@ -73,6 +73,7 @@ class CComponents : public CComponentsSignals, public COSDFader
///property: color of body ///property: color of body
fb_pixel_t col_body; fb_pixel_t col_body;
fb_pixel_t old_gradient_color; fb_pixel_t old_gradient_color;
int old_gradient_c2c;
///property: color of shadow ///property: color of shadow
fb_pixel_t col_shadow; fb_pixel_t col_shadow;
///property: color of frame ///property: color of frame

View File

@@ -257,7 +257,7 @@ void CComponentsItem::setFocus(bool focus)
void CComponentsItem::initBodyGradient() void CComponentsItem::initBodyGradient()
{ {
if (col_body_gradient && cc_gradientData.gradientBuf && old_gradient_color != col_body) { if (col_body_gradient && cc_gradientData.gradientBuf && (old_gradient_color != col_body || old_gradient_c2c != g_settings.theme.gradient_c2c)) {
free(cc_gradientData.gradientBuf); free(cc_gradientData.gradientBuf);
cc_gradientData.gradientBuf = NULL; cc_gradientData.gradientBuf = NULL;
if (cc_gradientData.boxBuf) { if (cc_gradientData.boxBuf) {
@@ -268,11 +268,12 @@ void CComponentsItem::initBodyGradient()
if (cc_gradientData.gradientBuf == NULL) { if (cc_gradientData.gradientBuf == NULL) {
CColorGradient ccGradient; CColorGradient ccGradient;
int gsize = cc_body_gradient_direction == CFrameBuffer::gradientVertical ? height : width; int gsize = cc_body_gradient_direction == CFrameBuffer::gradientVertical ? height : width;
if (cc_body_gradient_c2c) if (g_settings.theme.gradient_c2c)
cc_gradientData.gradientBuf = ccGradient.gradientColorToColor(col_body, cc_body_gradient_2nd_col, NULL, gsize, cc_body_gradient_mode, cc_body_gradient_intensity); cc_gradientData.gradientBuf = ccGradient.gradientColorToColor(col_body, cc_body_gradient_2nd_col, NULL, gsize, cc_body_gradient_mode, cc_body_gradient_intensity);
else else
cc_gradientData.gradientBuf = ccGradient.gradientOneColor(col_body, NULL, gsize, cc_body_gradient_mode, cc_body_gradient_intensity, cc_body_gradient_intensity_v_min, cc_body_gradient_intensity_v_max, cc_body_gradient_saturation); cc_gradientData.gradientBuf = ccGradient.gradientOneColor(col_body, NULL, gsize, cc_body_gradient_mode, cc_body_gradient_intensity, cc_body_gradient_intensity_v_min, cc_body_gradient_intensity_v_max, cc_body_gradient_saturation);
old_gradient_color = col_body; old_gradient_color = col_body;
old_gradient_c2c = g_settings.theme.gradient_c2c;
} }
cc_gradientData.direction = cc_body_gradient_direction; cc_gradientData.direction = cc_body_gradient_direction;