diff --git a/ThermalImageStreamerDemo/MainForm.Designer.cs b/ThermalImageStreamerDemo/MainForm.Designer.cs index df5f1b79..ed0731d7 100644 --- a/ThermalImageStreamerDemo/MainForm.Designer.cs +++ b/ThermalImageStreamerDemo/MainForm.Designer.cs @@ -318,6 +318,7 @@ this.lblOrigD.Size = new System.Drawing.Size(15, 13); this.lblOrigD.TabIndex = 3; this.lblOrigD.Text = "D"; + this.lblOrigD.Click += new System.EventHandler(this.lblOrigD_Click); // // lblOrigA // @@ -327,6 +328,7 @@ this.lblOrigA.Size = new System.Drawing.Size(14, 13); this.lblOrigA.TabIndex = 2; this.lblOrigA.Text = "A"; + this.lblOrigA.Click += new System.EventHandler(this.lblOrigA_Click); // // lblOrigC // @@ -336,6 +338,7 @@ this.lblOrigC.Size = new System.Drawing.Size(14, 13); this.lblOrigC.TabIndex = 1; this.lblOrigC.Text = "C"; + this.lblOrigC.Click += new System.EventHandler(this.lblOrigC_Click); // // lblOrigB // @@ -345,6 +348,7 @@ this.lblOrigB.Size = new System.Drawing.Size(14, 13); this.lblOrigB.TabIndex = 0; this.lblOrigB.Text = "B"; + this.lblOrigB.Click += new System.EventHandler(this.lblOrigB_Click); // // checkLive // diff --git a/ThermalImageStreamerDemo/MainForm.cs b/ThermalImageStreamerDemo/MainForm.cs index b2f88110..e12ea11a 100644 --- a/ThermalImageStreamerDemo/MainForm.cs +++ b/ThermalImageStreamerDemo/MainForm.cs @@ -35,6 +35,8 @@ namespace ThermalImageStreamerDemo } } + protected int currPoint = -1; + /// /// Ultima immagine recuperata /// @@ -127,7 +129,7 @@ namespace ThermalImageStreamerDemo if (liveView) { takePicture(); - drawPoints(); + drawCrossAtPoints(); calculateTarget(); displayImages(); updateTempDisplay(); @@ -141,7 +143,7 @@ namespace ThermalImageStreamerDemo } } - private void drawPoints() + private void drawCrossAtPoints() { if (lastThermalImage != null) { @@ -421,19 +423,29 @@ namespace ThermalImageStreamerDemo lblPoint.Text = $"({mea.X},{mea.Y}) --> ({lastPoint.X},{lastPoint.Y})"; if (pointSetup) { - // max 4 punti... sae sono oltre --> resetto + // max 4 punti... se sono giĆ  FULL --> imposto singolo valore nuovo if (origPoints.curr >= 4) { - origPoints = new SetPoints(); + if (currPoint >= 0) + { + origPoints.Coords[currPoint] = lastPoint; + } + else + { + origPoints = new SetPoints(); + } } - // salvo coordinate in base al num corrente... - try + else { - origPoints.Coords.Add(lastPoint); - origPoints.curr++; + // salvo coordinate in base al num corrente... + try + { + origPoints.Coords.Add(lastPoint); + origPoints.curr++; + } + catch + { } } - catch - { } updateDisplay(); } else if (readTemp) @@ -630,9 +642,9 @@ namespace ThermalImageStreamerDemo private void chkReadTemp_CheckedChanged(object sender, EventArgs e) { // deselezione setup punti - if (chkPointSetup.Checked) + if (pointSetup) { - chkPointSetup.Checked = false; + pointSetup = false; } if (!readTemp) { @@ -655,5 +667,52 @@ namespace ThermalImageStreamerDemo txtMinTemp.Enabled = !chkAutoTemp.Checked; txtMaxTemp.Enabled = !chkAutoTemp.Checked; } + + private void lblOrigA_Click(object sender, EventArgs e) + { + lblOrigA.ForeColor = toggleEditPoint(0); + } + /// + /// Verifica se il punto era in edit, altrimenti segnala e lo attiva... restituendo colore x il controllo + /// + /// + private Color toggleEditPoint(int selPoint) + { + Color answ = Color.Black; + lblOrigA.ForeColor = answ; + lblOrigB.ForeColor = answ; + lblOrigC.ForeColor = answ; + lblOrigD.ForeColor = answ; + readTemp = false; + pointSetup = true; + if (currPoint == selPoint) + { + // deseleziono + currPoint = -1; + } + else + { + // indico selezionato + currPoint = selPoint; + answ = Color.Green; + } + return answ; + } + + private void lblOrigB_Click(object sender, EventArgs e) + { + lblOrigB.ForeColor = toggleEditPoint(1); + } + + private void lblOrigC_Click(object sender, EventArgs e) + { + lblOrigC.ForeColor = toggleEditPoint(2); + } + + + private void lblOrigD_Click(object sender, EventArgs e) + { + lblOrigD.ForeColor = toggleEditPoint(3); + } } } diff --git a/ThermoCamUtils/Enums.cs b/ThermoCamUtils/Enums.cs index 624956db..7613fdb4 100644 --- a/ThermoCamUtils/Enums.cs +++ b/ThermoCamUtils/Enums.cs @@ -6,15 +6,16 @@ using System.Threading.Tasks; namespace ThermoCamUtils { - public class Enums + public class Enums { } public enum pointList { - A=0, + A = 0, B, C, D } + }