#N canvas 36 57 1330 711 12;
#X declare -lib Gem;
#X obj 151 767 gemmouse;
#X floatatom 226 884 2 0 0 1 left-Button - -;
#X floatatom 216 817 2 0 0 1 middle-Button - -;
#X floatatom 342 899 2 0 0 1 right-Button - -;
#X obj 229 926 s left_click;
#X floatatom 96 829 5 0 0 0 - - -;
#X floatatom 145 828 5 0 0 0 - - -;
#X obj 88 583 gemwin;
#X msg 85 501 dimen 400 400;
#X obj 194 495 delay 200;
#X msg 150 439 0 \, destroy;
#X obj 71 301 declare -lib Gem;
#X msg 115 540 buffer 2 \, create \, 1;
#N canvas 0 50 450 250 (subpatch) 0;
#X array screen 40000 float 2;
#X coords 0 100 40000 -100 200 140 1 0 0;
#X restore 215 3096 graph;
#X obj 55 2891 gemhead;
#X obj 50 3100 pix_texture;
#X obj 50 3184 square;
#X msg 72 2969 GREY;
#X msg 75 3072 quality 0;
#X obj 71 3043 loadbang;
#X obj 202 2978 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 205 3039 array get screen;
#X obj 50 3013 pix_set 200 200;
#X floatatom 65 3151 5 0 0 0 - - -;
#X obj 197 2918 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X msg 70 3126 4;
#X obj 196 2947 metro 1;
#X obj 196 471 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 78 408 bng 15 250 50 0 empty empty empty 17 7 0 10 -4034 -1
-1;
#X obj 66 2937 loadbang;
#X obj 194 2886 loadbang;
#X obj 106 3127 loadbang;
#X obj 108 332 loadbang;
#X text 84 157 Will Blackhurst 2023;
#X text 106 406 <-- re-do gem window;
#X obj 106 850 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 165 853 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 93 884 s x;
#X obj 135 881 s y;
#X msg 81 455 cursor 0;
#X floatatom 926 2859 9 0 0 1 X-position - -;
#X floatatom 1089 2853 8 0 0 1 Y-position - -;
#X obj 1010 2800 gemmouse 1 1;
#X obj 956 2960 gemhead;
#X obj 985 3037 translateXYZ;
#X text 1126 2924 invert y;
#X msg 1087 2905 1 \$1;
#X obj 1087 2929 -;
#X msg 1157 2997 0.03;
#X obj 1167 2966 loadbang;
#X obj 1041 2945 - 4;
#X obj 1087 2987 - 4;
#X obj 1041 2922 * 8;
#X obj 1087 2964 * 8;
#X msg 1146 3169 1 0 0;
#X obj 1048 3209 color 1 0 0;
#X floatatom 1193 3086 5 0 0 0 - - -;
#X obj 1183 3124 sel 1;
#X obj 1179 3061 r left_click;
#X obj 1234 3123 sel 0;
#X obj 128 370 r gem_window_start;
#X msg 1004 2248 \; screen const 0;
#X obj 1427 1696 bng 15 250 50 0 empty empty empty 17 7 0 10 -257985
-1 -1;
#X text 931 2775 red and yellow click pointer square;
#X obj 1051 3247 square 0.06;
#X obj 37 500 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 32 85 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 1060 3151 1 1 0;
#X obj 25 127 bng 15 250 50 0 empty empty empty 17 7 0 10 -257985 -1
-1;
#X msg 1158 785 \; screen const 0;
#N canvas 359 149 450 300 double 0;
#X msg 144 97 bang;
#X obj 201 121 + 1;
#X obj 144 122 float;
#X obj 197 163 mod 2;
#X obj 200 44 loadbang;
#X obj 200 203 sel 0;
#X msg 235 76 0;
#X obj 62 25 inlet;
#X obj 37 183 f;
#X obj 61 254 outlet;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 2 1;
#X connect 7 0 8 1;
#X connect 7 0 0 0;
#X connect 8 0 9 0;
#X restore 669 842 pd double;
#X floatatom 639 807 0 0 0 0 - - -;
#X floatatom 600 678 0 0 0 0 - - -;
#X floatatom 672 679 0 0 0 0 - - -;
#X obj 672 707 t b f;
#X obj 600 708 f;
#X obj 639 781 -;
#N canvas 359 149 450 300 double 0;
#X msg 144 97 bang;
#X obj 201 121 + 1;
#X obj 144 122 float;
#X obj 197 163 mod 2;
#X obj 200 44 loadbang;
#X obj 200 203 sel 0;
#X msg 235 76 0;
#X obj 62 25 inlet;
#X obj 37 183 f;
#X obj 61 254 outlet;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 2 1;
#X connect 7 0 8 1;
#X connect 7 0 0 0;
#X connect 8 0 9 0;
#X restore 915 823 pd double;
#X floatatom 906 788 0 0 0 0 - - -;
#X floatatom 867 659 0 0 0 0 - - -;
#X floatatom 939 660 0 0 0 0 - - -;
#X obj 939 688 t b f;
#X obj 867 689 f;
#X obj 906 762 -;
#X floatatom 937 901 5 0 0 0 - - -;
#X floatatom 650 919 5 0 0 0 - - -;
#X floatatom 934 1436 5 0 0 0 - - -;
#X floatatom 712 1439 5 0 0 0 - - -;
#X msg 655 1656 bang;
#X obj 712 1680 + 1;
#X obj 655 1681 float;
#X obj 685 1578 spigot;
#X obj 678 1618 t b f;
#X msg 803 1661 bang;
#X obj 860 1685 + 1;
#X obj 803 1686 float;
#X obj 833 1583 spigot;
#X obj 826 1623 t b f;
#X msg 751 1633 0;
#X obj 749 1583 sel 1;
#X msg 896 1639 0;
#X obj 894 1589 sel 1;
#X obj 596 1446 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 661 1523 f;
#X obj 834 1512 f;
#X obj 707 1735 int;
#X obj 859 1731 int;
#X floatatom 931 1841 5 0 0 0 - - -;
#X floatatom 1089 1834 5 0 0 0 - - -;
#X obj 937 1805 r x_start;
#X obj 1090 1804 r y_start;
#N canvas 263 133 1051 634 pixel_number 0;
#X obj 174 157 inlet;
#X obj 628 164 inlet;
#X obj 191 277 int;
#X obj 566 274 int;
#X floatatom 195 310 5 0 0 0 - - -;
#X obj 553 304 * 200;
#X floatatom 177 241 0 0 0 0 - - -;
#X floatatom 634 240 0 0 0 0 - - -;
#X obj -49 468 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 38 958 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 1345 1042 r left_click_toggle;
#X obj 1339 1079 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj 177 215 / 2;
#X obj 634 214 / 2;
#X floatatom 361 603 0 0 0 0 - - -;
#X floatatom 319 500 0 0 0 0 - - -;
#X floatatom 391 501 0 0 0 0 - - -;
#X obj 391 529 t b f;
#X obj 319 530 f;
#X obj 361 574 +;
#X obj 317 677 outlet;
#X connect 0 0 12 0;
#X connect 1 0 13 0;
#X connect 2 0 4 0;
#X connect 3 0 5 0;
#X connect 4 0 15 0;
#X connect 5 0 16 0;
#X connect 6 0 2 0;
#X connect 7 0 3 0;
#X connect 10 0 11 0;
#X connect 12 0 6 0;
#X connect 13 0 7 0;
#X connect 14 0 20 0;
#X connect 15 0 18 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 17 1 19 1;
#X connect 18 0 19 0;
#X connect 19 0 14 0;
#X restore 767 2018 pd pixel_number;
#N canvas 359 149 450 300 double 0;
#X msg 144 97 bang;
#X obj 201 121 + 1;
#X obj 144 122 float;
#X obj 197 163 mod 2;
#X obj 200 44 loadbang;
#X obj 200 203 sel 0;
#X msg 235 76 0;
#X obj 62 25 inlet;
#X obj 37 183 f;
#X obj 61 254 outlet;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 2 1;
#X connect 7 0 8 1;
#X connect 7 0 0 0;
#X connect 8 0 9 0;
#X restore 802 2110 pd double;
#X floatatom 793 2072 5 0 0 0 - - -;
#X obj 804 2149 change;
#X floatatom 803 2186 5 0 0 0 - - -;
#X obj 749 2309 tabwrite screen, f 20;
#X obj 856 2251 t b f;
#X obj 729 2256 f;
#X obj 757 2226 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 715 2214 1;
#X obj 857 1770 * -1;
#X obj 709 1771 * 1;
#X msg 330 138 \; screen const 0;
#X obj 298 118 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 910 2316 bng 15 250 50 0 empty empty empty 17 7 0 10 -257985
-1 -1;
#X obj 699 2182 loadbang;
#X obj 756 953 pow 2;
#X obj 840 938 pow 2;
#N canvas 359 149 450 300 double 0;
#X msg 144 97 bang;
#X obj 201 121 + 1;
#X obj 144 122 float;
#X obj 197 163 mod 2;
#X obj 200 44 loadbang;
#X obj 200 203 sel 0;
#X msg 235 76 0;
#X obj 62 25 inlet;
#X obj 37 183 f;
#X obj 61 254 outlet;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 2 1;
#X connect 7 0 8 1;
#X connect 7 0 0 0;
#X connect 8 0 9 0;
#X restore 811 1121 pd double;
#X floatatom 813 1085 0 0 0 0 - - -;
#X floatatom 770 987 0 0 0 0 - - -;
#X floatatom 842 988 0 0 0 0 - - -;
#X obj 842 1016 t b f;
#X obj 770 1017 f;
#X obj 813 1059 +;
#X obj 809 1151 sqrt;
#X floatatom 812 1187 5 0 0 0 - - -;
#N canvas 359 149 450 300 double 0;
#X msg 144 97 bang;
#X obj 201 121 + 1;
#X obj 144 122 float;
#X obj 197 163 mod 2;
#X obj 200 44 loadbang;
#X obj 200 203 sel 0;
#X msg 235 76 0;
#X obj 62 25 inlet;
#X obj 37 183 f;
#X obj 61 254 outlet;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 2 1;
#X connect 7 0 8 1;
#X connect 7 0 0 0;
#X connect 8 0 9 0;
#X restore 938 1389 pd double;
#X floatatom 939 1364 0 0 0 0 - - -;
#X floatatom 900 1235 0 0 0 0 - - -;
#X floatatom 972 1236 0 0 0 0 - - -;
#X obj 972 1264 t b f;
#X obj 900 1265 f;
#X obj 939 1338 /;
#N canvas 359 149 450 300 double 0;
#X msg 144 97 bang;
#X obj 201 121 + 1;
#X obj 144 122 float;
#X obj 197 163 mod 2;
#X obj 200 44 loadbang;
#X obj 200 203 sel 0;
#X msg 235 76 0;
#X obj 62 25 inlet;
#X obj 37 183 f;
#X obj 61 254 outlet;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 2 1;
#X connect 7 0 8 1;
#X connect 7 0 0 0;
#X connect 8 0 9 0;
#X restore 711 1401 pd double;
#X floatatom 711 1366 0 0 0 0 - - -;
#X floatatom 672 1237 0 0 0 0 - - -;
#X floatatom 744 1238 0 0 0 0 - - -;
#X obj 744 1266 t b f;
#X obj 672 1267 f;
#X obj 711 1340 /;
#X obj 337 929 s right_click;
#X floatatom 827 478 5 0 0 0 - - -;
#X floatatom 896 481 5 0 0 0 - - -;
#X obj 814 374 r x;
#X obj 847 374 r y;
#X obj 898 385 r right_click;
#X obj 505 375 f;
#X obj 587 327 r x;
#X obj 629 324 r y;
#X obj 570 380 f;
#X obj 515 258 r left_click;
#X floatatom 505 408 5 0 0 0 - - -;
#X floatatom 570 410 5 0 0 0 - - -;
#X obj 546 298 sel 1;
#X obj 891 440 spigot;
#X obj 829 438 spigot;
#X floatatom 533 578 5 0 0 0 - - -;
#X floatatom 589 580 5 0 0 0 - - -;
#X obj 720 1540 r right_click;
#X obj 867 1544 r right_click;
#X obj 479 1383 r right_click;
#X floatatom 724 1836 5 0 0 0 - - -;
#X floatatom 845 1837 5 0 0 0 - - -;
#X obj 428 439 s x_start;
#X obj 613 445 s y_start;
#X obj 721 1890 +;
#X obj 852 1904 +;
#X floatatom 726 1943 5 0 0 0 - - -;
#X floatatom 847 1944 5 0 0 0 - - -;
#X floatatom 574 1658 5 0 0 0 - - -;
#X floatatom 941 1682 5 0 0 0 - - -;
#X obj 654 883 * -1;
#X obj 930 859 * 1;
#X obj 596 1469 metro 10;
#X text 351 1471 metro 1 is full speed drawing;
#X msg 646 1379 1;
#X msg 659 1412 10;
#X obj 556 2045 s drawn_pixel_location_x;
#X obj 940 1988 s drawn_pixel_location_y;
#X obj 326 482 r drawn_pixel_location_x;
#X obj 607 482 r drawn_pixel_location_y;
#X obj 624 647 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 898 628 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 951 483 mouse location;
#X text 615 405 red dot point;
#X text 729 1187 hypotenuse;
#X text 982 1015 height and width are scaled down;
#X text 972 1050 im dividing by hypotenuse and I get decimal;
#X text 976 1073 height and width lengths;
#X text 958 1150 it does one pixel at a time in the direction of the
hypotenuse between the first and second click points;
#X text 951 1095 then I translate the pen by the decimal vector distance
and accumulate it until it hits an interger and triggers a pixel number
;
#X text 930 2022 sending the location of the most recently drawn pixel
;
#X text 643 42 Left click sets the first point;
#X text 637 71 "Right click-and-hold" sets the second point and draws
a line, f 62;
#X text 644 98 left click and then right click and hold and drag for
drawing;
#X obj 322 235 s speed_change;
#X obj 569 1322 r speed_change;
#X msg 380 197 1;
#X msg 323 197 10;
#X text 410 197 fast;
#X text 334 114 clear screen;
#X text 996 1608 accumulation;
#X text 247 1611 this accumulates the small vector lengths and triggers
location xy point numbers;
#X text 997 1767 offset by the first click location;
#X obj 69 207 cnv 15 180 60 empty empty empty 20 12 0 14 -257985 -66577
0;
#X text 88 222 draws toward mouse;
#X text 929 2038 as a new point on the direction triangle behind the
location of the mouse . - as it moves its already away from the newest
pixel location;
#X text 94 27 make GEM screen "always on top" linux debian mx - puredata
pd vanilla with GEM library;
#X connect 0 0 5 0;
#X connect 0 1 6 0;
#X connect 0 2 1 0;
#X connect 0 3 2 0;
#X connect 0 4 3 0;
#X connect 1 0 4 0;
#X connect 3 0 152 0;
#X connect 5 0 35 0;
#X connect 5 0 37 0;
#X connect 6 0 36 0;
#X connect 6 0 38 0;
#X connect 8 0 7 0;
#X connect 9 0 12 0;
#X connect 10 0 27 0;
#X connect 10 0 7 0;
#X connect 12 0 7 0;
#X connect 14 0 22 0;
#X connect 15 0 16 0;
#X connect 17 0 22 0;
#X connect 18 0 15 0;
#X connect 19 0 18 0;
#X connect 20 0 21 0;
#X connect 21 0 22 1;
#X connect 22 0 15 0;
#X connect 23 0 16 1;
#X connect 24 0 26 0;
#X connect 25 0 23 0;
#X connect 26 0 20 0;
#X connect 27 0 8 0;
#X connect 27 0 9 0;
#X connect 27 0 39 0;
#X connect 28 0 10 0;
#X connect 29 0 17 0;
#X connect 30 0 24 0;
#X connect 31 0 25 0;
#X connect 32 0 28 0;
#X connect 39 0 7 0;
#X connect 40 0 52 0;
#X connect 41 0 46 0;
#X connect 42 0 40 0;
#X connect 42 1 41 0;
#X connect 43 0 44 0;
#X connect 44 0 55 0;
#X connect 46 0 47 0;
#X connect 47 0 53 0;
#X connect 48 0 44 3;
#X connect 49 0 48 0;
#X connect 50 0 44 1;
#X connect 51 0 44 2;
#X connect 52 0 50 0;
#X connect 53 0 51 0;
#X connect 54 0 55 1;
#X connect 55 0 64 0;
#X connect 56 0 57 0;
#X connect 56 0 59 0;
#X connect 57 0 54 0;
#X connect 58 0 56 0;
#X connect 59 0 67 0;
#X connect 60 0 28 0;
#X connect 67 0 55 1;
#X connect 70 0 183 0;
#X connect 71 0 70 0;
#X connect 72 0 75 0;
#X connect 72 0 193 0;
#X connect 73 0 74 0;
#X connect 74 0 75 0;
#X connect 74 1 76 1;
#X connect 75 0 76 0;
#X connect 76 0 71 0;
#X connect 77 0 184 0;
#X connect 78 0 77 0;
#X connect 79 0 82 0;
#X connect 79 0 194 0;
#X connect 80 0 81 0;
#X connect 81 0 82 0;
#X connect 81 1 83 1;
#X connect 82 0 83 0;
#X connect 83 0 78 0;
#X connect 84 0 140 0;
#X connect 84 0 128 0;
#X connect 85 0 147 0;
#X connect 85 0 127 0;
#X connect 86 0 104 1;
#X connect 87 0 103 1;
#X connect 88 0 90 0;
#X connect 89 0 90 1;
#X connect 89 0 105 0;
#X connect 90 0 89 0;
#X connect 91 0 92 0;
#X connect 92 0 88 0;
#X connect 92 1 89 1;
#X connect 92 1 181 0;
#X connect 93 0 95 0;
#X connect 94 0 95 1;
#X connect 94 0 106 0;
#X connect 95 0 94 0;
#X connect 96 0 97 0;
#X connect 97 0 93 0;
#X connect 97 1 94 1;
#X connect 97 1 182 0;
#X connect 98 0 90 1;
#X connect 99 0 98 0;
#X connect 100 0 95 1;
#X connect 101 0 100 0;
#X connect 102 0 185 0;
#X connect 103 0 91 0;
#X connect 104 0 96 0;
#X connect 105 0 122 0;
#X connect 106 0 121 0;
#X connect 107 0 177 1;
#X connect 108 0 178 1;
#X connect 109 0 107 0;
#X connect 110 0 108 0;
#X connect 111 0 113 0;
#X connect 112 0 114 0;
#X connect 113 0 112 0;
#X connect 114 0 115 0;
#X connect 115 0 117 0;
#X connect 117 0 119 0;
#X connect 117 1 116 1;
#X connect 118 0 116 0;
#X connect 119 0 118 0;
#X connect 120 0 118 1;
#X connect 121 0 174 0;
#X connect 122 0 173 0;
#X connect 124 0 123 0;
#X connect 126 0 120 0;
#X connect 127 0 131 0;
#X connect 128 0 132 0;
#X connect 129 0 136 0;
#X connect 130 0 129 0;
#X connect 131 0 134 0;
#X connect 132 0 133 0;
#X connect 133 0 134 0;
#X connect 133 1 135 1;
#X connect 134 0 135 0;
#X connect 135 0 130 0;
#X connect 136 0 137 0;
#X connect 137 0 141 0;
#X connect 137 0 148 0;
#X connect 138 0 86 0;
#X connect 139 0 138 0;
#X connect 140 0 143 0;
#X connect 141 0 142 0;
#X connect 142 0 143 0;
#X connect 142 1 144 1;
#X connect 143 0 144 0;
#X connect 144 0 139 0;
#X connect 145 0 87 0;
#X connect 146 0 145 0;
#X connect 147 0 150 0;
#X connect 148 0 149 0;
#X connect 149 0 150 0;
#X connect 149 1 151 1;
#X connect 150 0 151 0;
#X connect 151 0 146 0;
#X connect 153 0 73 0;
#X connect 154 0 80 0;
#X connect 155 0 167 0;
#X connect 156 0 166 0;
#X connect 157 0 166 1;
#X connect 157 0 167 1;
#X connect 158 0 163 0;
#X connect 159 0 158 1;
#X connect 160 0 161 1;
#X connect 161 0 164 0;
#X connect 162 0 165 0;
#X connect 163 0 168 0;
#X connect 163 0 175 0;
#X connect 164 0 169 0;
#X connect 164 0 176 0;
#X connect 165 0 158 0;
#X connect 165 0 161 0;
#X connect 166 0 154 0;
#X connect 167 0 153 0;
#X connect 168 0 72 0;
#X connect 169 0 79 0;
#X connect 170 0 91 1;
#X connect 170 0 99 0;
#X connect 171 0 96 1;
#X connect 171 0 101 0;
#X connect 172 0 102 0;
#X connect 173 0 177 0;
#X connect 174 0 178 0;
#X connect 177 0 179 0;
#X connect 178 0 180 0;
#X connect 179 0 111 0;
#X connect 179 0 189 0;
#X connect 180 0 111 1;
#X connect 180 0 190 0;
#X connect 183 0 85 0;
#X connect 184 0 84 0;
#X connect 185 0 103 0;
#X connect 185 0 104 0;
#X connect 187 0 185 1;
#X connect 188 0 185 1;
#X connect 191 0 168 0;
#X connect 192 0 169 0;
#X connect 193 0 73 0;
#X connect 194 0 80 0;
#X connect 208 0 185 1;
#X connect 209 0 207 0;
#X connect 210 0 207 0;
