void clipToRectangle (const Rectangle<int>& r)
 {
     clearClip();
     clipRect = r.toFloat().transformed (transform).getSmallestIntegerContainer();
     shouldClipRect = true;
     pushClips();
 }
 void VirtualFont::beginSequence(FontSequence *sequence, bool useColor)
 {
     if (began == 0)
     {
         sequenceUseColor = useColor;
         
         if (!batchMap)
         {
             batchMap = unique_ptr<QuadBatchMap<FontTexture>>(new QuadBatchMap<FontTexture>);
         }
         else
         {
             batchMap->clear();
         }
         
         if (sequence)
         {
             VirtualFont::sequence = sequence;
             sequence->begin(useColor, anisotropy);
         }
         
         clearClip();
     }
     
     began++;
 }
void Direct2DLowLevelGraphicsContext::SavedState::clipToRectangle (const Rectangle<int>& r)
{
    clearClip();
    Rectangle<int> r2 = r.toFloat().transformed (transform).getSmallestIntegerContainer();
    clipRect = r2;
    shouldClipRect = true;
    pushClips();
}
 ~SavedState()
 {
     clearClip();
     clearFont();
     clearFill();
     clearPathClip();
     clearImageClip();
     complexClipLayer = 0;
     bitmapMaskLayer = 0;
 }
Direct2DLowLevelGraphicsContext::SavedState::~SavedState()
{
    clearClip();
    clearFont();
    clearFill();
    clearPathClip();
    clearImageClip();
    complexClipLayer = 0;
    bitmapMaskLayer = 0;
}