From a59663c4981c498f007307f7115f6850ab73e239 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期五, 21 七月 2023 21:06:51 +0800
Subject: [PATCH] 群控界面修复  1.9版本bug修复

---
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs |  532 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 351 insertions(+), 181 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index e958818..47d6c7c 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -70,19 +70,20 @@
         /// <summary>
         /// 鍒囨崲鏄剧ず鍔熻兘绫诲瀷鍖哄煙
         /// </summary>
-        FrameLayout changeView;
-        /// <summary>
-        /// 鍒囨崲鏄剧ず璁惧鍔熻兘鎸夐挳
-        /// </summary>
-        Button btnChangeFunction;
-        /// <summary>
-        /// 鍒囨崲鏄剧ず鍦烘櫙鍔熻兘鎸夐挳
-        /// </summary>
-        Button btnChangeScene;
-        /// <summary>
-        /// 鍒囨崲鏄剧ず鍦虹粍鎺ф寜閽�
-        /// </summary>
-        Button btnChangeGroupControl;
+        FrameLayout changeBaseView;
+        //FrameLayout changeView;
+        ///// <summary>
+        ///// 鍒囨崲鏄剧ず璁惧鍔熻兘鎸夐挳
+        ///// </summary>
+        //Button btnChangeFunction;
+        ///// <summary>
+        ///// 鍒囨崲鏄剧ず鍦烘櫙鍔熻兘鎸夐挳
+        ///// </summary>
+        //Button btnChangeScene;
+        ///// <summary>
+        ///// 鍒囨崲鏄剧ず鍦虹粍鎺ф寜閽�
+        ///// </summary>
+        //Button btnChangeGroupControl;
         /// <summary>
         /// 鍔熻兘鏄剧ず鍖哄煙
         /// </summary>
@@ -116,11 +117,11 @@
 #endregion
 
 #region 鎶ヨ淇℃伅
-        Button btnMsgBg;
-        Button btnMsgTime;
-        Button btnMsg;
+        //Button btnMsgBg;
+        //Button btnMsgTime;
+        //Button btnMsg;
         Button btnMsgIcon;
-#endregion
+        #endregion
 
         public HomePage()
         {
@@ -164,14 +165,14 @@
                 };
                 topView = new FrameLayout()
                 {
-                    Height = Application.GetRealHeight(216),
+                    Height = Application.GetRealHeight(113),//216),
                     BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                 };
                 bodyView.AddChidren(topView);
 #else
                 VerticalRefreshLayout refreshLayout = new VerticalRefreshLayout()
                 {
-                    Height = Application.GetRealHeight(216),
+                    Height = Application.GetRealHeight(113),//216),
                     BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                 };
                 bodyView.AddChidren(refreshLayout);
@@ -184,7 +185,7 @@
                 };
                 topView = new FrameLayout()
                 {
-                    Height = Application.GetRealHeight(216),
+                    Height = Application.GetRealHeight(113),//216),
                 };
                 refreshLayout.AddChidren(topView);
 #endif
@@ -508,57 +509,57 @@
 
 
 #region msg
-                FrameLayout msgView;
-                msgView = new FrameLayout()
-                {
-                    Y = Application.GetRealHeight(164),
-                    Gravity = Gravity.CenterHorizontal,
-                    Width = Application.GetRealWidth(343),
-                    Height = Application.GetRealHeight(28),
-                };
-                topView.AddChidren(msgView);
+                //FrameLayout msgView;
+                //msgView = new FrameLayout()
+                //{
+                //    Y = Application.GetRealHeight(164),
+                //    Gravity = Gravity.CenterHorizontal,
+                //    Width = Application.GetRealWidth(343),
+                //    Height = Application.GetRealHeight(28),
+                //};
+                //topView.AddChidren(msgView);
 
