protected override void OnDraw(Android.Graphics.Canvas canvas) { base.OnDraw (canvas); TextPaint textPaint = Paint; textPaint.Color = new Android.Graphics.Color(CurrentTextColor); textPaint.DrawableState = GetDrawableState (); canvas.Save(); if ( TopDown ) { canvas.Translate( Width, 0 ); canvas.Rotate( 90 ); } else { canvas.Translate( 0, Height ); canvas.Rotate( -90 ); } canvas.Translate (CompoundPaddingLeft, ExtendedPaddingTop); Layout.Draw (canvas); // getLayout().draw( canvas ); canvas.Restore (); // canvas.restore(); }
protected override void OnDraw(Android.Graphics.Canvas canvas) { if (this.Orientation == Orientation.Vertical) { canvas.Rotate(-90); canvas.Translate(-Height, 0); } base.OnDraw(canvas); }
protected override void OnDraw(Android.Graphics.Canvas canvas) { var textPaint = this.Paint; textPaint.Color = new Color(this.CurrentTextColor); canvas.Save(); if (m_TopDown) { canvas.Translate(this.Width, 0); canvas.Rotate(90.0f); } else { canvas.Translate(0, this.Height); canvas.Rotate(-90.0f); } canvas.Translate(this.CompoundPaddingLeft, this.ExtendedPaddingTop); this.Layout.Draw(canvas); canvas.Restore(); }
public override void Draw(Android.Graphics.Canvas canvas) { canvas.Rotate(-90); canvas.Translate(-Height, 0); base.OnDraw(canvas); }
protected override void OnDraw(Android.Graphics.Canvas canvas) { base.OnDraw(canvas); // Fill the background canvas.DrawPaint(mBackgroundPaint); // Test Text canvas.Save(); var textWidth = mTextPaint.MeasureText("Hello"); Rect textBounds = new Rect(); mTextPaint.GetTextBounds("Hello", 0, 1, textBounds); canvas.DrawText("Hello", canvas.Width/2-textWidth/2, canvas.Height/2 - textBounds.Height()/2, mTextPaint); textWidth = mTextPaint.MeasureText("World"); textBounds = new Rect(); mTextPaint.GetTextBounds("World", 0, 1, textBounds); mTextPaint.Color = Color.Green; canvas.DrawText("World", (canvas.Width/2-textWidth/2) +100, (canvas.Height/2 - textBounds.Height()/2) + 100, mTextPaint); canvas.Restore(); foreach (Box box in mBoxes) { float left = Math.Min(box.Origin.X, box.Current.X); float right = Math.Max(box.Origin.X, box.Current.X); float top = Math.Min(box.Origin.Y, box.Current.Y); float bottom = Math.Max(box.Origin.Y, box.Current.Y); canvas.Save(); canvas.Rotate(box.Rotation, (box.Origin.X + box.Current.X)/2, (box.Origin.Y + box.Current.Y)/2 ); canvas.DrawRect(left, top, right, bottom, mBoxPaint); canvas.Restore(); } }