- fractional values (min segment width) are now supported in the .graal file

- fractional values are now supported for segment/connector/transistors width
- bug fix in segment edition with a scale != 1
This commit is contained in:
Ludovic Jacomme 2004-08-26 20:14:12 +00:00
parent 1375f7b566
commit a025203d40
16 changed files with 145 additions and 117 deletions

View File

@ -83,7 +83,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
char GraalSegmentLayer = ALU1; char GraalSegmentLayer = ALU1;
long GraalSegmentWidth = -1; float GraalSegmentWidth = -1.0;
char *GraalSegmentName = (char *)NULL; char *GraalSegmentName = (char *)NULL;
char GraalSegmentWire = GRAAL_FALSE; char GraalSegmentWire = GRAAL_FALSE;
@ -112,7 +112,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
char GraalTransistorType = NTRANS; char GraalTransistorType = NTRANS;
long GraalTransistorWidth = -1; float GraalTransistorWidth = -1.0;
char *GraalTransistorName = (char *)NULL; char *GraalTransistorName = (char *)NULL;
char GraalTransistorWire = GRAAL_FALSE; char GraalTransistorWire = GRAAL_FALSE;
@ -123,7 +123,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
char GraalConnectorLayer = ALU1; char GraalConnectorLayer = ALU1;
long GraalConnectorWidth = -1; float GraalConnectorWidth = -1.0;
char *GraalConnectorName = (char *)NULL; char *GraalConnectorName = (char *)NULL;
char GraalConnectorOrient = GRAAL_NORTH; char GraalConnectorOrient = GRAAL_NORTH;
@ -206,7 +206,7 @@ void GraalCreateSegmentMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
if ( Delta < 0 ) Delta = - Delta; if ( Delta < 0 ) Delta = - Delta;
if ( Delta < GRAAL_SEGMENT_VALUE_TABLE[GraalSegmentLayer][1] ) if ( Delta < GRAAL_SCALE * GRAAL_SEGMENT_VALUE_TABLE[GraalSegmentLayer][1] )
{ {
GraalErrorMessage( GraalMainWindow, "This segment is too small !" ); GraalErrorMessage( GraalMainWindow, "This segment is too small !" );
@ -248,9 +248,11 @@ void GraalCreateSegmentMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
Segment = Segment =
addphseg( GraalFigureMbk, GraalSegmentLayer, addphseg( GraalFigureMbk, GraalSegmentLayer,
GraalSegmentWidth * SCALE_X, (long)( GraalSegmentWidth * SCALE_X ),
LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X, (long)( LambdaX1 * GRAAL_SCALE_X ),
LambdaX2 * GRAAL_SCALE_X, LambdaY2 * GRAAL_SCALE_X, (long)( LambdaY1 * GRAAL_SCALE_X ),
(long)( LambdaX2 * GRAAL_SCALE_X ),
(long)( LambdaY2 * GRAAL_SCALE_X ),
SegmentName ); SegmentName );
Segment->USER = (void *)(&GraalFigureMbk->PHSEG); Segment->USER = (void *)(&GraalFigureMbk->PHSEG);
@ -308,7 +310,8 @@ void GraalCreateViaMbk( LambdaX1, LambdaY1 )
GraalCreateFigureMbk(); GraalCreateFigureMbk();
Via = addphvia( GraalFigureMbk, GraalViaType, Via = addphvia( GraalFigureMbk, GraalViaType,
LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X, 0, 0, GraalViaName ); (long)( LambdaX1 * GRAAL_SCALE_X ),
(long)( LambdaY1 * GRAAL_SCALE_X ), 0, 0, GraalViaName );
Via->USER = (void *)(&GraalFigureMbk->PHVIA); Via->USER = (void *)(&GraalFigureMbk->PHVIA);
@ -381,8 +384,8 @@ void GraalCreateBigViaMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
ViaDx = LambdaX2 - LambdaX1; ViaDx = LambdaX2 - LambdaX1;
ViaDy = LambdaY2 - LambdaY1; ViaDy = LambdaY2 - LambdaY1;
if ( ( ViaDx < GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) || if ( ( ViaDx < GRAAL_SCALE * GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) ||
( ViaDy < GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) ) ( ViaDy < GRAAL_SCALE * GRAAL_BIGVIA_VALUE_TABLE[ GraalBigViaType ][0] ) )
{ {
GraalErrorMessage( GraalMainWindow, "This big via is too small !" ); GraalErrorMessage( GraalMainWindow, "This big via is too small !" );
@ -401,9 +404,10 @@ void GraalCreateBigViaMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
GraalCreateFigureMbk(); GraalCreateFigureMbk();
Via = addphvia( GraalFigureMbk, GraalBigViaType, Via = addphvia( GraalFigureMbk, GraalBigViaType,
(( LambdaX1 + LambdaX2 ) >> 1) * GRAAL_SCALE_X, (long)( (( LambdaX1 + LambdaX2 ) / 2.0) * GRAAL_SCALE_X ),
(( LambdaY1 + LambdaY2 ) >> 1) * GRAAL_SCALE_X, (long)( (( LambdaY1 + LambdaY2 ) / 2.0) * GRAAL_SCALE_X ),
ViaDx * GRAAL_SCALE_X, ViaDy * GRAAL_SCALE_X, GraalBigViaName ); (long)( ViaDx * GRAAL_SCALE_X ),
(long)( ViaDy * GRAAL_SCALE_X ), GraalBigViaName );
Via->USER = (void *)(&GraalFigureMbk->PHVIA); Via->USER = (void *)(&GraalFigureMbk->PHVIA);
@ -471,7 +475,7 @@ void GraalCreateTransistorMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
if ( Delta < 0 ) Delta = - Delta; if ( Delta < 0 ) Delta = - Delta;
if ( Delta < GRAAL_SEGMENT_VALUE_TABLE[GraalTransistorType][1] ) if ( Delta < GRAAL_SCALE * GRAAL_SEGMENT_VALUE_TABLE[GraalTransistorType][1] )
{ {
GraalErrorMessage( GraalMainWindow, "This transistor is too small !" ); GraalErrorMessage( GraalMainWindow, "This transistor is too small !" );
@ -484,9 +488,11 @@ void GraalCreateTransistorMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
Transistor = Transistor =
addphseg( GraalFigureMbk, GraalTransistorType, addphseg( GraalFigureMbk, GraalTransistorType,
GraalTransistorWidth * SCALE_X, (long)( GraalTransistorWidth * SCALE_X ),
LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X, (long)( LambdaX1 * GRAAL_SCALE_X ),
LambdaX2 * GRAAL_SCALE_X, LambdaY2 * GRAAL_SCALE_X, (long)( LambdaY1 * GRAAL_SCALE_X ),
(long)( LambdaX2 * GRAAL_SCALE_X ),
(long)( LambdaY2 * GRAAL_SCALE_X ),
GraalTransistorName ); GraalTransistorName );
Transistor->USER = (void *)(&GraalFigureMbk->PHSEG); Transistor->USER = (void *)(&GraalFigureMbk->PHSEG);
@ -543,8 +549,8 @@ void GraalCreateConnectorMbk( LambdaX1, LambdaY1 )
rdsbegin(); rdsbegin();
LambdaX1 = LambdaX1 * GRAAL_SCALE_X; LambdaX1 = (long)(LambdaX1 * GRAAL_SCALE_X);
LambdaY1 = LambdaY1 * GRAAL_SCALE_X; LambdaY1 = (long)(LambdaY1 * GRAAL_SCALE_X);
switch ( GraalConnectorOrient ) switch ( GraalConnectorOrient )
{ {
@ -575,7 +581,7 @@ void GraalCreateConnectorMbk( LambdaX1, LambdaY1 )
GraalConnectorName, GraalConnectorName,
LambdaX1, LambdaY1, LambdaX1, LambdaY1,
GraalConnectorLayer, GraalConnectorLayer,
GraalConnectorWidth * SCALE_X ); (long)( GraalConnectorWidth * SCALE_X ) );
Connector->USER = (void *)(&GraalFigureMbk->PHCON); Connector->USER = (void *)(&GraalFigureMbk->PHCON);
@ -651,7 +657,8 @@ void GraalCreateReferenceMbk( LambdaX1, LambdaY1 )
addphref( GraalFigureMbk, addphref( GraalFigureMbk,
(GraalReferenceType == MBK_REF_REF) ? "ref_ref":"ref_con" , (GraalReferenceType == MBK_REF_REF) ? "ref_ref":"ref_con" ,
GraalReferenceName, GraalReferenceName,
LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X ); (long)( LambdaX1 * GRAAL_SCALE_X ),
(long)( LambdaY1 * GRAAL_SCALE_X ) );
Reference->USER = (void *)(&GraalFigureMbk->PHREF); Reference->USER = (void *)(&GraalFigureMbk->PHREF);
@ -767,7 +774,8 @@ void GraalCreateInstanceMbk( LambdaX1, LambdaY1 )
GraalInstanceModel, GraalInstanceModel,
GraalInstanceName, GraalInstanceName,
GraalInstanceSym, GraalInstanceSym,
LambdaX1 * GRAAL_SCALE_X, LambdaY1 * GRAAL_SCALE_X ); (long)( LambdaX1 * GRAAL_SCALE_X ),
(long)( LambdaY1 * GRAAL_SCALE_X ) );
InstanceMbk->NEXT = SaveInstance; InstanceMbk->NEXT = SaveInstance;
InstanceMbk->USER = (void *)(&GraalFigureMbk->PHINS); InstanceMbk->USER = (void *)(&GraalFigureMbk->PHINS);
@ -850,10 +858,10 @@ void GraalCreateAbutmentBoxMbk( LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
GraalCreateFigureMbk(); GraalCreateFigureMbk();
GraalFigureMbk->XAB1 = LambdaX1 * GRAAL_SCALE_X; GraalFigureMbk->XAB1 = (long)( LambdaX1 * GRAAL_SCALE_X );
GraalFigureMbk->YAB1 = LambdaY1 * GRAAL_SCALE_X; GraalFigureMbk->YAB1 = (long)( LambdaY1 * GRAAL_SCALE_X );
GraalFigureMbk->XAB2 = LambdaX2 * GRAAL_SCALE_X; GraalFigureMbk->XAB2 = (long)( LambdaX2 * GRAAL_SCALE_X );
GraalFigureMbk->YAB2 = LambdaY2 * GRAAL_SCALE_X; GraalFigureMbk->YAB2 = (long)( LambdaY2 * GRAAL_SCALE_X );
Rectangle = GraalAddAbox(); Rectangle = GraalAddAbox();

View File

@ -69,7 +69,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
extern char GraalSegmentLayer; extern char GraalSegmentLayer;
extern long GraalSegmentWidth; extern float GraalSegmentWidth;
extern char *GraalSegmentName; extern char *GraalSegmentName;
extern char GraalSegmentWire; extern char GraalSegmentWire;
@ -99,7 +99,7 @@
extern char GraalTransistorType; extern char GraalTransistorType;
extern char *GraalTransistorName; extern char *GraalTransistorName;
extern long GraalTransistorWidth; extern float GraalTransistorWidth;
extern char GraalTransistorWire; extern char GraalTransistorWire;
/*------------------------------------------------------------\ /*------------------------------------------------------------\
@ -109,7 +109,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
extern char GraalConnectorLayer; extern char GraalConnectorLayer;
extern long GraalConnectorWidth; extern float GraalConnectorWidth;
extern char *GraalConnectorName; extern char *GraalConnectorName;
extern char GraalConnectorOrient; extern char GraalConnectorOrient;

View File

@ -43,6 +43,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
# include <stdio.h> # include <stdio.h>
# include <stdlib.h>
# include <string.h> # include <string.h>
# include <Xm/Xm.h> # include <Xm/Xm.h>
@ -308,7 +309,8 @@ void CallbackChangeSegmentWidthOk( MyWidget, ClientData, CallData )
XmSelectionBoxCallbackStruct *CallData; XmSelectionBoxCallbackStruct *CallData;
{ {
char *WidthSet; char *WidthSet;
long NewWidth; float NewWidth;
float Factor;
rdsbegin(); rdsbegin();
@ -324,9 +326,11 @@ void CallbackChangeSegmentWidthOk( MyWidget, ClientData, CallData )
if ( WidthSet != (char *)NULL ) if ( WidthSet != (char *)NULL )
{ {
NewWidth = atoi( WidthSet ); Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID;
NewWidth = atof( WidthSet );
NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentLayer ][0] ) if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentLayer ][0] )
{ {
GraalSegmentWidth = NewWidth; GraalSegmentWidth = NewWidth;
} }
@ -463,7 +467,8 @@ void CallbackChangeTransistorWidthOk( MyWidget, ClientData, CallData )
XmSelectionBoxCallbackStruct *CallData; XmSelectionBoxCallbackStruct *CallData;
{ {
char *WidthSet; char *WidthSet;
long NewWidth; float NewWidth;
float Factor;
rdsbegin(); rdsbegin();
@ -479,7 +484,9 @@ void CallbackChangeTransistorWidthOk( MyWidget, ClientData, CallData )
if ( WidthSet != (char *)NULL ) if ( WidthSet != (char *)NULL )
{ {
NewWidth = atoi( WidthSet ); Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID;
NewWidth = atof( WidthSet );
NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorType ][0] ) if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorType ][0] )
{ {
@ -618,7 +625,8 @@ void CallbackChangeConnectorWidthOk( MyWidget, ClientData, CallData )
XmSelectionBoxCallbackStruct *CallData; XmSelectionBoxCallbackStruct *CallData;
{ {
char *WidthSet; char *WidthSet;
long NewWidth; float NewWidth;
float Factor;
rdsbegin(); rdsbegin();
@ -634,7 +642,9 @@ void CallbackChangeConnectorWidthOk( MyWidget, ClientData, CallData )
if ( WidthSet != (char *)NULL ) if ( WidthSet != (char *)NULL )
{ {
NewWidth = atoi( WidthSet ); Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID;
NewWidth = atof( WidthSet );
NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorLayer ][0] ) if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorLayer ][0] )
{ {

View File

@ -230,7 +230,7 @@ void CallbackCreateSegment( MyWidget, ClientData, CallData )
{ {
rdsbegin(); rdsbegin();
if ( GraalSegmentWidth == -1 ) if ( GraalSegmentWidth == -1.0 )
{ {
GraalSegmentWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentLayer ][0]; GraalSegmentWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentLayer ][0];
} }
@ -363,7 +363,7 @@ void CallbackCreateConnector( MyWidget, ClientData, CallData )
} }
else else
{ {
if ( GraalConnectorWidth == -1 ) if ( GraalConnectorWidth == -1.0 )
{ {
GraalConnectorWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorLayer ][0]; GraalConnectorWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorLayer ][0];
} }
@ -391,7 +391,7 @@ void CallbackCreateTransistor( MyWidget, ClientData, CallData )
{ {
rdsbegin(); rdsbegin();
if ( GraalTransistorWidth == -1 ) if ( GraalTransistorWidth == -1.0 )
{ {
GraalTransistorWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorType ][0]; GraalTransistorWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorType ][0];
} }

View File

@ -95,7 +95,7 @@ void GraalPromptCreateSegment()
{ {
GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Create Segment" ); GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Create Segment" );
sprintf( MessageBuffer, "Layer: %s Width: %2d Name: %s", sprintf( MessageBuffer, "Layer: %s Width: %.2f Name: %s",
GRAAL_SEGMENT_NAME_TABLE[ GraalSegmentLayer ][0] , GRAAL_SEGMENT_NAME_TABLE[ GraalSegmentLayer ][0] ,
GraalSegmentWidth, GraalSegmentWidth,
( GraalSegmentName ) ? GraalSegmentName : "none" ); ( GraalSegmentName ) ? GraalSegmentName : "none" );
@ -127,7 +127,7 @@ void GraalPromptCreateConnector()
{ {
GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Create Connector" ); GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Create Connector" );
sprintf( MessageBuffer, "Layer: %s Width: %2d Orient: %s", sprintf( MessageBuffer, "Layer: %s Width: %.2f Orient: %s",
GRAAL_CONNECTOR_NAME_TABLE[ GraalConnectorLayer ][0], GRAAL_CONNECTOR_NAME_TABLE[ GraalConnectorLayer ][0],
GraalConnectorWidth, GraalConnectorWidth,
GRAAL_ORIENT_NAME_TABLE[ GraalConnectorOrient ][0] ); GRAAL_ORIENT_NAME_TABLE[ GraalConnectorOrient ][0] );
@ -217,13 +217,13 @@ void GraalPromptCreateTransistor()
if ( GraalTransistorName == (char *)NULL ) if ( GraalTransistorName == (char *)NULL )
{ {
sprintf( MessageBuffer, "Type: %s Width: %2d Name: none", sprintf( MessageBuffer, "Type: %s Width: %.2f Name: none",
GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorType ][0], GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorType ][0],
GraalTransistorWidth ); GraalTransistorWidth );
} }
else else
{ {
sprintf( MessageBuffer, "Type: %s Width: %2d Name: %s", sprintf( MessageBuffer, "Type: %s Width: %.2f Name: %s",
GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorType ][0], GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorType ][0],
GraalTransistorWidth, GraalTransistorName ); GraalTransistorWidth, GraalTransistorName );
} }

View File

@ -43,6 +43,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
# include <stdio.h> # include <stdio.h>
# include <stdlib.h>
# include <string.h> # include <string.h>
# include <Xm/Xm.h> # include <Xm/Xm.h>
# include <Xm/FileSB.h> # include <Xm/FileSB.h>
@ -411,7 +412,8 @@ void CallbackModifySegmentWidthOk( MyWidget, ClientData, CallData )
XmSelectionBoxCallbackStruct *CallData; XmSelectionBoxCallbackStruct *CallData;
{ {
char *WidthSet; char *WidthSet;
long NewWidth; float NewWidth;
float Factor;
rdsbegin(); rdsbegin();
@ -425,7 +427,9 @@ void CallbackModifySegmentWidthOk( MyWidget, ClientData, CallData )
if ( WidthSet != (char *)NULL ) if ( WidthSet != (char *)NULL )
{ {
NewWidth = atoi( WidthSet ); Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID;
NewWidth = atof( WidthSet );
NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentMLayer ][0] ) if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalSegmentMLayer ][0] )
{ {
@ -547,7 +551,8 @@ void CallbackModifyTransistorWidthOk( MyWidget, ClientData, CallData )
XmSelectionBoxCallbackStruct *CallData; XmSelectionBoxCallbackStruct *CallData;
{ {
char *WidthSet; char *WidthSet;
long NewWidth; float NewWidth;
float Factor;
rdsbegin(); rdsbegin();
@ -561,9 +566,11 @@ void CallbackModifyTransistorWidthOk( MyWidget, ClientData, CallData )
if ( WidthSet != (char *)NULL ) if ( WidthSet != (char *)NULL )
{ {
NewWidth = atoi( WidthSet ); Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID;
NewWidth = atof( WidthSet );
NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorMType ][0] ) if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalTransistorMType ][0] )
{ {
GraalTransistorMWidth = NewWidth; GraalTransistorMWidth = NewWidth;
} }
@ -676,7 +683,8 @@ void CallbackModifyConnectorWidthOk( MyWidget, ClientData, CallData )
XmSelectionBoxCallbackStruct *CallData; XmSelectionBoxCallbackStruct *CallData;
{ {
char *WidthSet; char *WidthSet;
long NewWidth; float NewWidth;
float Factor;
rdsbegin(); rdsbegin();
@ -690,9 +698,11 @@ void CallbackModifyConnectorWidthOk( MyWidget, ClientData, CallData )
if ( WidthSet != (char *)NULL ) if ( WidthSet != (char *)NULL )
{ {
NewWidth = atoi( WidthSet ); Factor = RDS_LAMBDA / RDS_PHYSICAL_GRID;
NewWidth = atof( WidthSet );
NewWidth = (float)( (long)( NewWidth * Factor / 2.0 ) * 2 / Factor );
if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0] ) if ( NewWidth >= GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0] )
{ {
GraalConnectorMWidth = NewWidth; GraalConnectorMWidth = NewWidth;
} }

View File

@ -152,10 +152,10 @@ void GraalEditTreatUndo( HeadUndo )
{ {
ClearGraalDeleted( Rec ); ClearGraalDeleted( Rec );
GraalFigureMbk->XAB1 = Rec->X * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; GraalFigureMbk->XAB1 = (long)( Rec->X * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA );
GraalFigureMbk->YAB1 = Rec->Y * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; GraalFigureMbk->YAB1 = (long)( Rec->Y * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA );
GraalFigureMbk->XAB2 = ( Rec->X + Rec->DX ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; GraalFigureMbk->XAB2 = (long)( ( Rec->X + Rec->DX ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA );
GraalFigureMbk->YAB2 = ( Rec->Y + Rec->DY ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA; GraalFigureMbk->YAB2 = (long)( ( Rec->Y + Rec->DY ) * GRAAL_SCALE_X / GRAAL_RDS_LAMBDA );
} }
else else
{ {
@ -464,8 +464,8 @@ void GraalEditCopy( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode )
rdsbegin(); rdsbegin();
DeltaX = ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X; DeltaX = (long)( ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X );
DeltaY = ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X; DeltaY = (long)( ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X );
FirstUndo = 1; FirstUndo = 1;
@ -666,8 +666,8 @@ void GraalEditMove( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode )
rdsbegin(); rdsbegin();
DeltaX = ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X; DeltaX = (long)( ( LambdaX2 - LambdaX1 ) * GRAAL_SCALE_X );
DeltaY = ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X; DeltaY = (long)( ( LambdaY2 - LambdaY1 ) * GRAAL_SCALE_X );
FirstUndo = 1; FirstUndo = 1;
@ -1100,10 +1100,10 @@ void GraalEditStretch( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode )
Orient = 0; Orient = 0;
LambdaX1 = LambdaX1 * GRAAL_SCALE_X; LambdaX1 = (long)( LambdaX1 * GRAAL_SCALE_X );
LambdaX2 = LambdaX2 * GRAAL_SCALE_X; LambdaX2 = (long)( LambdaX2 * GRAAL_SCALE_X );
LambdaY1 = LambdaY1 * GRAAL_SCALE_X; LambdaY1 = (long)( LambdaY1 * GRAAL_SCALE_X );
LambdaY2 = LambdaY2 * GRAAL_SCALE_X; LambdaY2 = (long)( LambdaY2 * GRAAL_SCALE_X );
if ( LambdaX2 != LambdaX1 ) if ( LambdaX2 != LambdaX1 )
{ {
@ -1310,7 +1310,7 @@ void GraalEditStretch( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode )
X2 = ((phseg_list *)Pointer)->X2; X2 = ((phseg_list *)Pointer)->X2;
Y2 = ((phseg_list *)Pointer)->Y2; Y2 = ((phseg_list *)Pointer)->Y2;
Length = GRAAL_SEGMENT_VALUE_TABLE[ ((phseg_list *)Pointer)->LAYER ][1] * GRAAL_SCALE_X; Length = (long)( GRAAL_SEGMENT_VALUE_TABLE[ ((phseg_list *)Pointer)->LAYER ][1] * SCALE_X );
Stretch = 0; Stretch = 0;
@ -1410,7 +1410,7 @@ void GraalEditStretch( LambdaX1, LambdaY1, LambdaX2, LambdaY2, Mode )
X2 = X1 + DXvia; X2 = X1 + DXvia;
Y2 = Y1 + DYvia; Y2 = Y1 + DYvia;
Length = GRAAL_BIGVIA_VALUE_TABLE[ ((phvia_list *)Pointer)->TYPE ][0] * GRAAL_SCALE_X; Length = (long)( GRAAL_BIGVIA_VALUE_TABLE[ ((phvia_list *)Pointer)->TYPE ][0] * SCALE_X );
Stretch = 0; Stretch = 0;

View File

@ -475,7 +475,7 @@ void GraalPromptModifySegment()
GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Modify Segment" ); GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Modify Segment" );
sprintf( MessageBuffer, "Layer: %s Width: %2d Name: %s", sprintf( MessageBuffer, "Layer: %s Width: %.2f Name: %s",
GRAAL_SEGMENT_NAME_TABLE[ GraalSegmentMLayer ][0] , GRAAL_SEGMENT_NAME_TABLE[ GraalSegmentMLayer ][0] ,
GraalSegmentMWidth, GraalSegmentMWidth,
( GraalSegmentMName ) ? GraalSegmentMName : "none" ); ( GraalSegmentMName ) ? GraalSegmentMName : "none" );
@ -499,7 +499,7 @@ void GraalPromptModifyConnector()
GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Modify Connector" ); GraalDisplayMessage( GRAAL_MESSAGE_MODE, "Modify Connector" );
sprintf( MessageBuffer, "Layer: %s Width: %2d Orient: %s Name: %s", sprintf( MessageBuffer, "Layer: %s Width: %.2f Orient: %s Name: %s",
GRAAL_CONNECTOR_NAME_TABLE[ GraalConnectorMLayer ][0], GRAAL_CONNECTOR_NAME_TABLE[ GraalConnectorMLayer ][0],
GraalConnectorMWidth, GraalConnectorMWidth,
GRAAL_ORIENT_NAME_TABLE[ GraalConnectorMOrient ][0], GRAAL_ORIENT_NAME_TABLE[ GraalConnectorMOrient ][0],
@ -603,13 +603,13 @@ void GraalPromptModifyTransistor()
if ( GraalTransistorMName == (char *)NULL ) if ( GraalTransistorMName == (char *)NULL )
{ {
sprintf( MessageBuffer, "Type: %s Width: %2d Name: None", sprintf( MessageBuffer, "Type: %s Width: %.2f Name: None",
GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorMType ][0], GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorMType ][0],
GraalTransistorMWidth ); GraalTransistorMWidth );
} }
else else
{ {
sprintf( MessageBuffer, "Type: %s Width: %2d Name: %s", sprintf( MessageBuffer, "Type: %s Width: %.2f Name: %s",
GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorMType ][0], GRAAL_TRANSISTOR_NAME_TABLE[ GraalTransistorMType ][0],
GraalTransistorMWidth, GraalTransistorMName ); GraalTransistorMWidth, GraalTransistorMName );
} }

View File

@ -91,7 +91,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
char GraalSegmentMLayer; char GraalSegmentMLayer;
long GraalSegmentMWidth; float GraalSegmentMWidth;
char *GraalSegmentMName; char *GraalSegmentMName;
/*------------------------------------------------------------\ /*------------------------------------------------------------\
@ -111,7 +111,7 @@
char GraalTransistorMType; char GraalTransistorMType;
char *GraalTransistorMName; char *GraalTransistorMName;
long GraalTransistorMWidth; float GraalTransistorMWidth;
/*------------------------------------------------------------\ /*------------------------------------------------------------\
| | | |
@ -120,7 +120,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
char GraalConnectorMLayer; char GraalConnectorMLayer;
long GraalConnectorMWidth; float GraalConnectorMWidth;
char *GraalConnectorMName; char *GraalConnectorMName;
char GraalConnectorMOrient; char GraalConnectorMOrient;
@ -169,9 +169,9 @@ char GraalTransistorChanged( Transistor )
{ {
return return
( ( Transistor->NAME != GraalTransistorMName ) || ( ( Transistor->NAME != GraalTransistorMName ) ||
( Transistor->LAYER != GraalTransistorMType ) || ( Transistor->LAYER != GraalTransistorMType ) ||
( ( Transistor->WIDTH / SCALE_X ) != GraalTransistorMWidth ) ); ( ( Transistor->WIDTH / (float)SCALE_X ) != GraalTransistorMWidth ) );
} }
/*------------------------------------------------------------\ /*------------------------------------------------------------\
@ -186,9 +186,9 @@ char GraalSegmentChanged( Segment )
{ {
return return
( ( Segment->NAME != GraalSegmentMName ) || ( ( Segment->NAME != GraalSegmentMName ) ||
( Segment->LAYER != GraalSegmentMLayer ) || ( Segment->LAYER != GraalSegmentMLayer ) ||
( ( Segment->WIDTH / SCALE_X ) != GraalSegmentMWidth ) ); ( ( Segment->WIDTH / (float)SCALE_X ) != GraalSegmentMWidth ) );
} }
/*------------------------------------------------------------\ /*------------------------------------------------------------\
@ -217,10 +217,10 @@ char GraalConnectorChanged( Connector )
{ {
return return
( ( Connector->NAME != GraalConnectorMName ) || ( ( Connector->NAME != GraalConnectorMName ) ||
( Connector->LAYER != GraalConnectorMLayer ) || ( Connector->LAYER != GraalConnectorMLayer ) ||
( ( Connector->WIDTH / SCALE_X ) != GraalConnectorMWidth ) || ( ( Connector->WIDTH / (float)SCALE_X ) != GraalConnectorMWidth ) ||
( GraalSaveConnectorMOrient != GraalConnectorMOrient ) ); ( GraalSaveConnectorMOrient != GraalConnectorMOrient ) );
} }
/*------------------------------------------------------------\ /*------------------------------------------------------------\
@ -302,7 +302,7 @@ void GraalEditModify()
GraalAcceptRectangle( Rectangle ); GraalAcceptRectangle( Rectangle );
GraalDisplayRectangle( Rectangle ); GraalDisplayRectangle( Rectangle );
GraalTransistorMWidth = ((phseg_list *)Pointer)->WIDTH / SCALE_X; GraalTransistorMWidth = (float)( ((phseg_list *)Pointer)->WIDTH / (float)SCALE_X );
GraalTransistorMType = ((phseg_list *)Pointer)->LAYER; GraalTransistorMType = ((phseg_list *)Pointer)->LAYER;
GraalTransistorMName = ((phseg_list *)Pointer)->NAME; GraalTransistorMName = ((phseg_list *)Pointer)->NAME;
@ -341,7 +341,7 @@ void GraalEditModify()
addphseg( GraalFigureMbk, addphseg( GraalFigureMbk,
GraalTransistorMType , GraalTransistorMType ,
GraalTransistorMWidth * SCALE_X, (long)( GraalTransistorMWidth * SCALE_X ),
((phseg_list *)Pointer)->X1, ((phseg_list *)Pointer)->X1,
((phseg_list *)Pointer)->Y1, ((phseg_list *)Pointer)->Y1,
((phseg_list *)Pointer)->X2, ((phseg_list *)Pointer)->X2,
@ -385,7 +385,7 @@ void GraalEditModify()
GraalAcceptRectangle( Rectangle ); GraalAcceptRectangle( Rectangle );
GraalDisplayRectangle( Rectangle ); GraalDisplayRectangle( Rectangle );
GraalSegmentMWidth = ((phseg_list *)Pointer)->WIDTH / SCALE_X; GraalSegmentMWidth = (float)( ((phseg_list *)Pointer)->WIDTH / (float)SCALE_X );
GraalSegmentMLayer = ((phseg_list *)Pointer)->LAYER; GraalSegmentMLayer = ((phseg_list *)Pointer)->LAYER;
GraalSegmentMName = ((phseg_list *)Pointer)->NAME; GraalSegmentMName = ((phseg_list *)Pointer)->NAME;
@ -424,7 +424,7 @@ void GraalEditModify()
addphseg( GraalFigureMbk, addphseg( GraalFigureMbk,
GraalSegmentMLayer, GraalSegmentMLayer,
GraalSegmentMWidth * SCALE_X, (long)( GraalSegmentMWidth * SCALE_X ),
((phseg_list *)Pointer)->X1, ((phseg_list *)Pointer)->X1,
((phseg_list *)Pointer)->Y1, ((phseg_list *)Pointer)->Y1,
((phseg_list *)Pointer)->X2, ((phseg_list *)Pointer)->X2,
@ -641,7 +641,7 @@ void GraalEditModify()
GraalConnectorMName = ((phcon_list *)Pointer)->NAME; GraalConnectorMName = ((phcon_list *)Pointer)->NAME;
GraalConnectorMLayer = ((phcon_list *)Pointer)->LAYER; GraalConnectorMLayer = ((phcon_list *)Pointer)->LAYER;
GraalConnectorMWidth = ((phcon_list *)Pointer)->WIDTH / SCALE_X; GraalConnectorMWidth = (float)( ((phcon_list *)Pointer)->WIDTH / (float)SCALE_X );
switch( ((phcon_list *)Pointer)->ORIENT ) switch( ((phcon_list *)Pointer)->ORIENT )
{ {
@ -700,7 +700,7 @@ void GraalEditModify()
((phcon_list *)Pointer)->XCON, ((phcon_list *)Pointer)->XCON,
((phcon_list *)Pointer)->YCON, ((phcon_list *)Pointer)->YCON,
GraalConnectorMLayer, GraalConnectorMLayer,
GraalConnectorMWidth * SCALE_X ); (long)( GraalConnectorMWidth * SCALE_X ) );
((phcon_list *)Element)->USER = (void *)(&GraalFigureMbk->PHCON); ((phcon_list *)Element)->USER = (void *)(&GraalFigureMbk->PHCON);

View File

@ -72,7 +72,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
extern char GraalSegmentMLayer; extern char GraalSegmentMLayer;
extern long GraalSegmentMWidth; extern float GraalSegmentMWidth;
extern char *GraalSegmentMName; extern char *GraalSegmentMName;
/*------------------------------------------------------------\ /*------------------------------------------------------------\
@ -92,7 +92,7 @@
extern char GraalTransistorMType; extern char GraalTransistorMType;
extern char *GraalTransistorMName; extern char *GraalTransistorMName;
extern long GraalTransistorMWidth; extern float GraalTransistorMWidth;
/*------------------------------------------------------------\ /*------------------------------------------------------------\
| | | |
@ -101,7 +101,7 @@
\------------------------------------------------------------*/ \------------------------------------------------------------*/
extern char GraalConnectorMLayer; extern char GraalConnectorMLayer;
extern long GraalConnectorMWidth; extern float GraalConnectorMWidth;
extern char *GraalConnectorMName; extern char *GraalConnectorMName;
extern char GraalConnectorMOrient; extern char GraalConnectorMOrient;

View File

@ -4417,8 +4417,8 @@ void CallbackModifySegmentLayer( MyWidget, ClientData, CallData )
caddr_t ClientData; caddr_t ClientData;
caddr_t CallData; caddr_t CallData;
{ {
long MinWidth; float MinWidth;
int NewLayer; int NewLayer;
rdsbegin(); rdsbegin();
@ -4543,7 +4543,7 @@ void CallbackModifyTransistorType( MyWidget, ClientData, CallData )
caddr_t ClientData; caddr_t ClientData;
caddr_t CallData; caddr_t CallData;
{ {
long MinWidth; float MinWidth;
rdsbegin(); rdsbegin();
@ -4658,12 +4658,12 @@ void CallbackModifyConnectorLayer( MyWidget, ClientData, CallData )
caddr_t ClientData; caddr_t ClientData;
caddr_t CallData; caddr_t CallData;
{ {
long MinWidth; float MinWidth;
rdsbegin(); rdsbegin();
GraalConnectorMLayer = (int)ClientData; GraalConnectorMLayer = (int)ClientData;
MinWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0]; MinWidth = GRAAL_SEGMENT_VALUE_TABLE[ GraalConnectorMLayer ][0];
if ( GraalConnectorMWidth < MinWidth ) GraalConnectorMWidth = MinWidth; if ( GraalConnectorMWidth < MinWidth ) GraalConnectorMWidth = MinWidth;

View File

@ -565,8 +565,8 @@ void GraalToolsHierarchyShow( LambdaX1, LambdaY1 )
{ {
GraalSetMouseCursor( GraalGraphicWindow, GRAAL_WATCH_CURSOR ); GraalSetMouseCursor( GraalGraphicWindow, GRAAL_WATCH_CURSOR );
LambdaX1 *= GRAAL_SCALE_X; LambdaX1 = (long)( LambdaX1 * GRAAL_SCALE_X );
LambdaY1 *= GRAAL_SCALE_X; LambdaY1 = (long)( LambdaY1 * GRAAL_SCALE_X );
sprintf( GraalScanHierarchyShow, "FIGURE %s : (%.2f, %.2f)\n", sprintf( GraalScanHierarchyShow, "FIGURE %s : (%.2f, %.2f)\n",
GraalFigureMbk->NAME, GraalFigureMbk->NAME,

View File

@ -362,12 +362,12 @@ char *GraalGetInformations()
if ( GraalFigureMbk != (phfig_list *)NULL ) if ( GraalFigureMbk != (phfig_list *)NULL )
{ {
sprintf( Scan, " FIGURE : %s\n\n XAB1 : %d\n YAB1 : %d\n XAB2 : %d\n YAB2 : %d\n\n", sprintf( Scan, " FIGURE : %s\n\n XAB1 : %ld\n YAB1 : %ld\n XAB2 : %ld\n YAB2 : %ld\n\n",
GraalFigureMbk->NAME, GraalFigureMbk->NAME,
GraalFigureMbk->XAB1 / GRAAL_SCALE_X, (long)( GraalFigureMbk->XAB1 / GRAAL_SCALE_X ),
GraalFigureMbk->YAB1 / GRAAL_SCALE_X, (long)( GraalFigureMbk->YAB1 / GRAAL_SCALE_X ),
GraalFigureMbk->XAB2 / GRAAL_SCALE_X, (long)( GraalFigureMbk->XAB2 / GRAAL_SCALE_X ),
GraalFigureMbk->YAB2 / GRAAL_SCALE_X ); (long)( GraalFigureMbk->YAB2 / GRAAL_SCALE_X ) );
} }
else else
{ {

View File

@ -360,10 +360,10 @@ void GraalPeekInstance( Rectangle, LambdaX1, LambdaY1, LambdaX2, LambdaY2 )
InstanceMbk->TRANSF InstanceMbk->TRANSF
); );
Xab1 = RfmRoundLow( Xab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); Xab1 = RfmRoundLow( (long)( Xab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) );
Yab1 = RfmRoundLow( Yab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); Yab1 = RfmRoundLow( (long)( Yab1 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) );
Xab2 = RfmRoundHigh( Xab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); Xab2 = RfmRoundHigh( (long)( Xab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) );
Yab2 = RfmRoundHigh( Yab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ); Yab2 = RfmRoundHigh( (long)( Yab2 * GRAAL_RDS_LAMBDA / GRAAL_SCALE_X ) );
if ( Xab1 > Xab2 ) { Swap = Xab1; Xab1 = Xab2; Xab2 = Swap; } if ( Xab1 > Xab2 ) { Swap = Xab1; Xab1 = Xab2; Xab2 = Swap; }
if ( Yab1 > Yab2 ) { Swap = Yab1; Yab1 = Yab2; Yab2 = Swap; } if ( Yab1 > Yab2 ) { Swap = Yab1; Yab1 = Yab2; Yab2 = Swap; }

View File

@ -170,10 +170,10 @@
extern char *GRAAL_SEGMENT_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; extern char *GRAAL_SEGMENT_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ];
extern char *GRAAL_TRANSISTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; extern char *GRAAL_TRANSISTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ];
extern char *GRAAL_CONNECTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ]; extern char *GRAAL_CONNECTOR_NAME_TABLE[ MBK_MAX_LAYER ][ 3 ];
extern long GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ]; extern float GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ];
extern char *GRAAL_VIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ]; extern char *GRAAL_VIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ];
extern char *GRAAL_BIGVIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ]; extern char *GRAAL_BIGVIA_NAME_TABLE[ MBK_MAX_VIA ][ 3 ];
extern long GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ]; extern float GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ];
extern char *GRAAL_REFERENCE_NAME_TABLE[ MBK_MAX_REFERENCE ][ 3 ]; extern char *GRAAL_REFERENCE_NAME_TABLE[ MBK_MAX_REFERENCE ][ 3 ];
extern char *GRAAL_ORIENT_NAME_TABLE[ MBK_MAX_ORIENT ][ 3 ]; extern char *GRAAL_ORIENT_NAME_TABLE[ MBK_MAX_ORIENT ][ 3 ];
extern char *GRAAL_SYMMETRY_NAME_TABLE[ MBK_MAX_SYMMETRY ][ 3 ]; extern char *GRAAL_SYMMETRY_NAME_TABLE[ MBK_MAX_SYMMETRY ][ 3 ];
@ -189,7 +189,7 @@
extern float GRAAL_LOWER_SEGMENT_STEP; extern float GRAAL_LOWER_SEGMENT_STEP;
extern float GRAAL_LOWER_CONNECTOR_STEP; extern float GRAAL_LOWER_CONNECTOR_STEP;
extern long GRAAL_RDS_LAMBDA; extern long GRAAL_RDS_LAMBDA;
extern long GRAAL_SCALE_X; extern float GRAAL_SCALE_X;
extern long GRAAL_SCALE; extern long GRAAL_SCALE;
extern char GRAAL_XOR_CURSOR; extern char GRAAL_XOR_CURSOR;

View File

@ -74,7 +74,7 @@
char *GRAAL_TECHNO_NAME = (char *)NULL; char *GRAAL_TECHNO_NAME = (char *)NULL;
long GRAAL_RDS_LAMBDA = 0; long GRAAL_RDS_LAMBDA = 0;
long GRAAL_SCALE_X = 0; float GRAAL_SCALE_X = 0.0;
long GRAAL_SCALE = 1; long GRAAL_SCALE = 1;
/*------------------------------------------------------------\ /*------------------------------------------------------------\
@ -100,8 +100,8 @@
char *GRAAL_CURSOR_COLOR_NAME; char *GRAAL_CURSOR_COLOR_NAME;
int GRAAL_RDS_LAYER_PATTERN_TABLE[ RDS_ALL_LAYER ]; int GRAAL_RDS_LAYER_PATTERN_TABLE[ RDS_ALL_LAYER ];
long GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ]; float GRAAL_SEGMENT_VALUE_TABLE[ MBK_MAX_LAYER ][ 2 ];
long GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ]; float GRAAL_BIGVIA_VALUE_TABLE[ MBK_MAX_LAYER ][ 1 ];
long GRAAL_PEEK_BOUND; long GRAAL_PEEK_BOUND;
long GRAAL_CURSOR_SIZE; long GRAAL_CURSOR_SIZE;
@ -884,7 +884,7 @@ void GsbReadSegmentValue()
else else
if ( GET_SEGMENT_LAYER( Layer, 0 ) != RDS_SEGMENT_EMPTY ) if ( GET_SEGMENT_LAYER( Layer, 0 ) != RDS_SEGMENT_EMPTY )
{ {
GRAAL_SEGMENT_VALUE_TABLE [ Layer ][ Field ] = GsbGetStringValue( FirstWord ); GRAAL_SEGMENT_VALUE_TABLE [ Layer ][ Field ] = GsbGetStringFloat( FirstWord );
} }
} }
@ -953,7 +953,7 @@ void GsbReadBigViaValue()
if ( ( GET_BIGVIA_HOLE_LAYER( Layer, 0 ) != RDS_BIGVIA_HOLE_EMPTY ) || if ( ( GET_BIGVIA_HOLE_LAYER( Layer, 0 ) != RDS_BIGVIA_HOLE_EMPTY ) ||
( GET_TURNVIA_LAYER( Layer, 0 ) != RDS_TURNVIA_EMPTY ) ) ( GET_TURNVIA_LAYER( Layer, 0 ) != RDS_TURNVIA_EMPTY ) )
{ {
GRAAL_BIGVIA_VALUE_TABLE [ Layer ][ 0 ] = GsbGetStringValue( FirstWord ); GRAAL_BIGVIA_VALUE_TABLE [ Layer ][ 0 ] = GsbGetStringFloat( FirstWord );
} }
FirstWord = GsbGetNextWord( 0, 1 ); FirstWord = GsbGetNextWord( 0, 1 );
@ -1632,7 +1632,7 @@ void GraalLoadParameters()
} }
GRAAL_RDS_LAMBDA = RDS_LAMBDA / GRAAL_SCALE; GRAAL_RDS_LAMBDA = RDS_LAMBDA / GRAAL_SCALE;
GRAAL_SCALE_X = SCALE_X / GRAAL_SCALE; GRAAL_SCALE_X = (float)SCALE_X / (float)GRAAL_SCALE;
if ( ! KeywordDefined ) if ( ! KeywordDefined )
{ {
@ -1767,7 +1767,7 @@ void GraalViewParameters()
for ( Layer = 0; Layer < MBK_MAX_LAYER; Layer++ ) for ( Layer = 0; Layer < MBK_MAX_LAYER; Layer++ )
{ {
fprintf( stdout, "\nLayer:%d %s %s %s %d %d", fprintf( stdout, "\nLayer:%d %s %s %s %e %e",
Layer, Layer,
GRAAL_SEGMENT_NAME_TABLE[ Layer ][0], GRAAL_SEGMENT_NAME_TABLE[ Layer ][0],
GRAAL_SEGMENT_NAME_TABLE[ Layer ][1], GRAAL_SEGMENT_NAME_TABLE[ Layer ][1],