public bool MouseMove(MouseEventArgs e) { if(bounds.Contains(e.Location)) { bool overFlipButton; highlightedColormap = ColorMapFromPoint(e.Location, out overFlipButton); return true; } else { highlightedColormap = null; return false; } }
public void AddColorMap(NamedColorTable colormap) { ColorMapGroup group; if(!groups.TryGetValue(colormap.groupname, out group)) groups.Add(colormap.groupname, group = new ColorMapGroup(colormap.groupname)); group.colormaps.Add(colormap); // Update group width and total width int newwidth = (int)Math.Ceiling(font.MeasureString(colormap.name).X); if(newwidth > group.width) { group.width = newwidth; totalwidth = 0; foreach(ColorMapGroup g in groups.Values) totalwidth += g.width; } totalheight = Math.Max(totalheight, HEADER_HEIGHT + group.colormaps.Count * ROW_HEIGHT + 4); }
/*~ColorTableManager() { System.IO.StreamWriter sw = new System.IO.StreamWriter(HISTORY_PATH); foreach(string h in history) sw.WriteLine(h); sw.Close(); }*/ private void AddColormap(NamedColorTable colormap) { colormaps.Add(colormap.name, colormap); if(colormap.groupname != "Solid" && !colormaps.ContainsKey("_default")) colormaps.Add("_default", colormap); picker.AddColorMap(colormap); }
private void ColorMapPicker_ColormapDragStart(NamedColorTable colormap) { draggedColormap = colormap; }
private void OnColormapDrop(NamedColorTable colormap, MouseEventArgs e) { float xr = Math.Min(Math.Max((float)(e.X - Bounds.X) / (float)Bounds.Width, 0.0f), 1.0f); Vector3 vpos = Vector3.Transform(new Vector3(2.0f * xr - 1.0f, 0.0f, 0.0f), invtransform); xr = vpos.X / 2.0f + 0.5f; // highlightArea = null; /*bool done = false; foreach(Section section in sections) if(!done && section.start.pos <= xr && xr < section.end.pos) { section.colorMap = colormap; section.flipped = false;//colormap.flipped; section.startValue = 0.0f; section.endValue = 1.0f; done = true; } ColormapChanged();*/ for(int sectionIndex = 0; sectionIndex < sections.Count; ++sectionIndex) if(sections[sectionIndex].start.pos <= xr && xr < sections[sectionIndex].end.pos) { ActionManager.Do(SetSectionColormapAction, new object[] { sectionIndex, colormap.name, colormap.flipped }); break; } }