From: ian Date: Sun, 26 Jun 2005 00:51:40 +0000 (+0000) Subject: no need for off colour - now background has everything off; fix colours and trim... X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=145249ba9053c8d4c911457140db50037574e80d;p=trains.git no need for off colour - now background has everything off; fix colours and trim *plandata.c; no longer build ui-plan-data.c --- diff --git a/layout/Makefile b/layout/Makefile index fc1c3b4..165ffd8 100644 --- a/layout/Makefile +++ b/layout/Makefile @@ -25,8 +25,7 @@ default: $(CPROGS) for-test-ui all: default lpages layers extras for-test-ui: ours.graph.c ours.redactgraph ours.raw.neato.ps \ ours.redacted.neato.ps ours.layout-data.o \ - ours.dgram-bot.segcmap subseg2display ui-plan-bot.ppm \ - ui-plan-bot.o + ours.dgram-bot.segcmap ours.dgram-bot.plandata.c layers: $(LAYERS) lpages: $(LPAGES) @@ -69,9 +68,6 @@ compose-segenco: compose-segenco.o %-pindata.asm: %.layout-data.c @: -ui-plan-%.c: plan-to-gui-data ours.dgram-%.segcmap ui-plan-%.ppm - ./$+ $o - %.pin-info: pin-info-gen ../pcb/%.net ./$< $* $o diff --git a/layout/plan-data-format.h b/layout/plan-data-format.h index 822e4db..1f5bc25 100644 --- a/layout/plan-data-format.h +++ b/layout/plan-data-format.h @@ -36,6 +36,5 @@ typedef struct { } PlanData; extern const PlanData ui_plan_data; -extern const char ui_plan_colour_off[]; #endif /*PLAN_DATA_FORMAT_H*/ diff --git a/layout/plan-to-gui-data b/layout/plan-to-gui-data index 436f090..7b6af4c 100755 --- a/layout/plan-to-gui-data +++ b/layout/plan-to-gui-data @@ -59,16 +59,14 @@ our(%xpmdata); # $xpmdata{$style}{$namerhs}{Y}{Max} # $xpmdata{$style}{$namerhs}{Pixels}{$y}{$x} # $xpmdata{$style}{$namerhs}{Holey} -# $xpmdata{$style}{$namerhs}{Partial} # $xpminstance{$instancename}{Data}= $xpmname -sub xpmdata_setup ($$$$) { - my ($style, $namerhs, $holey, $partial)=@_; +sub xpmdata_setup ($$$) { + my ($style, $namerhs, $holey)=@_; my ($xp,$xy); die if $xpmdata{$style}{$namerhs}; $xp= $xpmdata{$style}{$namerhs}= { Holey => $holey, - Partial => $partial }; } @@ -83,7 +81,7 @@ our (@segnum_name,%movfeats,%movfeat_prefix,%movfeat_configbits); # $movfeat_prefix{$xpmname} # $movfeat_configbits{$xpmname} -xpmdata_setup('background','',1,0); +xpmdata_setup('background','',1); for (;;) { $!=0; defined($_=<>) or die $!; @@ -94,9 +92,9 @@ for (;;) { $datum_basebit{$1}= $3; } elsif (m/^S ([0-9A-Z]+) (0x[0-9a-f]+)$/) { seteq(\$segnum_name[hex $2], $1, "segnum $2"); - xpmdata_setup("bitmap","m_$1",1,1); - xpmdata_setup("on","_$1",1,1); - xpmdata_setup("bitmap","e_$1",1,1); + xpmdata_setup("bitmap","m_$1",1); + xpmdata_setup("on","_$1",1); + xpmdata_setup("bitmap","e_$1",1); } elsif (m/^F ([0-9A-Z]+) (0x[0-9a-f]+) ([A-Z]+) (0x[0-9a-f]+) (\d+)$/) { my ($xpmname,$bitno,$namerhs); seteq(\$segnum_name[hex $2], $1, "segnum $2 F $3"); @@ -104,12 +102,12 @@ for (;;) { $xpmname= $1.'_'.$3; $movfeat_prefix{$xpmname}= hex $4; $movfeat_configbits{$xpmname}= $5; - xpmdata_setup("on","u_$xpmname",1,1); - xpmdata_setup("bitmap","m_$xpmname",1,1); + xpmdata_setup("on","u_$xpmname",1); + xpmdata_setup("bitmap","m_$xpmname",1); for ($bitno=0; $bitno<$movfeat_configbits{$xpmname}; $bitno++) { $namerhs= "${xpmname}_${bitno}"; - xpmdata_setup("on","_$namerhs",1,1); - xpmdata_setup("bitmap","e_$namerhs",1,1); + xpmdata_setup("on","_$namerhs",1); + xpmdata_setup("bitmap","e_$namerhs",1); } } } @@ -136,13 +134,8 @@ print STDERR "xpm_sizes\n"; foreach $rr (values %xpmdata) { foreach $xp (values %$rr) { foreach $xy (qw(X Y)) { - if ($xp->{Partial}) { - $xp->{$xy}{Min}= $sz{$xy}-1; - $xp->{$xy}{Max}= 0; - } else { - $xp->{$xy}{Min}= 0; - $xp->{$xy}{Max}= $sz{$xy}-1; - } + $xp->{$xy}{Min}= $sz{$xy}-1; + $xp->{$xy}{Max}= 0; } } } @@ -176,11 +169,9 @@ sub xpmdata_pixel ($$$) { #print STDERR " set\n"; } -sub in_pixel () { - my ($pbytes, $namerhs); - $!=0; read(ARGV, $pbytes, 3) == 3 or die $!; - return if $pbytes eq "\xff\xff\xff"; - my ($movfeat,%t,$xpmname,$segname,$datum,$k,$angstr,$bitno,$me); +sub in_pixel ($) { + my ($pbytes) = @_; + my ($namerhs,$movfeat,%t,$xpmname,$segname,$datum,$k,$angstr,$bitno,$me); $pp= "$ARGV $p{X} $p{Y}"; $datum= unpack 'V', $pbytes."\0"; foreach $k (keys %datum_numbits) { @@ -266,11 +257,16 @@ for (;;) { read_pixmap_header(); $ARGV =~ m/.*\.p([0-9a-f]+)\b/ or die "$ARGV ?"; $p{Movpos}= $1 eq 'f' ? '' : hex($1); + my ($pbytes,$x,$xsz); + $xsz= $sz{X}; for ($p{Y}=0; $p{Y}<$sz{Y}; $p{Y}++) { printf STDERR "%s %d\r",$ARGV,$p{Y} unless $p{Y} % 100; - for ($p{X}=0; $p{X}<$sz{X}; $p{X}++) { - in_pixel(); + for ($x=0; $x<$xsz; $x++) { + $!=0; read(ARGV, $pbytes, 3) == 3 or die $!; + next if $pbytes eq "\xff\xff\xff"; + $p{X}= $x; + in_pixel($pbytes); } } } @@ -301,7 +297,7 @@ sub xpm_cmap_entry ($$$) { sub xpm_cmap_rgbpermil($@) { my ($cmapname, @l) = @_; my ($pixchars, @rgb); - die "$cmapname @l" if @l % 4; + die "$cmapname @l ?" if @l % 4; while (@l) { ($pixchars, @rgb)= @l[0..3]; @l = @l[4..$#l]; xpm_cmap_entry($cmapname, $pixchars, @@ -359,18 +355,19 @@ sub xpm_cmap_angular($$$@) { sub cmaps_define () { my ($style,$inv,$ondet); - my (@background, @off, @otherposn); + my (@background, @projected, @off, @otherposn); @background= qw(100 100 100); @off= qw(0 0 0); @otherposn= qw(50 50 50); + @projected= qw(75 75 75); xpm_cmap("background","background"); - xpm_cmap_rgbpermil('', 'off',@off); xpm_cmap_rgbpermil("background", ' ', @background, - qw(! 999 0 980 - = 75 75 75)); + '=', @projected, + '!', @off); + xpm_cmap("bitmap","bitmap"); xpm_cmap_fixedbitmap("bitmap",'*'); @@ -469,11 +466,12 @@ sub xpmdata_output_all () { sub ppdr ($$$) { my ($style,$cmap,$namerhs) = @_; - my ($xpmd); + my ($xpmd, $backgd); $xpmd= $xpmdata{$style}{$namerhs}; + $backgd= $xpmdata{'background'}{''}; defined $xpmd or die "$style $cmap $namerhs ?"; - return sprintf("{ %d,%d, p_%s_%s }", - $xpmd->{X}{Min}, $xpmd->{Y}{Min}, + return sprintf("{ %d-%d,%d-%d, p_%s_%s }", + (map { $xpmd->{$_}{Min}, $backgd->{$_}{Min} } qw(X Y)), $cmap, $namerhs); }