private unsafe byte drawSliderBackGround(ref InfoObject obj, InfoSliderParam *param) { switch (param->BackType) { case 0: if (param->BackPicId < m_guiApp.App.PictureCount) { m_guiApp.BrushInfo.pic = m_runScreen.ReadInfoPicture(param->BackPicId); break; } return(0); case 1: m_guiApp.BrushInfo.BackColor = param->BackPicId; break; case 2: if (param->BackPicId < m_guiApp.App.PictureCount) { m_guiApp.BrushInfo.X = obj.Panel.X; m_guiApp.BrushInfo.Y = obj.Panel.Y; m_guiApp.BrushInfo.pic = m_runScreen.ReadInfoPicture(param->BackPicId); break; } return(0); } m_guiApp.BrushInfo.sta = param->BackType; m_runScreen.ClearBackground( obj.Panel.X, obj.Panel.Y, (ushort)(obj.Panel.EndX - obj.Panel.X + 1), (ushort)(obj.Panel.EndY - obj.Panel.Y + 1) ); return(1); }
private unsafe byte changeTouchValue(ref InfoObject obj, InfoSliderParam *param, ushort val) { byte num; byte num2; ushort nowVal = param->NowVal; if (param->Mode > 0) { num = (byte)(param->CursorHeight / 2); num2 = (byte)(param->CursorHeight - num); if (val >= (obj.Panel.EndY - num)) { param->TouchPos = (ushort)(obj.Panel.EndY - num); param->NowVal = param->MinVal; } else if (val <= ((obj.Panel.Y + num2) - 1)) { param->TouchPos = (ushort)((obj.Panel.Y + num2) - 1); param->NowVal = param->MaxVal; } else { param->TouchPos = val; param->NowVal = (ushort)(param->MinVal + ((((long)(obj.Panel.EndY - num2 - val)) * (param->MaxVal - param->MinVal + 1)) / ((long)(obj.Panel.EndY - obj.Panel.Y - param->CursorHeight + 1)) ) ); } } else { num = (byte)(param->CursorWidth / 2); num2 = (byte)(param->CursorWidth - num); if (val <= (obj.Panel.X + num)) { param->TouchPos = (ushort)(obj.Panel.X + num); param->NowVal = param->MinVal; } else if (val >= ((obj.Panel.EndX - num2) + 1)) { param->TouchPos = (ushort)((obj.Panel.EndX - num2) + 1); param->NowVal = param->MaxVal; } else { param->TouchPos = val; param->NowVal = (ushort)(param->MinVal + ((((long)((val - obj.Panel.X) - num)) * ((param->MaxVal - param->MinVal) + 1)) / ((long)(obj.Panel.EndX - obj.Panel.X - param->CursorWidth + 1)))); } } if (param->NowVal > 100) { param->NowVal = param->NowVal; } if (nowVal != param->NowVal) { param->LastVal = param->NowVal; return(1); } return(0); }
private unsafe byte valueToTouchPos(ref InfoObject obj, InfoSliderParam *param, byte ID) { ushort num; byte num2; byte num3; if (param->Mode > 0) { num2 = (byte)(param->CursorHeight / 2); num3 = (byte)(param->CursorHeight - num2); if (param->NowVal >= param->MaxVal) { param->TouchPos = (ushort)((obj.Panel.Y + num3) - 1); } else if (param->NowVal <= param->MinVal) { param->TouchPos = (ushort)(obj.Panel.EndY - num2); } else { num = (ushort)(((param->NowVal - param->MinVal) * (((obj.Panel.EndY - obj.Panel.Y) - param->CursorHeight) + 1)) / ((param->MaxVal - param->MinVal) + 1)); param->TouchPos = (ushort)((obj.Panel.EndY - num3) - num); } } else { num2 = (byte)(param->CursorWidth / 2); num3 = (byte)(param->CursorWidth - num2); if (param->NowVal >= param->MaxVal) { param->TouchPos = (ushort)((obj.Panel.EndX - num3) + 1); } else if (param->NowVal <= param->MinVal) { param->TouchPos = (ushort)(obj.Panel.X + num2); } else { num = (ushort)((obj.Panel.X + num2) + ((((long)(param->NowVal - param->MinVal)) * (obj.Panel.EndX - obj.Panel.X - param->CursorWidth + 1)) / ((long)(param->MaxVal - param->MinVal + 1)))); param->TouchPos = num; } } if (!m_runScreen.IsEditor) { m_guiApp.PageObjects[ID].RefreshFlag = 1; } param->LastVal = param->NowVal; return(1); }
private unsafe byte drawSliderCursor(ref InfoObject obj, InfoSliderParam *param, ushort *x0, ushort *x1, ushort *y0, ushort *y1) { byte num; if (param->Mode > 0) { num = (byte)(param->CursorHeight / 2); x0[0] = (ushort)(((((obj.Panel.EndX - obj.Panel.X) + 1) - param->CursorWidth) / 2) + obj.Panel.X); x1[0] = (ushort)((x0[0] + param->CursorWidth) - 1); y1[0] = (ushort)(param->TouchPos + num); y0[0] = (ushort)((y1[0] - param->CursorHeight) + 1); } else { num = (byte)(param->CursorWidth / 2); y0[0] = (ushort)(((((obj.Panel.EndY - obj.Panel.Y) + 1) - param->CursorHeight) / 2) + obj.Panel.Y); y1[0] = (ushort)((y0[0] + param->CursorHeight) - 1); x0[0] = (ushort)(param->TouchPos - num); x1[0] = (ushort)((x0[0] + param->CursorWidth) - 1); } if (param->CursorType > 0) { if (param->CutsorPicId >= m_guiApp.App.PictureCount) { return(0); } m_guiApp.BrushInfo.sta = 2; m_guiApp.BrushInfo.pic = m_runScreen.ReadInfoPicture(param->CutsorPicId); m_guiApp.BrushInfo.X = x0[0]; m_guiApp.BrushInfo.Y = y0[0]; } else { m_guiApp.BrushInfo.sta = 1; m_guiApp.BrushInfo.BackColor = param->CutsorPicId; } m_runScreen.ClearBackground( x0[0], y0[0], param->CursorWidth, param->CursorHeight ); return(1); }
private unsafe byte clearSliderCursor(ref InfoObject obj, InfoSliderParam *param, ushort *x0, ushort *x1, ushort *y0, ushort *y1) { ushort x = 0; ushort y = 0; ushort num3 = 0; ushort lastPos = 0; if (param->Mode > 0) { x = x0[0]; num3 = x1[0]; if (y1[0] < param->LastPos) { lastPos = param->LastPos; y = (ushort)((lastPos - param->CursorHeight) + 1); if (y1[0] >= y) { y = (ushort)(y1[0] + 1); } } else if (y1[0] > param->LastPos) { lastPos = param->LastPos; y = (ushort)((lastPos - param->CursorHeight) + 1); if (lastPos >= y0[0]) { lastPos = (ushort)(y0[0] - 1); } } } else { y = y0[0]; lastPos = y1[0]; if (x0[0] < param->LastPos) { x = param->LastPos; num3 = (ushort)((x + param->CursorWidth) - 1); if (x1[0] >= x) { x = (ushort)(x1[0] + 1); } } else if (x0[0] > param->LastPos) { x = param->LastPos; num3 = (ushort)((x + param->CursorWidth) - 1); if (num3 >= x0[0]) { num3 = (ushort)(x0[0] - 1); } } } switch (param->BackType) { case 0: m_guiApp.BrushInfo.pic = m_runScreen.ReadInfoPicture(param->BackPicId); break; case 1: m_guiApp.BrushInfo.BackColor = param->BackPicId; break; case 2: m_guiApp.BrushInfo.pic = m_runScreen.ReadInfoPicture(param->BackPicId); m_guiApp.BrushInfo.X = obj.Panel.X; m_guiApp.BrushInfo.Y = obj.Panel.Y; break; } m_guiApp.BrushInfo.sta = param->BackType; m_runScreen.ClearBackground(x, y, (ushort)((num3 - x) + 1), (ushort)((lastPos - y) + 1)); return(1); }