Moving our test client around.
1.1 --- a/Client/App.config Tue Feb 02 19:50:33 2016 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,6 +0,0 @@
1.4 -<?xml version="1.0"?>
1.5 -<configuration>
1.6 - <startup>
1.7 - <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
1.8 - </startup>
1.9 -</configuration>
2.1 --- a/Client/MainForm.Designer.cs Tue Feb 02 19:50:33 2016 +0100
2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
2.3 @@ -1,254 +0,0 @@
2.4 -namespace SharpDisplayClient
2.5 -{
2.6 - partial class MainForm
2.7 - {
2.8 - /// <summary>
2.9 - /// Required designer variable.
2.10 - /// </summary>
2.11 - private System.ComponentModel.IContainer components = null;
2.12 -
2.13 - /// <summary>
2.14 - /// Clean up any resources being used.
2.15 - /// </summary>
2.16 - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
2.17 - protected override void Dispose(bool disposing)
2.18 - {
2.19 - if (disposing && (components != null))
2.20 - {
2.21 - components.Dispose();
2.22 - }
2.23 - base.Dispose(disposing);
2.24 - }
2.25 -
2.26 - #region Windows Form Designer generated code
2.27 -
2.28 - /// <summary>
2.29 - /// Required method for Designer support - do not modify
2.30 - /// the contents of this method with the code editor.
2.31 - /// </summary>
2.32 - private void InitializeComponent()
2.33 - {
2.34 - this.buttonSetText = new System.Windows.Forms.Button();
2.35 - this.textBoxTop = new System.Windows.Forms.TextBox();
2.36 - this.textBoxBottom = new System.Windows.Forms.TextBox();
2.37 - this.buttonAlignRight = new System.Windows.Forms.Button();
2.38 - this.buttonAlignCenter = new System.Windows.Forms.Button();
2.39 - this.buttonAlignLeft = new System.Windows.Forms.Button();
2.40 - this.buttonSetTopText = new System.Windows.Forms.Button();
2.41 - this.buttonLayoutUpdate = new System.Windows.Forms.Button();
2.42 - this.buttonSetBitmap = new System.Windows.Forms.Button();
2.43 - this.buttonBitmapLayout = new System.Windows.Forms.Button();
2.44 - this.buttonIndicatorsLayout = new System.Windows.Forms.Button();
2.45 - this.buttonUpdateTexts = new System.Windows.Forms.Button();
2.46 - this.buttonLayoutOneTextField = new System.Windows.Forms.Button();
2.47 - this.numericUpDownPriority = new System.Windows.Forms.NumericUpDown();
2.48 - this.labelPriority = new System.Windows.Forms.Label();
2.49 - ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).BeginInit();
2.50 - this.SuspendLayout();
2.51 - //
2.52 - // buttonSetText
2.53 - //
2.54 - this.buttonSetText.Location = new System.Drawing.Point(13, 132);
2.55 - this.buttonSetText.Name = "buttonSetText";
2.56 - this.buttonSetText.Size = new System.Drawing.Size(75, 23);
2.57 - this.buttonSetText.TabIndex = 0;
2.58 - this.buttonSetText.Text = "Set Text";
2.59 - this.buttonSetText.UseVisualStyleBackColor = true;
2.60 - this.buttonSetText.Click += new System.EventHandler(this.buttonSetText_Click);
2.61 - //
2.62 - // textBoxTop
2.63 - //
2.64 - this.textBoxTop.Location = new System.Drawing.Point(12, 31);
2.65 - this.textBoxTop.Name = "textBoxTop";
2.66 - this.textBoxTop.Size = new System.Drawing.Size(419, 20);
2.67 - this.textBoxTop.TabIndex = 1;
2.68 - //
2.69 - // textBoxBottom
2.70 - //
2.71 - this.textBoxBottom.Location = new System.Drawing.Point(12, 57);
2.72 - this.textBoxBottom.Name = "textBoxBottom";
2.73 - this.textBoxBottom.Size = new System.Drawing.Size(419, 20);
2.74 - this.textBoxBottom.TabIndex = 2;
2.75 - //
2.76 - // buttonAlignRight
2.77 - //
2.78 - this.buttonAlignRight.Location = new System.Drawing.Point(176, 160);
2.79 - this.buttonAlignRight.Name = "buttonAlignRight";
2.80 - this.buttonAlignRight.Size = new System.Drawing.Size(75, 23);
2.81 - this.buttonAlignRight.TabIndex = 23;
2.82 - this.buttonAlignRight.Text = "Align Right";
2.83 - this.buttonAlignRight.UseVisualStyleBackColor = true;
2.84 - this.buttonAlignRight.Click += new System.EventHandler(this.buttonAlignRight_Click);
2.85 - //
2.86 - // buttonAlignCenter
2.87 - //
2.88 - this.buttonAlignCenter.Location = new System.Drawing.Point(94, 161);
2.89 - this.buttonAlignCenter.Name = "buttonAlignCenter";
2.90 - this.buttonAlignCenter.Size = new System.Drawing.Size(75, 23);
2.91 - this.buttonAlignCenter.TabIndex = 22;
2.92 - this.buttonAlignCenter.Text = "Align Center";
2.93 - this.buttonAlignCenter.UseVisualStyleBackColor = true;
2.94 - this.buttonAlignCenter.Click += new System.EventHandler(this.buttonAlignCenter_Click);
2.95 - //
2.96 - // buttonAlignLeft
2.97 - //
2.98 - this.buttonAlignLeft.Location = new System.Drawing.Point(12, 161);
2.99 - this.buttonAlignLeft.Name = "buttonAlignLeft";
2.100 - this.buttonAlignLeft.Size = new System.Drawing.Size(75, 23);
2.101 - this.buttonAlignLeft.TabIndex = 21;
2.102 - this.buttonAlignLeft.Text = "Align Left";
2.103 - this.buttonAlignLeft.UseVisualStyleBackColor = true;
2.104 - this.buttonAlignLeft.Click += new System.EventHandler(this.buttonAlignLeft_Click);
2.105 - //
2.106 - // buttonSetTopText
2.107 - //
2.108 - this.buttonSetTopText.Location = new System.Drawing.Point(94, 132);
2.109 - this.buttonSetTopText.Name = "buttonSetTopText";
2.110 - this.buttonSetTopText.Size = new System.Drawing.Size(75, 23);
2.111 - this.buttonSetTopText.TabIndex = 24;
2.112 - this.buttonSetTopText.Text = "Set Top Text";
2.113 - this.buttonSetTopText.UseVisualStyleBackColor = true;
2.114 - this.buttonSetTopText.Click += new System.EventHandler(this.buttonSetTopText_Click);
2.115 - //
2.116 - // buttonLayoutUpdate
2.117 - //
2.118 - this.buttonLayoutUpdate.Location = new System.Drawing.Point(176, 131);
2.119 - this.buttonLayoutUpdate.Name = "buttonLayoutUpdate";
2.120 - this.buttonLayoutUpdate.Size = new System.Drawing.Size(156, 23);
2.121 - this.buttonLayoutUpdate.TabIndex = 25;
2.122 - this.buttonLayoutUpdate.Text = "Layout 2x2 and Recording";
2.123 - this.buttonLayoutUpdate.UseVisualStyleBackColor = true;
2.124 - this.buttonLayoutUpdate.Click += new System.EventHandler(this.buttonLayoutUpdate_Click);
2.125 - //
2.126 - // buttonSetBitmap
2.127 - //
2.128 - this.buttonSetBitmap.Location = new System.Drawing.Point(12, 190);
2.129 - this.buttonSetBitmap.Name = "buttonSetBitmap";
2.130 - this.buttonSetBitmap.Size = new System.Drawing.Size(75, 23);
2.131 - this.buttonSetBitmap.TabIndex = 26;
2.132 - this.buttonSetBitmap.Text = "Set Bitmap";
2.133 - this.buttonSetBitmap.UseVisualStyleBackColor = true;
2.134 - this.buttonSetBitmap.Click += new System.EventHandler(this.buttonSetBitmap_Click);
2.135 - //
2.136 - // buttonBitmapLayout
2.137 - //
2.138 - this.buttonBitmapLayout.Location = new System.Drawing.Point(176, 189);
2.139 - this.buttonBitmapLayout.Name = "buttonBitmapLayout";
2.140 - this.buttonBitmapLayout.Size = new System.Drawing.Size(75, 35);
2.141 - this.buttonBitmapLayout.TabIndex = 27;
2.142 - this.buttonBitmapLayout.Text = "Bitmap Layout";
2.143 - this.buttonBitmapLayout.UseVisualStyleBackColor = true;
2.144 - this.buttonBitmapLayout.Click += new System.EventHandler(this.buttonBitmapLayout_Click);
2.145 - //
2.146 - // buttonIndicatorsLayout
2.147 - //
2.148 - this.buttonIndicatorsLayout.Location = new System.Drawing.Point(94, 189);
2.149 - this.buttonIndicatorsLayout.Name = "buttonIndicatorsLayout";
2.150 - this.buttonIndicatorsLayout.Size = new System.Drawing.Size(75, 35);
2.151 - this.buttonIndicatorsLayout.TabIndex = 28;
2.152 - this.buttonIndicatorsLayout.Text = "Indicators Layout ";
2.153 - this.buttonIndicatorsLayout.UseVisualStyleBackColor = true;
2.154 - this.buttonIndicatorsLayout.Click += new System.EventHandler(this.buttonIndicatorsLayout_Click);
2.155 - //
2.156 - // buttonUpdateTexts
2.157 - //
2.158 - this.buttonUpdateTexts.Location = new System.Drawing.Point(257, 189);
2.159 - this.buttonUpdateTexts.Name = "buttonUpdateTexts";
2.160 - this.buttonUpdateTexts.Size = new System.Drawing.Size(75, 35);
2.161 - this.buttonUpdateTexts.TabIndex = 29;
2.162 - this.buttonUpdateTexts.Text = "Update Texts";
2.163 - this.buttonUpdateTexts.UseVisualStyleBackColor = true;
2.164 - this.buttonUpdateTexts.Click += new System.EventHandler(this.buttonUpdateTexts_Click);
2.165 - //
2.166 - // buttonLayoutOneTextField
2.167 - //
2.168 - this.buttonLayoutOneTextField.Location = new System.Drawing.Point(257, 160);
2.169 - this.buttonLayoutOneTextField.Name = "buttonLayoutOneTextField";
2.170 - this.buttonLayoutOneTextField.Size = new System.Drawing.Size(75, 23);
2.171 - this.buttonLayoutOneTextField.TabIndex = 30;
2.172 - this.buttonLayoutOneTextField.Text = "Layout 1x1";
2.173 - this.buttonLayoutOneTextField.UseVisualStyleBackColor = true;
2.174 - this.buttonLayoutOneTextField.Click += new System.EventHandler(this.buttonLayoutOneTextField_Click);
2.175 - //
2.176 - // numericUpDownPriority
2.177 - //
2.178 - this.numericUpDownPriority.Increment = new decimal(new int[] {
2.179 - 10,
2.180 - 0,
2.181 - 0,
2.182 - 0});
2.183 - this.numericUpDownPriority.Location = new System.Drawing.Point(57, 83);
2.184 - this.numericUpDownPriority.Maximum = new decimal(new int[] {
2.185 - 1000,
2.186 - 0,
2.187 - 0,
2.188 - 0});
2.189 - this.numericUpDownPriority.Name = "numericUpDownPriority";
2.190 - this.numericUpDownPriority.Size = new System.Drawing.Size(60, 20);
2.191 - this.numericUpDownPriority.TabIndex = 31;
2.192 - this.numericUpDownPriority.Value = new decimal(new int[] {
2.193 - 500,
2.194 - 0,
2.195 - 0,
2.196 - 0});
2.197 - this.numericUpDownPriority.ValueChanged += new System.EventHandler(this.numericUpDownPriority_ValueChanged);
2.198 - //
2.199 - // labelPriority
2.200 - //
2.201 - this.labelPriority.AutoSize = true;
2.202 - this.labelPriority.Location = new System.Drawing.Point(12, 85);
2.203 - this.labelPriority.Name = "labelPriority";
2.204 - this.labelPriority.Size = new System.Drawing.Size(41, 13);
2.205 - this.labelPriority.TabIndex = 32;
2.206 - this.labelPriority.Text = "Priority:";
2.207 - //
2.208 - // MainForm
2.209 - //
2.210 - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
2.211 - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
2.212 - this.ClientSize = new System.Drawing.Size(443, 252);
2.213 - this.Controls.Add(this.labelPriority);
2.214 - this.Controls.Add(this.numericUpDownPriority);
2.215 - this.Controls.Add(this.buttonLayoutOneTextField);
2.216 - this.Controls.Add(this.buttonUpdateTexts);
2.217 - this.Controls.Add(this.buttonIndicatorsLayout);
2.218 - this.Controls.Add(this.buttonBitmapLayout);
2.219 - this.Controls.Add(this.buttonSetBitmap);
2.220 - this.Controls.Add(this.buttonLayoutUpdate);
2.221 - this.Controls.Add(this.buttonSetTopText);
2.222 - this.Controls.Add(this.buttonAlignRight);
2.223 - this.Controls.Add(this.buttonAlignCenter);
2.224 - this.Controls.Add(this.buttonAlignLeft);
2.225 - this.Controls.Add(this.textBoxBottom);
2.226 - this.Controls.Add(this.textBoxTop);
2.227 - this.Controls.Add(this.buttonSetText);
2.228 - this.Name = "MainForm";
2.229 - this.Text = "Client";
2.230 - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
2.231 - this.Load += new System.EventHandler(this.MainForm_Load);
2.232 - ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).EndInit();
2.233 - this.ResumeLayout(false);
2.234 - this.PerformLayout();
2.235 -
2.236 - }
2.237 -
2.238 - #endregion
2.239 -
2.240 - private System.Windows.Forms.Button buttonSetText;
2.241 - private System.Windows.Forms.TextBox textBoxTop;
2.242 - private System.Windows.Forms.TextBox textBoxBottom;
2.243 - private System.Windows.Forms.Button buttonAlignRight;
2.244 - private System.Windows.Forms.Button buttonAlignCenter;
2.245 - private System.Windows.Forms.Button buttonAlignLeft;
2.246 - private System.Windows.Forms.Button buttonSetTopText;
2.247 - private System.Windows.Forms.Button buttonLayoutUpdate;
2.248 - private System.Windows.Forms.Button buttonSetBitmap;
2.249 - private System.Windows.Forms.Button buttonBitmapLayout;
2.250 - private System.Windows.Forms.Button buttonIndicatorsLayout;
2.251 - private System.Windows.Forms.Button buttonUpdateTexts;
2.252 - private System.Windows.Forms.Button buttonLayoutOneTextField;
2.253 - private System.Windows.Forms.NumericUpDown numericUpDownPriority;
2.254 - private System.Windows.Forms.Label labelPriority;
2.255 - }
2.256 -}
2.257 -
3.1 --- a/Client/MainForm.cs Tue Feb 02 19:50:33 2016 +0100
3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
3.3 @@ -1,404 +0,0 @@
3.4 -//
3.5 -// Copyright (C) 2014-2015 Stéphane Lenclud.
3.6 -//
3.7 -// This file is part of SharpDisplayManager.
3.8 -//
3.9 -// SharpDisplayManager is free software: you can redistribute it and/or modify
3.10 -// it under the terms of the GNU General Public License as published by
3.11 -// the Free Software Foundation, either version 3 of the License, or
3.12 -// (at your option) any later version.
3.13 -//
3.14 -// SharpDisplayManager is distributed in the hope that it will be useful,
3.15 -// but WITHOUT ANY WARRANTY; without even the implied warranty of
3.16 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3.17 -// GNU General Public License for more details.
3.18 -//
3.19 -// You should have received a copy of the GNU General Public License
3.20 -// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
3.21 -//
3.22 -
3.23 -using System;
3.24 -using System.Collections.Generic;
3.25 -using System.ComponentModel;
3.26 -using System.Data;
3.27 -using System.Drawing;
3.28 -using System.Linq;
3.29 -using System.Text;
3.30 -using System.Threading.Tasks;
3.31 -using System.Windows.Forms;
3.32 -using System.ServiceModel;
3.33 -using System.ServiceModel.Channels;
3.34 -using System.Diagnostics;
3.35 -using SharpLib.Display;
3.36 -
3.37 -
3.38 -namespace SharpDisplayClient
3.39 -{
3.40 - public partial class MainForm : Form
3.41 - {
3.42 - public StartParams Params { get; set; }
3.43 -
3.44 - //
3.45 - Client iClient;
3.46 - //
3.47 - ContentAlignment Alignment;
3.48 - TextField iTextFieldTop;
3.49 -
3.50 -
3.51 - /// <summary>
3.52 - /// Constructor
3.53 - /// </summary>
3.54 - public MainForm()
3.55 - {
3.56 - InitializeComponent();
3.57 - Alignment = ContentAlignment.MiddleLeft;
3.58 - iTextFieldTop = new TextField();
3.59 - }
3.60 -
3.61 - public void OnCloseOrder()
3.62 - {
3.63 - CloseThreadSafe();
3.64 - }
3.65 -
3.66 - /// <summary>
3.67 - ///
3.68 - /// </summary>
3.69 - /// <param name="sender"></param>
3.70 - /// <param name="e"></param>
3.71 - private void MainForm_Load(object sender, EventArgs e)
3.72 - {
3.73 - iClient = new Client();
3.74 - iClient.CloseOrderEvent += OnCloseOrder;
3.75 - iClient.Open();
3.76 -
3.77 - //Connect using unique name
3.78 - //string name = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt");
3.79 - string name = "Client-" + (iClient.ClientCount() - 1);
3.80 - iClient.SetName(name);
3.81 - //Text = Text + ": " + name;
3.82 - Text = "[[" + name + "]] " + iClient.SessionId;
3.83 -
3.84 - //
3.85 - textBoxTop.Text = iClient.Name;
3.86 - textBoxBottom.Text = iClient.SessionId;
3.87 -
3.88 - if (Params != null)
3.89 - {
3.90 - //Parameters where specified use them
3.91 - if (Params.TopText != "")
3.92 - {
3.93 - textBoxTop.Text = Params.TopText;
3.94 - }
3.95 -
3.96 - if (Params.BottomText != "")
3.97 - {
3.98 - textBoxBottom.Text = Params.BottomText;
3.99 - }
3.100 -
3.101 - Location = Params.Location;
3.102 - //
3.103 - SetBasicLayoutAndText();
3.104 - }
3.105 -
3.106 - }
3.107 -
3.108 -
3.109 -
3.110 - public delegate void CloseConnectionDelegate();
3.111 - public delegate void CloseDelegate();
3.112 -
3.113 - /// <summary>
3.114 - ///
3.115 - /// </summary>
3.116 - public void CloseConnectionThreadSafe()
3.117 - {
3.118 - if (this.InvokeRequired)
3.119 - {
3.120 - //Not in the proper thread, invoke ourselves
3.121 - CloseConnectionDelegate d = new CloseConnectionDelegate(CloseConnectionThreadSafe);
3.122 - this.Invoke(d, new object[] { });
3.123 - }
3.124 - else
3.125 - {
3.126 - //We are in the proper thread
3.127 - if (IsClientReady())
3.128 - {
3.129 - string sessionId = iClient.SessionId;
3.130 - Trace.TraceInformation("Closing client: " + sessionId);
3.131 - iClient.Close();
3.132 - Trace.TraceInformation("Closed client: " + sessionId);
3.133 - }
3.134 -
3.135 - iClient = null;
3.136 - }
3.137 - }
3.138 -
3.139 - /// <summary>
3.140 - ///
3.141 - /// </summary>
3.142 - public void CloseThreadSafe()
3.143 - {
3.144 - if (this.InvokeRequired)
3.145 - {
3.146 - //Not in the proper thread, invoke ourselves
3.147 - CloseDelegate d = new CloseDelegate(CloseThreadSafe);
3.148 - this.Invoke(d, new object[] { });
3.149 - }
3.150 - else
3.151 - {
3.152 - //We are in the proper thread
3.153 - Close();
3.154 - }
3.155 - }
3.156 -
3.157 -
3.158 - private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
3.159 - {
3.160 - CloseConnectionThreadSafe();
3.161 - }
3.162 -
3.163 - public bool IsClientReady()
3.164 - {
3.165 - return (iClient != null && iClient.IsReady());
3.166 - }
3.167 -
3.168 - private void buttonAlignLeft_Click(object sender, EventArgs e)
3.169 - {
3.170 - Alignment = ContentAlignment.MiddleLeft;
3.171 - textBoxTop.TextAlign = HorizontalAlignment.Left;
3.172 - textBoxBottom.TextAlign = HorizontalAlignment.Left;
3.173 - }
3.174 -
3.175 - private void buttonAlignCenter_Click(object sender, EventArgs e)
3.176 - {
3.177 - Alignment = ContentAlignment.MiddleCenter;
3.178 - textBoxTop.TextAlign = HorizontalAlignment.Center;
3.179 - textBoxBottom.TextAlign = HorizontalAlignment.Center;
3.180 - }
3.181 -
3.182 - private void buttonAlignRight_Click(object sender, EventArgs e)
3.183 - {
3.184 - Alignment = ContentAlignment.MiddleRight;
3.185 - textBoxTop.TextAlign = HorizontalAlignment.Right;
3.186 - textBoxBottom.TextAlign = HorizontalAlignment.Right;
3.187 - }
3.188 -
3.189 - private void buttonSetTopText_Click(object sender, EventArgs e)
3.190 - {
3.191 - //TextField top = new TextField(0, textBoxTop.Text, ContentAlignment.MiddleLeft);
3.192 - iTextFieldTop.Text = textBoxTop.Text;
3.193 - iTextFieldTop.Alignment = Alignment;
3.194 - bool res = iClient.SetField(iTextFieldTop);
3.195 -
3.196 - if (!res)
3.197 - {
3.198 - MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
3.199 - }
3.200 -
3.201 -
3.202 - }
3.203 -
3.204 - private void buttonSetText_Click(object sender, EventArgs e)
3.205 - {
3.206 - SetBasicLayoutAndText();
3.207 - }
3.208 -
3.209 - void SetBasicLayoutAndText()
3.210 - {
3.211 - //Set one column two lines layout
3.212 - TableLayout layout = new TableLayout(1, 2);
3.213 - iClient.SetLayout(layout);
3.214 -
3.215 - //Set our fields
3.216 - iClient.CreateFields(new DataField[]
3.217 - {
3.218 - new TextField(textBoxTop.Text, Alignment, 0, 0),
3.219 - new TextField(textBoxBottom.Text, Alignment, 0, 1)
3.220 - });
3.221 -
3.222 - }
3.223 -
3.224 - private void buttonLayoutUpdate_Click(object sender, EventArgs e)
3.225 - {
3.226 - //Define a 2 by 2 layout
3.227 - TableLayout layout = new TableLayout(2,2);
3.228 - //Second column only takes up 25%
3.229 - layout.Columns[1].Width = 25F;
3.230 - //Send layout to server
3.231 - iClient.SetLayout(layout);
3.232 -
3.233 - //
3.234 - RecordingField recording = new RecordingField();
3.235 - recording.IsActive = true;
3.236 - recording.Text = "Recording Tame of Gone until 22:05";
3.237 - //Set texts
3.238 - iClient.CreateFields(new DataField[]
3.239 - {
3.240 - new TextField(textBoxTop.Text, Alignment, 0, 0),
3.241 - new TextField(textBoxBottom.Text, Alignment, 0, 1),
3.242 - new TextField("Third text field", Alignment, 1, 0),
3.243 - new TextField("Forth text field", Alignment, 1, 1),
3.244 - recording
3.245 - });
3.246 -
3.247 - }
3.248 -
3.249 - private void buttonSetBitmap_Click(object sender, EventArgs e)
3.250 - {
3.251 - int x1 = 0;
3.252 - int y1 = 0;
3.253 - int x2 = 256;
3.254 - int y2 = 32;
3.255 -
3.256 - Bitmap bitmap = new Bitmap(x2,y2);
3.257 - Pen blackPen = new Pen(Color.Black, 3);
3.258 -
3.259 - // Draw line to screen.
3.260 - using (var graphics = Graphics.FromImage(bitmap))
3.261 - {
3.262 - graphics.DrawLine(blackPen, x1, y1, x2, y2);
3.263 - graphics.DrawLine(blackPen, x1, y2, x2, y1);
3.264 - }
3.265 -
3.266 - DataField field = new BitmapField(bitmap);
3.267 - //field.ColumnSpan = 2;
3.268 - iClient.SetField(field);
3.269 - }
3.270 -
3.271 - private void buttonBitmapLayout_Click(object sender, EventArgs e)
3.272 - {
3.273 - SetLayoutWithBitmap();
3.274 - }
3.275 -
3.276 - /// <summary>
3.277 - /// Define a layout with a bitmap field on the left and two lines of text on the right.
3.278 - /// </summary>
3.279 - private void SetLayoutWithBitmap()
3.280 - {
3.281 - //Define a 2 by 2 layout
3.282 - TableLayout layout = new TableLayout(2, 2);
3.283 - //First column only takes 25%
3.284 - layout.Columns[0].Width = 25F;
3.285 - //Second column takes up 75%
3.286 - layout.Columns[1].Width = 75F;
3.287 - //Send layout to server
3.288 - iClient.SetLayout(layout);
3.289 -
3.290 - //Set a bitmap for our first field
3.291 - int x1 = 0;
3.292 - int y1 = 0;
3.293 - int x2 = 64;
3.294 - int y2 = 64;
3.295 -
3.296 - Bitmap bitmap = new Bitmap(x2, y2);
3.297 - Pen blackPen = new Pen(Color.Black, 3);
3.298 -
3.299 - // Draw line to screen.
3.300 - using (var graphics = Graphics.FromImage(bitmap))
3.301 - {
3.302 - graphics.DrawLine(blackPen, x1, y1, x2, y2);
3.303 - graphics.DrawLine(blackPen, x1, y2, x2, y1);
3.304 - }
3.305 -
3.306 - //Create a bitmap field from the bitmap we just created
3.307 - //We want our bitmap field to span across two rows
3.308 - BitmapField bitmapField = new BitmapField(bitmap, 0, 0, 1, 2);
3.309 -
3.310 - //Set texts
3.311 - iClient.CreateFields(new DataField[]
3.312 - {
3.313 - bitmapField,
3.314 - new TextField(textBoxTop.Text, Alignment, 1, 0),
3.315 - new TextField(textBoxBottom.Text, Alignment, 1, 1)
3.316 - });
3.317 -
3.318 - }
3.319 -
3.320 - private void buttonIndicatorsLayout_Click(object sender, EventArgs e)
3.321 - {
3.322 - //Define a 2 by 4 layout
3.323 - TableLayout layout = new TableLayout(2, 4);
3.324 - //First column
3.325 - layout.Columns[0].Width = 87.5F;
3.326 - //Second column
3.327 - layout.Columns[1].Width = 12.5F;
3.328 - //Send layout to server
3.329 - iClient.SetLayout(layout);
3.330 -
3.331 - //Create a bitmap for our indicators field
3.332 - int x1 = 0;
3.333 - int y1 = 0;
3.334 - int x2 = 32;
3.335 - int y2 = 16;
3.336 -
3.337 - Bitmap bitmap = new Bitmap(x2, y2);
3.338 - Pen blackPen = new Pen(Color.Black, 3);
3.339 -
3.340 - // Draw line to screen.
3.341 - using (var graphics = Graphics.FromImage(bitmap))
3.342 - {
3.343 - graphics.DrawLine(blackPen, x1, y1, x2, y2);
3.344 - graphics.DrawLine(blackPen, x1, y2, x2, y1);
3.345 - }
3.346 -
3.347 - //Create a bitmap field from the bitmap we just created
3.348 - DataField indicator1 = new BitmapField(bitmap, 1, 0);
3.349 - //Create a bitmap field from the bitmap we just created
3.350 - DataField indicator2 = new BitmapField(bitmap, 1, 1);
3.351 - //Create a bitmap field from the bitmap we just created
3.352 - DataField indicator3 = new BitmapField(bitmap, 1, 2);
3.353 - //Create a bitmap field from the bitmap we just created
3.354 - DataField indicator4 = new BitmapField(bitmap, 1, 3);
3.355 -
3.356 - //
3.357 - TextField textFieldTop = new TextField(textBoxTop.Text, Alignment, 0, 0, 1, 2);
3.358 - TextField textFieldBottom = new TextField(textBoxBottom.Text, Alignment, 0, 2, 1, 2);
3.359 -
3.360 - //Set texts
3.361 - iClient.CreateFields(new DataField[]
3.362 - {
3.363 - textFieldTop,
3.364 - textFieldBottom,
3.365 - indicator1,
3.366 - indicator2,
3.367 - indicator3,
3.368 - indicator4
3.369 - });
3.370 -
3.371 - }
3.372 -
3.373 - private void buttonUpdateTexts_Click(object sender, EventArgs e)
3.374 - {
3.375 -
3.376 - bool res = iClient.SetFields(new DataField[]
3.377 - {
3.378 - new TextField(textBoxTop.Text, Alignment,0,0),
3.379 - new TextField(textBoxBottom.Text, Alignment,0,1)
3.380 - });
3.381 -
3.382 - if (!res)
3.383 - {
3.384 - MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
3.385 - }
3.386 -
3.387 - }
3.388 -
3.389 - private void buttonLayoutOneTextField_Click(object sender, EventArgs e)
3.390 - {
3.391 - //Set one column one line layout
3.392 - TableLayout layout = new TableLayout(1, 1);
3.393 - iClient.SetLayout(layout);
3.394 -
3.395 - //Set our fields
3.396 - iClient.CreateFields(new DataField[]
3.397 - {
3.398 - new TextField(textBoxTop.Text, Alignment)
3.399 - });
3.400 - }
3.401 -
3.402 - private void numericUpDownPriority_ValueChanged(object sender, EventArgs e)
3.403 - {
3.404 - iClient.SetPriority((uint)numericUpDownPriority.Value);
3.405 - }
3.406 - }
3.407 -}
4.1 --- a/Client/MainForm.resx Tue Feb 02 19:50:33 2016 +0100
4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
4.3 @@ -1,120 +0,0 @@
4.4 -<?xml version="1.0" encoding="utf-8"?>
4.5 -<root>
4.6 - <!--
4.7 - Microsoft ResX Schema
4.8 -
4.9 - Version 2.0
4.10 -
4.11 - The primary goals of this format is to allow a simple XML format
4.12 - that is mostly human readable. The generation and parsing of the
4.13 - various data types are done through the TypeConverter classes
4.14 - associated with the data types.
4.15 -
4.16 - Example:
4.17 -
4.18 - ... ado.net/XML headers & schema ...
4.19 - <resheader name="resmimetype">text/microsoft-resx</resheader>
4.20 - <resheader name="version">2.0</resheader>
4.21 - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
4.22 - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
4.23 - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
4.24 - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
4.25 - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
4.26 - <value>[base64 mime encoded serialized .NET Framework object]</value>
4.27 - </data>
4.28 - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
4.29 - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
4.30 - <comment>This is a comment</comment>
4.31 - </data>
4.32 -
4.33 - There are any number of "resheader" rows that contain simple
4.34 - name/value pairs.
4.35 -
4.36 - Each data row contains a name, and value. The row also contains a
4.37 - type or mimetype. Type corresponds to a .NET class that support
4.38 - text/value conversion through the TypeConverter architecture.
4.39 - Classes that don't support this are serialized and stored with the
4.40 - mimetype set.
4.41 -
4.42 - The mimetype is used for serialized objects, and tells the
4.43 - ResXResourceReader how to depersist the object. This is currently not
4.44 - extensible. For a given mimetype the value must be set accordingly:
4.45 -
4.46 - Note - application/x-microsoft.net.object.binary.base64 is the format
4.47 - that the ResXResourceWriter will generate, however the reader can
4.48 - read any of the formats listed below.
4.49 -
4.50 - mimetype: application/x-microsoft.net.object.binary.base64
4.51 - value : The object must be serialized with
4.52 - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
4.53 - : and then encoded with base64 encoding.
4.54 -
4.55 - mimetype: application/x-microsoft.net.object.soap.base64
4.56 - value : The object must be serialized with
4.57 - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
4.58 - : and then encoded with base64 encoding.
4.59 -
4.60 - mimetype: application/x-microsoft.net.object.bytearray.base64
4.61 - value : The object must be serialized into a byte array
4.62 - : using a System.ComponentModel.TypeConverter
4.63 - : and then encoded with base64 encoding.
4.64 - -->
4.65 - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
4.66 - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
4.67 - <xsd:element name="root" msdata:IsDataSet="true">
4.68 - <xsd:complexType>
4.69 - <xsd:choice maxOccurs="unbounded">
4.70 - <xsd:element name="metadata">
4.71 - <xsd:complexType>
4.72 - <xsd:sequence>
4.73 - <xsd:element name="value" type="xsd:string" minOccurs="0" />
4.74 - </xsd:sequence>
4.75 - <xsd:attribute name="name" use="required" type="xsd:string" />
4.76 - <xsd:attribute name="type" type="xsd:string" />
4.77 - <xsd:attribute name="mimetype" type="xsd:string" />
4.78 - <xsd:attribute ref="xml:space" />
4.79 - </xsd:complexType>
4.80 - </xsd:element>
4.81 - <xsd:element name="assembly">
4.82 - <xsd:complexType>
4.83 - <xsd:attribute name="alias" type="xsd:string" />
4.84 - <xsd:attribute name="name" type="xsd:string" />
4.85 - </xsd:complexType>
4.86 - </xsd:element>
4.87 - <xsd:element name="data">
4.88 - <xsd:complexType>
4.89 - <xsd:sequence>
4.90 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
4.91 - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
4.92 - </xsd:sequence>
4.93 - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
4.94 - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
4.95 - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
4.96 - <xsd:attribute ref="xml:space" />
4.97 - </xsd:complexType>
4.98 - </xsd:element>
4.99 - <xsd:element name="resheader">
4.100 - <xsd:complexType>
4.101 - <xsd:sequence>
4.102 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
4.103 - </xsd:sequence>
4.104 - <xsd:attribute name="name" type="xsd:string" use="required" />
4.105 - </xsd:complexType>
4.106 - </xsd:element>
4.107 - </xsd:choice>
4.108 - </xsd:complexType>
4.109 - </xsd:element>
4.110 - </xsd:schema>
4.111 - <resheader name="resmimetype">
4.112 - <value>text/microsoft-resx</value>
4.113 - </resheader>
4.114 - <resheader name="version">
4.115 - <value>2.0</value>
4.116 - </resheader>
4.117 - <resheader name="reader">
4.118 - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
4.119 - </resheader>
4.120 - <resheader name="writer">
4.121 - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
4.122 - </resheader>
4.123 -</root>
4.124 \ No newline at end of file
5.1 --- a/Client/Program.cs Tue Feb 02 19:50:33 2016 +0100
5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
5.3 @@ -1,73 +0,0 @@
5.4 -//
5.5 -// Copyright (C) 2014-2015 Stéphane Lenclud.
5.6 -//
5.7 -// This file is part of SharpDisplayManager.
5.8 -//
5.9 -// SharpDisplayManager is free software: you can redistribute it and/or modify
5.10 -// it under the terms of the GNU General Public License as published by
5.11 -// the Free Software Foundation, either version 3 of the License, or
5.12 -// (at your option) any later version.
5.13 -//
5.14 -// SharpDisplayManager is distributed in the hope that it will be useful,
5.15 -// but WITHOUT ANY WARRANTY; without even the implied warranty of
5.16 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5.17 -// GNU General Public License for more details.
5.18 -//
5.19 -// You should have received a copy of the GNU General Public License
5.20 -// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
5.21 -//
5.22 -
5.23 -using System;
5.24 -using System.Collections.Generic;
5.25 -using System.Linq;
5.26 -using System.Threading.Tasks;
5.27 -using System.Windows.Forms;
5.28 -using System.Drawing;
5.29 -
5.30 -namespace SharpDisplayClient
5.31 -{
5.32 - static public class Program
5.33 - {
5.34 - /// <summary>
5.35 - /// The main entry point for the application.
5.36 - /// </summary>
5.37 - [STAThread]
5.38 - static public void Main()
5.39 - {
5.40 - //Set high priority to our process to avoid lags when rendering to our screen
5.41 - System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.AboveNormal;
5.42 -
5.43 - Application.EnableVisualStyles();
5.44 - Application.SetCompatibleTextRenderingDefault(false);
5.45 - Application.Run(new MainForm());
5.46 - }
5.47 -
5.48 - [STAThread]
5.49 - static public void MainWithParams(object aParams)
5.50 - {
5.51 - //Set high priority to our process to avoid lags when rendering to our screen
5.52 - System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.AboveNormal;
5.53 -
5.54 - Application.EnableVisualStyles();
5.55 - Application.SetCompatibleTextRenderingDefault(false);
5.56 - MainForm mainForm = new MainForm();
5.57 - mainForm.Params = (StartParams)aParams;
5.58 - Application.Run(mainForm);
5.59 - }
5.60 -
5.61 - }
5.62 -
5.63 - public class StartParams
5.64 - {
5.65 - public StartParams(Point aLocation, string aTopText="", string aBottomText="")
5.66 - {
5.67 - TopText = aTopText;
5.68 - BottomText = aBottomText;
5.69 - Location = aLocation;
5.70 - }
5.71 -
5.72 - public string TopText { get; set; }
5.73 - public string BottomText { get; set; }
5.74 - public Point Location { get; set; }
5.75 - }
5.76 -}
6.1 --- a/Client/Properties/AssemblyInfo.cs Tue Feb 02 19:50:33 2016 +0100
6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
6.3 @@ -1,36 +0,0 @@
6.4 -using System.Reflection;
6.5 -using System.Runtime.CompilerServices;
6.6 -using System.Runtime.InteropServices;
6.7 -
6.8 -// General Information about an assembly is controlled through the following
6.9 -// set of attributes. Change these attribute values to modify the information
6.10 -// associated with an assembly.
6.11 -[assembly: AssemblyTitle("SharpDisplayClient")]
6.12 -[assembly: AssemblyDescription("")]
6.13 -[assembly: AssemblyConfiguration("")]
6.14 -[assembly: AssemblyCompany("")]
6.15 -[assembly: AssemblyProduct("SharpDisplayClient")]
6.16 -[assembly: AssemblyCopyright("Copyright © 2014")]
6.17 -[assembly: AssemblyTrademark("")]
6.18 -[assembly: AssemblyCulture("")]
6.19 -
6.20 -// Setting ComVisible to false makes the types in this assembly not visible
6.21 -// to COM components. If you need to access a type in this assembly from
6.22 -// COM, set the ComVisible attribute to true on that type.
6.23 -[assembly: ComVisible(false)]
6.24 -
6.25 -// The following GUID is for the ID of the typelib if this project is exposed to COM
6.26 -[assembly: Guid("36255ddc-eb97-4253-8696-3e360b5bc824")]
6.27 -
6.28 -// Version information for an assembly consists of the following four values:
6.29 -//
6.30 -// Major Version
6.31 -// Minor Version
6.32 -// Build Number
6.33 -// Revision
6.34 -//
6.35 -// You can specify all the values or you can default the Build and Revision Numbers
6.36 -// by using the '*' as shown below:
6.37 -// [assembly: AssemblyVersion("1.0.*")]
6.38 -[assembly: AssemblyVersion("1.0.0.0")]
6.39 -[assembly: AssemblyFileVersion("1.0.0.0")]
7.1 --- a/Client/Properties/Resources.Designer.cs Tue Feb 02 19:50:33 2016 +0100
7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
7.3 @@ -1,63 +0,0 @@
7.4 -//------------------------------------------------------------------------------
7.5 -// <auto-generated>
7.6 -// This code was generated by a tool.
7.7 -// Runtime Version:4.0.30319.42000
7.8 -//
7.9 -// Changes to this file may cause incorrect behavior and will be lost if
7.10 -// the code is regenerated.
7.11 -// </auto-generated>
7.12 -//------------------------------------------------------------------------------
7.13 -
7.14 -namespace SharpDisplayClient.Properties {
7.15 - using System;
7.16 -
7.17 -
7.18 - /// <summary>
7.19 - /// A strongly-typed resource class, for looking up localized strings, etc.
7.20 - /// </summary>
7.21 - // This class was auto-generated by the StronglyTypedResourceBuilder
7.22 - // class via a tool like ResGen or Visual Studio.
7.23 - // To add or remove a member, edit your .ResX file then rerun ResGen
7.24 - // with the /str option, or rebuild your VS project.
7.25 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
7.26 - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
7.27 - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
7.28 - internal class Resources {
7.29 -
7.30 - private static global::System.Resources.ResourceManager resourceMan;
7.31 -
7.32 - private static global::System.Globalization.CultureInfo resourceCulture;
7.33 -
7.34 - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
7.35 - internal Resources() {
7.36 - }
7.37 -
7.38 - /// <summary>
7.39 - /// Returns the cached ResourceManager instance used by this class.
7.40 - /// </summary>
7.41 - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
7.42 - internal static global::System.Resources.ResourceManager ResourceManager {
7.43 - get {
7.44 - if (object.ReferenceEquals(resourceMan, null)) {
7.45 - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SharpDisplayClient.Properties.Resources", typeof(Resources).Assembly);
7.46 - resourceMan = temp;
7.47 - }
7.48 - return resourceMan;
7.49 - }
7.50 - }
7.51 -
7.52 - /// <summary>
7.53 - /// Overrides the current thread's CurrentUICulture property for all
7.54 - /// resource lookups using this strongly typed resource class.
7.55 - /// </summary>
7.56 - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
7.57 - internal static global::System.Globalization.CultureInfo Culture {
7.58 - get {
7.59 - return resourceCulture;
7.60 - }
7.61 - set {
7.62 - resourceCulture = value;
7.63 - }
7.64 - }
7.65 - }
7.66 -}
8.1 --- a/Client/Properties/Resources.resx Tue Feb 02 19:50:33 2016 +0100
8.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
8.3 @@ -1,117 +0,0 @@
8.4 -<?xml version="1.0" encoding="utf-8"?>
8.5 -<root>
8.6 - <!--
8.7 - Microsoft ResX Schema
8.8 -
8.9 - Version 2.0
8.10 -
8.11 - The primary goals of this format is to allow a simple XML format
8.12 - that is mostly human readable. The generation and parsing of the
8.13 - various data types are done through the TypeConverter classes
8.14 - associated with the data types.
8.15 -
8.16 - Example:
8.17 -
8.18 - ... ado.net/XML headers & schema ...
8.19 - <resheader name="resmimetype">text/microsoft-resx</resheader>
8.20 - <resheader name="version">2.0</resheader>
8.21 - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
8.22 - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
8.23 - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
8.24 - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
8.25 - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
8.26 - <value>[base64 mime encoded serialized .NET Framework object]</value>
8.27 - </data>
8.28 - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
8.29 - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
8.30 - <comment>This is a comment</comment>
8.31 - </data>
8.32 -
8.33 - There are any number of "resheader" rows that contain simple
8.34 - name/value pairs.
8.35 -
8.36 - Each data row contains a name, and value. The row also contains a
8.37 - type or mimetype. Type corresponds to a .NET class that support
8.38 - text/value conversion through the TypeConverter architecture.
8.39 - Classes that don't support this are serialized and stored with the
8.40 - mimetype set.
8.41 -
8.42 - The mimetype is used for serialized objects, and tells the
8.43 - ResXResourceReader how to depersist the object. This is currently not
8.44 - extensible. For a given mimetype the value must be set accordingly:
8.45 -
8.46 - Note - application/x-microsoft.net.object.binary.base64 is the format
8.47 - that the ResXResourceWriter will generate, however the reader can
8.48 - read any of the formats listed below.
8.49 -
8.50 - mimetype: application/x-microsoft.net.object.binary.base64
8.51 - value : The object must be serialized with
8.52 - : System.Serialization.Formatters.Binary.BinaryFormatter
8.53 - : and then encoded with base64 encoding.
8.54 -
8.55 - mimetype: application/x-microsoft.net.object.soap.base64
8.56 - value : The object must be serialized with
8.57 - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
8.58 - : and then encoded with base64 encoding.
8.59 -
8.60 - mimetype: application/x-microsoft.net.object.bytearray.base64
8.61 - value : The object must be serialized into a byte array
8.62 - : using a System.ComponentModel.TypeConverter
8.63 - : and then encoded with base64 encoding.
8.64 - -->
8.65 - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
8.66 - <xsd:element name="root" msdata:IsDataSet="true">
8.67 - <xsd:complexType>
8.68 - <xsd:choice maxOccurs="unbounded">
8.69 - <xsd:element name="metadata">
8.70 - <xsd:complexType>
8.71 - <xsd:sequence>
8.72 - <xsd:element name="value" type="xsd:string" minOccurs="0" />
8.73 - </xsd:sequence>
8.74 - <xsd:attribute name="name" type="xsd:string" />
8.75 - <xsd:attribute name="type" type="xsd:string" />
8.76 - <xsd:attribute name="mimetype" type="xsd:string" />
8.77 - </xsd:complexType>
8.78 - </xsd:element>
8.79 - <xsd:element name="assembly">
8.80 - <xsd:complexType>
8.81 - <xsd:attribute name="alias" type="xsd:string" />
8.82 - <xsd:attribute name="name" type="xsd:string" />
8.83 - </xsd:complexType>
8.84 - </xsd:element>
8.85 - <xsd:element name="data">
8.86 - <xsd:complexType>
8.87 - <xsd:sequence>
8.88 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
8.89 - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
8.90 - </xsd:sequence>
8.91 - <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
8.92 - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
8.93 - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
8.94 - </xsd:complexType>
8.95 - </xsd:element>
8.96 - <xsd:element name="resheader">
8.97 - <xsd:complexType>
8.98 - <xsd:sequence>
8.99 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
8.100 - </xsd:sequence>
8.101 - <xsd:attribute name="name" type="xsd:string" use="required" />
8.102 - </xsd:complexType>
8.103 - </xsd:element>
8.104 - </xsd:choice>
8.105 - </xsd:complexType>
8.106 - </xsd:element>
8.107 - </xsd:schema>
8.108 - <resheader name="resmimetype">
8.109 - <value>text/microsoft-resx</value>
8.110 - </resheader>
8.111 - <resheader name="version">
8.112 - <value>2.0</value>
8.113 - </resheader>
8.114 - <resheader name="reader">
8.115 - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
8.116 - </resheader>
8.117 - <resheader name="writer">
8.118 - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
8.119 - </resheader>
8.120 -</root>
8.121 \ No newline at end of file
9.1 --- a/Client/Properties/Settings.Designer.cs Tue Feb 02 19:50:33 2016 +0100
9.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
9.3 @@ -1,26 +0,0 @@
9.4 -//------------------------------------------------------------------------------
9.5 -// <auto-generated>
9.6 -// This code was generated by a tool.
9.7 -// Runtime Version:4.0.30319.42000
9.8 -//
9.9 -// Changes to this file may cause incorrect behavior and will be lost if
9.10 -// the code is regenerated.
9.11 -// </auto-generated>
9.12 -//------------------------------------------------------------------------------
9.13 -
9.14 -namespace SharpDisplayClient.Properties {
9.15 -
9.16 -
9.17 - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
9.18 - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
9.19 - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
9.20 -
9.21 - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
9.22 -
9.23 - public static Settings Default {
9.24 - get {
9.25 - return defaultInstance;
9.26 - }
9.27 - }
9.28 - }
9.29 -}
10.1 --- a/Client/Properties/Settings.settings Tue Feb 02 19:50:33 2016 +0100
10.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
10.3 @@ -1,7 +0,0 @@
10.4 -<?xml version='1.0' encoding='utf-8'?>
10.5 -<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
10.6 - <Profiles>
10.7 - <Profile Name="(Default)" />
10.8 - </Profiles>
10.9 - <Settings />
10.10 -</SettingsFile>
11.1 --- a/Client/SharpDisplayClient.csproj Tue Feb 02 19:50:33 2016 +0100
11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
11.3 @@ -1,164 +0,0 @@
11.4 -<?xml version="1.0" encoding="utf-8"?>
11.5 -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
11.6 - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
11.7 - <PropertyGroup>
11.8 - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
11.9 - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
11.10 - <ProjectGuid>{7EE64074-8CDB-4448-B40C-81B75D6B31CD}</ProjectGuid>
11.11 - <OutputType>WinExe</OutputType>
11.12 - <AppDesignerFolder>Properties</AppDesignerFolder>
11.13 - <RootNamespace>SharpDisplayClient</RootNamespace>
11.14 - <AssemblyName>SharpDisplayClient</AssemblyName>
11.15 - <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
11.16 - <FileAlignment>512</FileAlignment>
11.17 - <TargetFrameworkProfile />
11.18 - <PublishUrl>publish\</PublishUrl>
11.19 - <Install>true</Install>
11.20 - <InstallFrom>Disk</InstallFrom>
11.21 - <UpdateEnabled>false</UpdateEnabled>
11.22 - <UpdateMode>Foreground</UpdateMode>
11.23 - <UpdateInterval>7</UpdateInterval>
11.24 - <UpdateIntervalUnits>Days</UpdateIntervalUnits>
11.25 - <UpdatePeriodically>false</UpdatePeriodically>
11.26 - <UpdateRequired>false</UpdateRequired>
11.27 - <MapFileExtensions>true</MapFileExtensions>
11.28 - <ApplicationRevision>0</ApplicationRevision>
11.29 - <ApplicationVersion>0.1.0.%2a</ApplicationVersion>
11.30 - <IsWebBootstrapper>false</IsWebBootstrapper>
11.31 - <UseApplicationTrust>false</UseApplicationTrust>
11.32 - <BootstrapperEnabled>true</BootstrapperEnabled>
11.33 - </PropertyGroup>
11.34 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
11.35 - <PlatformTarget>AnyCPU</PlatformTarget>
11.36 - <DebugSymbols>true</DebugSymbols>
11.37 - <DebugType>full</DebugType>
11.38 - <Optimize>false</Optimize>
11.39 - <OutputPath>bin\Debug\</OutputPath>
11.40 - <DefineConstants>DEBUG;TRACE</DefineConstants>
11.41 - <ErrorReport>prompt</ErrorReport>
11.42 - <WarningLevel>4</WarningLevel>
11.43 - <Prefer32Bit>false</Prefer32Bit>
11.44 - </PropertyGroup>
11.45 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
11.46 - <PlatformTarget>AnyCPU</PlatformTarget>
11.47 - <DebugType>pdbonly</DebugType>
11.48 - <Optimize>true</Optimize>
11.49 - <OutputPath>bin\Release\</OutputPath>
11.50 - <DefineConstants>TRACE</DefineConstants>
11.51 - <ErrorReport>prompt</ErrorReport>
11.52 - <WarningLevel>4</WarningLevel>
11.53 - <Prefer32Bit>false</Prefer32Bit>
11.54 - </PropertyGroup>
11.55 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
11.56 - <DebugSymbols>true</DebugSymbols>
11.57 - <OutputPath>..\bin\x86\Debug\</OutputPath>
11.58 - <BaseIntermediateOutputPath>..\bin\x86\Debug\obj</BaseIntermediateOutputPath>
11.59 - <DefineConstants>DEBUG;TRACE</DefineConstants>
11.60 - <DebugType>full</DebugType>
11.61 - <PlatformTarget>x86</PlatformTarget>
11.62 - <ErrorReport>prompt</ErrorReport>
11.63 - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
11.64 - <Prefer32Bit>false</Prefer32Bit>
11.65 - </PropertyGroup>
11.66 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
11.67 - <OutputPath>..\bin\x86\Release\</OutputPath>
11.68 - <BaseIntermediateOutputPath>..\bin\x86\Release\obj</BaseIntermediateOutputPath>
11.69 - <DefineConstants>TRACE</DefineConstants>
11.70 - <Optimize>true</Optimize>
11.71 - <DebugType>pdbonly</DebugType>
11.72 - <PlatformTarget>x86</PlatformTarget>
11.73 - <ErrorReport>prompt</ErrorReport>
11.74 - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
11.75 - <Prefer32Bit>false</Prefer32Bit>
11.76 - </PropertyGroup>
11.77 - <PropertyGroup>
11.78 - <SignManifests>true</SignManifests>
11.79 - </PropertyGroup>
11.80 - <PropertyGroup>
11.81 - <ManifestCertificateThumbprint>70A149AB9F89E507D9411D109553BE22455895D6</ManifestCertificateThumbprint>
11.82 - </PropertyGroup>
11.83 - <PropertyGroup>
11.84 - <ManifestKeyFile>SharpDisplayManager_TemporaryKey.pfx</ManifestKeyFile>
11.85 - </PropertyGroup>
11.86 - <PropertyGroup>
11.87 - <NoWin32Manifest>true</NoWin32Manifest>
11.88 - </PropertyGroup>
11.89 - <ItemGroup>
11.90 - <Reference Include="SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
11.91 - <HintPath>..\packages\SharpLibDisplay.0.2.5\lib\net40\SharpLibDisplay.dll</HintPath>
11.92 - <Private>True</Private>
11.93 - </Reference>
11.94 - <Reference Include="System" />
11.95 - <Reference Include="System.Core" />
11.96 - <Reference Include="System.ServiceModel" />
11.97 - <Reference Include="System.Xml.Linq" />
11.98 - <Reference Include="System.Data.DataSetExtensions" />
11.99 - <Reference Include="Microsoft.CSharp" />
11.100 - <Reference Include="System.Data" />
11.101 - <Reference Include="System.Deployment" />
11.102 - <Reference Include="System.Drawing" />
11.103 - <Reference Include="System.Windows.Forms" />
11.104 - <Reference Include="System.Xml" />
11.105 - </ItemGroup>
11.106 - <ItemGroup>
11.107 - <Compile Include="MainForm.cs">
11.108 - <SubType>Form</SubType>
11.109 - </Compile>
11.110 - <Compile Include="MainForm.Designer.cs">
11.111 - <DependentUpon>MainForm.cs</DependentUpon>
11.112 - </Compile>
11.113 - <Compile Include="Program.cs" />
11.114 - <Compile Include="Properties\AssemblyInfo.cs" />
11.115 - <EmbeddedResource Include="MainForm.resx">
11.116 - <DependentUpon>MainForm.cs</DependentUpon>
11.117 - </EmbeddedResource>
11.118 - <EmbeddedResource Include="Properties\Resources.resx">
11.119 - <Generator>ResXFileCodeGenerator</Generator>
11.120 - <LastGenOutput>Resources.Designer.cs</LastGenOutput>
11.121 - <SubType>Designer</SubType>
11.122 - </EmbeddedResource>
11.123 - <Compile Include="Properties\Resources.Designer.cs">
11.124 - <AutoGen>True</AutoGen>
11.125 - <DependentUpon>Resources.resx</DependentUpon>
11.126 - <DesignTime>True</DesignTime>
11.127 - </Compile>
11.128 - <None Include="packages.config" />
11.129 - <None Include="Properties\Settings.settings">
11.130 - <Generator>SettingsSingleFileGenerator</Generator>
11.131 - <LastGenOutput>Settings.Designer.cs</LastGenOutput>
11.132 - </None>
11.133 - <Compile Include="Properties\Settings.Designer.cs">
11.134 - <AutoGen>True</AutoGen>
11.135 - <DependentUpon>Settings.settings</DependentUpon>
11.136 - <DesignTimeSharedInput>True</DesignTimeSharedInput>
11.137 - </Compile>
11.138 - </ItemGroup>
11.139 - <ItemGroup>
11.140 - <None Include="App.config" />
11.141 - </ItemGroup>
11.142 - <ItemGroup>
11.143 - <BootstrapperPackage Include=".NETFramework,Version=v4.5">
11.144 - <Visible>False</Visible>
11.145 - <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
11.146 - <Install>true</Install>
11.147 - </BootstrapperPackage>
11.148 - <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
11.149 - <Visible>False</Visible>
11.150 - <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
11.151 - <Install>false</Install>
11.152 - </BootstrapperPackage>
11.153 - <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
11.154 - <Visible>False</Visible>
11.155 - <ProductName>.NET Framework 3.5 SP1</ProductName>
11.156 - <Install>false</Install>
11.157 - </BootstrapperPackage>
11.158 - </ItemGroup>
11.159 - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
11.160 - <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
11.161 - Other similar extension points exist, see Microsoft.Common.targets.
11.162 - <Target Name="BeforeBuild">
11.163 - </Target>
11.164 - <Target Name="AfterBuild">
11.165 - </Target>
11.166 - -->
11.167 -</Project>
11.168 \ No newline at end of file
12.1 --- a/Client/packages.config Tue Feb 02 19:50:33 2016 +0100
12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
12.3 @@ -1,4 +0,0 @@
12.4 -<?xml version="1.0" encoding="utf-8"?>
12.5 -<packages>
12.6 - <package id="SharpLibDisplay" version="0.2.5" targetFramework="net46" />
12.7 -</packages>
12.8 \ No newline at end of file
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/Clients/Test/App.config Wed Feb 03 13:02:48 2016 +0100
13.3 @@ -0,0 +1,6 @@
13.4 +<?xml version="1.0"?>
13.5 +<configuration>
13.6 + <startup>
13.7 + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
13.8 + </startup>
13.9 +</configuration>
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/Clients/Test/MainForm.Designer.cs Wed Feb 03 13:02:48 2016 +0100
14.3 @@ -0,0 +1,254 @@
14.4 +namespace SharpDisplayClient
14.5 +{
14.6 + partial class MainForm
14.7 + {
14.8 + /// <summary>
14.9 + /// Required designer variable.
14.10 + /// </summary>
14.11 + private System.ComponentModel.IContainer components = null;
14.12 +
14.13 + /// <summary>
14.14 + /// Clean up any resources being used.
14.15 + /// </summary>
14.16 + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
14.17 + protected override void Dispose(bool disposing)
14.18 + {
14.19 + if (disposing && (components != null))
14.20 + {
14.21 + components.Dispose();
14.22 + }
14.23 + base.Dispose(disposing);
14.24 + }
14.25 +
14.26 + #region Windows Form Designer generated code
14.27 +
14.28 + /// <summary>
14.29 + /// Required method for Designer support - do not modify
14.30 + /// the contents of this method with the code editor.
14.31 + /// </summary>
14.32 + private void InitializeComponent()
14.33 + {
14.34 + this.buttonSetText = new System.Windows.Forms.Button();
14.35 + this.textBoxTop = new System.Windows.Forms.TextBox();
14.36 + this.textBoxBottom = new System.Windows.Forms.TextBox();
14.37 + this.buttonAlignRight = new System.Windows.Forms.Button();
14.38 + this.buttonAlignCenter = new System.Windows.Forms.Button();
14.39 + this.buttonAlignLeft = new System.Windows.Forms.Button();
14.40 + this.buttonSetTopText = new System.Windows.Forms.Button();
14.41 + this.buttonLayoutUpdate = new System.Windows.Forms.Button();
14.42 + this.buttonSetBitmap = new System.Windows.Forms.Button();
14.43 + this.buttonBitmapLayout = new System.Windows.Forms.Button();
14.44 + this.buttonIndicatorsLayout = new System.Windows.Forms.Button();
14.45 + this.buttonUpdateTexts = new System.Windows.Forms.Button();
14.46 + this.buttonLayoutOneTextField = new System.Windows.Forms.Button();
14.47 + this.numericUpDownPriority = new System.Windows.Forms.NumericUpDown();
14.48 + this.labelPriority = new System.Windows.Forms.Label();
14.49 + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).BeginInit();
14.50 + this.SuspendLayout();
14.51 + //
14.52 + // buttonSetText
14.53 + //
14.54 + this.buttonSetText.Location = new System.Drawing.Point(13, 132);
14.55 + this.buttonSetText.Name = "buttonSetText";
14.56 + this.buttonSetText.Size = new System.Drawing.Size(75, 23);
14.57 + this.buttonSetText.TabIndex = 0;
14.58 + this.buttonSetText.Text = "Set Text";
14.59 + this.buttonSetText.UseVisualStyleBackColor = true;
14.60 + this.buttonSetText.Click += new System.EventHandler(this.buttonSetText_Click);
14.61 + //
14.62 + // textBoxTop
14.63 + //
14.64 + this.textBoxTop.Location = new System.Drawing.Point(12, 31);
14.65 + this.textBoxTop.Name = "textBoxTop";
14.66 + this.textBoxTop.Size = new System.Drawing.Size(419, 20);
14.67 + this.textBoxTop.TabIndex = 1;
14.68 + //
14.69 + // textBoxBottom
14.70 + //
14.71 + this.textBoxBottom.Location = new System.Drawing.Point(12, 57);
14.72 + this.textBoxBottom.Name = "textBoxBottom";
14.73 + this.textBoxBottom.Size = new System.Drawing.Size(419, 20);
14.74 + this.textBoxBottom.TabIndex = 2;
14.75 + //
14.76 + // buttonAlignRight
14.77 + //
14.78 + this.buttonAlignRight.Location = new System.Drawing.Point(176, 160);
14.79 + this.buttonAlignRight.Name = "buttonAlignRight";
14.80 + this.buttonAlignRight.Size = new System.Drawing.Size(75, 23);
14.81 + this.buttonAlignRight.TabIndex = 23;
14.82 + this.buttonAlignRight.Text = "Align Right";
14.83 + this.buttonAlignRight.UseVisualStyleBackColor = true;
14.84 + this.buttonAlignRight.Click += new System.EventHandler(this.buttonAlignRight_Click);
14.85 + //
14.86 + // buttonAlignCenter
14.87 + //
14.88 + this.buttonAlignCenter.Location = new System.Drawing.Point(94, 161);
14.89 + this.buttonAlignCenter.Name = "buttonAlignCenter";
14.90 + this.buttonAlignCenter.Size = new System.Drawing.Size(75, 23);
14.91 + this.buttonAlignCenter.TabIndex = 22;
14.92 + this.buttonAlignCenter.Text = "Align Center";
14.93 + this.buttonAlignCenter.UseVisualStyleBackColor = true;
14.94 + this.buttonAlignCenter.Click += new System.EventHandler(this.buttonAlignCenter_Click);
14.95 + //
14.96 + // buttonAlignLeft
14.97 + //
14.98 + this.buttonAlignLeft.Location = new System.Drawing.Point(12, 161);
14.99 + this.buttonAlignLeft.Name = "buttonAlignLeft";
14.100 + this.buttonAlignLeft.Size = new System.Drawing.Size(75, 23);
14.101 + this.buttonAlignLeft.TabIndex = 21;
14.102 + this.buttonAlignLeft.Text = "Align Left";
14.103 + this.buttonAlignLeft.UseVisualStyleBackColor = true;
14.104 + this.buttonAlignLeft.Click += new System.EventHandler(this.buttonAlignLeft_Click);
14.105 + //
14.106 + // buttonSetTopText
14.107 + //
14.108 + this.buttonSetTopText.Location = new System.Drawing.Point(94, 132);
14.109 + this.buttonSetTopText.Name = "buttonSetTopText";
14.110 + this.buttonSetTopText.Size = new System.Drawing.Size(75, 23);
14.111 + this.buttonSetTopText.TabIndex = 24;
14.112 + this.buttonSetTopText.Text = "Set Top Text";
14.113 + this.buttonSetTopText.UseVisualStyleBackColor = true;
14.114 + this.buttonSetTopText.Click += new System.EventHandler(this.buttonSetTopText_Click);
14.115 + //
14.116 + // buttonLayoutUpdate
14.117 + //
14.118 + this.buttonLayoutUpdate.Location = new System.Drawing.Point(176, 131);
14.119 + this.buttonLayoutUpdate.Name = "buttonLayoutUpdate";
14.120 + this.buttonLayoutUpdate.Size = new System.Drawing.Size(156, 23);
14.121 + this.buttonLayoutUpdate.TabIndex = 25;
14.122 + this.buttonLayoutUpdate.Text = "Layout 2x2 and Recording";
14.123 + this.buttonLayoutUpdate.UseVisualStyleBackColor = true;
14.124 + this.buttonLayoutUpdate.Click += new System.EventHandler(this.buttonLayoutUpdate_Click);
14.125 + //
14.126 + // buttonSetBitmap
14.127 + //
14.128 + this.buttonSetBitmap.Location = new System.Drawing.Point(12, 190);
14.129 + this.buttonSetBitmap.Name = "buttonSetBitmap";
14.130 + this.buttonSetBitmap.Size = new System.Drawing.Size(75, 23);
14.131 + this.buttonSetBitmap.TabIndex = 26;
14.132 + this.buttonSetBitmap.Text = "Set Bitmap";
14.133 + this.buttonSetBitmap.UseVisualStyleBackColor = true;
14.134 + this.buttonSetBitmap.Click += new System.EventHandler(this.buttonSetBitmap_Click);
14.135 + //
14.136 + // buttonBitmapLayout
14.137 + //
14.138 + this.buttonBitmapLayout.Location = new System.Drawing.Point(176, 189);
14.139 + this.buttonBitmapLayout.Name = "buttonBitmapLayout";
14.140 + this.buttonBitmapLayout.Size = new System.Drawing.Size(75, 35);
14.141 + this.buttonBitmapLayout.TabIndex = 27;
14.142 + this.buttonBitmapLayout.Text = "Bitmap Layout";
14.143 + this.buttonBitmapLayout.UseVisualStyleBackColor = true;
14.144 + this.buttonBitmapLayout.Click += new System.EventHandler(this.buttonBitmapLayout_Click);
14.145 + //
14.146 + // buttonIndicatorsLayout
14.147 + //
14.148 + this.buttonIndicatorsLayout.Location = new System.Drawing.Point(94, 189);
14.149 + this.buttonIndicatorsLayout.Name = "buttonIndicatorsLayout";
14.150 + this.buttonIndicatorsLayout.Size = new System.Drawing.Size(75, 35);
14.151 + this.buttonIndicatorsLayout.TabIndex = 28;
14.152 + this.buttonIndicatorsLayout.Text = "Indicators Layout ";
14.153 + this.buttonIndicatorsLayout.UseVisualStyleBackColor = true;
14.154 + this.buttonIndicatorsLayout.Click += new System.EventHandler(this.buttonIndicatorsLayout_Click);
14.155 + //
14.156 + // buttonUpdateTexts
14.157 + //
14.158 + this.buttonUpdateTexts.Location = new System.Drawing.Point(257, 189);
14.159 + this.buttonUpdateTexts.Name = "buttonUpdateTexts";
14.160 + this.buttonUpdateTexts.Size = new System.Drawing.Size(75, 35);
14.161 + this.buttonUpdateTexts.TabIndex = 29;
14.162 + this.buttonUpdateTexts.Text = "Update Texts";
14.163 + this.buttonUpdateTexts.UseVisualStyleBackColor = true;
14.164 + this.buttonUpdateTexts.Click += new System.EventHandler(this.buttonUpdateTexts_Click);
14.165 + //
14.166 + // buttonLayoutOneTextField
14.167 + //
14.168 + this.buttonLayoutOneTextField.Location = new System.Drawing.Point(257, 160);
14.169 + this.buttonLayoutOneTextField.Name = "buttonLayoutOneTextField";
14.170 + this.buttonLayoutOneTextField.Size = new System.Drawing.Size(75, 23);
14.171 + this.buttonLayoutOneTextField.TabIndex = 30;
14.172 + this.buttonLayoutOneTextField.Text = "Layout 1x1";
14.173 + this.buttonLayoutOneTextField.UseVisualStyleBackColor = true;
14.174 + this.buttonLayoutOneTextField.Click += new System.EventHandler(this.buttonLayoutOneTextField_Click);
14.175 + //
14.176 + // numericUpDownPriority
14.177 + //
14.178 + this.numericUpDownPriority.Increment = new decimal(new int[] {
14.179 + 10,
14.180 + 0,
14.181 + 0,
14.182 + 0});
14.183 + this.numericUpDownPriority.Location = new System.Drawing.Point(57, 83);
14.184 + this.numericUpDownPriority.Maximum = new decimal(new int[] {
14.185 + 1000,
14.186 + 0,
14.187 + 0,
14.188 + 0});
14.189 + this.numericUpDownPriority.Name = "numericUpDownPriority";
14.190 + this.numericUpDownPriority.Size = new System.Drawing.Size(60, 20);
14.191 + this.numericUpDownPriority.TabIndex = 31;
14.192 + this.numericUpDownPriority.Value = new decimal(new int[] {
14.193 + 500,
14.194 + 0,
14.195 + 0,
14.196 + 0});
14.197 + this.numericUpDownPriority.ValueChanged += new System.EventHandler(this.numericUpDownPriority_ValueChanged);
14.198 + //
14.199 + // labelPriority
14.200 + //
14.201 + this.labelPriority.AutoSize = true;
14.202 + this.labelPriority.Location = new System.Drawing.Point(12, 85);
14.203 + this.labelPriority.Name = "labelPriority";
14.204 + this.labelPriority.Size = new System.Drawing.Size(41, 13);
14.205 + this.labelPriority.TabIndex = 32;
14.206 + this.labelPriority.Text = "Priority:";
14.207 + //
14.208 + // MainForm
14.209 + //
14.210 + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
14.211 + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
14.212 + this.ClientSize = new System.Drawing.Size(443, 252);
14.213 + this.Controls.Add(this.labelPriority);
14.214 + this.Controls.Add(this.numericUpDownPriority);
14.215 + this.Controls.Add(this.buttonLayoutOneTextField);
14.216 + this.Controls.Add(this.buttonUpdateTexts);
14.217 + this.Controls.Add(this.buttonIndicatorsLayout);
14.218 + this.Controls.Add(this.buttonBitmapLayout);
14.219 + this.Controls.Add(this.buttonSetBitmap);
14.220 + this.Controls.Add(this.buttonLayoutUpdate);
14.221 + this.Controls.Add(this.buttonSetTopText);
14.222 + this.Controls.Add(this.buttonAlignRight);
14.223 + this.Controls.Add(this.buttonAlignCenter);
14.224 + this.Controls.Add(this.buttonAlignLeft);
14.225 + this.Controls.Add(this.textBoxBottom);
14.226 + this.Controls.Add(this.textBoxTop);
14.227 + this.Controls.Add(this.buttonSetText);
14.228 + this.Name = "MainForm";
14.229 + this.Text = "Client";
14.230 + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
14.231 + this.Load += new System.EventHandler(this.MainForm_Load);
14.232 + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).EndInit();
14.233 + this.ResumeLayout(false);
14.234 + this.PerformLayout();
14.235 +
14.236 + }
14.237 +
14.238 + #endregion
14.239 +
14.240 + private System.Windows.Forms.Button buttonSetText;
14.241 + private System.Windows.Forms.TextBox textBoxTop;
14.242 + private System.Windows.Forms.TextBox textBoxBottom;
14.243 + private System.Windows.Forms.Button buttonAlignRight;
14.244 + private System.Windows.Forms.Button buttonAlignCenter;
14.245 + private System.Windows.Forms.Button buttonAlignLeft;
14.246 + private System.Windows.Forms.Button buttonSetTopText;
14.247 + private System.Windows.Forms.Button buttonLayoutUpdate;
14.248 + private System.Windows.Forms.Button buttonSetBitmap;
14.249 + private System.Windows.Forms.Button buttonBitmapLayout;
14.250 + private System.Windows.Forms.Button buttonIndicatorsLayout;
14.251 + private System.Windows.Forms.Button buttonUpdateTexts;
14.252 + private System.Windows.Forms.Button buttonLayoutOneTextField;
14.253 + private System.Windows.Forms.NumericUpDown numericUpDownPriority;
14.254 + private System.Windows.Forms.Label labelPriority;
14.255 + }
14.256 +}
14.257 +
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/Clients/Test/MainForm.cs Wed Feb 03 13:02:48 2016 +0100
15.3 @@ -0,0 +1,404 @@
15.4 +//
15.5 +// Copyright (C) 2014-2015 Stéphane Lenclud.
15.6 +//
15.7 +// This file is part of SharpDisplayManager.
15.8 +//
15.9 +// SharpDisplayManager is free software: you can redistribute it and/or modify
15.10 +// it under the terms of the GNU General Public License as published by
15.11 +// the Free Software Foundation, either version 3 of the License, or
15.12 +// (at your option) any later version.
15.13 +//
15.14 +// SharpDisplayManager is distributed in the hope that it will be useful,
15.15 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
15.16 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15.17 +// GNU General Public License for more details.
15.18 +//
15.19 +// You should have received a copy of the GNU General Public License
15.20 +// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
15.21 +//
15.22 +
15.23 +using System;
15.24 +using System.Collections.Generic;
15.25 +using System.ComponentModel;
15.26 +using System.Data;
15.27 +using System.Drawing;
15.28 +using System.Linq;
15.29 +using System.Text;
15.30 +using System.Threading.Tasks;
15.31 +using System.Windows.Forms;
15.32 +using System.ServiceModel;
15.33 +using System.ServiceModel.Channels;
15.34 +using System.Diagnostics;
15.35 +using SharpLib.Display;
15.36 +
15.37 +
15.38 +namespace SharpDisplayClient
15.39 +{
15.40 + public partial class MainForm : Form
15.41 + {
15.42 + public StartParams Params { get; set; }
15.43 +
15.44 + //
15.45 + Client iClient;
15.46 + //
15.47 + ContentAlignment Alignment;
15.48 + TextField iTextFieldTop;
15.49 +
15.50 +
15.51 + /// <summary>
15.52 + /// Constructor
15.53 + /// </summary>
15.54 + public MainForm()
15.55 + {
15.56 + InitializeComponent();
15.57 + Alignment = ContentAlignment.MiddleLeft;
15.58 + iTextFieldTop = new TextField();
15.59 + }
15.60 +
15.61 + public void OnCloseOrder()
15.62 + {
15.63 + CloseThreadSafe();
15.64 + }
15.65 +
15.66 + /// <summary>
15.67 + ///
15.68 + /// </summary>
15.69 + /// <param name="sender"></param>
15.70 + /// <param name="e"></param>
15.71 + private void MainForm_Load(object sender, EventArgs e)
15.72 + {
15.73 + iClient = new Client();
15.74 + iClient.CloseOrderEvent += OnCloseOrder;
15.75 + iClient.Open();
15.76 +
15.77 + //Connect using unique name
15.78 + //string name = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt");
15.79 + string name = "Client-" + (iClient.ClientCount() - 1);
15.80 + iClient.SetName(name);
15.81 + //Text = Text + ": " + name;
15.82 + Text = "[[" + name + "]] " + iClient.SessionId;
15.83 +
15.84 + //
15.85 + textBoxTop.Text = iClient.Name;
15.86 + textBoxBottom.Text = iClient.SessionId;
15.87 +
15.88 + if (Params != null)
15.89 + {
15.90 + //Parameters where specified use them
15.91 + if (Params.TopText != "")
15.92 + {
15.93 + textBoxTop.Text = Params.TopText;
15.94 + }
15.95 +
15.96 + if (Params.BottomText != "")
15.97 + {
15.98 + textBoxBottom.Text = Params.BottomText;
15.99 + }
15.100 +
15.101 + Location = Params.Location;
15.102 + //
15.103 + SetBasicLayoutAndText();
15.104 + }
15.105 +
15.106 + }
15.107 +
15.108 +
15.109 +
15.110 + public delegate void CloseConnectionDelegate();
15.111 + public delegate void CloseDelegate();
15.112 +
15.113 + /// <summary>
15.114 + ///
15.115 + /// </summary>
15.116 + public void CloseConnectionThreadSafe()
15.117 + {
15.118 + if (this.InvokeRequired)
15.119 + {
15.120 + //Not in the proper thread, invoke ourselves
15.121 + CloseConnectionDelegate d = new CloseConnectionDelegate(CloseConnectionThreadSafe);
15.122 + this.Invoke(d, new object[] { });
15.123 + }
15.124 + else
15.125 + {
15.126 + //We are in the proper thread
15.127 + if (IsClientReady())
15.128 + {
15.129 + string sessionId = iClient.SessionId;
15.130 + Trace.TraceInformation("Closing client: " + sessionId);
15.131 + iClient.Close();
15.132 + Trace.TraceInformation("Closed client: " + sessionId);
15.133 + }
15.134 +
15.135 + iClient = null;
15.136 + }
15.137 + }
15.138 +
15.139 + /// <summary>
15.140 + ///
15.141 + /// </summary>
15.142 + public void CloseThreadSafe()
15.143 + {
15.144 + if (this.InvokeRequired)
15.145 + {
15.146 + //Not in the proper thread, invoke ourselves
15.147 + CloseDelegate d = new CloseDelegate(CloseThreadSafe);
15.148 + this.Invoke(d, new object[] { });
15.149 + }
15.150 + else
15.151 + {
15.152 + //We are in the proper thread
15.153 + Close();
15.154 + }
15.155 + }
15.156 +
15.157 +
15.158 + private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
15.159 + {
15.160 + CloseConnectionThreadSafe();
15.161 + }
15.162 +
15.163 + public bool IsClientReady()
15.164 + {
15.165 + return (iClient != null && iClient.IsReady());
15.166 + }
15.167 +
15.168 + private void buttonAlignLeft_Click(object sender, EventArgs e)
15.169 + {
15.170 + Alignment = ContentAlignment.MiddleLeft;
15.171 + textBoxTop.TextAlign = HorizontalAlignment.Left;
15.172 + textBoxBottom.TextAlign = HorizontalAlignment.Left;
15.173 + }
15.174 +
15.175 + private void buttonAlignCenter_Click(object sender, EventArgs e)
15.176 + {
15.177 + Alignment = ContentAlignment.MiddleCenter;
15.178 + textBoxTop.TextAlign = HorizontalAlignment.Center;
15.179 + textBoxBottom.TextAlign = HorizontalAlignment.Center;
15.180 + }
15.181 +
15.182 + private void buttonAlignRight_Click(object sender, EventArgs e)
15.183 + {
15.184 + Alignment = ContentAlignment.MiddleRight;
15.185 + textBoxTop.TextAlign = HorizontalAlignment.Right;
15.186 + textBoxBottom.TextAlign = HorizontalAlignment.Right;
15.187 + }
15.188 +
15.189 + private void buttonSetTopText_Click(object sender, EventArgs e)
15.190 + {
15.191 + //TextField top = new TextField(0, textBoxTop.Text, ContentAlignment.MiddleLeft);
15.192 + iTextFieldTop.Text = textBoxTop.Text;
15.193 + iTextFieldTop.Alignment = Alignment;
15.194 + bool res = iClient.SetField(iTextFieldTop);
15.195 +
15.196 + if (!res)
15.197 + {
15.198 + MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
15.199 + }
15.200 +
15.201 +
15.202 + }
15.203 +
15.204 + private void buttonSetText_Click(object sender, EventArgs e)
15.205 + {
15.206 + SetBasicLayoutAndText();
15.207 + }
15.208 +
15.209 + void SetBasicLayoutAndText()
15.210 + {
15.211 + //Set one column two lines layout
15.212 + TableLayout layout = new TableLayout(1, 2);
15.213 + iClient.SetLayout(layout);
15.214 +
15.215 + //Set our fields
15.216 + iClient.CreateFields(new DataField[]
15.217 + {
15.218 + new TextField(textBoxTop.Text, Alignment, 0, 0),
15.219 + new TextField(textBoxBottom.Text, Alignment, 0, 1)
15.220 + });
15.221 +
15.222 + }
15.223 +
15.224 + private void buttonLayoutUpdate_Click(object sender, EventArgs e)
15.225 + {
15.226 + //Define a 2 by 2 layout
15.227 + TableLayout layout = new TableLayout(2,2);
15.228 + //Second column only takes up 25%
15.229 + layout.Columns[1].Width = 25F;
15.230 + //Send layout to server
15.231 + iClient.SetLayout(layout);
15.232 +
15.233 + //
15.234 + RecordingField recording = new RecordingField();
15.235 + recording.IsActive = true;
15.236 + recording.Text = "Recording Tame of Gone until 22:05";
15.237 + //Set texts
15.238 + iClient.CreateFields(new DataField[]
15.239 + {
15.240 + new TextField(textBoxTop.Text, Alignment, 0, 0),
15.241 + new TextField(textBoxBottom.Text, Alignment, 0, 1),
15.242 + new TextField("Third text field", Alignment, 1, 0),
15.243 + new TextField("Forth text field", Alignment, 1, 1),
15.244 + recording
15.245 + });
15.246 +
15.247 + }
15.248 +
15.249 + private void buttonSetBitmap_Click(object sender, EventArgs e)
15.250 + {
15.251 + int x1 = 0;
15.252 + int y1 = 0;
15.253 + int x2 = 256;
15.254 + int y2 = 32;
15.255 +
15.256 + Bitmap bitmap = new Bitmap(x2,y2);
15.257 + Pen blackPen = new Pen(Color.Black, 3);
15.258 +
15.259 + // Draw line to screen.
15.260 + using (var graphics = Graphics.FromImage(bitmap))
15.261 + {
15.262 + graphics.DrawLine(blackPen, x1, y1, x2, y2);
15.263 + graphics.DrawLine(blackPen, x1, y2, x2, y1);
15.264 + }
15.265 +
15.266 + DataField field = new BitmapField(bitmap);
15.267 + //field.ColumnSpan = 2;
15.268 + iClient.SetField(field);
15.269 + }
15.270 +
15.271 + private void buttonBitmapLayout_Click(object sender, EventArgs e)
15.272 + {
15.273 + SetLayoutWithBitmap();
15.274 + }
15.275 +
15.276 + /// <summary>
15.277 + /// Define a layout with a bitmap field on the left and two lines of text on the right.
15.278 + /// </summary>
15.279 + private void SetLayoutWithBitmap()
15.280 + {
15.281 + //Define a 2 by 2 layout
15.282 + TableLayout layout = new TableLayout(2, 2);
15.283 + //First column only takes 25%
15.284 + layout.Columns[0].Width = 25F;
15.285 + //Second column takes up 75%
15.286 + layout.Columns[1].Width = 75F;
15.287 + //Send layout to server
15.288 + iClient.SetLayout(layout);
15.289 +
15.290 + //Set a bitmap for our first field
15.291 + int x1 = 0;
15.292 + int y1 = 0;
15.293 + int x2 = 64;
15.294 + int y2 = 64;
15.295 +
15.296 + Bitmap bitmap = new Bitmap(x2, y2);
15.297 + Pen blackPen = new Pen(Color.Black, 3);
15.298 +
15.299 + // Draw line to screen.
15.300 + using (var graphics = Graphics.FromImage(bitmap))
15.301 + {
15.302 + graphics.DrawLine(blackPen, x1, y1, x2, y2);
15.303 + graphics.DrawLine(blackPen, x1, y2, x2, y1);
15.304 + }
15.305 +
15.306 + //Create a bitmap field from the bitmap we just created
15.307 + //We want our bitmap field to span across two rows
15.308 + BitmapField bitmapField = new BitmapField(bitmap, 0, 0, 1, 2);
15.309 +
15.310 + //Set texts
15.311 + iClient.CreateFields(new DataField[]
15.312 + {
15.313 + bitmapField,
15.314 + new TextField(textBoxTop.Text, Alignment, 1, 0),
15.315 + new TextField(textBoxBottom.Text, Alignment, 1, 1)
15.316 + });
15.317 +
15.318 + }
15.319 +
15.320 + private void buttonIndicatorsLayout_Click(object sender, EventArgs e)
15.321 + {
15.322 + //Define a 2 by 4 layout
15.323 + TableLayout layout = new TableLayout(2, 4);
15.324 + //First column
15.325 + layout.Columns[0].Width = 87.5F;
15.326 + //Second column
15.327 + layout.Columns[1].Width = 12.5F;
15.328 + //Send layout to server
15.329 + iClient.SetLayout(layout);
15.330 +
15.331 + //Create a bitmap for our indicators field
15.332 + int x1 = 0;
15.333 + int y1 = 0;
15.334 + int x2 = 32;
15.335 + int y2 = 16;
15.336 +
15.337 + Bitmap bitmap = new Bitmap(x2, y2);
15.338 + Pen blackPen = new Pen(Color.Black, 3);
15.339 +
15.340 + // Draw line to screen.
15.341 + using (var graphics = Graphics.FromImage(bitmap))
15.342 + {
15.343 + graphics.DrawLine(blackPen, x1, y1, x2, y2);
15.344 + graphics.DrawLine(blackPen, x1, y2, x2, y1);
15.345 + }
15.346 +
15.347 + //Create a bitmap field from the bitmap we just created
15.348 + DataField indicator1 = new BitmapField(bitmap, 1, 0);
15.349 + //Create a bitmap field from the bitmap we just created
15.350 + DataField indicator2 = new BitmapField(bitmap, 1, 1);
15.351 + //Create a bitmap field from the bitmap we just created
15.352 + DataField indicator3 = new BitmapField(bitmap, 1, 2);
15.353 + //Create a bitmap field from the bitmap we just created
15.354 + DataField indicator4 = new BitmapField(bitmap, 1, 3);
15.355 +
15.356 + //
15.357 + TextField textFieldTop = new TextField(textBoxTop.Text, Alignment, 0, 0, 1, 2);
15.358 + TextField textFieldBottom = new TextField(textBoxBottom.Text, Alignment, 0, 2, 1, 2);
15.359 +
15.360 + //Set texts
15.361 + iClient.CreateFields(new DataField[]
15.362 + {
15.363 + textFieldTop,
15.364 + textFieldBottom,
15.365 + indicator1,
15.366 + indicator2,
15.367 + indicator3,
15.368 + indicator4
15.369 + });
15.370 +
15.371 + }
15.372 +
15.373 + private void buttonUpdateTexts_Click(object sender, EventArgs e)
15.374 + {
15.375 +
15.376 + bool res = iClient.SetFields(new DataField[]
15.377 + {
15.378 + new TextField(textBoxTop.Text, Alignment,0,0),
15.379 + new TextField(textBoxBottom.Text, Alignment,0,1)
15.380 + });
15.381 +
15.382 + if (!res)
15.383 + {
15.384 + MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
15.385 + }
15.386 +
15.387 + }
15.388 +
15.389 + private void buttonLayoutOneTextField_Click(object sender, EventArgs e)
15.390 + {
15.391 + //Set one column one line layout
15.392 + TableLayout layout = new TableLayout(1, 1);
15.393 + iClient.SetLayout(layout);
15.394 +
15.395 + //Set our fields
15.396 + iClient.CreateFields(new DataField[]
15.397 + {
15.398 + new TextField(textBoxTop.Text, Alignment)
15.399 + });
15.400 + }
15.401 +
15.402 + private void numericUpDownPriority_ValueChanged(object sender, EventArgs e)
15.403 + {
15.404 + iClient.SetPriority((uint)numericUpDownPriority.Value);
15.405 + }
15.406 + }
15.407 +}
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/Clients/Test/MainForm.resx Wed Feb 03 13:02:48 2016 +0100
16.3 @@ -0,0 +1,120 @@
16.4 +<?xml version="1.0" encoding="utf-8"?>
16.5 +<root>
16.6 + <!--
16.7 + Microsoft ResX Schema
16.8 +
16.9 + Version 2.0
16.10 +
16.11 + The primary goals of this format is to allow a simple XML format
16.12 + that is mostly human readable. The generation and parsing of the
16.13 + various data types are done through the TypeConverter classes
16.14 + associated with the data types.
16.15 +
16.16 + Example:
16.17 +
16.18 + ... ado.net/XML headers & schema ...
16.19 + <resheader name="resmimetype">text/microsoft-resx</resheader>
16.20 + <resheader name="version">2.0</resheader>
16.21 + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
16.22 + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
16.23 + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
16.24 + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
16.25 + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
16.26 + <value>[base64 mime encoded serialized .NET Framework object]</value>
16.27 + </data>
16.28 + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
16.29 + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
16.30 + <comment>This is a comment</comment>
16.31 + </data>
16.32 +
16.33 + There are any number of "resheader" rows that contain simple
16.34 + name/value pairs.
16.35 +
16.36 + Each data row contains a name, and value. The row also contains a
16.37 + type or mimetype. Type corresponds to a .NET class that support
16.38 + text/value conversion through the TypeConverter architecture.
16.39 + Classes that don't support this are serialized and stored with the
16.40 + mimetype set.
16.41 +
16.42 + The mimetype is used for serialized objects, and tells the
16.43 + ResXResourceReader how to depersist the object. This is currently not
16.44 + extensible. For a given mimetype the value must be set accordingly:
16.45 +
16.46 + Note - application/x-microsoft.net.object.binary.base64 is the format
16.47 + that the ResXResourceWriter will generate, however the reader can
16.48 + read any of the formats listed below.
16.49 +
16.50 + mimetype: application/x-microsoft.net.object.binary.base64
16.51 + value : The object must be serialized with
16.52 + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
16.53 + : and then encoded with base64 encoding.
16.54 +
16.55 + mimetype: application/x-microsoft.net.object.soap.base64
16.56 + value : The object must be serialized with
16.57 + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
16.58 + : and then encoded with base64 encoding.
16.59 +
16.60 + mimetype: application/x-microsoft.net.object.bytearray.base64
16.61 + value : The object must be serialized into a byte array
16.62 + : using a System.ComponentModel.TypeConverter
16.63 + : and then encoded with base64 encoding.
16.64 + -->
16.65 + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
16.66 + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
16.67 + <xsd:element name="root" msdata:IsDataSet="true">
16.68 + <xsd:complexType>
16.69 + <xsd:choice maxOccurs="unbounded">
16.70 + <xsd:element name="metadata">
16.71 + <xsd:complexType>
16.72 + <xsd:sequence>
16.73 + <xsd:element name="value" type="xsd:string" minOccurs="0" />
16.74 + </xsd:sequence>
16.75 + <xsd:attribute name="name" use="required" type="xsd:string" />
16.76 + <xsd:attribute name="type" type="xsd:string" />
16.77 + <xsd:attribute name="mimetype" type="xsd:string" />
16.78 + <xsd:attribute ref="xml:space" />
16.79 + </xsd:complexType>
16.80 + </xsd:element>
16.81 + <xsd:element name="assembly">
16.82 + <xsd:complexType>
16.83 + <xsd:attribute name="alias" type="xsd:string" />
16.84 + <xsd:attribute name="name" type="xsd:string" />
16.85 + </xsd:complexType>
16.86 + </xsd:element>
16.87 + <xsd:element name="data">
16.88 + <xsd:complexType>
16.89 + <xsd:sequence>
16.90 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
16.91 + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
16.92 + </xsd:sequence>
16.93 + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
16.94 + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
16.95 + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
16.96 + <xsd:attribute ref="xml:space" />
16.97 + </xsd:complexType>
16.98 + </xsd:element>
16.99 + <xsd:element name="resheader">
16.100 + <xsd:complexType>
16.101 + <xsd:sequence>
16.102 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
16.103 + </xsd:sequence>
16.104 + <xsd:attribute name="name" type="xsd:string" use="required" />
16.105 + </xsd:complexType>
16.106 + </xsd:element>
16.107 + </xsd:choice>
16.108 + </xsd:complexType>
16.109 + </xsd:element>
16.110 + </xsd:schema>
16.111 + <resheader name="resmimetype">
16.112 + <value>text/microsoft-resx</value>
16.113 + </resheader>
16.114 + <resheader name="version">
16.115 + <value>2.0</value>
16.116 + </resheader>
16.117 + <resheader name="reader">
16.118 + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
16.119 + </resheader>
16.120 + <resheader name="writer">
16.121 + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
16.122 + </resheader>
16.123 +</root>
16.124 \ No newline at end of file
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/Clients/Test/Program.cs Wed Feb 03 13:02:48 2016 +0100
17.3 @@ -0,0 +1,73 @@
17.4 +//
17.5 +// Copyright (C) 2014-2015 Stéphane Lenclud.
17.6 +//
17.7 +// This file is part of SharpDisplayManager.
17.8 +//
17.9 +// SharpDisplayManager is free software: you can redistribute it and/or modify
17.10 +// it under the terms of the GNU General Public License as published by
17.11 +// the Free Software Foundation, either version 3 of the License, or
17.12 +// (at your option) any later version.
17.13 +//
17.14 +// SharpDisplayManager is distributed in the hope that it will be useful,
17.15 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
17.16 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17.17 +// GNU General Public License for more details.
17.18 +//
17.19 +// You should have received a copy of the GNU General Public License
17.20 +// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
17.21 +//
17.22 +
17.23 +using System;
17.24 +using System.Collections.Generic;
17.25 +using System.Linq;
17.26 +using System.Threading.Tasks;
17.27 +using System.Windows.Forms;
17.28 +using System.Drawing;
17.29 +
17.30 +namespace SharpDisplayClient
17.31 +{
17.32 + static public class Program
17.33 + {
17.34 + /// <summary>
17.35 + /// The main entry point for the application.
17.36 + /// </summary>
17.37 + [STAThread]
17.38 + static public void Main()
17.39 + {
17.40 + //Set high priority to our process to avoid lags when rendering to our screen
17.41 + System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.AboveNormal;
17.42 +
17.43 + Application.EnableVisualStyles();
17.44 + Application.SetCompatibleTextRenderingDefault(false);
17.45 + Application.Run(new MainForm());
17.46 + }
17.47 +
17.48 + [STAThread]
17.49 + static public void MainWithParams(object aParams)
17.50 + {
17.51 + //Set high priority to our process to avoid lags when rendering to our screen
17.52 + System.Diagnostics.Process.GetCurrentProcess().PriorityClass = System.Diagnostics.ProcessPriorityClass.AboveNormal;
17.53 +
17.54 + Application.EnableVisualStyles();
17.55 + Application.SetCompatibleTextRenderingDefault(false);
17.56 + MainForm mainForm = new MainForm();
17.57 + mainForm.Params = (StartParams)aParams;
17.58 + Application.Run(mainForm);
17.59 + }
17.60 +
17.61 + }
17.62 +
17.63 + public class StartParams
17.64 + {
17.65 + public StartParams(Point aLocation, string aTopText="", string aBottomText="")
17.66 + {
17.67 + TopText = aTopText;
17.68 + BottomText = aBottomText;
17.69 + Location = aLocation;
17.70 + }
17.71 +
17.72 + public string TopText { get; set; }
17.73 + public string BottomText { get; set; }
17.74 + public Point Location { get; set; }
17.75 + }
17.76 +}
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/Clients/Test/Properties/AssemblyInfo.cs Wed Feb 03 13:02:48 2016 +0100
18.3 @@ -0,0 +1,36 @@
18.4 +using System.Reflection;
18.5 +using System.Runtime.CompilerServices;
18.6 +using System.Runtime.InteropServices;
18.7 +
18.8 +// General Information about an assembly is controlled through the following
18.9 +// set of attributes. Change these attribute values to modify the information
18.10 +// associated with an assembly.
18.11 +[assembly: AssemblyTitle("SharpDisplayClient")]
18.12 +[assembly: AssemblyDescription("")]
18.13 +[assembly: AssemblyConfiguration("")]
18.14 +[assembly: AssemblyCompany("")]
18.15 +[assembly: AssemblyProduct("SharpDisplayClient")]
18.16 +[assembly: AssemblyCopyright("Copyright © 2014")]
18.17 +[assembly: AssemblyTrademark("")]
18.18 +[assembly: AssemblyCulture("")]
18.19 +
18.20 +// Setting ComVisible to false makes the types in this assembly not visible
18.21 +// to COM components. If you need to access a type in this assembly from
18.22 +// COM, set the ComVisible attribute to true on that type.
18.23 +[assembly: ComVisible(false)]
18.24 +
18.25 +// The following GUID is for the ID of the typelib if this project is exposed to COM
18.26 +[assembly: Guid("36255ddc-eb97-4253-8696-3e360b5bc824")]
18.27 +
18.28 +// Version information for an assembly consists of the following four values:
18.29 +//
18.30 +// Major Version
18.31 +// Minor Version
18.32 +// Build Number
18.33 +// Revision
18.34 +//
18.35 +// You can specify all the values or you can default the Build and Revision Numbers
18.36 +// by using the '*' as shown below:
18.37 +// [assembly: AssemblyVersion("1.0.*")]
18.38 +[assembly: AssemblyVersion("1.0.0.0")]
18.39 +[assembly: AssemblyFileVersion("1.0.0.0")]
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/Clients/Test/Properties/Resources.Designer.cs Wed Feb 03 13:02:48 2016 +0100
19.3 @@ -0,0 +1,63 @@
19.4 +//------------------------------------------------------------------------------
19.5 +// <auto-generated>
19.6 +// This code was generated by a tool.
19.7 +// Runtime Version:4.0.30319.42000
19.8 +//
19.9 +// Changes to this file may cause incorrect behavior and will be lost if
19.10 +// the code is regenerated.
19.11 +// </auto-generated>
19.12 +//------------------------------------------------------------------------------
19.13 +
19.14 +namespace SharpDisplayClient.Properties {
19.15 + using System;
19.16 +
19.17 +
19.18 + /// <summary>
19.19 + /// A strongly-typed resource class, for looking up localized strings, etc.
19.20 + /// </summary>
19.21 + // This class was auto-generated by the StronglyTypedResourceBuilder
19.22 + // class via a tool like ResGen or Visual Studio.
19.23 + // To add or remove a member, edit your .ResX file then rerun ResGen
19.24 + // with the /str option, or rebuild your VS project.
19.25 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
19.26 + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
19.27 + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
19.28 + internal class Resources {
19.29 +
19.30 + private static global::System.Resources.ResourceManager resourceMan;
19.31 +
19.32 + private static global::System.Globalization.CultureInfo resourceCulture;
19.33 +
19.34 + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
19.35 + internal Resources() {
19.36 + }
19.37 +
19.38 + /// <summary>
19.39 + /// Returns the cached ResourceManager instance used by this class.
19.40 + /// </summary>
19.41 + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
19.42 + internal static global::System.Resources.ResourceManager ResourceManager {
19.43 + get {
19.44 + if (object.ReferenceEquals(resourceMan, null)) {
19.45 + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SharpDisplayClient.Properties.Resources", typeof(Resources).Assembly);
19.46 + resourceMan = temp;
19.47 + }
19.48 + return resourceMan;
19.49 + }
19.50 + }
19.51 +
19.52 + /// <summary>
19.53 + /// Overrides the current thread's CurrentUICulture property for all
19.54 + /// resource lookups using this strongly typed resource class.
19.55 + /// </summary>
19.56 + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
19.57 + internal static global::System.Globalization.CultureInfo Culture {
19.58 + get {
19.59 + return resourceCulture;
19.60 + }
19.61 + set {
19.62 + resourceCulture = value;
19.63 + }
19.64 + }
19.65 + }
19.66 +}
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/Clients/Test/Properties/Resources.resx Wed Feb 03 13:02:48 2016 +0100
20.3 @@ -0,0 +1,117 @@
20.4 +<?xml version="1.0" encoding="utf-8"?>
20.5 +<root>
20.6 + <!--
20.7 + Microsoft ResX Schema
20.8 +
20.9 + Version 2.0
20.10 +
20.11 + The primary goals of this format is to allow a simple XML format
20.12 + that is mostly human readable. The generation and parsing of the
20.13 + various data types are done through the TypeConverter classes
20.14 + associated with the data types.
20.15 +
20.16 + Example:
20.17 +
20.18 + ... ado.net/XML headers & schema ...
20.19 + <resheader name="resmimetype">text/microsoft-resx</resheader>
20.20 + <resheader name="version">2.0</resheader>
20.21 + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
20.22 + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
20.23 + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
20.24 + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
20.25 + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
20.26 + <value>[base64 mime encoded serialized .NET Framework object]</value>
20.27 + </data>
20.28 + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
20.29 + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
20.30 + <comment>This is a comment</comment>
20.31 + </data>
20.32 +
20.33 + There are any number of "resheader" rows that contain simple
20.34 + name/value pairs.
20.35 +
20.36 + Each data row contains a name, and value. The row also contains a
20.37 + type or mimetype. Type corresponds to a .NET class that support
20.38 + text/value conversion through the TypeConverter architecture.
20.39 + Classes that don't support this are serialized and stored with the
20.40 + mimetype set.
20.41 +
20.42 + The mimetype is used for serialized objects, and tells the
20.43 + ResXResourceReader how to depersist the object. This is currently not
20.44 + extensible. For a given mimetype the value must be set accordingly:
20.45 +
20.46 + Note - application/x-microsoft.net.object.binary.base64 is the format
20.47 + that the ResXResourceWriter will generate, however the reader can
20.48 + read any of the formats listed below.
20.49 +
20.50 + mimetype: application/x-microsoft.net.object.binary.base64
20.51 + value : The object must be serialized with
20.52 + : System.Serialization.Formatters.Binary.BinaryFormatter
20.53 + : and then encoded with base64 encoding.
20.54 +
20.55 + mimetype: application/x-microsoft.net.object.soap.base64
20.56 + value : The object must be serialized with
20.57 + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
20.58 + : and then encoded with base64 encoding.
20.59 +
20.60 + mimetype: application/x-microsoft.net.object.bytearray.base64
20.61 + value : The object must be serialized into a byte array
20.62 + : using a System.ComponentModel.TypeConverter
20.63 + : and then encoded with base64 encoding.
20.64 + -->
20.65 + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
20.66 + <xsd:element name="root" msdata:IsDataSet="true">
20.67 + <xsd:complexType>
20.68 + <xsd:choice maxOccurs="unbounded">
20.69 + <xsd:element name="metadata">
20.70 + <xsd:complexType>
20.71 + <xsd:sequence>
20.72 + <xsd:element name="value" type="xsd:string" minOccurs="0" />
20.73 + </xsd:sequence>
20.74 + <xsd:attribute name="name" type="xsd:string" />
20.75 + <xsd:attribute name="type" type="xsd:string" />
20.76 + <xsd:attribute name="mimetype" type="xsd:string" />
20.77 + </xsd:complexType>
20.78 + </xsd:element>
20.79 + <xsd:element name="assembly">
20.80 + <xsd:complexType>
20.81 + <xsd:attribute name="alias" type="xsd:string" />
20.82 + <xsd:attribute name="name" type="xsd:string" />
20.83 + </xsd:complexType>
20.84 + </xsd:element>
20.85 + <xsd:element name="data">
20.86 + <xsd:complexType>
20.87 + <xsd:sequence>
20.88 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
20.89 + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
20.90 + </xsd:sequence>
20.91 + <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
20.92 + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
20.93 + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
20.94 + </xsd:complexType>
20.95 + </xsd:element>
20.96 + <xsd:element name="resheader">
20.97 + <xsd:complexType>
20.98 + <xsd:sequence>
20.99 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
20.100 + </xsd:sequence>
20.101 + <xsd:attribute name="name" type="xsd:string" use="required" />
20.102 + </xsd:complexType>
20.103 + </xsd:element>
20.104 + </xsd:choice>
20.105 + </xsd:complexType>
20.106 + </xsd:element>
20.107 + </xsd:schema>
20.108 + <resheader name="resmimetype">
20.109 + <value>text/microsoft-resx</value>
20.110 + </resheader>
20.111 + <resheader name="version">
20.112 + <value>2.0</value>
20.113 + </resheader>
20.114 + <resheader name="reader">
20.115 + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
20.116 + </resheader>
20.117 + <resheader name="writer">
20.118 + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
20.119 + </resheader>
20.120 +</root>
20.121 \ No newline at end of file
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/Clients/Test/Properties/Settings.Designer.cs Wed Feb 03 13:02:48 2016 +0100
21.3 @@ -0,0 +1,26 @@
21.4 +//------------------------------------------------------------------------------
21.5 +// <auto-generated>
21.6 +// This code was generated by a tool.
21.7 +// Runtime Version:4.0.30319.42000
21.8 +//
21.9 +// Changes to this file may cause incorrect behavior and will be lost if
21.10 +// the code is regenerated.
21.11 +// </auto-generated>
21.12 +//------------------------------------------------------------------------------
21.13 +
21.14 +namespace SharpDisplayClient.Properties {
21.15 +
21.16 +
21.17 + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
21.18 + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
21.19 + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
21.20 +
21.21 + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
21.22 +
21.23 + public static Settings Default {
21.24 + get {
21.25 + return defaultInstance;
21.26 + }
21.27 + }
21.28 + }
21.29 +}
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
22.2 +++ b/Clients/Test/Properties/Settings.settings Wed Feb 03 13:02:48 2016 +0100
22.3 @@ -0,0 +1,7 @@
22.4 +<?xml version='1.0' encoding='utf-8'?>
22.5 +<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
22.6 + <Profiles>
22.7 + <Profile Name="(Default)" />
22.8 + </Profiles>
22.9 + <Settings />
22.10 +</SettingsFile>
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
23.2 +++ b/Clients/Test/SharpDisplayClient.csproj Wed Feb 03 13:02:48 2016 +0100
23.3 @@ -0,0 +1,164 @@
23.4 +<?xml version="1.0" encoding="utf-8"?>
23.5 +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
23.6 + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
23.7 + <PropertyGroup>
23.8 + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
23.9 + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
23.10 + <ProjectGuid>{7EE64074-8CDB-4448-B40C-81B75D6B31CD}</ProjectGuid>
23.11 + <OutputType>WinExe</OutputType>
23.12 + <AppDesignerFolder>Properties</AppDesignerFolder>
23.13 + <RootNamespace>SharpDisplayClient</RootNamespace>
23.14 + <AssemblyName>SharpDisplayClient</AssemblyName>
23.15 + <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
23.16 + <FileAlignment>512</FileAlignment>
23.17 + <TargetFrameworkProfile />
23.18 + <PublishUrl>publish\</PublishUrl>
23.19 + <Install>true</Install>
23.20 + <InstallFrom>Disk</InstallFrom>
23.21 + <UpdateEnabled>false</UpdateEnabled>
23.22 + <UpdateMode>Foreground</UpdateMode>
23.23 + <UpdateInterval>7</UpdateInterval>
23.24 + <UpdateIntervalUnits>Days</UpdateIntervalUnits>
23.25 + <UpdatePeriodically>false</UpdatePeriodically>
23.26 + <UpdateRequired>false</UpdateRequired>
23.27 + <MapFileExtensions>true</MapFileExtensions>
23.28 + <ApplicationRevision>0</ApplicationRevision>
23.29 + <ApplicationVersion>0.1.0.%2a</ApplicationVersion>
23.30 + <IsWebBootstrapper>false</IsWebBootstrapper>
23.31 + <UseApplicationTrust>false</UseApplicationTrust>
23.32 + <BootstrapperEnabled>true</BootstrapperEnabled>
23.33 + </PropertyGroup>
23.34 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
23.35 + <PlatformTarget>AnyCPU</PlatformTarget>
23.36 + <DebugSymbols>true</DebugSymbols>
23.37 + <DebugType>full</DebugType>
23.38 + <Optimize>false</Optimize>
23.39 + <OutputPath>bin\Debug\</OutputPath>
23.40 + <DefineConstants>DEBUG;TRACE</DefineConstants>
23.41 + <ErrorReport>prompt</ErrorReport>
23.42 + <WarningLevel>4</WarningLevel>
23.43 + <Prefer32Bit>false</Prefer32Bit>
23.44 + </PropertyGroup>
23.45 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
23.46 + <PlatformTarget>AnyCPU</PlatformTarget>
23.47 + <DebugType>pdbonly</DebugType>
23.48 + <Optimize>true</Optimize>
23.49 + <OutputPath>bin\Release\</OutputPath>
23.50 + <DefineConstants>TRACE</DefineConstants>
23.51 + <ErrorReport>prompt</ErrorReport>
23.52 + <WarningLevel>4</WarningLevel>
23.53 + <Prefer32Bit>false</Prefer32Bit>
23.54 + </PropertyGroup>
23.55 + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
23.56 + <DebugSymbols>true</DebugSymbols>
23.57 + <OutputPath>..\bin\x86\Debug\</OutputPath>
23.58 + <BaseIntermediateOutputPath>..\bin\x86\Debug\obj</BaseIntermediateOutputPath>
23.59 + <DefineConstants>DEBUG;TRACE</DefineConstants>
23.60 + <DebugType>full</DebugType>
23.61 + <PlatformTarget>x86</PlatformTarget>
23.62 + <ErrorReport>prompt</ErrorReport>
23.63 + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
23.64 + <Prefer32Bit>false</Prefer32Bit>
23.65 + </PropertyGroup>
23.66 + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
23.67 + <OutputPath>..\bin\x86\Release\</OutputPath>
23.68 + <BaseIntermediateOutputPath>..\bin\x86\Release\obj</BaseIntermediateOutputPath>
23.69 + <DefineConstants>TRACE</DefineConstants>
23.70 + <Optimize>true</Optimize>
23.71 + <DebugType>pdbonly</DebugType>
23.72 + <PlatformTarget>x86</PlatformTarget>
23.73 + <ErrorReport>prompt</ErrorReport>
23.74 + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
23.75 + <Prefer32Bit>false</Prefer32Bit>
23.76 + </PropertyGroup>
23.77 + <PropertyGroup>
23.78 + <SignManifests>true</SignManifests>
23.79 + </PropertyGroup>
23.80 + <PropertyGroup>
23.81 + <ManifestCertificateThumbprint>70A149AB9F89E507D9411D109553BE22455895D6</ManifestCertificateThumbprint>
23.82 + </PropertyGroup>
23.83 + <PropertyGroup>
23.84 + <ManifestKeyFile>SharpDisplayManager_TemporaryKey.pfx</ManifestKeyFile>
23.85 + </PropertyGroup>
23.86 + <PropertyGroup>
23.87 + <NoWin32Manifest>true</NoWin32Manifest>
23.88 + </PropertyGroup>
23.89 + <ItemGroup>
23.90 + <Reference Include="SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
23.91 + <HintPath>..\..\packages\SharpLibDisplay.0.2.5\lib\net40\SharpLibDisplay.dll</HintPath>
23.92 + <Private>True</Private>
23.93 + </Reference>
23.94 + <Reference Include="System" />
23.95 + <Reference Include="System.Core" />
23.96 + <Reference Include="System.ServiceModel" />
23.97 + <Reference Include="System.Xml.Linq" />
23.98 + <Reference Include="System.Data.DataSetExtensions" />
23.99 + <Reference Include="Microsoft.CSharp" />
23.100 + <Reference Include="System.Data" />
23.101 + <Reference Include="System.Deployment" />
23.102 + <Reference Include="System.Drawing" />
23.103 + <Reference Include="System.Windows.Forms" />
23.104 + <Reference Include="System.Xml" />
23.105 + </ItemGroup>
23.106 + <ItemGroup>
23.107 + <Compile Include="MainForm.cs">
23.108 + <SubType>Form</SubType>
23.109 + </Compile>
23.110 + <Compile Include="MainForm.Designer.cs">
23.111 + <DependentUpon>MainForm.cs</DependentUpon>
23.112 + </Compile>
23.113 + <Compile Include="Program.cs" />
23.114 + <Compile Include="Properties\AssemblyInfo.cs" />
23.115 + <EmbeddedResource Include="MainForm.resx">
23.116 + <DependentUpon>MainForm.cs</DependentUpon>
23.117 + </EmbeddedResource>
23.118 + <EmbeddedResource Include="Properties\Resources.resx">
23.119 + <Generator>ResXFileCodeGenerator</Generator>
23.120 + <LastGenOutput>Resources.Designer.cs</LastGenOutput>
23.121 + <SubType>Designer</SubType>
23.122 + </EmbeddedResource>
23.123 + <Compile Include="Properties\Resources.Designer.cs">
23.124 + <AutoGen>True</AutoGen>
23.125 + <DependentUpon>Resources.resx</DependentUpon>
23.126 + <DesignTime>True</DesignTime>
23.127 + </Compile>
23.128 + <None Include="packages.config" />
23.129 + <None Include="Properties\Settings.settings">
23.130 + <Generator>SettingsSingleFileGenerator</Generator>
23.131 + <LastGenOutput>Settings.Designer.cs</LastGenOutput>
23.132 + </None>
23.133 + <Compile Include="Properties\Settings.Designer.cs">
23.134 + <AutoGen>True</AutoGen>
23.135 + <DependentUpon>Settings.settings</DependentUpon>
23.136 + <DesignTimeSharedInput>True</DesignTimeSharedInput>
23.137 + </Compile>
23.138 + </ItemGroup>
23.139 + <ItemGroup>
23.140 + <None Include="App.config" />
23.141 + </ItemGroup>
23.142 + <ItemGroup>
23.143 + <BootstrapperPackage Include=".NETFramework,Version=v4.5">
23.144 + <Visible>False</Visible>
23.145 + <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
23.146 + <Install>true</Install>
23.147 + </BootstrapperPackage>
23.148 + <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
23.149 + <Visible>False</Visible>
23.150 + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
23.151 + <Install>false</Install>
23.152 + </BootstrapperPackage>
23.153 + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
23.154 + <Visible>False</Visible>
23.155 + <ProductName>.NET Framework 3.5 SP1</ProductName>
23.156 + <Install>false</Install>
23.157 + </BootstrapperPackage>
23.158 + </ItemGroup>
23.159 + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
23.160 + <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
23.161 + Other similar extension points exist, see Microsoft.Common.targets.
23.162 + <Target Name="BeforeBuild">
23.163 + </Target>
23.164 + <Target Name="AfterBuild">
23.165 + </Target>
23.166 + -->
23.167 +</Project>
23.168 \ No newline at end of file
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
24.2 +++ b/Clients/Test/packages.config Wed Feb 03 13:02:48 2016 +0100
24.3 @@ -0,0 +1,4 @@
24.4 +<?xml version="1.0" encoding="utf-8"?>
24.5 +<packages>
24.6 + <package id="SharpLibDisplay" version="0.2.5" targetFramework="net46" />
24.7 +</packages>
24.8 \ No newline at end of file
25.1 --- a/Server/SharpDisplayManager.csproj Tue Feb 02 19:50:33 2016 +0100
25.2 +++ b/Server/SharpDisplayManager.csproj Wed Feb 03 13:02:48 2016 +0100
25.3 @@ -222,7 +222,7 @@
25.4 <Project>{a76579e5-aa8d-45a3-99e1-239a5c030a78}</Project>
25.5 <Name>SharpDisplayIdleClient</Name>
25.6 </ProjectReference>
25.7 - <ProjectReference Include="..\Client\SharpDisplayClient.csproj">
25.8 + <ProjectReference Include="..\Clients\Test\SharpDisplayClient.csproj">
25.9 <Project>{7ee64074-8cdb-4448-b40c-81b75d6b31cd}</Project>
25.10 <Name>SharpDisplayClient</Name>
25.11 </ProjectReference>
26.1 --- a/Setup/Setup.vdproj Tue Feb 02 19:50:33 2016 +0100
26.2 +++ b/Setup/Setup.vdproj Wed Feb 03 13:02:48 2016 +0100
26.3 @@ -15,13 +15,7 @@
26.4 {
26.5 "Entry"
26.6 {
26.7 - "MsmKey" = "8:_0BDF79321B394EC0E77BF680C3F40422"
26.8 - "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.9 - "MsmSig" = "8:_UNDEFINED"
26.10 - }
26.11 - "Entry"
26.12 - {
26.13 - "MsmKey" = "8:_295C95460CE37C9B5A2F236412BA3C46"
26.14 + "MsmKey" = "8:_099780B8FCF4932D55DA0D38B877DFC8"
26.15 "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.16 "MsmSig" = "8:_UNDEFINED"
26.17 }
26.18 @@ -33,8 +27,20 @@
26.19 }
26.20 "Entry"
26.21 {
26.22 + "MsmKey" = "8:_30F0A6A7F5B98239D94FA1AA5EACCD2E"
26.23 + "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.24 + "MsmSig" = "8:_UNDEFINED"
26.25 + }
26.26 + "Entry"
26.27 + {
26.28 + "MsmKey" = "8:_30F0A6A7F5B98239D94FA1AA5EACCD2E"
26.29 + "OwnerKey" = "8:_AF682C1D0487188ED204D4D959CEB62D"
26.30 + "MsmSig" = "8:_UNDEFINED"
26.31 + }
26.32 + "Entry"
26.33 + {
26.34 "MsmKey" = "8:_334B309CE72870CC620EAB7737749CDB"
26.35 - "OwnerKey" = "8:_295C95460CE37C9B5A2F236412BA3C46"
26.36 + "OwnerKey" = "8:_C7F134A916AA74F022E8AE46F8C27961"
26.37 "MsmSig" = "8:_UNDEFINED"
26.38 }
26.39 "Entry"
26.40 @@ -51,74 +57,92 @@
26.41 }
26.42 "Entry"
26.43 {
26.44 + "MsmKey" = "8:_5E56A87ADF2554F4847ED3BEFD1497FC"
26.45 + "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.46 + "MsmSig" = "8:_UNDEFINED"
26.47 + }
26.48 + "Entry"
26.49 + {
26.50 "MsmKey" = "8:_63DC5055504D8E8030D07BDDC074A009"
26.51 "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.52 "MsmSig" = "8:_UNDEFINED"
26.53 }
26.54 "Entry"
26.55 {
26.56 + "MsmKey" = "8:_6F3AF0877F2A0197B2BE03FDE4C25D49"
26.57 + "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.58 + "MsmSig" = "8:_UNDEFINED"
26.59 + }
26.60 + "Entry"
26.61 + {
26.62 "MsmKey" = "8:_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
26.63 "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.64 "MsmSig" = "8:_UNDEFINED"
26.65 }
26.66 "Entry"
26.67 {
26.68 - "MsmKey" = "8:_8CD29D0F38634408AC33359D27B44035"
26.69 - "OwnerKey" = "8:_UNDEFINED"
26.70 - "MsmSig" = "8:_UNDEFINED"
26.71 - }
26.72 - "Entry"
26.73 - {
26.74 "MsmKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.75 "OwnerKey" = "8:_UNDEFINED"
26.76 "MsmSig" = "8:_UNDEFINED"
26.77 }
26.78 "Entry"
26.79 {
26.80 - "MsmKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
26.81 - "OwnerKey" = "8:_0BDF79321B394EC0E77BF680C3F40422"
26.82 - "MsmSig" = "8:_UNDEFINED"
26.83 - }
26.84 - "Entry"
26.85 - {
26.86 - "MsmKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
26.87 + "MsmKey" = "8:_AF682C1D0487188ED204D4D959CEB62D"
26.88 "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.89 "MsmSig" = "8:_UNDEFINED"
26.90 }
26.91 "Entry"
26.92 {
26.93 - "MsmKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
26.94 - "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035"
26.95 - "MsmSig" = "8:_UNDEFINED"
26.96 - }
26.97 - "Entry"
26.98 - {
26.99 "MsmKey" = "8:_C2E6C8EB1D62D3C8FA1D1C243958D2D5"
26.100 "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.101 "MsmSig" = "8:_UNDEFINED"
26.102 }
26.103 "Entry"
26.104 {
26.105 - "MsmKey" = "8:_FE5CFB2A37C82C1C9824F67FFE127C01"
26.106 + "MsmKey" = "8:_C7F134A916AA74F022E8AE46F8C27961"
26.107 "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.108 "MsmSig" = "8:_UNDEFINED"
26.109 }
26.110 "Entry"
26.111 {
26.112 "MsmKey" = "8:_UNDEFINED"
26.113 - "OwnerKey" = "8:_FE5CFB2A37C82C1C9824F67FFE127C01"
26.114 + "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.115 "MsmSig" = "8:_UNDEFINED"
26.116 }
26.117 "Entry"
26.118 {
26.119 "MsmKey" = "8:_UNDEFINED"
26.120 - "OwnerKey" = "8:_9F004B0F8506B523869FACB14EFF064D"
26.121 + "OwnerKey" = "8:_63DC5055504D8E8030D07BDDC074A009"
26.122 "MsmSig" = "8:_UNDEFINED"
26.123 }
26.124 "Entry"
26.125 {
26.126 "MsmKey" = "8:_UNDEFINED"
26.127 - "OwnerKey" = "8:_0BDF79321B394EC0E77BF680C3F40422"
26.128 + "OwnerKey" = "8:_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
26.129 + "MsmSig" = "8:_UNDEFINED"
26.130 + }
26.131 + "Entry"
26.132 + {
26.133 + "MsmKey" = "8:_UNDEFINED"
26.134 + "OwnerKey" = "8:_6F3AF0877F2A0197B2BE03FDE4C25D49"
26.135 + "MsmSig" = "8:_UNDEFINED"
26.136 + }
26.137 + "Entry"
26.138 + {
26.139 + "MsmKey" = "8:_UNDEFINED"
26.140 + "OwnerKey" = "8:_C7F134A916AA74F022E8AE46F8C27961"
26.141 + "MsmSig" = "8:_UNDEFINED"
26.142 + }
26.143 + "Entry"
26.144 + {
26.145 + "MsmKey" = "8:_UNDEFINED"
26.146 + "OwnerKey" = "8:_334B309CE72870CC620EAB7737749CDB"
26.147 + "MsmSig" = "8:_UNDEFINED"
26.148 + }
26.149 + "Entry"
26.150 + {
26.151 + "MsmKey" = "8:_UNDEFINED"
26.152 + "OwnerKey" = "8:_3EF5004CB20A413815D0A2588A19CDD4"
26.153 "MsmSig" = "8:_UNDEFINED"
26.154 }
26.155 "Entry"
26.156 @@ -130,43 +154,25 @@
26.157 "Entry"
26.158 {
26.159 "MsmKey" = "8:_UNDEFINED"
26.160 - "OwnerKey" = "8:_3EF5004CB20A413815D0A2588A19CDD4"
26.161 + "OwnerKey" = "8:_099780B8FCF4932D55DA0D38B877DFC8"
26.162 "MsmSig" = "8:_UNDEFINED"
26.163 }
26.164 "Entry"
26.165 {
26.166 "MsmKey" = "8:_UNDEFINED"
26.167 - "OwnerKey" = "8:_334B309CE72870CC620EAB7737749CDB"
26.168 + "OwnerKey" = "8:_AF682C1D0487188ED204D4D959CEB62D"
26.169 "MsmSig" = "8:_UNDEFINED"
26.170 }
26.171 "Entry"
26.172 {
26.173 "MsmKey" = "8:_UNDEFINED"
26.174 - "OwnerKey" = "8:_295C95460CE37C9B5A2F236412BA3C46"
26.175 + "OwnerKey" = "8:_5E56A87ADF2554F4847ED3BEFD1497FC"
26.176 "MsmSig" = "8:_UNDEFINED"
26.177 }
26.178 "Entry"
26.179 {
26.180 "MsmKey" = "8:_UNDEFINED"
26.181 - "OwnerKey" = "8:_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
26.182 - "MsmSig" = "8:_UNDEFINED"
26.183 - }
26.184 - "Entry"
26.185 - {
26.186 - "MsmKey" = "8:_UNDEFINED"
26.187 - "OwnerKey" = "8:_63DC5055504D8E8030D07BDDC074A009"
26.188 - "MsmSig" = "8:_UNDEFINED"
26.189 - }
26.190 - "Entry"
26.191 - {
26.192 - "MsmKey" = "8:_UNDEFINED"
26.193 - "OwnerKey" = "8:_9A642A9E3FEC4B88888C4B96086D59E8"
26.194 - "MsmSig" = "8:_UNDEFINED"
26.195 - }
26.196 - "Entry"
26.197 - {
26.198 - "MsmKey" = "8:_UNDEFINED"
26.199 - "OwnerKey" = "8:_8CD29D0F38634408AC33359D27B44035"
26.200 + "OwnerKey" = "8:_30F0A6A7F5B98239D94FA1AA5EACCD2E"
26.201 "MsmSig" = "8:_UNDEFINED"
26.202 }
26.203 }
26.204 @@ -194,6 +200,14 @@
26.205 "PrerequisitesLocation" = "2:1"
26.206 "Url" = "8:"
26.207 "ComponentsUrl" = "8:"
26.208 + "Items"
26.209 + {
26.210 + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.5"
26.211 + {
26.212 + "Name" = "8:Microsoft .NET Framework 4.5 (x86 and x64)"
26.213 + "ProductCode" = "8:.NETFramework,Version=v4.5"
26.214 + }
26.215 + }
26.216 }
26.217 }
26.218 "Release"
26.219 @@ -218,6 +232,14 @@
26.220 "PrerequisitesLocation" = "2:1"
26.221 "Url" = "8:"
26.222 "ComponentsUrl" = "8:"
26.223 + "Items"
26.224 + {
26.225 + "{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.5"
26.226 + {
26.227 + "Name" = "8:Microsoft .NET Framework 4.5 (x86 and x64)"
26.228 + "ProductCode" = "8:.NETFramework,Version=v4.5"
26.229 + }
26.230 + }
26.231 }
26.232 }
26.233 }
26.234 @@ -248,15 +270,20 @@
26.235 }
26.236 "File"
26.237 {
26.238 - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0BDF79321B394EC0E77BF680C3F40422"
26.239 + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_099780B8FCF4932D55DA0D38B877DFC8"
26.240 {
26.241 "AssemblyRegister" = "3:1"
26.242 "AssemblyIsInGAC" = "11:FALSE"
26.243 - "AssemblyAsmDisplayName" = "8:SharpDisplayClient, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
26.244 + "AssemblyAsmDisplayName" = "8:SharpDisplayIdleClient, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
26.245 "ScatterAssemblies"
26.246 {
26.247 + "_099780B8FCF4932D55DA0D38B877DFC8"
26.248 + {
26.249 + "Name" = "8:SharpDisplayIdleClient.exe"
26.250 + "Attributes" = "3:512"
26.251 + }
26.252 }
26.253 - "SourcePath" = "8:SharpDisplayClient.exe"
26.254 + "SourcePath" = "8:SharpDisplayIdleClient.exe"
26.255 "TargetName" = "8:"
26.256 "Tag" = "8:"
26.257 "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.258 @@ -274,15 +301,20 @@
26.259 "IsDependency" = "11:TRUE"
26.260 "IsolateTo" = "8:"
26.261 }
26.262 - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_295C95460CE37C9B5A2F236412BA3C46"
26.263 + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_30F0A6A7F5B98239D94FA1AA5EACCD2E"
26.264 {
26.265 "AssemblyRegister" = "3:1"
26.266 "AssemblyIsInGAC" = "11:FALSE"
26.267 - "AssemblyAsmDisplayName" = "8:SharpLibHid, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
26.268 + "AssemblyAsmDisplayName" = "8:SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
26.269 "ScatterAssemblies"
26.270 {
26.271 + "_30F0A6A7F5B98239D94FA1AA5EACCD2E"
26.272 + {
26.273 + "Name" = "8:SharpLibDisplay.dll"
26.274 + "Attributes" = "3:512"
26.275 + }
26.276 }
26.277 - "SourcePath" = "8:SharpLibHid.dll"
26.278 + "SourcePath" = "8:SharpLibDisplay.dll"
26.279 "TargetName" = "8:"
26.280 "Tag" = "8:"
26.281 "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.282 @@ -307,6 +339,11 @@
26.283 "AssemblyAsmDisplayName" = "8:SharpLibWin32, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
26.284 "ScatterAssemblies"
26.285 {
26.286 + "_334B309CE72870CC620EAB7737749CDB"
26.287 + {
26.288 + "Name" = "8:SharpLibWin32.dll"
26.289 + "Attributes" = "3:512"
26.290 + }
26.291 }
26.292 "SourcePath" = "8:SharpLibWin32.dll"
26.293 "TargetName" = "8:"
26.294 @@ -333,6 +370,11 @@
26.295 "AssemblyAsmDisplayName" = "8:NAudio, Version=1.7.3.0, Culture=neutral, processorArchitecture=MSIL"
26.296 "ScatterAssemblies"
26.297 {
26.298 + "_3EF5004CB20A413815D0A2588A19CDD4"
26.299 + {
26.300 + "Name" = "8:NAudio.dll"
26.301 + "Attributes" = "3:512"
26.302 + }
26.303 }
26.304 "SourcePath" = "8:NAudio.dll"
26.305 "TargetName" = "8:"
26.306 @@ -352,6 +394,37 @@
26.307 "IsDependency" = "11:TRUE"
26.308 "IsolateTo" = "8:"
26.309 }
26.310 + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5E56A87ADF2554F4847ED3BEFD1497FC"
26.311 + {
26.312 + "AssemblyRegister" = "3:1"
26.313 + "AssemblyIsInGAC" = "11:FALSE"
26.314 + "AssemblyAsmDisplayName" = "8:PowerManager, Version=1.0.5865.26649, Culture=neutral, processorArchitecture=x86"
26.315 + "ScatterAssemblies"
26.316 + {
26.317 + "_5E56A87ADF2554F4847ED3BEFD1497FC"
26.318 + {
26.319 + "Name" = "8:PowerManager.dll"
26.320 + "Attributes" = "3:512"
26.321 + }
26.322 + }
26.323 + "SourcePath" = "8:PowerManager.dll"
26.324 + "TargetName" = "8:"
26.325 + "Tag" = "8:"
26.326 + "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.327 + "Condition" = "8:"
26.328 + "Transitive" = "11:FALSE"
26.329 + "Vital" = "11:TRUE"
26.330 + "ReadOnly" = "11:FALSE"
26.331 + "Hidden" = "11:FALSE"
26.332 + "System" = "11:FALSE"
26.333 + "Permanent" = "11:FALSE"
26.334 + "SharedLegacy" = "11:FALSE"
26.335 + "PackageAs" = "3:1"
26.336 + "Register" = "3:1"
26.337 + "Exclude" = "11:FALSE"
26.338 + "IsDependency" = "11:TRUE"
26.339 + "IsolateTo" = "8:"
26.340 + }
26.341 "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_63DC5055504D8E8030D07BDDC074A009"
26.342 {
26.343 "AssemblyRegister" = "3:1"
26.344 @@ -359,6 +432,11 @@
26.345 "AssemblyAsmDisplayName" = "8:System.Xml.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
26.346 "ScatterAssemblies"
26.347 {
26.348 + "_63DC5055504D8E8030D07BDDC074A009"
26.349 + {
26.350 + "Name" = "8:System.Xml.Serialization.dll"
26.351 + "Attributes" = "3:512"
26.352 + }
26.353 }
26.354 "SourcePath" = "8:System.Xml.Serialization.dll"
26.355 "TargetName" = "8:"
26.356 @@ -378,6 +456,37 @@
26.357 "IsDependency" = "11:TRUE"
26.358 "IsolateTo" = "8:"
26.359 }
26.360 + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6F3AF0877F2A0197B2BE03FDE4C25D49"
26.361 + {
26.362 + "AssemblyRegister" = "3:1"
26.363 + "AssemblyIsInGAC" = "11:FALSE"
26.364 + "AssemblyAsmDisplayName" = "8:SharpLibNotification, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
26.365 + "ScatterAssemblies"
26.366 + {
26.367 + "_6F3AF0877F2A0197B2BE03FDE4C25D49"
26.368 + {
26.369 + "Name" = "8:SharpLibNotification.dll"
26.370 + "Attributes" = "3:512"
26.371 + }
26.372 + }
26.373 + "SourcePath" = "8:SharpLibNotification.dll"
26.374 + "TargetName" = "8:"
26.375 + "Tag" = "8:"
26.376 + "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.377 + "Condition" = "8:"
26.378 + "Transitive" = "11:FALSE"
26.379 + "Vital" = "11:TRUE"
26.380 + "ReadOnly" = "11:FALSE"
26.381 + "Hidden" = "11:FALSE"
26.382 + "System" = "11:FALSE"
26.383 + "Permanent" = "11:FALSE"
26.384 + "SharedLegacy" = "11:FALSE"
26.385 + "PackageAs" = "3:1"
26.386 + "Register" = "3:1"
26.387 + "Exclude" = "11:FALSE"
26.388 + "IsDependency" = "11:TRUE"
26.389 + "IsolateTo" = "8:"
26.390 + }
26.391 "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
26.392 {
26.393 "AssemblyRegister" = "3:1"
26.394 @@ -385,6 +494,11 @@
26.395 "AssemblyAsmDisplayName" = "8:LibCecSharp, Version=2.2.0.0, Culture=neutral, processorArchitecture=x86"
26.396 "ScatterAssemblies"
26.397 {
26.398 + "_7010B5ED2C1B4E82D3DBE2B590A4FC8E"
26.399 + {
26.400 + "Name" = "8:LibCecSharp.dll"
26.401 + "Attributes" = "3:512"
26.402 + }
26.403 }
26.404 "SourcePath" = "8:LibCecSharp.dll"
26.405 "TargetName" = "8:"
26.406 @@ -404,15 +518,20 @@
26.407 "IsDependency" = "11:TRUE"
26.408 "IsolateTo" = "8:"
26.409 }
26.410 - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9F004B0F8506B523869FACB14EFF064D"
26.411 + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AF682C1D0487188ED204D4D959CEB62D"
26.412 {
26.413 "AssemblyRegister" = "3:1"
26.414 "AssemblyIsInGAC" = "11:FALSE"
26.415 - "AssemblyAsmDisplayName" = "8:SharpDisplayInterface, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
26.416 + "AssemblyAsmDisplayName" = "8:SharpDisplayClient, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
26.417 "ScatterAssemblies"
26.418 {
26.419 + "_AF682C1D0487188ED204D4D959CEB62D"
26.420 + {
26.421 + "Name" = "8:SharpDisplayClient.exe"
26.422 + "Attributes" = "3:512"
26.423 + }
26.424 }
26.425 - "SourcePath" = "8:SharpDisplayInterface.dll"
26.426 + "SourcePath" = "8:SharpDisplayClient.exe"
26.427 "TargetName" = "8:"
26.428 "Tag" = "8:"
26.429 "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.430 @@ -437,6 +556,11 @@
26.431 "AssemblyAsmDisplayName" = "8:MiniDisplayInterop, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"
26.432 "ScatterAssemblies"
26.433 {
26.434 + "_C2E6C8EB1D62D3C8FA1D1C243958D2D5"
26.435 + {
26.436 + "Name" = "8:MiniDisplayInterop.dll"
26.437 + "Attributes" = "3:512"
26.438 + }
26.439 }
26.440 "SourcePath" = "8:MiniDisplayInterop.dll"
26.441 "TargetName" = "8:"
26.442 @@ -456,15 +580,20 @@
26.443 "IsDependency" = "11:TRUE"
26.444 "IsolateTo" = "8:"
26.445 }
26.446 - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FE5CFB2A37C82C1C9824F67FFE127C01"
26.447 + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C7F134A916AA74F022E8AE46F8C27961"
26.448 {
26.449 "AssemblyRegister" = "3:1"
26.450 "AssemblyIsInGAC" = "11:FALSE"
26.451 - "AssemblyAsmDisplayName" = "8:PowerManager, Version=1.0.5750.26884, Culture=neutral, processorArchitecture=x86"
26.452 + "AssemblyAsmDisplayName" = "8:SharpLibHid, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86"
26.453 "ScatterAssemblies"
26.454 {
26.455 + "_C7F134A916AA74F022E8AE46F8C27961"
26.456 + {
26.457 + "Name" = "8:SharpLibHid.dll"
26.458 + "Attributes" = "3:512"
26.459 + }
26.460 }
26.461 - "SourcePath" = "8:PowerManager.dll"
26.462 + "SourcePath" = "8:SharpLibHid.dll"
26.463 "TargetName" = "8:"
26.464 "Tag" = "8:"
26.465 "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.466 @@ -1099,7 +1228,7 @@
26.467 {
26.468 "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_308A8F48F8964F139523D844FD3A1B06"
26.469 {
26.470 - "SourcePath" = "8:..\\bin\\x86\\Release\\PowerManager.dll"
26.471 + "SourcePath" = "8:..\\bin\\x86\\Debug\\PowerManager.dll"
26.472 "TargetName" = "8:"
26.473 "Tag" = "8:"
26.474 "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.475 @@ -1125,37 +1254,9 @@
26.476 {
26.477 }
26.478 }
26.479 - "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8CD29D0F38634408AC33359D27B44035"
26.480 - {
26.481 - "SourcePath" = "8:..\\bin\\x86\\Release\\obj\\x86\\Release\\SharpDisplayClient.exe"
26.482 - "TargetName" = "8:"
26.483 - "Tag" = "8:"
26.484 - "Folder" = "8:_E283B42AF1634497931184D1A685745A"
26.485 - "Condition" = "8:"
26.486 - "Transitive" = "11:FALSE"
26.487 - "Vital" = "11:TRUE"
26.488 - "ReadOnly" = "11:FALSE"
26.489 - "Hidden" = "11:FALSE"
26.490 - "System" = "11:FALSE"
26.491 - "Permanent" = "11:FALSE"
26.492 - "SharedLegacy" = "11:FALSE"
26.493 - "PackageAs" = "3:1"
26.494 - "Register" = "3:1"
26.495 - "Exclude" = "11:FALSE"
26.496 - "IsDependency" = "11:FALSE"
26.497 - "IsolateTo" = "8:"
26.498 - "ProjectOutputGroupRegister" = "3:1"
26.499 - "OutputConfiguration" = "8:"
26.500 - "OutputGroupCanonicalName" = "8:Built"
26.501 - "OutputProjectGuid" = "8:{7EE64074-8CDB-4448-B40C-81B75D6B31CD}"
26.502 - "ShowKeyOutput" = "11:TRUE"
26.503 - "ExcludeFilters"
26.504 - {
26.505 - }
26.506 - }
26.507 "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9A642A9E3FEC4B88888C4B96086D59E8"
26.508 {
26.509 - "SourcePath" = "8:..\\bin\\x86\\Release\\obj\\x86\\Release\\SharpDisplayManager.exe"
26.510 + "SourcePath" = "8:..\\bin\\x86\\Debug\\obj\\x86\\Debug\\SharpDisplayManager.exe"
26.511 "TargetName" = "8:"
26.512 "Tag" = "8:"
26.513 "Folder" = "8:_E283B42AF1634497931184D1A685745A"
27.1 --- a/SharpDisplayManager.sln Tue Feb 02 19:50:33 2016 +0100
27.2 +++ b/SharpDisplayManager.sln Wed Feb 03 13:02:48 2016 +0100
27.3 @@ -5,14 +5,14 @@
27.4 MinimumVisualStudioVersion = 10.0.40219.1
27.5 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayManager", "Server\SharpDisplayManager.csproj", "{1DA8C1B3-18C5-4E74-BE4E-0B0E15FBAF49}"
27.6 EndProject
27.7 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayClient", "Client\SharpDisplayClient.csproj", "{7EE64074-8CDB-4448-B40C-81B75D6B31CD}"
27.8 -EndProject
27.9 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PowerManager", "PowerManager\PowerManager.vcxproj", "{C174F23D-3055-49BC-B6B0-563011AF624D}"
27.10 EndProject
27.11 Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{22C920A9-2352-4DC9-91E2-035EBD712866}"
27.12 EndProject
27.13 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayIdleClient", "Clients\Idle\SharpDisplayIdleClient.csproj", "{A76579E5-AA8D-45A3-99E1-239A5C030A78}"
27.14 EndProject
27.15 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayClient", "Clients\Test\SharpDisplayClient.csproj", "{7EE64074-8CDB-4448-B40C-81B75D6B31CD}"
27.16 +EndProject
27.17 Global
27.18 GlobalSection(SolutionConfigurationPlatforms) = preSolution
27.19 Debug|Any CPU = Debug|Any CPU
27.20 @@ -35,18 +35,6 @@
27.21 {1DA8C1B3-18C5-4E74-BE4E-0B0E15FBAF49}.Release|x64.Build.0 = Release|Any CPU
27.22 {1DA8C1B3-18C5-4E74-BE4E-0B0E15FBAF49}.Release|x86.ActiveCfg = Release|x86
27.23 {1DA8C1B3-18C5-4E74-BE4E-0B0E15FBAF49}.Release|x86.Build.0 = Release|x86
27.24 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27.25 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
27.26 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x64.ActiveCfg = Debug|Any CPU
27.27 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x64.Build.0 = Debug|Any CPU
27.28 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x86.ActiveCfg = Debug|x86
27.29 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x86.Build.0 = Debug|x86
27.30 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
27.31 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|Any CPU.Build.0 = Release|Any CPU
27.32 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x64.ActiveCfg = Release|Any CPU
27.33 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x64.Build.0 = Release|Any CPU
27.34 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.ActiveCfg = Release|x86
27.35 - {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.Build.0 = Release|x86
27.36 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|Any CPU.ActiveCfg = Debug|Win32
27.37 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|x64.ActiveCfg = Debug|x64
27.38 {C174F23D-3055-49BC-B6B0-563011AF624D}.Debug|x64.Build.0 = Debug|x64
27.39 @@ -75,6 +63,18 @@
27.40 {A76579E5-AA8D-45A3-99E1-239A5C030A78}.Release|x64.Build.0 = Release|Any CPU
27.41 {A76579E5-AA8D-45A3-99E1-239A5C030A78}.Release|x86.ActiveCfg = Release|Any CPU
27.42 {A76579E5-AA8D-45A3-99E1-239A5C030A78}.Release|x86.Build.0 = Release|Any CPU
27.43 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
27.44 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
27.45 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x64.ActiveCfg = Debug|Any CPU
27.46 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x64.Build.0 = Debug|Any CPU
27.47 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x86.ActiveCfg = Debug|x86
27.48 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Debug|x86.Build.0 = Debug|x86
27.49 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
27.50 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|Any CPU.Build.0 = Release|Any CPU
27.51 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x64.ActiveCfg = Release|Any CPU
27.52 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x64.Build.0 = Release|Any CPU
27.53 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.ActiveCfg = Release|x86
27.54 + {7EE64074-8CDB-4448-B40C-81B75D6B31CD}.Release|x86.Build.0 = Release|x86
27.55 EndGlobalSection
27.56 GlobalSection(SolutionProperties) = preSolution
27.57 HideSolutionNode = FALSE