Ver Fonte

Five key-sets on one sheet

Michel há 3 anos atrás
pai
commit
736559127b
1 ficheiros alterados com 64 adições e 60 exclusões
  1. 64 60
      ZX-Keyboard/Logic/RenderPdf.cs

+ 64 - 60
ZX-Keyboard/Logic/RenderPdf.cs

@@ -33,71 +33,75 @@ namespace ZX_Keyboard.Logic
                 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");
+                for (int duplicate = 1; duplicate <= 5; duplicate++)
+                {
+                    var vMargin = -55 * (duplicate - 1);
+                    // Row 1
+                    Contents.AddNumberGraphButton(Document, 15, vMargin + 275, "1", 0b0100, Color.Blue, "!", "EDIT", "DEF FN");
+                    Contents.AddNumberGraphButton(Document, 28, vMargin + 275, "2", 0b1000, Color.Red, "@", "CAPS LOCK", "FN");
+                    Contents.AddNumberGraphButton(Document, 41, vMargin + 275, "3", 0b1100, Color.Magenta, "#", "TRUE VIDEO", "Row");
+                    Contents.AddNumberGraphButton(Document, 54, vMargin + 275, "4", 0b0010, Color.Green, "$", "INV VIDEO", "OPEN");
+                    Contents.AddNumberGraphButton(Document, 67, vMargin + 275, "5", 0b0110, Color.Cyan, "%", "3", "CLOSE");
+                    Contents.AddNumberGraphButton(Document, 80, vMargin + 275, "6", 0b1010, Color.Yellow, "&", "6", "MOVE");
+                    Contents.AddNumberGraphButton(Document, 93, vMargin + 275, "7", 0b0001, Color.Black, "'", "5", "ERASE");
+                    Contents.AddNumberGraphButton(Document, 106, vMargin + 275, "8", 0b0000, Color.Black, "(", "4", "POINT");
+                    Contents.AddNumberButton(Document, 119, vMargin + 275, "9", ")", "GRAPHICS", "CAT");
+                    Contents.AddNumberButton(Document, 132, vMargin + 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 2
+                    Contents.AddButton(Document, 145, vMargin + 275, "Q", "PLOT", "<=", "SIN", "ASN");
+                    Contents.AddButton(Document, 158, vMargin + 275, "W", "DRAW", "<>", "COS", "ACS");
+                    Contents.AddButton(Document, 171, vMargin + 275, "E", "REM", ">=", "TAN", "ATN");
+                    Contents.AddButton(Document, 184, vMargin + 275, "R", "RUN", "<", "INT", "VERIFY");
+                    Contents.AddButton(Document, 15, vMargin + 262, "T", "RAND", ">", "RND", "MERGE");
+                    Contents.AddButton(Document, 28, vMargin + 262, "Y", "RETURN", "AND", "STR$", "[");
+                    Contents.AddButton(Document, 41, vMargin + 262, "U", "IF", "OR", "CHR$", "]");
+                    Contents.AddButton(Document, 54, vMargin + 262, "I", "INPUT", "AT", "CODE", "IN");
+                    Contents.AddButton(Document, 67, vMargin + 262, "O", "POKE", ";", "PEEK", "OUT");
+                    Contents.AddButton(Document, 80, vMargin + 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 3
+                    Contents.AddButton(Document, 93, vMargin + 262, "A", "NEW", "STOP", "READ", "~");
+                    Contents.AddButton(Document, 106, vMargin + 262, "S", "SAVE", "NOT", "RESTORE", "|");
+                    Contents.AddButton(Document, 119, vMargin + 262, "D", "DIM", "STEP", "DATA", "\\");
+                    Contents.AddButton(Document, 132, vMargin + 262, "F", "FOR", "TO", "SGN", "{");
+                    Contents.AddButton(Document, 145, vMargin + 262, "G", "GOTO", "THEN", "ABS", "}");
+                    Contents.AddButton(Document, 158, vMargin + 262, "H", "GOSUB", "↑", "SQR", "CIRCLE");
+                    Contents.AddButton(Document, 171, vMargin + 262, "J", "LOAD", "-", "VAL", "VAL$");
+                    Contents.AddButton(Document, 184, vMargin + 262, "K", "LIST", "+", "LEN", "SCREEN$");
+                    Contents.AddButton(Document, 15, vMargin + 249, "L", "LET", "=", "USR", "ATR");
+                    Contents.AddTextButton(Document, 28, vMargin + 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);
+                    // Row 4
+                    Contents.AddTextButton(Document, 41, vMargin + 249, "CAPS", "SHIFT", 5, Color.Black, Color.White);
+                    Contents.AddButton(Document, 54, vMargin + 249, "Z", "COPY", ":", "LN", "BEEP");
+                    Contents.AddButton(Document, 67, vMargin + 249, "X", "CLEAR", "£", "LN", "INK");
+                    Contents.AddButton(Document, 80, vMargin + 249, "C", "CONT", "?", "LN", "PAPER");
+                    Contents.AddButton(Document, 93, vMargin + 249, "V", "CLS", "/", "LN", "FLASH");
+                    Contents.AddButton(Document, 106, vMargin + 249, "B", "BORDER", "*", "LN", "BRIGHT");
+                    Contents.AddButton(Document, 119, vMargin + 249, "N", "NEXT", ",", "LN", "OVER");
+                    Contents.AddButton(Document, 132, vMargin + 249, "M", "PAUSE", ".", "LN", "INVERSE");
+                    Contents.AddTextButton(Document, 145, vMargin + 249, "SYMBOL", "SHIFT", 5, Color.Red, Color.White);
+                    Contents.AddTextButton(Document, 158, vMargin + 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");
+                    // Extra for colour labels
+                    Contents.AddNumberGraphButton(Document, 15, vMargin + 236, "1", 0b0100, Color.Black, "!", "EDIT", "DEF FN");
+                    Contents.AddNumberGraphButton(Document, 28, vMargin + 236, "2", 0b1000, Color.Black, "@", "CAPS LOCK", "FN");
+                    Contents.AddNumberGraphButton(Document, 41, vMargin + 236, "3", 0b1100, Color.Black, "#", "TRUE VIDEO", "Row");
+                    Contents.AddNumberGraphButton(Document, 54, vMargin + 236, "4", 0b0010, Color.Black, "$", "INV VIDEO", "OPEN");
+                    Contents.AddNumberGraphButton(Document, 67, vMargin + 236, "5", 0b0110, Color.Black, "%", "3", "CLOSE");
+                    Contents.AddNumberGraphButton(Document, 80, vMargin + 236, "6", 0b1010, Color.Black, "&", "6", "MOVE");
+                    Contents.AddNumberGraphButton(Document, 93, vMargin + 236, "7", 0b1110, Color.Black, "'", "5", "ERASE");
+                    Contents.AddNumberGraphButton(Document, 106, vMargin + 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);
+                    Contents.AddColourLabel(Document, 119, vMargin + 242, "BLUE", Color.Blue);
+                    Contents.AddColourLabel(Document, 119, vMargin + 236, "RED", Color.Red);
+                    Contents.AddColourLabel(Document, 132, vMargin + 242, "MAGENTA", Color.Magenta);
+                    Contents.AddColourLabel(Document, 132, vMargin + 236, "GREEN", Color.Green);
+                    Contents.AddColourLabel(Document, 145, vMargin + 242, "CYAN", Color.Cyan);
+                    Contents.AddColourLabel(Document, 145, vMargin + 236, "YELLOW", Color.Yellow);
+                    Contents.AddColourLabel(Document, 158, vMargin + 242, "WHITE", Color.White);
+                }
 
                 // create pdf file
                 Document.CreateFile();