public bool Stitch() { if (spans.Count == 1) { throw new Exception("MeshStitchLoops.Stitch: blind stitching not supported yet..."); } int gid = Group.GetGroupID(Mesh); bool all_ok = true; int NS = spans.Count; for (int si = 0; si < NS; si++) { span s = spans[si]; if (stitch_span_simple(s, gid) == false) { all_ok = false; } } return(all_ok); }
public override string GetHTML(int deep = 0) { Childs.Clear(); AddCSS("alert alert-" + StyleAlert.ToString("g"), true); if (isDismissible) { AddCSS("alert-dismissible fade show", true); } css_style = "min-height: 50px;"; SetAttribute("role", "alert"); if (isDismissible) { button button_close = new button(null); button_close.AddCSS("close"); button_close.SetAttribute("data-dismiss", "alert"); button_close.SetAttribute("aria-label", "Close"); span my_span = new span() { InnerText = "×" }; my_span.SetAttribute("aria-hidden", "true"); button_close.AddDomNode(my_span); Childs.Add(button_close); } Childs.Add(new text(Message)); return(base.GetHTML(deep)); }
public static string CreateEmailConfirmContent(string customername, string customerNumber, string code) { return (@$ "<div> <p style='color: #00558f; margin-bottom: 10px;'>Dear <span style = 'font-weight: bold;'>{customername}</span>.</p> <p style='color: #00558f; margin-bottom: 10px;'> Thank you for signing up for an Ars Airways account.<br> Your membership number: <span style='font-weight: bold'>{customerNumber}</span>.
private void btnLoadCod_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "COD files (*.cod)|*.cod"; if (openFileDialog1.ShowDialog() != DialogResult.OK) { return; } XmlDocument loaded_xml = new XmlDocument(); loaded_xml.Load(openFileDialog1.FileName); XmlNode video_node = loaded_xml.SelectSingleNode("/code/file"); string video_key = video_node.InnerText; if (video_key != lblVideo.Text) { MessageBox.Show("Doesn't match loaded video."); return; } txtCoder.Text = loaded_xml.SelectSingleNode("/code/coder").InnerText; for (int i = 0; i < track_count; i++) { XmlNodeList np_spans = loaded_xml.SelectNodes("/code/tracks/track[@name=\"" + track_label(i).Text + "\"]/span"); foreach (XmlNode xspan in np_spans) { int start = Int32.Parse(xspan.SelectSingleNode("@start").InnerText); int end = Int32.Parse(xspan.SelectSingleNode("@end").InnerText); span s = new span(); s.start = start; s.end = end; s.track = i; track_spans[i].Add(s); } } //XmlNode flags = loaded_xml.SelectSingleNode("/code/flags"); //if (flags != null) //{ // chkPaciFreePlay.Checked = flags.SelectSingleNode("@paci_free").InnerText == "1"; // chkPaciNatPlay.Checked = flags.SelectSingleNode("@paci_nat").InnerText == "1"; // chkStillFaceAbort.Checked = flags.SelectSingleNode("@still_abort").InnerText == "1"; // chkSexRevealed.Checked = flags.SelectSingleNode("@sex_revealed").InnerText == "1"; // chkPaciReunion.Checked = flags.SelectSingleNode("@paci_reunion").InnerText == "1"; // chkPaciStill.Checked = flags.SelectSingleNode("@paci_still").InnerText == "1"; //} pictureBox1.Invalidate(); pictureBox2.Invalidate(); }
private void pictureBox2_Paint(object sender, PaintEventArgs e) { // paint the selected track e.Graphics.FillRectangle(Brushes.WhiteSmoke, 0, 18 * selected_track, pictureBox2.Width, 18); int pb2_start_time_x = (int)hScrollBar2.Value; int pb2_end_time_x = (int)hScrollBar2.Value + 60; for (int track = 0; track < track_count; track++) { for (int i = 0; i < track_spans[track].Count; i++) { span s = track_spans[track][i]; if (s.end < pb2_start_time_x) { continue; } if (s.start > pb2_end_time_x) { continue; } float start_x = pictureBox2.Width * (s.start - pb2_start_time_x) / 60; float end_x = pictureBox2.Width * (s.end - pb2_start_time_x) / 60; e.Graphics.FillRectangle(track_brushes[track], start_x, 18 * track + 2, end_x - start_x, 14); if (selected_span == s) { e.Graphics.DrawRectangle(Pens.Black, start_x, 18 * track + 2, end_x - start_x, 14); } } } if (new_span_start != -1 && hScrollBar1.Value > new_span_start) { if (hScrollBar1.Value > pb2_start_time_x || new_span_start < pb2_end_time_x) { float start_x = pictureBox2.Width * (new_span_start - pb2_start_time_x) / 60; float end_x = pictureBox2.Width * (hScrollBar1.Value - pb2_start_time_x) / 60; e.Graphics.FillRectangle(track_brushes[selected_track], start_x, 18 * selected_track + 2, end_x - start_x, 14); } } if (hScrollBar1.Value >= pb2_start_time_x && hScrollBar1.Value < pb2_end_time_x) { int cursor_x = pictureBox2.Width * (hScrollBar1.Value - pb2_start_time_x) / 60; e.Graphics.DrawLine(Pens.Black, cursor_x, 0, cursor_x, pictureBox2.Height - 3); } }
public MeshStitchLoops(DMesh3 mesh, EdgeLoop l0, EdgeLoop l1) { Mesh = mesh; Loop0 = new EdgeLoop(l0); Loop1 = new EdgeLoop(l1); span s = new span() { span0 = new Interval1i(0, 0), span1 = new Interval1i(0, 0) }; spans.Add(s); }
private static Node[] AggregateExpression(Block block, span span) { var original = block.Ast.GetRange(span.from, span.to).Cast <OpExpression>().ToList(); var stack = new Stack <Node>(); Node last = null; foreach (var op in original) { var popCount = op.GetRealPopCount(); if (popCount > 0) { op.Arguments = stack.Pop(popCount).Reverse().ToList(); } var pushCount = op.PushCount; if (pushCount > 0) { stack.Push(op); } last = op; } Node[] result; if (stack.Any() && stack.Peek() == last) { result = stack.Reverse().ToArray(); } else { result = stack.Reverse().EndWith(last).ToArray(); } // check result and bail if not correct.. //var resultNodes = result // .Cast<OpExpression>() // .SelectMany(node => node.PrefixTraversal()) // .Cast<OpInstruction>() // .ToList(); //if (original.Select(o => o.Instruction).Any(originalNode => resultNodes.Contains(originalNode) == false)) //{ // Debug.WriteLine("Bailing expression aggregation"); // result = original.Cast<Node>().ToArray(); //} return(result); }
private void f1_hit() { if (new_span_start == -1) { new_span_start = hScrollBar1.Value; lblAdding.Visible = true; } else { lblAdding.Visible = false; if (hScrollBar1.Value > new_span_start) { span new_span = new span(); new_span.start = new_span_start; new_span.end = hScrollBar1.Value; new_span.track = selected_track; track_spans[selected_track].Add(new_span); } new_span_start = -1; } }
private void pictureBox2_MouseClick(object sender, MouseEventArgs e) { int click_time = hScrollBar2.Value + 60 * e.X / pictureBox2.Width; int click_track = e.Y / 18; if (e.Y - click_track * 18 < 2 || e.Y - click_track * 18 > 16) { click_track = -1; } if (click_track >= track_count) { return; } if (click_track != -1) { for (int k = 0; k < track_spans[click_track].Count; k++) { span s = track_spans[click_track][k]; if (click_time >= s.start && click_time < s.end) { selected_span = s; lblTrack.Text = track_label(click_track).Text; lblSpanEnd.Text = selected_span.end.ToString(); lblSpanStart.Text = selected_span.start.ToString(); btnDelete.Enabled = true; pictureBox2.Invalidate(); return; } } } hScrollBar1.Value = hScrollBar2.Value + (int)(60 * e.X / (float)pictureBox2.Width); Player.Ctlcontrols.currentPosition = hScrollBar2.Value + (int)(60 * e.X / (float)pictureBox2.Width); Player.Ctlcontrols.play(); Player.Ctlcontrols.pause(); }
private void pictureBox1_Paint(object sender, PaintEventArgs e) { for (int i = 0; i < track_count; i++) { for (int j = 0; j < track_spans[i].Count; j++) { span s = track_spans[i][j]; float start_x = pictureBox1.Width * s.start / (float)hScrollBar1.Maximum; float end_x = pictureBox1.Width * s.end / (float)hScrollBar1.Maximum; if (s.end == -1) { end_x = pictureBox1.Width * hScrollBar1.Value / (float)hScrollBar1.Maximum; } if (end_x == start_x) { end_x++; } e.Graphics.FillRectangle(track_brushes[i], start_x, i * 2, end_x - start_x, 2); } } }
/// <summary> /// specify subset of vertices that have known correspondences. /// </summary> public void AddKnownCorrespondences(int[] verts0, int[] verts1) { int N = verts0.Length; if (N != verts1.Length) { throw new Exception("MeshStitchLoops.AddKnownCorrespondence: lengths not the same!"); } // construct list of pair correspondences as loop indices List <Index2i> pairs = new List <Index2i>(); for (int k = 0; k < N; ++k) { int i0 = Loop0.FindVertexIndex(verts0[k]); int i1 = Loop1.FindVertexIndex(verts1[k]); pairs.Add(new Index2i(i0, i1)); } // sort by increasing index in loop0 (arbitrary) pairs.Sort((pair1, pair2) => { return(pair1.a.CompareTo(pair2.a)); }); // now construct spans List <span> new_spans = new List <span>(); for (int k = 0; k < pairs.Count; ++k) { Index2i p1 = pairs[k]; Index2i p2 = pairs[(k + 1) % pairs.Count]; span s = new span() { span0 = new Interval1i(p1.a, p2.a), span1 = new Interval1i(p1.b, p2.b) }; new_spans.Add(s); } spans = new_spans; }
private void btnDelete_Click(object sender, EventArgs e) { if (selected_span == null) { return; // shouldn't happen but eh. } List <span> spans = track_spans[selected_span.track]; for (int i = 0; i < spans.Count; i++) { if (spans[i] == selected_span) { spans.RemoveAt(i); selected_span = null; pictureBox2.Invalidate(); pictureBox1.Invalidate(); lblSpanStart.Text = ""; lblSpanEnd.Text = ""; lblTrack.Text = ""; } } btnDelete.Enabled = false; }
/// <summary> /// this just does back-and-forth zippering, of as many quads as possible, and /// then a triangle-fan to finish whichever side is longer /// </summary> bool stitch_span_simple(span s, int gid) { bool all_ok = true; int N0 = Loop0.Vertices.Length; int N1 = Loop1.Vertices.Length; // stitch as many quads as we can int cur0 = s.span0.a, end0 = s.span0.b; int cur1 = s.span1.a, end1 = s.span1.b; while (cur0 != end0 && cur1 != end1) { int next0 = (cur0 + 1) % N0; int next1 = (cur1 + 1) % N1; int a = Loop0.Vertices[cur0], b = Loop0.Vertices[next0]; int c = Loop1.Vertices[cur1], d = Loop1.Vertices[next1]; if (add_triangle(b, a, c, gid) == false) { all_ok = false; } if (add_triangle(c, d, b, gid) == false) { all_ok = false; } cur0 = next0; cur1 = next1; } // now finish remaining verts on one side int last_c = Loop1.Vertices[cur1]; while (cur0 != end0) { int next0 = (cur0 + 1) % N0; int a = Loop0.Vertices[cur0], b = Loop0.Vertices[next0]; if (add_triangle(b, a, last_c, gid) == false) { all_ok = false; } cur0 = next0; } // or the other (only one of these two loops will happen) int last_b = Loop0.Vertices[cur0]; while (cur1 != end1) { int next1 = (cur1 + 1) % N1; int c = Loop1.Vertices[cur1], d = Loop1.Vertices[next1]; if (add_triangle(c, d, last_b, gid) == false) { all_ok = false; } cur1 = next1; } return(all_ok); }
private bool do_save() { if (txtCoder.Text.Length == 0) { MessageBox.Show("Please enter your coder id!"); return(false); } StringBuilder SB = new StringBuilder(); SB.Append("<code>\r\n"); SB.Append("\t<version>2</version>\r\n"); SB.AppendFormat("\t<file>{0}</file>\r\n", lblVideo.Text); SB.AppendFormat("\t<coder>{0}</coder>\r\n", txtCoder.Text); //SB.AppendFormat("\t<flags sex_revealed=\"{0}\" still_abort=\"{1}\" paci_nat=\"{2}\" paci_free=\"{3}\" paci_still=\"{4}\" paci_reunion=\"{5}\"/>\r\n", // chkSexRevealed.Checked ? 1 : 0, // chkStillFaceAbort.Checked ? 1 : 0, // chkPaciNatPlay.Checked ? 1 : 0, // chkPaciFreePlay.Checked ? 1 : 0, // chkPaciStill.Checked ? 1 : 0, // chkPaciReunion.Checked ? 1 : 0 // ); SB.Append("\t<tracks>\r\n"); for (int track = 0; track < track_count; track++) { SB.AppendFormat("\t\t<track name=\"{0}\">\r\n", track_label(track).Text); for (int sp = 0; sp < track_spans[track].Count; sp++) { span s = track_spans[track][sp]; SB.AppendFormat("\t\t\t<span start=\"{0}\" end=\"{1}\"/>\r\n", s.start, s.end); } SB.Append("\t\t</track>\r\n"); } SB.Append("\t</tracks>\r\n"); SB.Append("</code>\r\n"); SaveFileDialog sfd = new SaveFileDialog(); sfd.FileName = lblVideo.Text + "_infant_" + txtCoder.Text + ".cod"; sfd.Filter = "code files (*.cod)|*.cod|All files (*.*)|*.*"; sfd.FilterIndex = 1; sfd.RestoreDirectory = true; if (sfd.ShowDialog() == DialogResult.OK) { try { System.IO.File.WriteAllText(sfd.FileName, SB.ToString()); return(true); } catch { MessageBox.Show("Failed to save! Check target file isn't read only or network/disc isn't down."); return(false); } } else { return(false); } }
ErrorReported(source, message, span, errorCode, severity);
private static SpanAction <char, (string path, int offset)> s_createPascalCaseString = (span, args) => CreatePascalCaseString(span, args);
=> Split(span, separator, 0, span.Length, options);
=> UnderlyingObject = new DebugDataTipInfo(span, text);
return(ToHexString(span, withZeroX, false, false));
/// <summary> /// Сформировать модальное окно /// </summary> /// <param name="title">Заголовок модального окна</param> /// <param name="text_ok_button">Текст конопки Ok (если null or empty), то кнопка не выводится вовсе</param> /// <param name="id_ok_button">ID атрибут конопки Ok</param> /// <param name="text_cansel_button">Текст конопки Cancel (если null or empty), то кнопка не выводится вовсе</param> /// <param name="body_html">Тело модального окна</param> /// <param name="id_modal_dialog">ID атрибут модального окна</param> public static div GetModalDialog(string title, string text_ok_button, string text_cansel_button, base_dom_root body_html, string id_modal_dialog = "exampleModal", string id_ok_button = "button_try_write") { span span_close_modal_header = new span("×"); span_close_modal_header.SetAttribute("aria-hidden", "true"); // button button_close_modal_header = new button(null); button_close_modal_header.AddCSS("close"); button_close_modal_header.SetAttribute("data-dismiss", "modal"); button_close_modal_header.SetAttribute("aria-label", "Close"); button_close_modal_header.AddDomNode(span_close_modal_header); // h5 h5_modal_header = new h5(title); h5_modal_header.AddCSS("modal-title"); div div_modal_header = new div(); div_modal_header.AddCSS("modal-header"); div_modal_header.AddDomNode(h5_modal_header); div_modal_header.AddDomNode(button_close_modal_header); // div modal_footer = new div(); modal_footer.AddCSS("modal-footer"); if (!string.IsNullOrEmpty(text_cansel_button)) { button button_close_modal_footer = GetButton(text_cansel_button, null, null, VisualBootstrapStylesEnum.secondary); button_close_modal_footer.SetAttribute("data-dismiss", "modal"); modal_footer.AddDomNode(button_close_modal_footer); } if (!string.IsNullOrEmpty(text_ok_button)) { button button_send_modal_footer = GetButton(text_ok_button, null, "#", VisualBootstrapStylesEnum.primary); button_send_modal_footer.Id_DOM = id_ok_button; modal_footer.AddDomNode(button_send_modal_footer); } // div modal_content = new div(); modal_content.AddCSS("modal-content"); modal_content.AddDomNode(div_modal_header); // div modal_body = new div(); modal_body.AddCSS("modal-body"); modal_body.AddDomNode(body_html); modal_content.AddDomNode(modal_body); // modal_content.AddDomNode(modal_footer); // div modal_dialog_document = new div(); modal_dialog_document.AddCSS("modal-dialog"); modal_dialog_document.CustomAttributes.Add("role", "document"); modal_dialog_document.AddDomNode(modal_content); // div ModalDialog = new div() { Id_DOM = id_modal_dialog }; ModalDialog.AddCSS("modal fade", true); ModalDialog.CustomAttributes.Add("tabindex", "-1"); ModalDialog.CustomAttributes.Add("role", "dialog"); ModalDialog.CustomAttributes.Add("aria-labelledby", id_modal_dialog); ModalDialog.CustomAttributes.Add("aria-hidden", "true"); ModalDialog.AddDomNode(modal_dialog_document); ModalDialog.before_coment_block = "Modal dialog"; return(ModalDialog); }