예제 #1
0
            public Labeler(float f, float sd, Vector2 l, Rect tlb, float b, FontMetricsHolder.Metrics m, CanvasDrawingSession ds)
            {
                fontSize             = f;
                sizeDim              = sd;
                layoutSize           = l;
                textLayoutBounds     = tlb;
                baselineInWorldSpace = b;
                glyphRunMetrics      = m;
                drawingSession       = ds;

                horizontalMidpoint = (layoutSize.X / 2);

                leftJustifiedTextFormat = new CanvasTextFormat()
                {
                    VerticalAlignment   = CanvasVerticalAlignment.Top,
                    HorizontalAlignment = CanvasHorizontalAlignment.Left
                };
                rightJustifiedTextFormat = new CanvasTextFormat()
                {
                    VerticalAlignment   = CanvasVerticalAlignment.Top,
                    HorizontalAlignment = CanvasHorizontalAlignment.Right
                };

                NextLabel();
            }
예제 #2
0
 float GetGlyphSize(float fontSize, FontMetricsHolder.Metrics metrics)
 {
     //
     // This isn't a universally reliable way of determining baseline height
     // within a layout, but it's fine for this demo- since we've got no inline objects,
     // horizontal text and no custom line spacing.
     //
     return(fontSize * (metrics.Ascent + metrics.LineGap));
 }
예제 #3
0
            public Labeler(float f, float sd, Vector2 l, Rect tlb, float b, FontMetricsHolder.Metrics m, CanvasDrawingSession ds)
            {
                fontSize = f;
                sizeDim = sd;
                layoutSize = l;
                textLayoutBounds = tlb;
                baselineInWorldSpace = b;
                glyphRunMetrics = m;
                drawingSession = ds;

                horizontalMidpoint = (layoutSize.X / 2);

                leftJustifiedTextFormat = new CanvasTextFormat()
                {
                    VerticalAlignment = CanvasVerticalAlignment.Top,
                    HorizontalAlignment = CanvasHorizontalAlignment.Left
                };
                rightJustifiedTextFormat = new CanvasTextFormat()
                {
                    VerticalAlignment = CanvasVerticalAlignment.Top,
                    HorizontalAlignment = CanvasHorizontalAlignment.Right
                };

                NextLabel();
            }