|
@@ -0,0 +1,113 @@
|
|
|
|
|
+using Microsoft.VisualBasic;
|
|
|
|
|
+using PdfFileWriter;
|
|
|
|
|
+using System;
|
|
|
|
|
+using System.Collections.Generic;
|
|
|
|
|
+using System.Diagnostics;
|
|
|
|
|
+using System.IO;
|
|
|
|
|
+using System.Linq;
|
|
|
|
|
+using System.Text;
|
|
|
|
|
+using System.Threading.Tasks;
|
|
|
|
|
+
|
|
|
|
|
+namespace ZX_Keyboard.Logic
|
|
|
|
|
+{
|
|
|
|
|
+ internal class RenderPdf
|
|
|
|
|
+ {
|
|
|
|
|
+ internal void CreateDocument()
|
|
|
|
|
+ {
|
|
|
|
|
+ var filename = "ZX-Keyboard.pdf";
|
|
|
|
|
+
|
|
|
|
|
+ // Create empty document
|
|
|
|
|
+ using (PdfDocument Document = new PdfDocument(PaperType.A4, false, UnitOfMeasure.mm, filename))
|
|
|
|
|
+ {
|
|
|
|
|
+ // Add new page
|
|
|
|
|
+ PdfPage Page = new PdfPage(Document);
|
|
|
|
|
+
|
|
|
|
|
+ // Add contents to page
|
|
|
|
|
+ PdfContents Contents = new PdfContents(Page);
|
|
|
|
|
+
|
|
|
|
|
+ // create font
|
|
|
|
|
+ PdfFont ArialNormal = PdfFont.CreatePdfFont(Document, "Arial", FontStyle.Regular, true);
|
|
|
|
|
+ PdfDrawTextCtrl TextCtrl = new PdfDrawTextCtrl(ArialNormal, 10.0);
|
|
|
|
|
+
|
|
|
|
|
+ // draw text
|
|
|
|
|
+ TextCtrl.Justify = TextJustify.Center;
|
|
|
|
|
+ Contents.DrawText(TextCtrl, 304, 830, "ZX-Keyboard Created by Badmuts");
|
|
|
|
|
+
|
|
|
|
|
+ // Row 1
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 15, 275, "1", 0b0100, Color.Blue, "!", "EDIT", "DEF FN");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 28, 275, "2", 0b1000, Color.Red, "@", "CAPS LOCK", "FN");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 41, 275, "3", 0b1100, Color.Magenta, "#", "TRUE VIDEO", "Row");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 54, 275, "4", 0b0010, Color.Green, "$", "INV VIDEO", "OPEN");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 67, 275, "5", 0b0110, Color.Cyan, "%", "3", "CLOSE");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 80, 275, "6", 0b1010, Color.Yellow, "&", "6", "MOVE");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 93, 275, "7", 0b0001, Color.Black, "'", "5", "ERASE");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 106, 275, "8", 0b0000, Color.Black, "(", "4", "POINT");
|
|
|
|
|
+ Contents.AddNumberButton(Document, 119, 275, "9", ")", "GRAPHICS", "CAT");
|
|
|
|
|
+ Contents.AddNumberButton(Document, 132, 275, "0", "_", "DELETE", "FORMAT");
|
|
|
|
|
+
|
|
|
|
|
+ // Row 2
|
|
|
|
|
+ Contents.AddButton(Document, 145, 275, "Q", "PLOT", "<=", "SIN", "ASN");
|
|
|
|
|
+ Contents.AddButton(Document, 158, 275, "W", "DRAW", "<>", "COS", "ACS");
|
|
|
|
|
+ Contents.AddButton(Document, 171, 275, "E", "REM", ">=", "TAN", "ATN");
|
|
|
|
|
+ Contents.AddButton(Document, 184, 275, "R", "RUN", "<", "INT", "VERIFY");
|
|
|
|
|
+ Contents.AddButton(Document, 15, 262, "T", "RAND", ">", "RND", "MERGE");
|
|
|
|
|
+ Contents.AddButton(Document, 28, 262, "Y", "RETURN", "AND", "STR$", "[");
|
|
|
|
|
+ Contents.AddButton(Document, 41, 262, "U", "IF", "OR", "CHR$", "]");
|
|
|
|
|
+ Contents.AddButton(Document, 54, 262, "I", "INPUT", "AT", "CODE", "IN");
|
|
|
|
|
+ Contents.AddButton(Document, 67, 262, "O", "POKE", ";", "PEEK", "OUT");
|
|
|
|
|
+ Contents.AddButton(Document, 80, 262, "P", "PRINT", "\"", "TAB", "©");
|
|
|
|
|
+
|
|
|
|
|
+ // Row 3
|
|
|
|
|
+ Contents.AddButton(Document, 93, 262, "A", "NEW", "STOP", "READ", "~");
|
|
|
|
|
+ Contents.AddButton(Document, 106, 262, "S", "SAVE", "NOT", "RESTORE", "|");
|
|
|
|
|
+ Contents.AddButton(Document, 119, 262, "D", "DIM", "STEP", "DATA", "\\");
|
|
|
|
|
+ Contents.AddButton(Document, 132, 262, "F", "FOR", "TO", "SGN", "{");
|
|
|
|
|
+ Contents.AddButton(Document, 145, 262, "G", "GOTO", "THEN", "ABS", "}");
|
|
|
|
|
+ Contents.AddButton(Document, 158, 262, "H", "GOSUB", "↑", "SQR", "CIRCLE");
|
|
|
|
|
+ Contents.AddButton(Document, 171, 262, "J", "LOAD", "-", "VAL", "VAL$");
|
|
|
|
|
+ Contents.AddButton(Document, 184, 262, "K", "LIST", "+", "LEN", "SCREEN$");
|
|
|
|
|
+ Contents.AddButton(Document, 15, 249, "L", "LET", "=", "USR", "ATR");
|
|
|
|
|
+ Contents.AddTextButton(Document, 28, 249, "ENTER", "", 7, Color.Black, Color.Red);
|
|
|
|
|
+
|
|
|
|
|
+ // Row 4
|
|
|
|
|
+ Contents.AddTextButton(Document, 41, 249, "CAPS", "SHIFT", 5, Color.Black, Color.White);
|
|
|
|
|
+ Contents.AddButton(Document, 54, 249, "Z", "COPY", ":", "LN", "BEEP");
|
|
|
|
|
+ Contents.AddButton(Document, 67, 249, "X", "CLEAR", "£", "LN", "INK");
|
|
|
|
|
+ Contents.AddButton(Document, 80, 249, "C", "CONT", "?", "LN", "PAPER");
|
|
|
|
|
+ Contents.AddButton(Document, 93, 249, "V", "CLS", "/", "LN", "FLASH");
|
|
|
|
|
+ Contents.AddButton(Document, 106, 249, "B", "BORDER", "*", "LN", "BRIGHT");
|
|
|
|
|
+ Contents.AddButton(Document, 119, 249, "N", "NEXT", ",", "LN", "OVER");
|
|
|
|
|
+ Contents.AddButton(Document, 132, 249, "M", "PAUSE", ".", "LN", "INVERSE");
|
|
|
|
|
+ Contents.AddTextButton(Document, 145, 249, "SYMBOL", "SHIFT", 5, Color.Red, Color.White);
|
|
|
|
|
+ Contents.AddTextButton(Document, 158, 249, "BREAK", "SPACE", 5, Color.Black, Color.White);
|
|
|
|
|
+
|
|
|
|
|
+ // Extra for colour labels
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 15, 236, "1", 0b0100, Color.Black, "!", "EDIT", "DEF FN");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 28, 236, "2", 0b1000, Color.Black, "@", "CAPS LOCK", "FN");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 41, 236, "3", 0b1100, Color.Black, "#", "TRUE VIDEO", "Row");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 54, 236, "4", 0b0010, Color.Black, "$", "INV VIDEO", "OPEN");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 67, 236, "5", 0b0110, Color.Black, "%", "3", "CLOSE");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 80, 236, "6", 0b1010, Color.Black, "&", "6", "MOVE");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 93, 236, "7", 0b1110, Color.Black, "'", "5", "ERASE");
|
|
|
|
|
+ Contents.AddNumberGraphButton(Document, 106, 236, "8", 0b0000, Color.Black, "(", "4", "POINT");
|
|
|
|
|
+
|
|
|
|
|
+ Contents.AddColourLabel(Document, 119, 242, "BLUE", Color.Blue);
|
|
|
|
|
+ Contents.AddColourLabel(Document, 119, 236, "RED", Color.Red);
|
|
|
|
|
+ Contents.AddColourLabel(Document, 132, 242, "MAGENTA", Color.Magenta);
|
|
|
|
|
+ Contents.AddColourLabel(Document, 132, 236, "GREEN", Color.Green);
|
|
|
|
|
+ Contents.AddColourLabel(Document, 145, 242, "CYAN", Color.Cyan);
|
|
|
|
|
+ Contents.AddColourLabel(Document, 145, 236, "YELLOW", Color.Yellow);
|
|
|
|
|
+ Contents.AddColourLabel(Document, 158, 242, "WHITE", Color.White);
|
|
|
|
|
+
|
|
|
|
|
+ // create pdf file
|
|
|
|
|
+ Document.CreateFile();
|
|
|
|
|
+
|
|
|
|
|
+ // start default PDF reader and display the file
|
|
|
|
|
+ Process Proc = new Process();
|
|
|
|
|
+ Proc.StartInfo = new ProcessStartInfo(filename) { UseShellExecute = true };
|
|
|
|
|
+ Proc.Start();
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|