-                btnMsgBg = new Button()
-                {
-                    BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,
-                    Alpha = 0.4f,
-                };
-                msgView.AddChidren(btnMsgBg);
+                //btnMsgBg = new Button()
+                //{
+                //    BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,
+                //    Alpha = 0.4f,
+                //};
+                //msgView.AddChidren(btnMsgBg);
 
 
                 btnMsgIcon = new Button()
                 {
-                    X = Application.GetRealWidth(12),
-                    Gravity = Gravity.CenterVertical,
+                    X = Application.GetRealWidth(290),
+                    Y = Application.GetRealHeight(35),
                     Width = Application.GetMinRealAverage(24),
                     Height = Application.GetMinRealAverage(24),
                     UnSelectedImagePath = "Collection/MsgIcon.png",
                     SelectedImagePath = "Collection/MsgIconTip.png",
                 };
-                msgView.AddChidren(btnMsgIcon);
+                topView.AddChidren(btnMsgIcon);
 
 
-                btnMsg = new Button()
-                {
-                    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
-                    Width = Application.GetRealWidth(240),
-                    Text = "...",
-                    TextColor = CSS_Color.MainBackgroundColor,
-                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                    TextAlignment = TextAlignment.CenterLeft,
-                };
-                msgView.AddChidren(btnMsg);
+                //btnMsg = new Button()
+                //{
+                //    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
+                //    Width = Application.GetRealWidth(240),
+                //    Text = "...",
+                //    TextColor = CSS_Color.MainBackgroundColor,
+                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                //    TextAlignment = TextAlignment.CenterLeft,
+                //};
+                //msgView.AddChidren(btnMsg);
 
 
-                btnMsgTime = new Button()
-                {
-                    X = Application.GetRealWidth(299),
-                    Width = Application.GetRealWidth(44),
-                    Text = "00:00",
-                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                    TextAlignment = TextAlignment.CenterLeft,
-                };
-                msgView.AddChidren(btnMsgTime);
+                //btnMsgTime = new Button()
+                //{
+                //    X = Application.GetRealWidth(299),
+                //    Width = Application.GetRealWidth(44),
+                //    Text = "00:00",
+                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                //    TextAlignment = TextAlignment.CenterLeft,
+                //};
+                //msgView.AddChidren(btnMsgTime);
 
                 LoadEvent_GotoMessageCenterPage();
 
@@ -570,134 +571,12 @@
 
                 bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 });
 
