CircuitLayout

 view release on metacpan or  search on metacpan

Examples/GDS2Tool/gds2tool  view on Meta::CPAN

=cut

require 5.006;
$|++;
#$\="\n";
use Getopt::Long qw(GetOptions);
use File::Basename;
use Tk;
#use Tk::FileDialog;
use Tk::LabEntry;
use Tk::NoteBook;
use Tk::Pane;
use Tk::Table;
use Tk::HList; 
use Tk::ROText;
use Tk::ProgressBar;
use Tk::WorldCanvas;
use File::Basename;
use FileHandle;
use Parse::RecDescent;
use Cwd;

sub printUsage();
sub printVersion();
sub readGDS2;
my $G_homeDir = $ENV{'HOME'};

my $G_ICHOME;
BEGIN
{
    use constant ERROR   => 'ERROR:   '; #
    use constant WARNING => 'WARNING: '; #
    use constant NOTE    => 'NOTE:    '; #

    use constant TRUE  => 1; 
    use constant FALSE => 0; 

    ## colors for interface
    use constant LightYellowColor  => '#ffffcc'; 
    use constant BrightYellowColor => '#ffff00'; 
    use constant BrightRedColor    => '#ff0000'; 
    use constant RedColor          => '#cc0000'; 
    use constant LightBlueColor    => '#3399ff'; 
    use constant DarkBlueColor     => '#003399'; 
    use constant BlackColor        => '#000000'; 
    use constant LightGrayColor    => '#aaaaaa'; 
    use constant GrayColor         => '#777777'; 
    use constant WhiteColor        => '#ffffff'; 

    use constant SBwidth => 15;  ## scrollbar width
}
use GDS2;
use CircuitLayout;

our $DEBUG = FALSE;
our $pp = 4; ## print precision
our $ppp = $pp + 1; ## print precision plus
our $G_gds2FileNameIn = '';
our $G_techContents = '';
our $G_techFilesRead = '';
our $G_user = getpwuid($<);
chomp $G_user; 
my $topCell = '';
my $privateColorMap = FALSE;
my $visibleOnly     = FALSE;

## process command line...
GetOptions(
    'debug'            => \$DEBUG,
    'help|?'           => \&printUsage,
    'privatecolormap'  => \$privateColorMap,
    'visibleonly'      => \$visibleOnly,
    'version'          => \&printVersion,
    'cell:s'           => \$topCell,
) || printUsage();
$G_gds2FileNameIn = shift if ($#ARGV >= 0);

if ($DEBUG)
{
    ##Enable warnings within the Parse::RecDescent module.
    $::RD_ERRORS = 1; # Make sure the parser dies when it encounters an error
    $::RD_WARN   = 1; # Enable warnings. This will warn on unused rules &c.
    $::RD_HINT   = 1; # Give out hints to help fix problems.
}

our @G_viewBoxCoords=(0,0,1,1);

our $G_xMajorGridNum = 1;
our $G_yMajorGridNum = 1;
our $G_xMinorGridNum = 0.1;
our $G_yMinorGridNum = 0.1;
our $G_xSnapGrid = 0.10;
our $G_ySnapGrid = 0.10;
our $G_majorTriggerNum = 15;
our $G_minorTriggerNum = 15;

our $G_rulerColor = BrightYellowColor; ## default
our $G_keyBindingText = '';
our $G_keyLast = '';
our $G_keyListing;
our $G_lastCreated;
our $G_majorGrid;
our $G_minorGrid;
our $G_percentDone = 0;
our $G_progressBar;
our $G_rulerDistance = 0;
our $G_viewBox;
our %G_layer;
#our %G_selectableLayer;
our @G_rulerTips = (3,0,8); ## default
our $G_viewWindow;
our $G_gridWindow;
our $G_infoTextArea;
our $G_infoWindow;
our $G_layerWindow;
our $G_gds2toolHome = ''; ## 

setGds2toolHome();
our $G_techDir = "$G_gds2toolHome/tech";
use vars qw($G_stippleDir);
$G_stippleDir = "$G_gds2toolHome/stipple";



( run in 2.196 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )