private void RefreshTick(object sender, EventArgs e) { if (ScreenBox.Visible) { using (var Screenshot = ChromiumBrowser.ScreenshotOrNull()) { if (Screenshot == null) { return; } try { Graphics.DrawImage(Screenshot, 0, 0, FrameRect, GraphicsUnit.Pixel); Graphics.Flush(System.Drawing.Drawing2D.FlushIntention.Sync); Frameskip = !Frameskip; if (Frameskip) { ScreenBox.Invalidate(); } } catch { } } } else { RadialProgBar.StartingAngle += 7; if (RadialProgBar.StartingAngle > 359) { RadialProgBar.StartingAngle = 0; } } }
private void ScreenClicked(object sender, EventArgs e) { var ClickPos = ScreenBox.PointToClient(Cursor.Position); bool Verify = VerifyRect.Contains(ClickPos); ClickPos = new Point(ClickPos.X + FrameRect.X, ClickPos.Y + FrameRect.Y); BrowserHost.ExecuteClick(ClickPos); if (Verify) { LoadingMode(true); ThreadTools.Wait(3000, true); if (IsCaptchaSolved()) { Close(); } else { UpdateRects(); LoadingMode(false); } } else { StatusCheck.Enabled = false; StatusCheck.Enabled = true; Clicks++; } }
void Start() { parallaxScales = new float[backgrounds.Length]; for (int i = 0; i < backgrounds.Length; i++) { parallaxScales[i] = backgrounds[i].position.z * -1; } screenBox = transform.GetComponent <ScreenBox>(); relativePosition = cam.InverseTransformPoint(screenBox.transform.position).x; }
private void ScreenMouseUp(object sender, MouseEventArgs e) { var ClickPos = ScreenBox.PointToClient(Cursor.Position); ClickPos = new Point(ClickPos.X + ViewRectangle.X, ClickPos.Y + ViewRectangle.Y); if (e.Button == MouseButtons.Middle) { return; } var Button = e.Button == MouseButtons.Left ? MouseButtonType.Left : MouseButtonType.Right; BrowserHost.SendMouseClickEvent(new MouseEvent(ClickPos.X, ClickPos.Y, CefEventFlags.None), Button, true, 1); }
// Очистка экрана private void buttonClr_Click(object sender, EventArgs e) { if (buttonClr.Text == "CLR") { ScreenBox.Clear(); } else { HistoryBox1.Clear(); } if (Properties.Settings.Default.AutoALT && checkBoxMode.Checked) { checkBoxMode.Checked = false; } }
// Бекспейс private void buttonBack_Click(object sender, EventArgs e) { int csel = ScreenBox.SelectionStart; if (ScreenBox.Text.Length != 0 && csel != 0) { ScreenBox.Text = ScreenBox.Text.Substring(0, csel - 1) + ScreenBox.Text.Substring(csel, ScreenBox.Text.Length - csel); csel -= 1; } ScreenBox.Focus(); ScreenBox.Select(csel, 0); if (Properties.Settings.Default.AutoALT && checkBoxMode.Checked) { checkBoxMode.Checked = false; } }
private void buttonFunct_Click(object sender, EventArgs e) { int csel = ScreenBox.SelectionStart; if (ScreenBox.Text.Length != 0 && csel != 0) { ScreenBox.Text = ScreenBox.Text.Substring(0, csel) + ((Button)sender).Text + "(" + ScreenBox.Text.Substring(csel, ScreenBox.Text.Length - csel); } else { ScreenBox.Text = ((Button)sender).Text + "(" + ScreenBox.Text.Substring(csel, ScreenBox.Text.Length - csel); } csel += ((Button)sender).Text.Length + 1; ScreenBox.Focus(); ScreenBox.Select(csel, 0); if (Properties.Settings.Default.AutoALT && checkBoxMode.Checked) { checkBoxMode.Checked = false; } }
private void buttonNewMatr_M_Click(object sender, EventArgs e) { if (savedVariables == null) { savedVariables = new Dictionary <string, string>(); } char i; for (i = 'A'; i <= 'N'; i++) { if (!savedVariables.ContainsKey(i.ToString())) { break; } } EditMatrix em = new EditMatrix(i); string[] tmp; if (DialogResult.OK == em.ShowDialog(this)) { tmp = em.result.Split('#'); savedVariables.Add(tmp[0], tmp[1]); if (HistoryBox1.Text == "") { HistoryBox1.Text += tmp[0] + "=" + tmp[1]; } else { HistoryBox1.Text += "\r\n" + tmp[0] + "=" + tmp[1]; } Button tbtn = new Button(); tbtn.Text = tmp[0]; buttonDigit_Click(tbtn, e); } ScreenBox.Focus(); }
// Начать вычисление private void buttonEnter_Click(object sender, EventArgs e) { if (buttonEnter.Text == "WA=") { if (ScreenBox.Text.Length > 200 && (DialogResult.Yes != MessageBox.Show("Похоже, у вас слишком длинный.. запрос. Возможно, WolframAlpha обрежет его и вычисления будут неверны. Продолжить?", "Превышена длина запроса", MessageBoxButtons.YesNo, MessageBoxIcon.Question))) { return; } string inpstr = ScreenBox.Text; String WolframAlphaApplicationID = Properties.Settings.Default.WA_AppKey; if (WolframAlphaApplicationID == "") { MessageBox.Show("Неверно задан ключ для WolframAPI. Введите действительный ключ.", "Не задан ключ приложения", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (Properties.Settings.Default.WA_RespSend >= Properties.Settings.Default.WA_RespLimit) { MessageBox.Show("Превышен месячный лимит запросов. Увеличить лимит или отключить контроль можно в настройках.", "Превышен лимит запросов", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } ScreenBox.Clear(); WolframResult WR = new WolframResult(); WR.ShowAndCalculate(inpstr, WolframAlphaApplicationID); if (HistoryBox1.Text == "") { HistoryBox1.Text += "WAQUERY~" + inpstr; } else { HistoryBox1.Text += "\r\n" + inpstr; } } else { string inpstr = ScreenBox.Text; if (inpstr.Contains("X") || inpstr.Contains("Y")) { buttonDigit_Click(sender, e); } else if (inpstr.StartsWith("set")) { if (inpstr.Contains("=")) { KeyValuePair <string, string> parsedres = new KeyValuePair <string, string>(); if (parseVariable(inpstr, ref parsedres)) { if (savedVariables == null) { savedVariables = new Dictionary <string, string>(); } if (savedVariables.Keys.Contains(parsedres.Key)) { if (DialogResult.No == MessageBox.Show("Переменная с таким именем уже существует. Перезаписать?", "Замена", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { return; } } ScreenBox.Clear(); List <Token> RPN1 = Arithmetic.GetRPN(parsedres.Value, savedVariables); string result = savedVariables[parsedres.Key] = PostProcess(Arithmetic.Calculate(ref RPN1, gradusmode)); if (RPN1 != null) { RPN1.Clear(); } savedVariables[parsedres.Key] = result; if (HistoryBox1.Text == "") { HistoryBox1.Text += parsedres.Key + "=" + result + ((parsedres.Value == result) ? "" : " [" + parsedres.Value + "]"); } else { HistoryBox1.Text += "\r\n" + parsedres.Key + "=" + result + ((parsedres.Value == result) ? "" : " [" + parsedres.Value + "]"); } } } else { buttonDigit_Click(sender, e); } } else { string heststr = inpstr; PreProcess(ref inpstr); string result = ""; switch (panelmode) { case "norm": case "engen": default: //Вычисление на обычной или инженерной панели //List<Token> RPN1 = Arithmetic.GetRPN(inpstr); //result = Convert.ToString(Arithmetic.Calculate(ref RPN1, gradusmode)); //result = PostProcess(Convert.ToDouble(result)); //if (RPN1 != null) RPN1.Clear(); List <Token> RPN1 = Arithmetic.GetRPN(inpstr, savedVariables); result = Convert.ToString(Arithmetic.Calculate(ref RPN1, gradusmode)); result = PostProcess(Convert.ToDouble(result)); if (RPN1 != null) { RPN1.Clear(); } break; case "prog": //Вычисление на програмной панели if (radioLogicExpr.Checked) { List <Token> RPN2 = BinaryArithmetic.GetRPN(inpstr); Dictionary <string, bool> variables = BinaryArithmetic.GetVariables(RPN2); int count = (int)Math.Pow(2, variables.Count); result = "{["; for (int i = 0; i < count; i++) { BinaryArithmetic.AddVariableData(i + count, variables); result += (BinaryArithmetic.Calculate(RPN2, variables) ? "1|" : "0|"); } result = result.Substring(0, result.Length - 1) + "]}"; } else { List <Token> RPN2 = Arithmetic.GetRPN(BinaryArithmetic.ConvertStringToSS(inpstr, SSmode, 10)); result = Convert.ToString(Arithmetic.Calculate(ref RPN2, gradusmode)); result = BinaryArithmetic.ConvertStringToSS(result, 10, SSmode); if (RPN2 != null) { RPN2.Clear(); } } break; case "matr": //Вычисление на матричной панели //Dictionary<string, string> mas = new Dictionary<string, string>(); //MatrixArithmetic.GetMatrixes(ref inpstr, ref mas); List <Token> RPN3 = MatrixArithmetic.GetRPN(inpstr); //result = MatrixArithmetic.Calculate(RPN3, mas); result = MatrixArithmetic.Calculate(RPN3, savedVariables); if (RPN3 != null) { RPN3.Clear(); } //mas.Clear(); break; } heststr += "=" + result; ScreenBox.Text = result; if (HistoryBox1.Text == "") { HistoryBox1.Text += heststr; } else { HistoryBox1.Text += "\r\n" + heststr; } } } }