# HG changeset patch
# User sl
# Date 1407791925 -7200
# Node ID 985ca4b6e099d8e29d8d3fe71813cbea54ec74c1
# Parent 452e5c0c98dac32f87934a2f3f0ab15dbccbe4f5
Adding option to reverse screen. That's useful to avoid having to set our
hardware the correct way up.
diff -r 452e5c0c98da -r 985ca4b6e099 App.config
--- a/App.config Tue Aug 05 22:11:08 2014 +0200
+++ b/App.config Mon Aug 11 23:18:45 2014 +0200
@@ -22,6 +22,9 @@
False
+
+ False
+
\ No newline at end of file
diff -r 452e5c0c98da -r 985ca4b6e099 MainForm.Designer.cs
--- a/MainForm.Designer.cs Tue Aug 05 22:11:08 2014 +0200
+++ b/MainForm.Designer.cs Mon Aug 11 23:18:45 2014 +0200
@@ -31,6 +31,12 @@
this.components = new System.ComponentModel.Container();
this.tabControl = new System.Windows.Forms.TabControl();
this.tabPageDisplay = new System.Windows.Forms.TabPage();
+ this.checkBoxReverseScreen = new System.Windows.Forms.CheckBox();
+ this.checkBoxConnectOnStartup = new System.Windows.Forms.CheckBox();
+ this.panelDisplay = new System.Windows.Forms.Panel();
+ this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
+ this.marqueeLabelTop = new SharpDisplayManager.MarqueeLabel();
+ this.marqueeLabelBottom = new SharpDisplayManager.MarqueeLabel();
this.checkBoxShowBorders = new System.Windows.Forms.CheckBox();
this.trackBarBrightness = new System.Windows.Forms.TrackBar();
this.buttonFill = new System.Windows.Forms.Button();
@@ -47,17 +53,12 @@
this.toolStripStatusLabelSpring = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelPower = new System.Windows.Forms.ToolStripStatusLabel();
this.toolStripStatusLabelFps = new System.Windows.Forms.ToolStripStatusLabel();
- this.panelDisplay = new System.Windows.Forms.Panel();
- this.tableLayoutPanel = new System.Windows.Forms.TableLayoutPanel();
- this.checkBoxConnectOnStartup = new System.Windows.Forms.CheckBox();
- this.marqueeLabelTop = new SharpDisplayManager.MarqueeLabel();
- this.marqueeLabelBottom = new SharpDisplayManager.MarqueeLabel();
this.tabControl.SuspendLayout();
this.tabPageDisplay.SuspendLayout();
+ this.panelDisplay.SuspendLayout();
+ this.tableLayoutPanel.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).BeginInit();
this.statusStrip.SuspendLayout();
- this.panelDisplay.SuspendLayout();
- this.tableLayoutPanel.SuspendLayout();
this.SuspendLayout();
//
// tabControl
@@ -75,6 +76,7 @@
//
// tabPageDisplay
//
+ this.tabPageDisplay.Controls.Add(this.checkBoxReverseScreen);
this.tabPageDisplay.Controls.Add(this.checkBoxConnectOnStartup);
this.tabPageDisplay.Controls.Add(this.panelDisplay);
this.tabPageDisplay.Controls.Add(this.checkBoxShowBorders);
@@ -93,6 +95,146 @@
this.tabPageDisplay.Text = "Display";
this.tabPageDisplay.UseVisualStyleBackColor = true;
//
+ // checkBoxReverseScreen
+ //
+ this.checkBoxReverseScreen.AutoSize = true;
+ this.checkBoxReverseScreen.Location = new System.Drawing.Point(113, 298);
+ this.checkBoxReverseScreen.Name = "checkBoxReverseScreen";
+ this.checkBoxReverseScreen.Size = new System.Drawing.Size(101, 17);
+ this.checkBoxReverseScreen.TabIndex = 14;
+ this.checkBoxReverseScreen.Text = "Reverse screen";
+ this.checkBoxReverseScreen.UseVisualStyleBackColor = true;
+ this.checkBoxReverseScreen.CheckedChanged += new System.EventHandler(this.checkBoxReverseScreen_CheckedChanged);
+ //
+ // checkBoxConnectOnStartup
+ //
+ this.checkBoxConnectOnStartup.AutoSize = true;
+ this.checkBoxConnectOnStartup.Location = new System.Drawing.Point(113, 321);
+ this.checkBoxConnectOnStartup.Name = "checkBoxConnectOnStartup";
+ this.checkBoxConnectOnStartup.Size = new System.Drawing.Size(119, 17);
+ this.checkBoxConnectOnStartup.TabIndex = 13;
+ this.checkBoxConnectOnStartup.Text = "Connect on stratup ";
+ this.checkBoxConnectOnStartup.UseVisualStyleBackColor = true;
+ this.checkBoxConnectOnStartup.CheckedChanged += new System.EventHandler(this.checkBoxConnectOnStartup_CheckedChanged);
+ //
+ // panelDisplay
+ //
+ this.panelDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.panelDisplay.Controls.Add(this.tableLayoutPanel);
+ this.panelDisplay.Location = new System.Drawing.Point(181, 151);
+ this.panelDisplay.Margin = new System.Windows.Forms.Padding(0);
+ this.panelDisplay.Name = "panelDisplay";
+ this.panelDisplay.Size = new System.Drawing.Size(258, 66);
+ this.panelDisplay.TabIndex = 12;
+ //
+ // tableLayoutPanel
+ //
+ this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.tableLayoutPanel.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
+ this.tableLayoutPanel.ColumnCount = 1;
+ this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
+ this.tableLayoutPanel.Controls.Add(this.marqueeLabelTop, 0, 0);
+ this.tableLayoutPanel.Controls.Add(this.marqueeLabelBottom, 0, 1);
+ this.tableLayoutPanel.Location = new System.Drawing.Point(0, 0);
+ this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(0);
+ this.tableLayoutPanel.Name = "tableLayoutPanel";
+ this.tableLayoutPanel.RowCount = 2;
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
+ this.tableLayoutPanel.Size = new System.Drawing.Size(256, 64);
+ this.tableLayoutPanel.TabIndex = 5;
+ //
+ // marqueeLabelTop
+ //
+ this.marqueeLabelTop.AutoEllipsis = true;
+ this.marqueeLabelTop.BackColor = System.Drawing.Color.Transparent;
+ this.marqueeLabelTop.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.marqueeLabelTop.Location = new System.Drawing.Point(1, 1);
+ this.marqueeLabelTop.Margin = new System.Windows.Forms.Padding(0);
+ this.marqueeLabelTop.Name = "marqueeLabelTop";
+ this.marqueeLabelTop.OwnTimer = false;
+ this.marqueeLabelTop.PixelsPerSecond = 64;
+ this.marqueeLabelTop.Separator = "|";
+ this.marqueeLabelTop.Size = new System.Drawing.Size(254, 30);
+ this.marqueeLabelTop.TabIndex = 2;
+ this.marqueeLabelTop.Text = "ABCDEFGHIJKLMNOPQRST-0123456789";
+ this.marqueeLabelTop.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.marqueeLabelTop.UseCompatibleTextRendering = true;
+ //
+ // marqueeLabelBottom
+ //
+ this.marqueeLabelBottom.AutoEllipsis = true;
+ this.marqueeLabelBottom.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.marqueeLabelBottom.Location = new System.Drawing.Point(1, 32);
+ this.marqueeLabelBottom.Margin = new System.Windows.Forms.Padding(0);
+ this.marqueeLabelBottom.Name = "marqueeLabelBottom";
+ this.marqueeLabelBottom.OwnTimer = false;
+ this.marqueeLabelBottom.PixelsPerSecond = 64;
+ this.marqueeLabelBottom.Separator = null;
+ this.marqueeLabelBottom.Size = new System.Drawing.Size(254, 31);
+ this.marqueeLabelBottom.TabIndex = 3;
+ this.marqueeLabelBottom.Text = "abcdefghijklmnopqrst-0123456789";
+ this.marqueeLabelBottom.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ this.marqueeLabelBottom.UseCompatibleTextRendering = true;
+ //
// checkBoxShowBorders
//
this.checkBoxShowBorders.AutoSize = true;
@@ -233,135 +375,6 @@
this.toolStripStatusLabelFps.Size = new System.Drawing.Size(26, 17);
this.toolStripStatusLabelFps.Text = "FPS";
//
- // panelDisplay
- //
- this.panelDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.panelDisplay.Controls.Add(this.tableLayoutPanel);
- this.panelDisplay.Location = new System.Drawing.Point(181, 151);
- this.panelDisplay.Margin = new System.Windows.Forms.Padding(0);
- this.panelDisplay.Name = "panelDisplay";
- this.panelDisplay.Size = new System.Drawing.Size(258, 66);
- this.panelDisplay.TabIndex = 12;
- //
- // tableLayoutPanel
- //
- this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.tableLayoutPanel.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single;
- this.tableLayoutPanel.ColumnCount = 1;
- this.tableLayoutPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
- this.tableLayoutPanel.Controls.Add(this.marqueeLabelTop, 0, 0);
- this.tableLayoutPanel.Controls.Add(this.marqueeLabelBottom, 0, 1);
- this.tableLayoutPanel.Location = new System.Drawing.Point(0, 0);
- this.tableLayoutPanel.Margin = new System.Windows.Forms.Padding(0);
- this.tableLayoutPanel.Name = "tableLayoutPanel";
- this.tableLayoutPanel.RowCount = 2;
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
- this.tableLayoutPanel.Size = new System.Drawing.Size(256, 64);
- this.tableLayoutPanel.TabIndex = 5;
- //
- // checkBoxConnectOnStartup
- //
- this.checkBoxConnectOnStartup.AutoSize = true;
- this.checkBoxConnectOnStartup.Location = new System.Drawing.Point(113, 321);
- this.checkBoxConnectOnStartup.Name = "checkBoxConnectOnStartup";
- this.checkBoxConnectOnStartup.Size = new System.Drawing.Size(119, 17);
- this.checkBoxConnectOnStartup.TabIndex = 13;
- this.checkBoxConnectOnStartup.Text = "Connect on stratup ";
- this.checkBoxConnectOnStartup.UseVisualStyleBackColor = true;
- this.checkBoxConnectOnStartup.CheckedChanged += new System.EventHandler(this.checkBoxConnectOnStartup_CheckedChanged);
- //
- // marqueeLabelTop
- //
- this.marqueeLabelTop.AutoEllipsis = true;
- this.marqueeLabelTop.BackColor = System.Drawing.Color.Transparent;
- this.marqueeLabelTop.Dock = System.Windows.Forms.DockStyle.Fill;
- this.marqueeLabelTop.Location = new System.Drawing.Point(1, -901);
- this.marqueeLabelTop.Margin = new System.Windows.Forms.Padding(0);
- this.marqueeLabelTop.Name = "marqueeLabelTop";
- this.marqueeLabelTop.OwnTimer = false;
- this.marqueeLabelTop.PixelsPerSecond = 64;
- this.marqueeLabelTop.Separator = "|";
- this.marqueeLabelTop.Size = new System.Drawing.Size(254, 20);
- this.marqueeLabelTop.TabIndex = 2;
- this.marqueeLabelTop.Text = "ABCDEFGHIJKLMNOPQRST-0123456789";
- this.marqueeLabelTop.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- this.marqueeLabelTop.UseCompatibleTextRendering = true;
- //
- // marqueeLabelBottom
- //
- this.marqueeLabelBottom.AutoEllipsis = true;
- this.marqueeLabelBottom.Dock = System.Windows.Forms.DockStyle.Fill;
- this.marqueeLabelBottom.Location = new System.Drawing.Point(1, -481);
- this.marqueeLabelBottom.Margin = new System.Windows.Forms.Padding(0);
- this.marqueeLabelBottom.Name = "marqueeLabelBottom";
- this.marqueeLabelBottom.OwnTimer = false;
- this.marqueeLabelBottom.PixelsPerSecond = 64;
- this.marqueeLabelBottom.Separator = null;
- this.marqueeLabelBottom.Size = new System.Drawing.Size(254, 20);
- this.marqueeLabelBottom.TabIndex = 3;
- this.marqueeLabelBottom.Text = "abcdefghijklmnopqrst-0123456789";
- this.marqueeLabelBottom.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- this.marqueeLabelBottom.UseCompatibleTextRendering = true;
- //
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -377,11 +390,11 @@
this.tabControl.ResumeLayout(false);
this.tabPageDisplay.ResumeLayout(false);
this.tabPageDisplay.PerformLayout();
+ this.panelDisplay.ResumeLayout(false);
+ this.tableLayoutPanel.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.trackBarBrightness)).EndInit();
this.statusStrip.ResumeLayout(false);
this.statusStrip.PerformLayout();
- this.panelDisplay.ResumeLayout(false);
- this.tableLayoutPanel.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@@ -412,6 +425,7 @@
private MarqueeLabel marqueeLabelTop;
private MarqueeLabel marqueeLabelBottom;
private System.Windows.Forms.CheckBox checkBoxConnectOnStartup;
+ private System.Windows.Forms.CheckBox checkBoxReverseScreen;
}
}
diff -r 452e5c0c98da -r 985ca4b6e099 MainForm.cs
--- a/MainForm.cs Tue Aug 05 22:11:08 2014 +0200
+++ b/MainForm.cs Mon Aug 11 23:18:45 2014 +0200
@@ -34,6 +34,7 @@
marqueeLabelBottom.Font = Properties.Settings.Default.DisplayFont;
checkBoxShowBorders.Checked = Properties.Settings.Default.DisplayShowBorders;
checkBoxConnectOnStartup.Checked = Properties.Settings.Default.DisplayConnectOnStartup;
+ checkBoxReverseScreen.Checked = Properties.Settings.Default.DisplayReverseScreen;
//
tableLayoutPanel.CellBorderStyle = (checkBoxShowBorders.Checked ? TableLayoutPanelCellBorderStyle.Single : TableLayoutPanelCellBorderStyle.None);
//We have a bug when drawing minimized and reusing our bitmap
@@ -139,6 +140,32 @@
}
}
+
+ public delegate int CoordinateTranslationDelegate(System.Drawing.Bitmap aBmp, int aInt);
+
+
+ public static int ScreenReversedX(System.Drawing.Bitmap aBmp, int aX)
+ {
+ return aBmp.Width - aX - 1;
+ }
+
+ public int ScreenReversedY(System.Drawing.Bitmap aBmp, int aY)
+ {
+ return iBmp.Height - aY - 1;
+ }
+
+ public int ScreenX(System.Drawing.Bitmap aBmp, int aX)
+ {
+ return aX;
+ }
+
+ public int ScreenY(System.Drawing.Bitmap aBmp, int aY)
+ {
+ return aY;
+ }
+
+
+ //This is our timer tick responsible to perform our render
private void timer_Tick(object sender, EventArgs e)
{
//Update our animations
@@ -159,9 +186,23 @@
}
tableLayoutPanel.DrawToBitmap(iBmp, tableLayoutPanel.ClientRectangle);
//iBmp.Save("D:\\capture.png");
+
+ //Select proper coordinate translation functions
+ //We used delegate/function pointer to support reverse screen without doing an extra test on each pixels
+ CoordinateTranslationDelegate screenX;
+ CoordinateTranslationDelegate screenY;
+
+ if (Properties.Settings.Default.DisplayReverseScreen)
+ {
+ screenX = ScreenReversedX;
+ screenY = ScreenReversedY;
+ }
+ else
+ {
+ screenX = ScreenX;
+ screenY = ScreenY;
+ }
- //iBmp.
-
//Send it to our display
for (int i = 0; i < iBmp.Width; i++)
{
@@ -172,7 +213,7 @@
uint color = (uint)iBmp.GetPixel(i, j).ToArgb();
//For some reason when the app is minimized in the task bar only the alpha of our color is set.
//Thus that strange test for rendering to work both when the app is in the task bar and when it isn't.
- iDisplay.SetPixel(i, j, Convert.ToInt32(!(color != 0xFF000000)));
+ iDisplay.SetPixel(screenX(iBmp, i), screenY(iBmp, j), Convert.ToInt32(!(color != 0xFF000000)));
}
}
}
@@ -263,6 +304,7 @@
private void checkBoxShowBorders_CheckedChanged(object sender, EventArgs e)
{
+ //Save our show borders setting
tableLayoutPanel.CellBorderStyle = (checkBoxShowBorders.Checked ? TableLayoutPanelCellBorderStyle.Single : TableLayoutPanelCellBorderStyle.None);
Properties.Settings.Default.DisplayShowBorders = checkBoxShowBorders.Checked;
Properties.Settings.Default.Save();
@@ -270,10 +312,18 @@
private void checkBoxConnectOnStartup_CheckedChanged(object sender, EventArgs e)
{
+ //Save our connect on startup setting
Properties.Settings.Default.DisplayConnectOnStartup = checkBoxConnectOnStartup.Checked;
Properties.Settings.Default.Save();
}
+ private void checkBoxReverseScreen_CheckedChanged(object sender, EventArgs e)
+ {
+ //Save our reverse screen setting
+ Properties.Settings.Default.DisplayReverseScreen = checkBoxReverseScreen.Checked;
+ Properties.Settings.Default.Save();
+ }
+
private void MainForm_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Minimized)
diff -r 452e5c0c98da -r 985ca4b6e099 Properties/Settings.Designer.cs
--- a/Properties/Settings.Designer.cs Tue Aug 05 22:11:08 2014 +0200
+++ b/Properties/Settings.Designer.cs Mon Aug 11 23:18:45 2014 +0200
@@ -70,5 +70,17 @@
this["DisplayConnectOnStartup"] = value;
}
}
+
+ [global::System.Configuration.UserScopedSettingAttribute()]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Configuration.DefaultSettingValueAttribute("False")]
+ public bool DisplayReverseScreen {
+ get {
+ return ((bool)(this["DisplayReverseScreen"]));
+ }
+ set {
+ this["DisplayReverseScreen"] = value;
+ }
+ }
}
}
diff -r 452e5c0c98da -r 985ca4b6e099 Properties/Settings.settings
--- a/Properties/Settings.settings Tue Aug 05 22:11:08 2014 +0200
+++ b/Properties/Settings.settings Mon Aug 11 23:18:45 2014 +0200
@@ -14,5 +14,8 @@
False
+
+ False
+
\ No newline at end of file
diff -r 452e5c0c98da -r 985ca4b6e099 SharpDisplayManager.csproj
--- a/SharpDisplayManager.csproj Tue Aug 05 22:11:08 2014 +0200
+++ b/SharpDisplayManager.csproj Mon Aug 11 23:18:45 2014 +0200
@@ -55,9 +55,7 @@
MainForm.cs
-
- Component
-
+