コード例 #1
0
ファイル: GuiCurve.cs プロジェクト: skyclub66/HMI
        public unsafe static byte GuiCurveInit(objxinxi *obj, byte ID)
        {
            if (GuiCurve.myapp.upapp.runapptype == runapptype.bianji)
            {
                GuiCurve.GuiCurvePageInit();
            }
            byte result;

            if (obj->attpos + obj->attposqyt > 8192)
            {
                result = 0;
            }
            else
            {
                for (byte b = 0; b < 5; b += 1)
                {
                    if (GuiCurve.CurveIndex[(int)b].objID == 255)
                    {
                        GuiCurve.CurveIndex[(int)b].objID  = ID;
                        GuiCurve.CurveIndex[(int)b].offset = obj->attpos;
                        if (GuiCurve.myapp.upapp.runapptype == runapptype.bianji)
                        {
                            GuiCurve.CurveRefBack(obj, ID);
                        }
                        break;
                    }
                }
                result = 1;
            }
            return(result);
        }
コード例 #2
0
ファイル: GuiCurve.cs プロジェクト: skyclub66/HMI
        public unsafe static byte CurveRefBack(objxinxi *obj, byte ID)
        {
            byte[]       array = new byte[0];
            CURVE_PARAM *ptr;

            if (GuiCurve.myapp.upapp.runapptype == runapptype.bianji)
            {
                GuiCurve.GuiCurvePageInit();
                ptr = (CURVE_PARAM *)GuiCurve.myapp.mymerry;
            }
            else
            {
                ptr = (CURVE_PARAM *)(GuiCurve.myapp.mymerry + obj->attpos);
            }
            if (GuiCurve.myapp.upapp.runapptype == runapptype.bianji || GuiCurve.myapp.pageobjs[ID].vis == 1)
            {
                if (ptr->BackType == 0)
                {
                    Showpic.Showpic_ShowXpic((int)obj->redian.x, (int)obj->redian.y, (ushort)(obj->redian.endx - obj->redian.x + 1), (ushort)(obj->redian.endy - obj->redian.y + 1), (int)obj->redian.x, (int)obj->redian.y, ptr->PicID);
                }
                else if (ptr->BackType == 2)
                {
                    Showpic.Showpic_ShowPic((int)obj->redian.x, (int)obj->redian.y, ptr->PicID);
                }
                else
                {
                    uint qyt = (uint)(ptr->objWid * ptr->objHig);
                    Lcd.LCD_addset((int)obj->redian.x, (int)obj->redian.y, (int)obj->redian.endx, (int)obj->redian.endy, 1);
                    Lcd.Lcd_WR_POINT(qyt, ptr->Bkclr);
                    if (ptr->GridX > 0)
                    {
                        for (short num = (short)obj->redian.x; num <= (short)obj->redian.endx; num += (short)ptr->GridX)
                        {
                            Lcd.LCD_addset((int)((ushort)num), (int)obj->redian.y, (int)((ushort)num), (int)obj->redian.endy, 1);
                            Lcd.Lcd_WR_POINT((uint)ptr->objHig, ptr->Griclr);
                        }
                    }
                    if (ptr->GridY > 0)
                    {
                        for (short num = (short)obj->redian.endy; num >= (short)obj->redian.y; num -= (short)ptr->GridY)
                        {
                            Lcd.LCD_addset((int)obj->redian.x, (int)((ushort)num), (int)obj->redian.endx, (int)((ushort)num), 1);
                            Lcd.Lcd_WR_POINT((uint)ptr->objWid, ptr->Griclr);
                        }
                    }
                }
            }
            return(1);
        }
コード例 #3
0
ファイル: Hmi.cs プロジェクト: skyclub66/HMI
 private static void Hmi_GuiPageInit()
 {
     GuiCurve.GuiCurvePageInit();
 }