本文整理汇总了C#中AxisDimension类的典型用法代码示例。如果您正苦于以下问题:C# AxisDimension类的具体用法?C# AxisDimension怎么用?C# AxisDimension使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
AxisDimension类属于命名空间,在下文中一共展示了AxisDimension类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetOrigin
double GetOrigin(AxisDimension ad)
{
if (ad == AxisDimension.X)
return OriginX;
else
return OriginY;
}
示例2: GetEnd
double GetEnd(AxisDimension ad)
{
if (ad == AxisDimension.X)
return endX;
else
return endY;
}
示例3: GetMinTickStep
double GetMinTickStep(AxisDimension ad)
{
return (((double) minTickStep) * (GetEnd (ad) - GetStart (ad))) / (double) GetAreaSize (ad);
}
示例4: DrawTicks
void DrawTicks(Gdk.Window win, Gdk.GC gc, TickEnumerator e, AxisPosition pos, AxisDimension ad, int tickSize, bool showLabels)
{
int rwidth, rheight;
win.GetSize (out rwidth, out rheight);
Pango.Layout layout = null;
if (showLabels) {
layout = new Pango.Layout (this.PangoContext);
layout.FontDescription = Pango.FontDescription.FromString ("Tahoma 8");
}
bool isX = pos == AxisPosition.Top || pos == AxisPosition.Bottom;
bool isTop = pos == AxisPosition.Top || pos == AxisPosition.Right;
double start = GetStart (ad);
double end = GetEnd (ad);
e.Init (GetOrigin (ad));
while (e.CurrentValue > start)
e.MovePrevious ();
int lastPosLabel;
int lastPos;
int lastTw = 0;
if (isX) {
lastPosLabel = reverseXAxis ? left + width + MinLabelGapX : left - MinLabelGapX;
lastPos = left - minTickStep*2;
}
else {
lastPosLabel = reverseYAxis ? top - MinLabelGapY : rheight + MinLabelGapY;
lastPos = top + height + minTickStep*2;
}
for ( ; e.CurrentValue <= end; e.MoveNext ())
{
int px, py;
int tw = 0, th = 0;
int tick = tickSize;
GetPoint (e.CurrentValue, e.CurrentValue, out px, out py);
if (showLabels) {
layout.SetMarkup (e.CurrentLabel);
layout.GetPixelSize (out tw, out th);
}
if (isX) {
if (Math.Abs ((long)px - (long)lastPos) < minTickStep || px < left || px > left + width)
continue;
lastPos = px;
bool labelFits = false;
if ((Math.Abs (px - lastPosLabel) - (tw/2) - (lastTw/2)) >= MinLabelGapX) {
lastPosLabel = px;
lastTw = tw;
labelFits = true;
}
if (isTop) {
if (showLabels) {
if (labelFits)
win.DrawLayout (gc, px - (tw/2), top - AreaBorderWidth - th, layout);
else
tick = tick / 2;
}
win.DrawLine (gc, px, top, px, top + tick);
}
else {
if (showLabels) {
if (labelFits)
win.DrawLayout (gc, px - (tw/2), top + height + AreaBorderWidth, layout);
else
tick = tick / 2;
}
win.DrawLine (gc, px, top + height, px, top + height - tick);
}
}
else {
if (Math.Abs ((long)lastPos - (long)py) < minTickStep || py < top || py > top + height)
continue;
lastPos = py;
bool labelFits = false;
if ((Math.Abs (py - lastPosLabel) - (th/2) - (lastTw/2)) >= MinLabelGapY) {
lastPosLabel = py;
lastTw = th;
labelFits = true;
}
if (isTop) {
if (showLabels) {
if (labelFits)
win.DrawLayout (gc, left + width + AreaBorderWidth + 1, py - (th/2), layout);
else
tick = tick / 2;
}
win.DrawLine (gc, left + width, py, left + width - tick, py);
//.........这里部分代码省略.........
示例5: GetAreaSize
int GetAreaSize(AxisDimension ad)
{
if (ad == AxisDimension.X)
return width;
else
return height;
}
示例6: GetValueRange
void GetValueRange(AxisDimension ad, out double min, out double max)
{
min = double.MaxValue;
max = double.MinValue;
foreach (Serie serie in series) {
if (!serie.HasData || !serie.Visible)
continue;
double lmin, lmax;
serie.GetRange (ad, out lmin, out lmax);
if (lmin < min) min = lmin;
if (lmax > max) max = lmax;
}
}
示例7: SetAutoScale
public void SetAutoScale (AxisDimension ad, bool autoStart, bool autoEnd)
{
widget.SetAutoScale (ad, autoStart, autoEnd);
}
示例8: GetValue
private double GetValue(IRun run, AxisDimension axisDimension) {
double value = double.NaN;
switch (axisDimension) {
case AxisDimension.Color: {
value = GetCategoricalValue(-1, run.Color.ToString());
break;
}
default: {
throw new ArgumentException("No handling strategy for " + axisDimension + " is defined.");
}
}
return value;
}
示例9: GetValue
private double? GetValue(IRun run, AxisDimension axisDimension) {
double? value = double.NaN;
switch (axisDimension) {
case AxisDimension.Color: {
const int colorDimension = -1;
if (!categoricalMapping.ContainsKey(colorDimension)) {
categoricalMapping[colorDimension] = Content.Where(r => r.Visible)
.Select(r => r.Color.Name)
.Distinct()
.OrderBy(c => c, new NaturalStringComparer())
.Select((c, i) => new { Color = c, Index = i })
.ToDictionary(a => (object)a.Color, a => (double)a.Index);
}
value = GetCategoricalValue(colorDimension, run.Color.Name);
break;
}
default: {
throw new ArgumentException("No handling strategy for " + axisDimension.ToString() + " is defined.");
}
}
return value;
}
示例10: GetRange
public void GetRange (AxisDimension axis, out double min, out double max)
{
min = double.MaxValue;
max = double.MinValue;
foreach (Data d in dataArray) {
double v = d.GetValue (axis);
if (v > max) max = v;
if (v < min) min = v;
}
}
示例11: GetValue
public double GetValue (AxisDimension a) {
if (a == AxisDimension.X) return x;
else return y;
}
示例12: MeasureTicksSize
double MeasureTicksSize (Context ctx, TickEnumerator e, AxisDimension ad)
{
double max = 0;
TextLayout layout = new TextLayout ();
layout.Font = chartFont;
double start = GetStart (ad);
double end = GetEnd (ad);
e.Init (GetOrigin (ad));
while (e.CurrentValue > start)
e.MovePrevious ();
for ( ; e.CurrentValue <= end; e.MoveNext ())
{
layout.Text = e.CurrentLabel;
Size ts = layout.GetSize ();
if (ad == AxisDimension.X) {
if (ts.Height > max)
max = ts.Height;
} else {
if (ts.Width > max)
max = ts.Width;
}
}
return max;
}
示例13: DrawTicks
void DrawTicks (Context ctx, TickEnumerator e, AxisPosition pos, AxisDimension ad, int tickSize, bool showLabels)
{
double rheight = Bounds.Height;
TextLayout layout = null;
if (showLabels) {
layout = new TextLayout ();
layout.Font = chartFont;
}
bool isX = pos == AxisPosition.Top || pos == AxisPosition.Bottom;
bool isTop = pos == AxisPosition.Top || pos == AxisPosition.Right;
double start = GetStart (ad);
double end = GetEnd (ad);
e.Init (GetOrigin (ad));
while (e.CurrentValue > start)
e.MovePrevious ();
double lastPosLabel;
double lastPos;
double lastTw = 0;
if (isX) {
lastPosLabel = reverseXAxis ? left + width + MinLabelGapX : left - MinLabelGapX;
lastPos = left - minTickStep*2;
}
else {
lastPosLabel = reverseYAxis ? top - MinLabelGapY : rheight + MinLabelGapY;
lastPos = top + height + minTickStep*2;
}
for ( ; e.CurrentValue <= end; e.MoveNext ())
{
double px, py;
double tw = 0, th = 0;
int tick = tickSize;
GetPoint (e.CurrentValue, e.CurrentValue, out px, out py);
if (showLabels) {
layout.Text = e.CurrentLabel;
var ts = layout.GetSize ();
tw = ts.Width;
th = ts.Height;
}
if (isX) {
if (Math.Abs ((long)px - (long)lastPos) < minTickStep || px < left || px > left + width)
continue;
lastPos = px;
bool labelFits = false;
if ((Math.Abs (px - lastPosLabel) - (tw/2) - (lastTw/2)) >= MinLabelGapX) {
lastPosLabel = px;
lastTw = tw;
labelFits = true;
}
if (isTop) {
if (showLabels) {
if (labelFits)
ctx.DrawTextLayout (layout, px - (tw/2), top - AreaBorderWidth - th);
else
tick = tick / 2;
}
ctx.MoveTo (px, top);
ctx.LineTo (px, top + tick);
ctx.Stroke ();
}
else {
if (showLabels) {
if (labelFits)
ctx.DrawTextLayout (layout, px - (tw/2), top + height + AreaBorderWidth);
else
tick = tick / 2;
}
ctx.MoveTo (px, top + height);
ctx.LineTo (px, top + height - tick);
ctx.Stroke ();
}
}
else {
if (Math.Abs ((long)lastPos - (long)py) < minTickStep || py < top || py > top + height)
continue;
lastPos = py;
bool labelFits = false;
if ((Math.Abs (py - lastPosLabel) - (th/2) - (lastTw/2)) >= MinLabelGapY) {
lastPosLabel = py;
lastTw = th;
labelFits = true;
}
if (isTop) {
if (showLabels) {
if (labelFits)
//.........这里部分代码省略.........
示例14: GetValue
private double GetValue(IRun run, AxisDimension axisDimension) {
double value = double.NaN;
switch (axisDimension) {
case AxisDimension.Index: {
value = runToIndexMapping[run];
break;
}
default: {
throw new ArgumentException("No handling strategy for " + axisDimension.ToString() + " is defined.");
}
}
return value;
}
示例15: GetStart
double GetStart(AxisDimension ad)
{
if (ad == AxisDimension.X)
return startX;
else
return startY;
}