original_string: function set_outline($val)
      {
          $important = isset($this->_important_props["outline"]);
  
          $props = array(
              "outline_style",
              "outline_width",
              "outline_color",
          );
  
          foreach ($props as $prop) {
              $_val = self::$_defaults[$prop];
  
              if (!isset($this->_important_props[$prop]) || $important) {
                  //see __set and __get, on all assignments clear cache!
                  $this->_prop_cache[$prop] = null;
                  if ($important) {
                      $this->_important_props[$prop] = true;
                  }
                  $this->_props[$prop] = $_val;
              }
          }
  
          $val = preg_replace("/\s*\,\s*/", ",", $val); // when rgb() has spaces
          $arr = explode(" ", $val);
          foreach ($arr as $value) {
              $value = trim($value);
  
              if (in_array($value, self::$BORDER_STYLES)) {
                  $this->set_outline_style($value);
              } else if (preg_match("/[.0-9]+(?:px|pt|pc|em|ex|%|in|mm|cm)|(?:thin|medium|thick)/", $value)) {
                  $this->set_outline_width($value);
              } else {
                  // must be color
                  $this->set_outline_color($value);
              }
          }
  
          //see __set and __get, on all assignments clear cache, not needed on direct set through __set
          $this->_prop_cache["outline"] = null;
          $this->_props["outline"] = $val;
      }
code: function set_outline($val)
      {
          $important = isset($this->_important_props["outline"]);
  
          $props = array(
              "outline_style",
              "outline_width",
              "outline_color",
          );
  
          foreach ($props as $prop) {
              $_val = self::$_defaults[$prop];
  
              if (!isset($this->_important_props[$prop]) || $important) {
                  //see __set and __get, on all assignments clear cache!
                  $this->_prop_cache[$prop] = null;
                  if ($important) {
                      $this->_important_props[$prop] = true;
                  }
                  $this->_props[$prop] = $_val;
              }
          }
  
          $val = preg_replace("/\s*\,\s*/", ",", $val); // when rgb() has spaces
          $arr = explode(" ", $val);
          foreach ($arr as $value) {
              $value = trim($value);
  
              if (in_array($value, self::$BORDER_STYLES)) {
                  $this->set_outline_style($value);
              } else if (preg_match("/[.0-9]+(?:px|pt|pc|em|ex|%|in|mm|cm)|(?:thin|medium|thick)/", $value)) {
                  $this->set_outline_width($value);
              } else {
                  // must be color
                  $this->set_outline_color($value);
              }
          }
  
          //see __set and __get, on all assignments clear cache, not needed on direct set through __set
          $this->_prop_cache["outline"] = null;
          $this->_props["outline"] = $val;
      }
code_tokens: function set_outline ( $ val ) { $ important = isset ( $ this -> _important_props [ "outline" ] ) ; $ props = array ( "outline_style" , "outline_width" , "outline_color" , ) ; foreach ( $ props as $ prop ) { $ _val = self :: $ _defaults [ $ prop ] ; if ( ! isset ( $ this -> _important_props [ $ prop ] ) || $ important ) { //see __set and __get, on all assignments clear cache! $ this -> _prop_cache [ $ prop ] = null ; if ( $ important ) { $ this -> _important_props [ $ prop ] = true ; } $ this -> _props [ $ prop ] = $ _val ; } } $ val = preg_replace ( "/\s*\,\s*/" , "," , $ val ) ; // when rgb() has spaces $ arr = explode ( " " , $ val ) ; foreach ( $ arr as $ value ) { $ value = trim ( $ value ) ; if ( in_array ( $ value , self :: $ BORDER_STYLES ) ) { $ this -> set_outline_style ( $ value ) ; } else if ( preg_match ( "/[.0-9]+(?:px|pt|pc|em|ex|%|in|mm|cm)|(?:thin|medium|thick)/" , $ value ) ) { $ this -> set_outline_width ( $ value ) ; } else { // must be color $ this -> set_outline_color ( $ value ) ; } } //see __set and __get, on all assignments clear cache, not needed on direct set through __set $ this -> _prop_cache [ "outline" ] = null ; $ this -> _props [ "outline" ] = $ val ; }
docstring: Sets the outline styles
  
  @link http://www.w3.org/TR/CSS21/ui.html#dynamic-outlines
  @param string $val
docstring_tokens: Sets the outline styles