title: RotateFlipType helper functions?
body: <p>I've repeatedly found myself wanting to deal with the RotateFlipType in a more modular manner.</p>
  
  <p>For example, at any given time I want to store a single RotateFlipType enum, while giving the user access to buttons to allow flipping and rotating one click at a time.  I need to store this later when I need to apply the RotateFlipType to the data.</p>
  
  <p>So basically I need to store everything seperately across multiple variables.  Or I need to have logic such as:</p>
  
  <pre><code>private RotateFlipType ApplyHorizontalFlip(RotateFlipType oldFlip)
  {
      switch (oldFlip)
      {
          case RotateFlipType.Rotate180FlipNone:
              return RotateFlipType.RotateNoneFlipNone;
  
          case RotateFlipType.Rotate180FlipX:
              return RotateFlipType.RotateNoneFlipX;
  
          case RotateFlipType.Rotate180FlipXY:
              return RotateFlipType.RotateNoneFlipXY;
  
          case RotateFlipType.Rotate180FlipY:
              return RotateFlipType.RotateNoneFlipY;
  
          case RotateFlipType.Rotate270FlipNone:
              return RotateFlipType.Rotate90FlipNone;
  
          // etc...
      }
  }
  </code></pre>
  
  <p>Are there any helper methods build into the framework, or that anyone knows of?  Basically to take any existing RotateFlipType and modify it by rotating or flipping to give a new value.</p>