public ILDXAxis (AxisNames name, ILClippingData clippingView, ILLayoutData layoutData,ILDXPanel panel) : base (name,clippingView, layoutData) { m_dxPanel = panel; m_dxPanel.GraphicsDeviceReset += new ILGraphicsDeviceResetEvent(recreateVertexBuffer); m_dxPanel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize); }
private void configureAxis(AxisNames axis , ICollection <string> values) { ILTickCollection labels = m_panel.Axes[axis].LabeledTicks; if (values != null) { labels.Mode = TickMode.Manual; labels.Clear(); int pos = 1; int axisIdx = (axis == AxisNames.XAxis) ? 1 : (axis == AxisNames.YAxis) ? 0 : 1; foreach (string labelString in values) { if (pos > m_data.Dimensions[axisIdx]) { break; } labels.Add(pos++, labelString); } } else { labels.Mode = TickMode.Auto; } }
/// <summary> /// construct ILAxis object. This contructor is not to be called directly. /// </summary> /// <param name="name">type of the axis: XAxis,YAxis,ZAxis</param> /// <param name="clippingView">Clipping data to be registered into the axis.</param> /// <param name="layoutData">additional layout data, does currently only contain the camera [depricated]</param> /// <param name="panel">panel hosting the scene</param> /// <remarks>ILAxis objects are created GL-device dependend by use of a device dependend ILPanel instance's /// member ILPanel.CreateAxis(). This acts like a factory pattern. The specific axis derivate will be /// created by the derived ILPanel object (ILDXPanel or ILOGLPanel).</remarks> public ILAxis(AxisNames name, ILClippingData clippingView, ILLayoutData layoutData, ILPanel panel) { m_panel = panel; m_axisName = name; m_labeledTicks = new ILTickCollection(panel, m_axisName); m_layoutData = layoutData; m_labelProvider = null; m_labeledTicks.Changed += new AxisChangedEventHandler(m_labeledTicks_Changed); m_unLabeledTicks = new List <UnlabeledTick>(10); m_grid = new ILLineProperties(); m_grid.Style = LineStyle.Dashed; m_grid.Changed += new EventHandler(m_grid_Changed); m_clipping = clippingView; m_axisType = AxisType.Linear; m_nearLines = new ILLineProperties(); m_nearLines.Color = Color.DarkBlue; m_nearLines.Width = 1; m_nearLines.Antialiasing = true; m_nearLines.Changed += new EventHandler(m_grid_Changed); m_farLines = new ILLineProperties(); m_farLines.Color = Color.DarkBlue; m_farLines.Width = 1; m_farLines.Antialiasing = true; m_farLines.Changed += new EventHandler(m_grid_Changed); m_label = new ILLabel(panel); m_label.Changed += new EventHandler(m_label_Changed); m_clipping.Changed += new ILClippingDataChangedEvent(m_clipping_Changed); m_invalidated = true; }
internal void OnChanged(ILAxis sender, AxisNames axis) { if (Changed != null) { Changed(sender, new ILAxisChangedEventArgs(axis)); } }
/// <summary> /// Get / set ILAxis by name enum /// </summary> /// <param name="name">one of the enum values: XAxis, YAxis, ZAxis</param> /// <returns>ILAxis specified by name</returns> /// <value>new ILAxis to be stored into the collection</value> public ILAxis this[AxisNames name] { get { switch (name) { case AxisNames.XAxis: return(m_axes[0]); break; case AxisNames.YAxis: return(m_axes[1]); break; default: return(m_axes[2]); break; } } set { m_axes [(int)name] = value; Invalidate(); } }
public ILDXAxis(AxisNames name, ILClippingData clippingView, ILLayoutData layoutData, ILDXPanel panel) : base(name, clippingView, layoutData) { m_dxPanel = panel; m_dxPanel.GraphicsDeviceReset += new ILGraphicsDeviceResetEvent(recreateVertexBuffer); m_dxPanel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize); }
internal ILOGLAxis (AxisNames name, ILClippingData clippingView, ILLayoutData layoutData, ILOGLPanel panel) : base (name,clippingView,layoutData,panel) { m_invalidated = true; panel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize); panel.GraphicsDeviceReset += new ILGraphicsDeviceResetEvent(configure); }
internal ILOGLAxis(AxisNames name, ILClippingData clippingView, ILLayoutData layoutData, ILOGLPanel panel) : base(name, clippingView, layoutData, panel) { m_invalidated = true; panel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize); panel.GraphicsDeviceReset += new ILGraphicsDeviceResetEvent(configure); }
/// <summary> /// creates new ILTickCollection /// </summary> /// <param name="axisName"></param> public ILTickCollection(ILPanel panel, AxisNames axisName) : base(panel, new Font(FontFamily.GenericMonospace, 10.0f), Color.Black) { m_panel = panel; m_ticks = new List <LabeledTick>(); m_axisName = axisName; m_precision = 4; m_padding = 5; m_tickColorFar = Color.Black; m_tickColorNear = Color.Black; m_tickDisplay = TickDisplay.LabelSide; m_tickMode = TickMode.Auto; m_tickFraction = 0.015f; m_renderingHint = TickLabelRenderingHint.Auto; }
/// <summary> /// Get / set ILAxis by name enum /// </summary> /// <param name="name">one of the enum values: XAxis, YAxis, ZAxis</param> /// <returns>ILAxis specified by name</returns> /// <value>new ILAxis to be stored into the collection</value> public ILAxis this[AxisNames name] { get { switch (name) { case AxisNames.XAxis: return m_axes[0]; break; case AxisNames.YAxis: return m_axes[1]; break; default: return m_axes[2]; break; } } set { m_axes [(int)name] = value; Invalidate(); } }
/// <summary> /// Create Axis (device dependent) /// </summary> /// <param name="name">specfies axis name (X,Y,ZAxis)</param> /// <param name="clippingView">the global clipping view object for the axis</param> /// <param name="parameters">user defined parameters (implementation dependent)</param> /// <returns>ILAXis object</returns> public ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters) { switch (name) { case AxisNames.XAxis: return(new ILOGLXAxis(clippingView, m_layoutData, this)); break; case AxisNames.YAxis: return(new ILOGLYAxis(clippingView, m_layoutData, this)); break; default: return(new ILOGLZAxis(clippingView, m_layoutData, this)); break; } }
/// <summary> /// construct a new instance /// </summary> /// <param name="name"></param> public ILAxisChangedEventArgs(AxisNames name) { AxisName = name; }
private void configureAxis(AxisNames axis , ICollection<string> values) { ILTickCollection labels = m_panel.Axes[axis].LabeledTicks; if (values != null) { labels.Mode = TickMode.Manual; labels.Clear(); int pos = 1; int axisIdx = (axis == AxisNames.XAxis) ? 1 : (axis == AxisNames.YAxis) ? 0 : 1; foreach (string labelString in values) { if (pos > m_data.Dimensions[axisIdx]) break; labels.Add(pos++, labelString); } } else { labels.Mode = TickMode.Auto; } }
/// <summary> /// create device dependent axis object (Direct3D) /// </summary> /// <param name="name">axis type: XAxis,YAxis,ZAxis</param> /// <param name="parameters">not used</param> /// <returns>ILDXAxis object for use with ILDXPanel (Direct3D)</returns> public override ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters) { return new ILDXAxis(name,clippingView,m_layoutData,this); }
public bool LoadBindingsFile() { devices = new Dictionary <string, Device>(); // clear values = new Dictionary <string, string>(); string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Frontier Developments\Elite Dangerous\Options\Bindings"); string optsel = System.IO.Path.Combine(path, "StartPreset.start"); try { string sel = System.IO.File.ReadAllText(optsel); System.Diagnostics.Debug.WriteLine("Bindings file " + sel); FileInfo[] allFiles = Directory.EnumerateFiles(path, sel + "*.binds", SearchOption.TopDirectoryOnly).Select(f => new System.IO.FileInfo(f)).OrderByDescending(p => p.LastWriteTime).ToArray(); if (allFiles.Length >= 1) { XElement bindings = XElement.Load(allFiles[0].FullName); foreach (XElement x in bindings.Elements()) { //System.Diagnostics.Debug.WriteLine("Reader " + x.NodeType + " " + x.Name); if (x.HasElements) { foreach (XElement y in x.Descendants()) { if (y.Name == "Binding") { AxisNames.Add(x.Name.LocalName); AssignToDevice(x, y); } else if (y.Name == "Primary" || y.Name == "Secondary") { //System.Diagnostics.Debug.WriteLine("Binding Point " + x.NodeType + " " + x.Name + " Element " + y.Name); KeyNames.Add(x.Name.LocalName); AssignToDevice(x, y); } else { foreach (XAttribute z in y.Attributes()) { values[x.Name + "." + y.Name + ChkValue(z.Name.ToString())] = z.Value; } } } } if (x.HasAttributes) { foreach (XAttribute y in x.Attributes()) { values[x.Name + ChkValue(y.Name.ToString())] = y.Value; } } } return(true); } } catch { } return(false); }
/// <summary> /// Create Axis (device dependent) /// </summary> /// <param name="name">specfies axis name (X,Y,ZAxis)</param> /// <param name="clippingView">the global clipping view object for the axis</param> /// <param name="parameters">user defined parameters (implementation dependent)</param> /// <returns>ILAXis object</returns> public ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters) { switch (name) { case AxisNames.XAxis: return new ILOGLXAxis(clippingView, m_layoutData, this); break; case AxisNames.YAxis: return new ILOGLYAxis(clippingView, m_layoutData, this); break; default: return new ILOGLZAxis(clippingView, m_layoutData, this); break; } }
internal void OnChanged(ILAxis sender, AxisNames axis) { if (Changed != null) Changed(sender ,new ILAxisChangedEventArgs(axis)); }
/// <summary> /// construct a new instance /// </summary> /// <param name="name"></param> public ILAxisChangedEventArgs (AxisNames name) { AxisName = name; }
/// <summary> /// create device dependent axis object (Direct3D) /// </summary> /// <param name="name">axis type: XAxis,YAxis,ZAxis</param> /// <param name="parameters">not used</param> /// <returns>ILDXAxis object for use with ILDXPanel (Direct3D)</returns> public override ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters) { return(new ILDXAxis(name, clippingView, m_layoutData, this)); }