예제 #1
0
 public VolcanoPlotPointsInfo(int pointCount, Color color, bool labeled, PointSymbol pointSymbol, PointSize pointSize)
 {
     PointCount  = pointCount;
     Color       = color;
     Labeled     = labeled;
     PointSymbol = pointSymbol;
     PointSize   = pointSize;
 }
예제 #2
0
 public override void WriteXml(XmlWriter writer)
 {
     base.WriteXml(writer);
     writer.WriteAttribute(ATTR.expr, Expression);
     writer.WriteAttribute(ATTR.labeled, Labeled);
     writer.WriteAttribute(ATTR.symbol_type, PointSymbol.ToString());
     writer.WriteAttribute(ATTR.point_size, PointSize.ToString());
 }
예제 #3
0
 public MatchRgbHexColor(string expression, bool labeled, Color color, PointSymbol pointSymbol, PointSize pointSize)
     : base(color)
 {
     Expression  = expression;
     Labeled     = labeled;
     PointSymbol = pointSymbol;
     PointSize   = pointSize;
 }
예제 #4
0
 public virtual void Reset(View view)
 {
     TranslatableText.Reset(view);
     Text.Reset(view);
     FontFamily.Reset(view);
     TextColor.Reset(view);
     PointSize.Reset(view);
     TextShadow.Reset(view);
 }
예제 #5
0
 private void SetControlsAccordingToSettings()
 {
     pointSizeTrackBar.Value     = PointSize;
     pointSizeValue.Text         = PointSize.ToString();
     stepTrackBar.Value          = TranslateTransformStep;
     stepValue.Text              = TranslateTransformStep.ToString();
     formatTextBox.Text          = Format;
     seperatorTextBox.Text       = Seperator;
     coordinatesScaleTexBox.Text = CoordinatesScale.ToString();
 }
예제 #6
0
 public virtual void Reset(View view)
 {
     TranslatableText?.Reset(view);
     Text?.Reset(view);
     FontFamily?.Reset(view);
     TextColor?.Reset(view);
     PointSize?.Reset(view);
     PixelSize?.Reset(view);
     TextShadow?.Reset(view);
 }
예제 #7
0
        public BoxShape(EntityIdentifier identifier, PointSize size, Colour colour)
        {
            Identifier  = identifier;
            this.colour = colour;
            bottomRight = size.ToVector();

            Position = CCDirector.SharedDirector.WinSize.Center;

            GameMessenger.RegisterHandler <PhysicsBodyMoved>(Identifier, OnPhysicsBodyMoved);
        }
예제 #8
0
 public void Reset(View view)
 {
     TranslatableText.Reset(view);
     Text.Reset(view);
     FontFamily.Reset(view);
     TextColor.Reset(view);
     PointSize.Reset(view);
     TranslatablePlaceholderText.Reset(view);
     PlaceholderTextColor.Reset(view);
     PrimaryCursorColor.Reset(view);
 }
예제 #9
0
            public override ListViewItem GetListViewItem()
            {
                ListViewItem m = new ListViewItem("");

                m.SubItems.Add(Position.X.ToString("#####0.############"));
                m.SubItems.Add(Position.Y.ToString("#####0.############"));
                m.SubItems.Add(Position.Z.ToString("#####0.############"));

                m.SubItems.Add(PointSize.ToString("#####0.############"));
                m.SubItems.Add(HexUtil.GetHexReverse(Unknown2));
                return(m);
            }
예제 #10
0
 public void Reset(View view)
 {
     TranslatableText?.Reset(view);
     Text?.Reset(view);
     FontFamily?.Reset(view);
     TextColor?.Reset(view);
     PointSize?.Reset(view);
     PixelSize?.Reset(view);
     TranslatablePlaceholderText?.Reset(view);
     TranslatablePlaceholderTextFocused?.Reset(view);
     PlaceholderTextColor?.Reset(view);
     PrimaryCursorColor?.Reset(view);
 }
예제 #11
0
 public WorldSize(PointSize screenSize)
 {
     worldSize = (screenSize * 4).ToMetres();
 }
예제 #12
0
 public static float PointSizeToFloat(PointSize pointSize)
 {
     //return 12.0f + 2.0f * ((int) pointSize - 2);
     return(((GraphFontSize[])GraphFontSize.FontSizes)[(int)pointSize].PointSize);
 }
예제 #13
0
 public override int GetHashCode()
 {
     unchecked {
         return(Style.GetHashCode() + 13 * PointSize.GetHashCode());
     }
 }
