LineTypePtr CreateNewLineOnLayer (LayerTypePtr Layer, LocationType X1, LocationType Y1, LocationType X2, LocationType Y2, BDimension Thickness, BDimension Clearance, FlagType Flags) { LineTypePtr Line; Line = GetLineMemory (Layer); if (!Line) return (Line); Line->ID = ID++; Line->Flags = Flags; CLEAR_FLAG (RATFLAG, Line); Line->Thickness = Thickness; Line->Clearance = Clearance; Line->Point1.X = X1; Line->Point1.Y = Y1; Line->Point1.ID = ID++; Line->Point2.X = X2; Line->Point2.Y = Y2; Line->Point2.ID = ID++; SetLineBoundingBox (Line); if (!Layer->line_tree) Layer->line_tree = r_create_tree (NULL, 0, 0); r_insert_entry (Layer->line_tree, (BoxTypePtr) Line, 0); return (Line); }
LineType * CreateNewLineOnLayer (LayerType *Layer, Coord X1, Coord Y1, Coord X2, Coord Y2, Coord Thickness, Coord Clearance, FlagType Flags) { LineType *Line; Line = GetLineMemory (Layer); if (!Line) return (Line); Line->ID = ID++; Line->Flags = Flags; CLEAR_FLAG (RATFLAG, Line); Line->Thickness = Thickness; Line->Clearance = Clearance; Line->Point1.X = X1; Line->Point1.Y = Y1; Line->Point1.ID = ID++; Line->Point2.X = X2; Line->Point2.Y = Y2; Line->Point2.ID = ID++; SetLineBoundingBox (Line); if (!Layer->line_tree) Layer->line_tree = r_create_tree (NULL, 0, 0); r_insert_entry (Layer->line_tree, (BoxType *) Line, 0); return (Line); }