Point CreateImageLabel(List <PictureBoxHotspot.ImageElement> c, Image i, Point postopright, Size size, string label, string ttext, int labelhoff, bool fromEDSM, bool imgowned = true) { //System.Diagnostics.Debug.WriteLine(" " + label + " " + postopright + " size " + size + " hoff " + labelhoff + " laby " + (postopright.Y + size.Height + labelhoff)); if (fromEDSM) { ttext = "From EDSM" + Environment.NewLine + ttext; } PictureBoxHotspot.ImageElement ie = new PictureBoxHotspot.ImageElement(new Rectangle(postopright.X, postopright.Y, size.Width, size.Height), i, ttext, ttext, imgowned); Point max = new Point(postopright.X + size.Width, postopright.Y + size.Height); if (label != null) { Font font = stdfont; if (fromEDSM) { font = stdfontUnderline; } Point labposcenthorz = new Point(postopright.X + size.Width / 2, postopright.Y + size.Height + labelhoff); PictureBoxHotspot.ImageElement lab = new PictureBoxHotspot.ImageElement(); Size maxsize = new Size(300, 20); lab.TextCentreAutosize(labposcenthorz, maxsize, label, font, discoveryform.theme.LabelColor, this.BackColor); if (lab.pos.X < postopright.X) { int offset = postopright.X - lab.pos.X; ie.Translate(offset, 0); lab.Translate(offset, 0); } c.Add(lab); max = new Point(Math.Max(lab.pos.X + lab.pos.Width, max.X), lab.pos.Y + lab.pos.Height); } c.Add(ie); //System.Diagnostics.Debug.WriteLine(" ... to " + label + " " + max + " size " + (new Size(max.X-postopright.X,max.Y-postopright.Y))); return(max); }
Point CreateImageLabel(List <PictureBoxHotspot.ImageElement> c, Image i, Point postopright, Size size, string label, string ttext, int labelhoff) { //System.Diagnostics.Debug.WriteLine(label + " " + postopright + " size " + size); PictureBoxHotspot.ImageElement ie = new PictureBoxHotspot.ImageElement(new Rectangle(postopright.X, postopright.Y, size.Width, size.Height), i, ttext, ttext); Point max = new Point(postopright.X + size.Width, postopright.Y + size.Height); if (label != null) { Point labposcenthorz = new Point(postopright.X + size.Width / 2, postopright.Y + size.Height + labelhoff); using (Graphics gr = CreateGraphics()) { PictureBoxHotspot.ImageElement lab = new PictureBoxHotspot.ImageElement(gr, labposcenthorz, label, stdfont, discoveryform.theme.LabelColor); if (lab.pos.X < postopright.X) { int offset = postopright.X - lab.pos.X; ie.Translate(offset, 0); lab.Translate(offset, 0); } c.Add(lab); max = new Point(Math.Max(lab.pos.X + lab.pos.Width, max.X), lab.pos.Y + lab.pos.Height); } } c.Add(ie); //System.Diagnostics.Debug.WriteLine(" ... to " + label + " " + max + " size " + (new Size(max.X-postopright.X,max.Y-postopright.Y))); return(max); }