예제 #14
0
        public override Task Rebuild()
        {
            this.DebugDepth("Rebuild");
            using (RebuildLock())
            {
                double pointsToMm = 0.352778;

                var printer = new TypeFacePrinter(Text.Value(this), new StyledTypeFace(ApplicationController.GetTypeFace(Font), PointSize.Value(this)))
                {
                    ResolutionScale = 10
                };

                var scaledLetterPrinter = new VertexSourceApplyTransform(printer, Affine.NewScaling(pointsToMm));
                var vertexSource        = new VertexStorage();

                foreach (var vertex in scaledLetterPrinter.Vertices())
                {
                    if (vertex.IsMoveTo)
                    {
                        vertexSource.MoveTo(vertex.position);
                    }
                    else if (vertex.IsLineTo)
                    {
                        vertexSource.LineTo(vertex.position);
                    }
                    else if (vertex.IsClose)
                    {
                        vertexSource.ClosePolygon();
                    }
                }

                vertexSource = (VertexStorage)vertexSource.Union(vertexSource);

                this.VertexSource = vertexSource;

                // set the mesh to show the path
                this.Mesh = this.VertexSource.Extrude(Constants.PathPolygonsHeight);
            }

            Parent?.Invalidate(new InvalidateArgs(this, InvalidateType.Path));
            return(Task.CompletedTask);
        }
예제 #15
0
        public override void UpdateSvg(XmlDocument document, IEnumerable items)
        {
            try
            {
                var elements = (IEnumerable <int>)items;

                string linePoints    = string.Empty;
                double pointPosition = 0;
                double svgWidth      = (elements.Count() * PointsDistance) + 13;

                var svgElement = document.DocumentElement;
                var svgAttr    = svgElement.Attributes;
                svgAttr["viewBox"].Value = $"-10 -5 {svgWidth} 105";

                var root = document.DocumentElement.GetElementsByTagName("g").Cast <XmlElement>().LastOrDefault();

                var polylineNodeToCopy = root.GetElementsByTagName("polyline").Cast <XmlElement>()
                                         .FirstOrDefault(x => x.HasAttribute("class") && x.Attributes["class"].Value == "line-chart");

                var pointNodeToCopy = root.GetElementsByTagName("circle").Cast <XmlElement>()
                                      .FirstOrDefault(x => x.HasAttribute("class") && x.Attributes["class"].Value == "point-chart");


                foreach (var el in elements)
                {
                    if (el < 0)
                    {
                        continue;
                    }

                    var yPosition = 100 - el;

                    if (ShowPoints)
                    {
                        var newPointNode = pointNodeToCopy.CloneNode(true);

                        var pointAttr = newPointNode.Attributes;
                        pointAttr["cx"].Value   = pointPosition.ToString();
                        pointAttr["fill"].Value = PointsColor.ToHex();
                        pointAttr["r"].Value    = PointSize.ToString();
                        pointAttr["cy"].Value   = yPosition.ToString();

                        root.InsertAfter(newPointNode, root.LastChild);
                    }

                    linePoints    += $"{pointPosition},{yPosition - 1} ";
                    pointPosition += PointsDistance;
                }

                var barAttr = polylineNodeToCopy.Attributes;
                barAttr["points"].Value       = linePoints;
                barAttr["stroke"].Value       = LineColor.ToHex();
                barAttr["stroke-width"].Value = LineWidth.ToString();

                root.RemoveChild(pointNodeToCopy);
            }
            catch (InvalidCastException ex)
            {
                throw new ItemsSourceException("ItemsSource for Line chart must to be a collection of values IEnumerable<int>", ex);
            }
        }
예제 #16
0
        public override Task Rebuild()
        {
            this.DebugDepth("Rebuild");

            var rebuildLock = RebuildLock();

            return(Task.Run(() =>
            {
                using (new CenterAndHeightMaintainer(this))
                {
                    bool valuesChanged = false;
                    var height = Height.ClampIfNotCalculated(this, .01, 1000000, ref valuesChanged);
                    var nameToWrite = NameToWrite.Value(this);
                    if (string.IsNullOrWhiteSpace(nameToWrite))
                    {
                        Mesh = PlatonicSolids.CreateCube(20, 10, height);
                    }
                    else
                    {
                        Mesh = null;
                        this.Children.Modify(list =>
                        {
                            list.Clear();

                            var offest = 0.0;
                            double pointsToMm = 0.352778;

                            foreach (var letter in nameToWrite.ToCharArray())
                            {
                                var style = new StyledTypeFace(ApplicationController.GetTypeFace(this.Font), PointSize.Value(this));
                                var letterPrinter = new TypeFacePrinter(letter.ToString(), style)
                                {
                                    ResolutionScale = 10
                                };
                                var scaledLetterPrinter = new VertexSourceApplyTransform(letterPrinter, Affine.NewScaling(pointsToMm));

                                list.Add(new Object3D()
                                {
                                    Mesh = VertexSourceToMesh.Extrude(scaledLetterPrinter, this.Height.Value(this)),
                                    Matrix = Matrix4X4.CreateTranslation(offest, 0, 0),
                                    Name = letter.ToString()
                                });

                                offest += letterPrinter.GetSize(letter.ToString()).X *pointsToMm;
                            }
                        });
                    }
                }

                UiThread.RunOnIdle(() =>
                {
                    rebuildLock.Dispose();
                    Parent?.Invalidate(new InvalidateArgs(this, InvalidateType.Children));
                });
            }));
        }
예제 #17
0
 public PointSizeStringPair(PointSize pointSize, string displayString)
 {
     PointSize     = pointSize;
     DisplayString = displayString;
 }
예제 #18
0
 public bool Equals(MathFont <TGlyph> otherFont) =>
 PointSize.Equals(otherFont.PointSize) &&
 Style.Equals(otherFont.Style);