original_string: public function line(Array $settings = []) : GD
      {
          $x1   = $settings['x1']    ?? $this->x1    ?? 0;
          $y1   = $settings['y1']    ?? $this->y1    ?? 0;
          $x2   = $settings['x2']    ?? $this->x2    ?? 0;
          $y2   = $settings['y2']    ?? $this->y2    ?? 0;
          $rgb  = $settings['color'] ?? $this->color ?? '0|0|0';
          $type = $settings['type']  ?? $this->type  ?? 'solid';
          
          if( $type === 'solid' )
          {
              imageline($this->canvas, $x1, $y1, $x2, $y2, $this->allocate($rgb));
          }
          elseif( $type === 'dashed' )
          {
              imagedashedline($this->canvas, $x1, $y1, $x2, $y2, $this->allocate($rgb));
          }
  
          $this->defaultRevolvingVariables();
  
          return $this;
      }
code: public function line(Array $settings = []) : GD
      {
          $x1   = $settings['x1']    ?? $this->x1    ?? 0;
          $y1   = $settings['y1']    ?? $this->y1    ?? 0;
          $x2   = $settings['x2']    ?? $this->x2    ?? 0;
          $y2   = $settings['y2']    ?? $this->y2    ?? 0;
          $rgb  = $settings['color'] ?? $this->color ?? '0|0|0';
          $type = $settings['type']  ?? $this->type  ?? 'solid';
          
          if( $type === 'solid' )
          {
              imageline($this->canvas, $x1, $y1, $x2, $y2, $this->allocate($rgb));
          }
          elseif( $type === 'dashed' )
          {
              imagedashedline($this->canvas, $x1, $y1, $x2, $y2, $this->allocate($rgb));
          }
  
          $this->defaultRevolvingVariables();
  
          return $this;
      }
code_tokens: public function line ( Array $ settings = [ ] ) : GD { $ x1 = $ settings [ 'x1' ] ?? $ this -> x1 ?? 0 ; $ y1 = $ settings [ 'y1' ] ?? $ this -> y1 ?? 0 ; $ x2 = $ settings [ 'x2' ] ?? $ this -> x2 ?? 0 ; $ y2 = $ settings [ 'y2' ] ?? $ this -> y2 ?? 0 ; $ rgb = $ settings [ 'color' ] ?? $ this -> color ?? '0|0|0' ; $ type = $ settings [ 'type' ] ?? $ this -> type ?? 'solid' ; if ( $ type === 'solid' ) { imageline ( $ this -> canvas , $ x1 , $ y1 , $ x2 , $ y2 , $ this -> allocate ( $ rgb ) ) ; } elseif ( $ type === 'dashed' ) { imagedashedline ( $ this -> canvas , $ x1 , $ y1 , $ x2 , $ y2 , $ this -> allocate ( $ rgb ) ) ; } $ this -> defaultRevolvingVariables ( ) ; return $ this ; }
docstring: Creates a line
  
  @param array $settings = []
  
  @return GD
docstring_tokens: Creates a line