Skip to content

Instantly share code, notes, and snippets.

@nexpr
Last active November 20, 2018 02:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nexpr/58e4a51a007605554875fad309c52235 to your computer and use it in GitHub Desktop.
Save nexpr/58e4a51a007605554875fad309c52235 to your computer and use it in GitHub Desktop.
analog clock
<Window x:Class="aclk.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:aclk"
mc:Ignorable="d"
Title="MainWindow" Height="100" Width="100"
WindowStyle="None" Background="Transparent" AllowsTransparency="True"
MouseLeftButtonDown="Window_MouseLeftButtonDown" ShowInTaskbar="False"
ResizeMode="CanResizeWithGrip">
<Window.ContextMenu>
<ContextMenu>
<MenuItem Header="SyncImmediate" Click="syncImmediate"/>
<MenuItem Header="Close" Click="close"/>
</ContextMenu>
</Window.ContextMenu>
<Border>
<Viewbox>
<Grid HorizontalAlignment="Center" VerticalAlignment="Center">
<Ellipse Stroke="#FCFCFE" Width="106" Height="106" StrokeThickness="1" Fill="#40888888" />
<Ellipse Stroke="#FCFCFE" Width="100" Height="100" StrokeThickness="3" />
<!--#region Splits-->
<Line X1="0" Y1="0" X2="0" Y2="6" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="0"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="6" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="90"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="6" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="180"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="6" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="270"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="30"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="60"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="120"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="150"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="210"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="240"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="300"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="4" Margin="1 6 0 0" Stroke="#FCFCFE" StrokeThickness="2" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="330"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="6"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="12"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="18"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="24"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="36"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="42"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="48"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="54"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="66"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="72"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="78"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="84"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="96"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="102"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="108"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="114"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="126"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="132"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="138"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="144"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="156"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="162"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="168"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="174"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="186"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="192"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="198"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="204"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="216"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="222"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="228"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="234"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="246"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="252"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="258"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="264"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="276"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="282"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="288"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="294"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="306"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="312"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="318"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="324"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="336"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="342"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="348"/>
</Line.RenderTransform>
</Line>
<Line X1="0" Y1="0" X2="0" Y2="2" Margin="0 6 0 0" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center">
<Line.RenderTransform>
<RotateTransform CenterY="47" Angle="354"/>
</Line.RenderTransform>
</Line>
<!--#endregion-->
<Line x:Name="hourhand" X1="0" X2="0" Y1="0" Y2="26" Stroke="#FCFCFE" StrokeThickness="5" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="2 -26 0 0">
<Line.RenderTransform>
<RotateTransform CenterY="26"/>
</Line.RenderTransform>
<Line.Resources>
<Storyboard x:Key="storyboard_h">
<DoubleAnimation Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)"
From="0" To="360" Duration="12:0:0" RepeatBehavior="Forever" />
</Storyboard>
</Line.Resources>
</Line>
<Line x:Name="minutehand" X1="0" X2="0" Y1="0" Y2="38" Stroke="#FCFCFE" StrokeThickness="3" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="1 -38 0 0">
<Line.RenderTransform>
<RotateTransform CenterY="38"/>
</Line.RenderTransform>
<Line.Resources>
<Storyboard x:Key="storyboard_m">
<DoubleAnimation Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)"
From="0" To="360" Duration="1:0:0" RepeatBehavior="Forever" />
</Storyboard>
</Line.Resources>
</Line>
<Line x:Name="secondhand" X1="0" X2="0" Y1="0" Y2="48" Stroke="#FCFCFE" StrokeThickness="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 -33 0 0">
<Line.RenderTransform>
<RotateTransform CenterY="40.5"/>
</Line.RenderTransform>
<Line.Resources>
<Storyboard x:Key="storyboard_s">
<DoubleAnimation Storyboard.TargetProperty="(Rectangle.RenderTransform).(RotateTransform.Angle)"
From="0" To="360" Duration="0:1:0" RepeatBehavior="Forever" />
</Storyboard>
</Line.Resources>
</Line>
<Ellipse x:Name="center_point" Fill="#FFFFEC73" Width="4" Height="4" Stroke="#FFEABA16" StrokeThickness="1"/>
</Grid>
</Viewbox>
</Border>
</Window>
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Threading;
using System.Xml;
namespace aclk
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs eve)
{
// Set time for ntp
var dtimer = new DispatcherTimer();
dtimer.Tick += Dtimer_Tick;
dtimer.Interval = new TimeSpan(0, 10, 0);
dtimer.Start();
// Call immediately at first
Dtimer_Tick(null, EventArgs.Empty);
// Create task tray icon
var notify_icon = new System.Windows.Forms.NotifyIcon();
notify_icon.Click += (s, e) =>
{
this.Activate();
};
var uri = new Uri(@"pack://application:,,,/Resources/icon.ico");
using (var stream = Application.GetResourceStream(uri).Stream)
{
notify_icon.Icon = new System.Drawing.Icon(stream);
}
notify_icon.Visible = true;
}
private async void Dtimer_Tick(object sender, EventArgs e)
{
try
{
var now = await this.getNow();
this.adjustTime(now);
var fill = (Color)ColorConverter.ConvertFromString("#FFFFEC73");
this.center_point.Fill = new SolidColorBrush(fill);
var stroke = (Color)ColorConverter.ConvertFromString("#FFEABA16");
this.center_point.Stroke = new SolidColorBrush(stroke);
}
catch (Exception ex)
{
this.adjustTime(DateTime.Now);
var fill = (Color)ColorConverter.ConvertFromString("#FF35C8FF");
this.center_point.Fill = new SolidColorBrush(fill);
var stroke = (Color)ColorConverter.ConvertFromString("#FF141CB4");
this.center_point.Stroke = new SolidColorBrush(stroke);
}
}
private async Task<DateTime> getNow()
{
using (var client = new HttpClient { Timeout = new TimeSpan(0, 0, 3) })
using (var result = await client.GetAsync("https://ntp-a1.nict.go.jp/cgi-bin/jst"))
{
if (!result.IsSuccessStatusCode)
{
throw new Exception("Could not get current time. code: " + result.StatusCode);
}
var html = await result.Content.ReadAsStringAsync();
var doc = new XmlDocument();
doc.LoadXml(html);
var time_text = doc.GetElementsByTagName("BODY")[0].InnerText.Trim();
var unix_time = double.Parse(time_text);
var unix_epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
var now = unix_epoch.AddSeconds(unix_time).ToLocalTime();
return now;
}
}
private void adjustTime(DateTime now)
{
var storyboard_h = this.hourhand.Resources["storyboard_h"] as Storyboard;
var storyboard_m = this.minutehand.Resources["storyboard_m"] as Storyboard;
var storyboard_s = this.secondhand.Resources["storyboard_s"] as Storyboard;
storyboard_h.Begin(this.hourhand, true);
storyboard_h.SeekAlignedToLastTick(this.hourhand, now.TimeOfDay, TimeSeekOrigin.BeginTime);
storyboard_m.Begin(this.minutehand, true);
storyboard_m.SeekAlignedToLastTick(this.minutehand, now.TimeOfDay, TimeSeekOrigin.BeginTime);
storyboard_s.Begin(this.secondhand, true);
storyboard_s.SeekAlignedToLastTick(this.secondhand, now.TimeOfDay, TimeSeekOrigin.BeginTime);
}
private void close(object sender, RoutedEventArgs e)
{
this.Close();
}
private void syncImmediate(object sender, RoutedEventArgs e)
{
Dtimer_Tick(null, EventArgs.Empty);
}
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if (e.ButtonState != MouseButtonState.Pressed) return;
this.DragMove();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment