예제 #1
0
        internal DrawingContext(DrawingContext context)
        {
            context.CopyTo (this, false);

            CurrentX = context.CurrentX;
            CurrentY = context.CurrentY;
        }
예제 #2
0
		protected override void OnRender(System.Windows.Media.DrawingContext dc)
		{
			base.OnRender(dc);
            CellViewBackend.Load (this);
            CellViewBackend.ApplicationContext.InvokeUserCode(delegate
			{
				DrawingContext ctx = new DrawingContext(dc, 1);
                ((ICanvasCellViewFrontend)CellViewBackend.CellView).Draw(ctx, new Rectangle(this.RenderTransform.Value.OffsetX, this.RenderTransform.Value.OffsetY, this.RenderSize.Width, this.RenderSize.Height));
			});
		}
예제 #3
0
파일: DrawingContext.cs 프로젝트: chkn/xwt
        internal DrawingContext(DrawingContext context)
        {
            Graphics = context.Graphics;

            var f = context.Font;
            Font = new Font (f.FontFamily, f.Size, f.Style, f.Unit, f.GdiCharSet, f.GdiVerticalFont);
            Pen = new Pen (context.Pen.Brush, context.Pen.Width);
            Brush = (Brush)context.Brush.Clone ();
            Path = new GraphicsPath (context.Path.PathPoints, context.Path.PathTypes, context.Path.FillMode);

            CurrentX = context.CurrentX;
            CurrentY = context.CurrentY;
        }
예제 #4
0
 internal TextLayoutContext(DrawingContext context)
 {
     this.context = context;
     this.StringTrimming = StringTrimming.Word;
 }
예제 #5
0
 public override object Create(ICanvasBackend canvas)
 {
     var drawingContext = new DrawingContext (Graphics.FromImage (new Bitmap (1, 1)));
     return new TextLayoutContext (drawingContext);
 }
예제 #6
0
 internal void CopyTo(DrawingContext dc, bool toCurrent)
 {
     if (toCurrent)
         dc.Graphics.Restore (this.State);
     else
         dc.State = this.Graphics.Save ();
     dc.Font = this.font;
     dc.Brush = this.brush;
     dc.Pen = this.pen;
     dc.SetWidth (this.width);
     dc.SetColor (this.color);
     dc.CurrentX = this.CurrentX;
     dc.CurrentY = this.CurrentY;
     if (this.path != null && this.path.PointCount > 0)
         dc.Path = (GraphicsPath) this.path.Clone ();
 }
예제 #7
0
        public object Create(ICanvasBackend canvas)
        {
            var drawingContext = new DrawingContext(Graphics.FromImage(new Bitmap(1, 1)));

            return(new TextLayoutContext(drawingContext));
        }
예제 #8
0
 protected override void OnRender(System.Windows.Media.DrawingContext dc)
 {
     base.OnRender(dc);
     var r = (ICanvasCellRenderer)CellView;
     ((CellView)CellView).Initialize(this);
     r.ApplicationContext.InvokeUserCode(delegate
     {
         DrawingContext ctx = new DrawingContext(dc, 1);
         r.Draw(ctx, new Rectangle(this.RenderTransform.Value.OffsetX, this.RenderTransform.Value.OffsetY, this.RenderSize.Width, this.RenderSize.Height));
     });
 }