|
分類:[.NET 全般]
何度も教えていただいているjiioiです。
わかったつもりになっていたのですが、どうしても分からないので教えていただけ無いでしょか?
その一は、インスタンスに渡している?
その二は、コールバックデリゲートに渡している?
C#:その一
/// <summary>凡例要素の配列を返します。</summary>
/// <returns>凡例要素の配列</returns>
public override
TLegendItem[] GetLegendItems() {
TLegendItem item = new TLegendItem( delegate( Graphics g, RectangleF rect ) {
float dx = rect.Width / 2f;
float dy = rect.Height / 2f;
// 線を描画する
g.DrawLine( _pen, rect.Left, rect.Top + dy, rect.Right, rect.Top + dy );
// マークを描画する
_mark.Draw( g, new Point((int)(rect.Left + dx), (int)(rect.Top + dy)) );
}, _title );
return new TLegendItem[] { item };
}
C#:その2
Region clipBak = g.Clip;
g.Clip = (_ticks.Direction == eTickDirection.Inside) ? _plotArea.GetClippingRegion() : _plotArea.GetOuterRegion();
{
TAxisAbstract.DTraceAxisLineCallback callback =
delegate( double interval, double value, Point point, bool isFirst, bool isLast ) {
if( isFirst && _isSuppressFirst ) return true;
if( isLast && _isSuppressLast ) return true;
g.DrawLine( _pen, point.X + bx, point.Y + by, point.X + bx + dx, point.Y + by + dy );
return true;
};
_axis.TraceAxisLineCallback( _interval, callback );
}
g.Clip = clipBak;
}
|