-                if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
-                {
-                    changeView = new FrameLayout()
-                    {
-                        //Y = Application.GetRealHeight(20) + topView.Bottom,
-                        Gravity = Gravity.CenterHorizontal,
-                        Width = Application.GetRealWidth(334),
-                        Height = Application.GetRealHeight(62),
-                        BackgroundImagePath = "Collection/ChangeViewbg.png",
-                    };
-                    bodyView.AddChidren(changeView);
+                loadNavView();
 
-                    btnChangeFunction = new Button()
-                    {
-                        X = Application.GetRealWidth(10),
-                        Width = Application.GetRealWidth(114 - 10),
-                        TextID = StringId.Functions,
-                        SelectedTextColor = CSS_Color.MainColor,
-                        TextColor = CSS_Color.PromptingColor1,
-                        TextSize = CSS_FontSize.HeadlineFontSize,
-                        TextAlignment = TextAlignment.Center,
-                        IsSelected = true,
-                        IsBold = true,
-                    };
-                    changeView.AddChidren(btnChangeFunction);
-
-                    Button btnLine = new Button()
-                    {
-                        X = btnChangeFunction.Right,
-                        Gravity = Gravity.CenterVertical,
-                        Width = Application.GetRealWidth(1),
-                        Height = Application.GetRealHeight(14),
-                        BackgroundColor = CSS_Color.PromptingColor1,
-                    };
-                    changeView.AddChidren(btnLine);
-
-                    btnChangeScene = new Button()
-                    {
-                        X = btnLine.Right,
-                        Width = Application.GetRealWidth(114 - 10),
-                        TextID = StringId.Scenes,
-                        SelectedTextColor = CSS_Color.MainColor,
-                        TextColor = CSS_Color.PromptingColor1,
-                        TextSize = CSS_FontSize.TextFontSize,
-                        TextAlignment = TextAlignment.Center,
-                    };
-                    changeView.AddChidren(btnChangeScene);
-
-                    Button btnLine2 = new Button()
-                    {
-                        X = btnChangeScene.Right,
-                        Gravity = Gravity.CenterVertical,
-                        Width = Application.GetRealWidth(1),
-                        Height = Application.GetRealHeight(14),
-                        BackgroundColor = CSS_Color.PromptingColor1,
-                    };
-                    changeView.AddChidren(btnLine2);
-
-                    btnChangeGroupControl = new Button()
-                    {
-                        X = btnLine2.Right,
-                        Width = Application.GetRealWidth(114 - 10),
-                        TextID = StringId.GroupControl,
-                        SelectedTextColor = CSS_Color.MainColor,
-                        TextColor = CSS_Color.PromptingColor1,
-                        TextSize = CSS_FontSize.TextFontSize,
-                        TextAlignment = TextAlignment.Center,
-                    };
-                    changeView.AddChidren(btnChangeGroupControl);
-                }
-                else
-                {
-                    changeView = new FrameLayout()
-                    {
-                        //Y = Application.GetRealHeight(20) + topView.Bottom,
-                        Gravity = Gravity.CenterHorizontal,
-                        Width = Application.GetRealWidth(230),
-                        Height = Application.GetRealHeight(62),
-                        BackgroundImagePath = "Collection/ChangeViewbg.png",
-                    };
-                    bodyView.AddChidren(changeView);
-
-                    btnChangeFunction = new Button()
-                    {
-                        X = Application.GetRealWidth(10),
-                        Width = Application.GetRealWidth(114 - 10),
-                        TextID = StringId.Functions,
-                        SelectedTextColor = CSS_Color.MainColor,
-                        TextColor = CSS_Color.PromptingColor1,
-                        TextSize = CSS_FontSize.HeadlineFontSize,
-                        TextAlignment = TextAlignment.Center,
-                        IsSelected = true,
-                        IsBold = true,
-                    };
-                    changeView.AddChidren(btnChangeFunction);
-
-                    Button btnLine = new Button()
-                    {
-                        X = btnChangeFunction.Right,
-                        Gravity = Gravity.CenterVertical,
-                        Width = Application.GetRealWidth(1),
-                        Height = Application.GetRealHeight(14),
-                        BackgroundColor = CSS_Color.PromptingColor1,
-                    };
-                    changeView.AddChidren(btnLine);
-
-                    btnChangeScene = new Button()
-                    {
-                        X = btnLine.Right,
-                        Width = Application.GetRealWidth(114 - 10),
-                        TextID = StringId.Scenes,
-                        SelectedTextColor = CSS_Color.MainColor,
-                        TextColor = CSS_Color.PromptingColor1,
-                        TextSize = CSS_FontSize.TextFontSize,
-                        TextAlignment = TextAlignment.Center,
-                    };
-                    changeView.AddChidren(btnChangeScene);
-                }
                 #endregion
 
                 #region ContextView
-                contentView = new PageLayout()
-                {
-                    //Y = changeView.Bottom,
-                    Height = Application.GetRealHeight(310 + 30 + 10), //20涓鸿秴鍑洪儴鍒�
-                    IsShowPoint = false,
-                };
-                bodyView.AddChidren(contentView);
+
 
                 functionViews = new List<FrameLayout>();
 
@@ -712,6 +591,295 @@
 
 
         }
