mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-27 14:02:19 +00:00
60 lines
1.9 KiB
C#
60 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
using Frotz;
|
|
using Frotz.Screen;
|
|
using System.Windows.Controls;
|
|
|
|
namespace WPFMachine.Screen {
|
|
internal static class Conversion {
|
|
internal static int tcw(this int w) {
|
|
if (w == 1) { return 0; } else { return w / Metrics.FontSize.Width; }
|
|
}
|
|
|
|
internal static int tch(this int h) {
|
|
if (h == 1) { return 0; } else { return h / Metrics.FontSize.Height; }
|
|
}
|
|
|
|
// TODO I won't need this
|
|
internal static int tsw(this int w) {
|
|
if (w == 1) { return 0; } else { return w; }
|
|
}
|
|
|
|
internal static int tsh(this int h) {
|
|
if (h == 1) { return 0; } else { return h; }
|
|
}
|
|
|
|
// TODO FIgure out how to make this easier to call
|
|
internal static int tch(this int h, int min) {
|
|
|
|
return Math.Max(min, h / Metrics.FontSize.Height);
|
|
}
|
|
|
|
internal static ScreenMetrics Metrics { get; set; }
|
|
|
|
internal static int Top(this System.Windows.Controls.Image img) {
|
|
return Convert.ToInt32(img.GetValue(Canvas.TopProperty));
|
|
}
|
|
|
|
internal static int Left(this System.Windows.Controls.Image img) {
|
|
return Convert.ToInt32(img.GetValue(Canvas.LeftProperty));
|
|
}
|
|
|
|
internal static int Right(this System.Windows.Controls.Image img) {
|
|
return img.getNumValue(Canvas.RightProperty);
|
|
}
|
|
|
|
internal static int Bottom(this System.Windows.Controls.Image img) {
|
|
return img.getNumValue(Canvas.BottomProperty);
|
|
}
|
|
|
|
private static int getNumValue(this System.Windows.Controls.Image img, System.Windows.DependencyProperty prop) {
|
|
double val = (double)img.GetValue(prop);
|
|
|
|
if (double.IsNaN(val)) return 1;
|
|
else return Convert.ToInt32(val);
|
|
}
|
|
}
|
|
}
|