From 513b2baf72264d90512fc6bf39813de763318b50 Mon Sep 17 00:00:00 2001 From: Jerry Date: Mon, 10 Aug 2020 20:37:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BASGUI=5FPROCBAR=5FPARAMETER=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BE=B9=E6=A1=86=E8=89=B2=E8=83=8C=E6=99=AF=E8=89=B2?= =?UTF-8?q?=E5=89=8D=E6=99=AF=E8=89=B2=E4=B8=89=E4=B8=AA=E5=8F=82=E6=95=B0?= =?UTF-8?q?,=E4=BD=BF=E5=85=B6=E6=94=AF=E6=8C=81=E7=BB=98=E5=88=B6?= =?UTF-8?q?=E7=81=B0=E5=BA=A6=E8=BF=9B=E5=BA=A6=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GUI/inc/SGUI_ProcessBar.h | 4 +++- GUI/src/SGUI_ProcessBar.c | 18 +++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/GUI/inc/SGUI_ProcessBar.h b/GUI/inc/SGUI_ProcessBar.h index 5adb6e7..1177d01 100644 --- a/GUI/inc/SGUI_ProcessBar.h +++ b/GUI/inc/SGUI_ProcessBar.h @@ -25,7 +25,9 @@ typedef struct SGUI_SIZE Height; SGUI_PROCBAR_DIRECTION Direction; SGUI_UINT32 MaxValue; - + SGUI_COLOR BorderColor; + SGUI_COLOR BackgroundColor; + SGUI_COLOR BarColor; }SGUI_PROCBAR_PARAMETER; typedef struct diff --git a/GUI/src/SGUI_ProcessBar.c b/GUI/src/SGUI_ProcessBar.c index d3d7393..837a067 100644 --- a/GUI/src/SGUI_ProcessBar.c +++ b/GUI/src/SGUI_ProcessBar.c @@ -54,8 +54,8 @@ void SGUI_ProcessBar_Repaint(SGUI_SCR_DEV* pstDeviceIF, SGUI_PROCBAR_STRUCT *pst uiProcessBlockStartY = pstProcessBarData->Parameter.PosY + 1; uiProcessBlockWidth = pstProcessBarData->Parameter.Width - 2; uiProcessBlockHeight = (pstProcessBarData->Parameter.Height - 2) * (pstProcessBarData->Data.Value) / pstProcessBarData->Parameter.MaxValue; - eBackColor = SGUI_COLOR_BKGCLR; - eFillColor = SGUI_COLOR_FRGCLR; + eBackColor = pstProcessBarData->Parameter.BackgroundColor; + eFillColor = pstProcessBarData->Parameter.BarColor; break; } case SGUI_PROCBAR_LEFT: // Process from right to left. @@ -64,8 +64,8 @@ void SGUI_ProcessBar_Repaint(SGUI_SCR_DEV* pstDeviceIF, SGUI_PROCBAR_STRUCT *pst uiProcessBlockStartY = pstProcessBarData->Parameter.PosY + 1; uiProcessBlockWidth = (pstProcessBarData->Parameter.Width - 2) * (pstProcessBarData->Parameter.MaxValue - pstProcessBarData->Data.Value) / pstProcessBarData->Parameter.MaxValue; uiProcessBlockHeight = pstProcessBarData->Parameter.Height - 2; - eBackColor = SGUI_COLOR_FRGCLR; - eFillColor = SGUI_COLOR_BKGCLR; + eBackColor = pstProcessBarData->Parameter.BarColor; + eFillColor = pstProcessBarData->Parameter.BackgroundColor; break; } case SGUI_PROCBAR_RIGHT: // Process from left to right. @@ -74,8 +74,8 @@ void SGUI_ProcessBar_Repaint(SGUI_SCR_DEV* pstDeviceIF, SGUI_PROCBAR_STRUCT *pst uiProcessBlockStartY = pstProcessBarData->Parameter.PosY + 1; uiProcessBlockWidth = (pstProcessBarData->Parameter.Width - 2) * (pstProcessBarData->Data.Value) / pstProcessBarData->Parameter.MaxValue; uiProcessBlockHeight = pstProcessBarData->Parameter.Height - 2; - eBackColor = SGUI_COLOR_BKGCLR; - eFillColor = SGUI_COLOR_FRGCLR; + eBackColor = pstProcessBarData->Parameter.BackgroundColor; + eFillColor = pstProcessBarData->Parameter.BarColor; break; } case SGUI_PROCBAR_UP: // Process from down to up. @@ -85,12 +85,12 @@ void SGUI_ProcessBar_Repaint(SGUI_SCR_DEV* pstDeviceIF, SGUI_PROCBAR_STRUCT *pst uiProcessBlockStartY = pstProcessBarData->Parameter.PosY + 1; uiProcessBlockWidth = pstProcessBarData->Parameter.Width - 2; uiProcessBlockHeight = (pstProcessBarData->Parameter.Height - 2) * (pstProcessBarData->Parameter.MaxValue - pstProcessBarData->Data.Value) / pstProcessBarData->Parameter.MaxValue; - eBackColor = SGUI_COLOR_FRGCLR; - eFillColor = SGUI_COLOR_BKGCLR; + eBackColor = pstProcessBarData->Parameter.BarColor; + eFillColor = pstProcessBarData->Parameter.BackgroundColor; } } // Redraw edge and clean up area. - SGUI_Basic_DrawRectangle(pstDeviceIF, pstProcessBarData->Parameter.PosX, pstProcessBarData->Parameter.PosY, pstProcessBarData->Parameter.Width, pstProcessBarData->Parameter.Height, SGUI_COLOR_FRGCLR, eBackColor); + SGUI_Basic_DrawRectangle(pstDeviceIF, pstProcessBarData->Parameter.PosX, pstProcessBarData->Parameter.PosY, pstProcessBarData->Parameter.Width, pstProcessBarData->Parameter.Height, pstProcessBarData->Parameter.BorderColor, eBackColor); // Draw process block. SGUI_Basic_DrawRectangle(pstDeviceIF, uiProcessBlockStartX, uiProcessBlockStartY, uiProcessBlockWidth, uiProcessBlockHeight, eFillColor, eFillColor); }