+
+        void loadNavView()
+        {
+            if(changeBaseView == null)
+            {
+                changeBaseView = new FrameLayout()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Height = Application.GetRealHeight(62),
+                };
+                bodyView.AddChidren(changeBaseView);
+            }
+            else
+            {
+                changeBaseView.RemoveAll();
+            }
+
+            if (contentView == null)
+            {
+                contentView = new PageLayout()
+                {
+                    Height = Application.GetRealHeight(310 + 30 + 10 + 100), //20涓鸿秴鍑洪儴鍒�
+                    IsShowPoint = false,
+                };
+                bodyView.AddChidren(contentView);
+            }
+
+            if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl && FunctionList.List.groupControls.Count > 0)
+            {
+                var changeView = new FrameLayout()
+                {
+                    //Y = Application.GetRealHeight(20) + topView.Bottom,
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(334),
+                    Height = Application.GetRealHeight(62),
+                    BackgroundImagePath = "Collection/ChangeViewbg.png",
+                };
+                changeBaseView.AddChidren(changeView);
+
+                var btnChangeFunction = new Button()
+                {
+                    X = Application.GetRealWidth(10),
+                    Width = Application.GetRealWidth(114 - 10),
+                    TextID = StringId.Functions,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.HeadlineFontSize,
+                    TextAlignment = TextAlignment.Center,
+                    IsSelected = true,
+                    IsBold = true,
+                };
+                changeView.AddChidren(btnChangeFunction);
+
+                Button btnLine = new Button()
+                {
+                    X = btnChangeFunction.Right,
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(1),
+                    Height = Application.GetRealHeight(14),
+                    BackgroundColor = CSS_Color.PromptingColor1,
+                };
+                changeView.AddChidren(btnLine);
+
+                var btnChangeScene = new Button()
+                {
+                    X = btnLine.Right,
+                    Width = Application.GetRealWidth(114 - 10),
+                    TextID = StringId.Scenes,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextAlignment = TextAlignment.Center,
+                };
+                changeView.AddChidren(btnChangeScene);
+
+                Button btnLine2 = new Button()
+                {
+                    X = btnChangeScene.Right,
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(1),
+                    Height = Application.GetRealHeight(14),
+                    BackgroundColor = CSS_Color.PromptingColor1,
+                };
+                changeView.AddChidren(btnLine2);
+
+                var btnChangeGroupControl = new Button()
+                {
+                    X = btnLine2.Right,
+                    Width = Application.GetRealWidth(114 - 10),
+                    TextID = StringId.GroupControl,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextAlignment = TextAlignment.Center,
+                };
+                changeView.AddChidren(btnChangeGroupControl);
+
+
+
+                btnChangeGroupControl.MouseUpEventHandler = (sender, e) => {
+                    btnChangeFunction.IsSelected = false;
+                    btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeFunction.IsBold = false;
+                    btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeScene.IsSelected = false;
+                    btnChangeScene.IsBold = false;
+                    btnChangeGroupControl.IsSelected = true;
+                    btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                    btnChangeGroupControl.IsBold = true;
+                    CurShowTypeContent = 2;
+                    contentView.PageIndex = 2;
+                };
+
+                btnChangeFunction.MouseUpEventHandler = (sender, e) => {
+                    btnChangeFunction.IsSelected = true;
+                    btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                    btnChangeFunction.IsBold = true;
+                    btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeScene.IsSelected = false;
+                    btnChangeScene.IsBold = false;
+                    CurShowTypeContent = 0;
+                    contentView.PageIndex = 0;
+
+                    btnChangeGroupControl.IsSelected = false;
+                    btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeGroupControl.IsBold = false;
+                };
+                btnChangeScene.MouseUpEventHandler = (sender, e) => {
+                    btnChangeScene.IsSelected = true;
+                    btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                    btnChangeScene.IsBold = true;
+                    btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeFunction.IsSelected = false;
+                    btnChangeFunction.IsBold = false;
+                    CurShowTypeContent = 1;
+                    contentView.PageIndex = 1;
+
+                    btnChangeGroupControl.IsSelected = false;
+                    btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeGroupControl.IsBold = false;
+                };
+
+                contentView.PageChange = (sender, e) =>
+                {
+                    if (contentView.PageIndex == 0)
+                    {
+                        btnChangeFunction.IsSelected = true;
+                        btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                        btnChangeFunction.IsBold = true;
+                        btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeScene.IsSelected = false;
+                        btnChangeScene.IsBold = false;
+                        btnChangeGroupControl.IsSelected = false;
+                        btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeGroupControl.IsBold = false;
+                    }
+                    else if (contentView.PageIndex == 1)
+                    {
+                        btnChangeScene.IsSelected = true;
+                        btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                        btnChangeScene.IsBold = true;
+                        btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeFunction.IsSelected = false;
+                        btnChangeFunction.IsBold = false;
+                        btnChangeGroupControl.IsSelected = false;
+                        btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeGroupControl.IsBold = false;
+                    }
+                    else if (contentView.PageIndex == 2)
+                    {
+                        btnChangeFunction.IsSelected = false;
+                        btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeFunction.IsBold = false;
+                        btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeScene.IsSelected = false;
+                        btnChangeScene.IsBold = false;
+                        btnChangeGroupControl.IsSelected = true;
+                        btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                        btnChangeGroupControl.IsBold = true;
+                    }
+                };
+
+
+            }
+            else
+            {
+                var changeView = new FrameLayout()
+                {
+                    //Y = Application.GetRealHeight(20) + topView.Bottom,
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(230),
+                    Height = Application.GetRealHeight(62),
+                    BackgroundImagePath = "Collection/ChangeViewbg.png",
+                };
+                changeBaseView.AddChidren(changeView);
+
+                var btnChangeFunction = new Button()
+                {
+                    X = Application.GetRealWidth(10),
+                    Width = Application.GetRealWidth(114 - 10),
+                    TextID = StringId.Functions,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.HeadlineFontSize,
+                    TextAlignment = TextAlignment.Center,
+                    IsSelected = true,
+                    IsBold = true,
+                };
+                changeView.AddChidren(btnChangeFunction);
+
+                Button btnLine = new Button()
+                {
+                    X = btnChangeFunction.Right,
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(1),
+                    Height = Application.GetRealHeight(14),
+                    BackgroundColor = CSS_Color.PromptingColor1,
+                };
+                changeView.AddChidren(btnLine);
+
+                var btnChangeScene = new Button()
+                {
+                    X = btnLine.Right,
+                    Width = Application.GetRealWidth(114 - 10),
+                    TextID = StringId.Scenes,
+                    SelectedTextColor = CSS_Color.MainColor,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextAlignment = TextAlignment.Center,
+                };
+                changeView.AddChidren(btnChangeScene);
+
+
+                btnChangeFunction.MouseUpEventHandler = (sender, e) =>
+                {
+
+                    btnChangeFunction.IsSelected = true;
+                    btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                    btnChangeFunction.IsBold = true;
+                    btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeScene.IsSelected = false;
+                    btnChangeScene.IsBold = false;
+                    CurShowTypeContent = 0;
+                    contentView.PageIndex = 0;
+                };
+
+                btnChangeScene.MouseUpEventHandler = (sender, e) =>
+                {
+                    btnChangeScene.IsSelected = true;
+                    btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                    btnChangeScene.IsBold = true;
+                    btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
+                    btnChangeFunction.IsSelected = false;
+                    btnChangeFunction.IsBold = false;
+                    CurShowTypeContent = 1;
+                    contentView.PageIndex = 1;
+                };
+
+                contentView.PageChange = (sender, e) =>
+                {
+                    if (contentView.PageIndex == 0)
+                    {
+                        btnChangeFunction.IsSelected = true;
+                        btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                        btnChangeFunction.IsBold = true;
+                        btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeScene.IsSelected = false;
+                        btnChangeScene.IsBold = false;
+                    }
+                    else if (contentView.PageIndex == 1)
+                    {
+                        btnChangeScene.IsSelected = true;
+                        btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
+                        btnChangeScene.IsBold = true;
+                        btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
+                        btnChangeFunction.IsSelected = false;
+                        btnChangeFunction.IsBold = false;
+                    }
+                };
+
+
+
+            }
+
+
+            contentView.PageIndex = CurShowTypeContent;
+
+        }
+
         /// <summary>
         /// 鍔犺浇鍐呭鍖哄煙
         /// </summary>
@@ -736,8 +904,10 @@
                         {
                             if (contentView == null)
                             {
+                                waitPage.Hide();
                                 return;
                             }
+                            loadNavView();
                             contentView.RemoveAll();
                             deviceFunctionView = new VerticalScrolViewLayout();
                             contentView.AddChidren(deviceFunctionView);

--
Gitblit v1.8.0