# generate a form FORM containing TEXT
# TEXT can contain newlines (final newline usually undesirable)
# if FORM not specified, generates Arg0 Arg1 Arg2 in sequence
-# character set is SPC 0-9 a-f + * (`*' glyph is `=/=').
+# character set is SPC 0-9 a-f + *
#
# We generate a physical indication of which commit was used.
#
our $gtm_demo_j;
our @gtm_demo_o;
-sub gentextmodule_demo_next_batch(){
- $gtm_demo_i++;
- $gtm_demo_j = 0;
+sub gentextmodule_demo_start_batch ($;$) {
+ ($gtm_demo_i, $gtm_demo_j) = @_;
+ $gtm_demo_j //= 0;
}
-gentextmodule_demo_next_batch();
sub gentextmodule ($@) {
my ($form, @lines) = @_;
$y--;
my $x = 0;
foreach my $chr (split //, $line) {
- next if $chr !~ m/\S/;
p sprintf " translate([%d * 0.8, %d * 1.2]) %s();\n",
- $x, $y, chrmodname $chr;
+ $x, $y, chrmodname $chr
+ if $chr =~ m/\S/;
$x++;
}
$cols = $x if $x > $cols;
p sprintf "function %s_sz() = Commitid__scale() * 0.1 * [ %d, %d ];\n",
$modb, 2 * ($cols * 4 - 1), 2 * (@lines * 6 - 1);
- push @gtm_demo_o,
- " translate([$gtm_demo_i * st[0], $gtm_demo_j * st[1]])".
- " ${modb}_2D();\n";
+ push @gtm_demo_o, <<END;
+ translate([$gtm_demo_i * st[0], $gtm_demo_j * st[1]]) {
+ difference(){
+ color("blue") translate([-e,-e]) square(${modb}_sz() + 2*[e,e]);
+ square(${modb}_sz());
+ }
+ ${modb}_2D();
+}
+END
$gtm_demo_j++;
}
}
foreach my $sz (3..10) {
- gentextmodule_demo_next_batch();
+ gentextmodule_demo_start_batch($sz-3, 0);
gentextmodule_plusq("Small$sz", rjustt($sz, $git_count.$git_dirty))
if defined $git_count;
+ gentextmodule_demo_start_batch($sz-3, 2);
+
gentextmodule_plusq("Git$sz", ljustt($sz, $git_object, $git_dirty))
if defined $git_object;
+ gentextmodule_demo_start_batch($sz-3, 4);
+
gentextmodule("Full$sz",
rjustt($sz, $git_count.$git_dirty),
ljustt($sz, $git_object, ''))
$do_git //= defined($argcounter) ? '' : 'co';
+gentextmodule_demo_start_batch(-1);
gentextmodule('FontDemo', @demo);
do_git();
p "module Commitid_2DDemo(){\n";
p " st = Commitid__scale() * [ 10, 5 ];\n";
+p " e = Commitid_pixelsz();\n";
p $_ foreach @gtm_demo_o;
p "}\n";
+ *
- r
- # ###
-### #
- # ###
- L
+ # #
+ # \#/
+### ###
+ # /#\
+ # #