示例#1
0
		public static void Draw(Painter painterSink, ITextMetrics metrics)
		{
			Contract.Requires(painterSink != null);
			Contract.Requires(metrics != null);

			Draw(painterSink, metrics, metrics.Paragraph.Text);
		}
示例#2
0
 // Dispose the pens and fonts we use.
 void DisposeObjects()
 {
     blackBrush = null;
     thinPen    = null;
     thickPen   = null;
     textMetrics.Dispose();
     textMetrics = null;
 }
示例#3
0
        // Create pens and fonts we use.
        void CreateObjects(IGraphicsTarget g)
        {
            CmykColor black = CmykColor.FromCmyk(0, 0, 0, 1);

            blackBrush = new object();
            g.CreateSolidBrush(blackBrush, black);
            thinPen = new object();
            g.CreatePen(thinPen, black, PunchcardAppearance.thinLine, LineCap.Flat, LineJoin.Miter, 5F);
            thickPen = new object();
            g.CreatePen(thickPen, black, PunchcardAppearance.thickLine, LineCap.Flat, LineJoin.Miter, 5F);

            textMetrics = new GDIPlus_TextMetrics();
        }
示例#4
0
		public static void Draw(Painter painterSink, ITextMetrics metrics, IndexedRange range)
		{
			Contract.Requires(painterSink != null);
			Contract.Requires(metrics != null);

			for(int i = range.StartIndex; i <= range.LastIndex; ++i)
			{
				if(metrics.IsClusterStart(i))
				{
					if(metrics.IsVisible(i))
					{
						Rectangle region = metrics.Regions[i];

						Point baseline = new Point(
							region.Left + metrics.BaselineOffset.Width, region.Top + metrics.BaselineOffset.Height);

						if(metrics.IsRightToLeft(i))
						{
							baseline = new Point(region.Right + metrics.BaselineOffset.Width, baseline.Y);
						}

						painterSink.SaveState();

						painterSink.Translate(baseline.X, baseline.Y);

						Outline outline = metrics.Outlines[i];

						painterSink.Scale(outline.EmSize, outline.EmSize);

						if (outline.NormalizedOutline != null)
						{
							painterSink.Fill(outline.NormalizedOutline);
						}

						painterSink.RestoreState();
					}
				}
			}
		}
示例#5
0
        public ShowFontMetrics(ITextMetrics textMetrics)
        {
            this.textMetrics = textMetrics;

            InitializeComponent();
        }
示例#6
0
        public ShowFontMetrics(ITextMetrics textMetrics)
        {
            this.textMetrics = textMetrics;

            InitializeComponent();
        }