Home | History | Annotate | Download | only in api
      1 SkAutoCanvasRestore Reference
      2 ===
      3 
      4 
      5 <a name='SkAutoCanvasRestore'></a>
      6 
      7 ---
      8 
      9 <pre style="padding: 1em 1em 1em 1em;width: 62.5em; background-color: #f0f0f0">
     10 class <a href='SkAutoCanvasRestore_Reference#SkAutoCanvasRestore'>SkAutoCanvasRestore</a> {
     11 
     12     <a href='#SkAutoCanvasRestore_SkCanvas_star'>SkAutoCanvasRestore</a>(<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>* <a href='SkCanvas_Reference#Canvas'>canvas</a>, bool doSave);
     13     <a href='#SkAutoCanvasRestore_destructor'>~SkAutoCanvasRestore()</a>;
     14     void <a href='#SkAutoCanvasRestore_restore'>restore()</a>;
     15 };
     16 
     17 </pre>
     18 
     19 Stack helper class calls <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_restoreToCount'>restoreToCount</a> when <a href='SkAutoCanvasRestore_Reference#SkAutoCanvasRestore'>SkAutoCanvasRestore</a>
     20 goes out of scope. Use this to guarantee that the <a href='SkCanvas_Reference#Canvas'>canvas</a> is restored to a known
     21 state.
     22 
     23 <a name='SkAutoCanvasRestore_SkCanvas_star'></a>
     24 
     25 ---
     26 
     27 <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
     28 <a href='#SkAutoCanvasRestore_SkCanvas_star'>SkAutoCanvasRestore</a>(<a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>* <a href='SkCanvas_Reference#Canvas'>canvas</a>, bool doSave)
     29 </pre>
     30 
     31 Preserves <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_save'>save()</a> count. Optionally saves <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> clip and <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> <a href='SkMatrix_Reference#Matrix'>matrix</a>.
     32 
     33 ### Parameters
     34 
     35 <table>  <tr>    <td><a name='SkAutoCanvasRestore_SkCanvas_star_canvas'><code><strong>canvas</strong></code></a></td>
     36     <td><a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> to guard</td>
     37   </tr>
     38   <tr>    <td><a name='SkAutoCanvasRestore_SkCanvas_star_doSave'><code><strong>doSave</strong></code></a></td>
     39     <td>call <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_save'>save()</a></td>
     40   </tr>
     41 </table>
     42 
     43 ### Return Value
     44 
     45 utility to restore <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> state on destructor
     46 
     47 ### Example
     48 
     49 <div><fiddle-embed name="466ef576b88e29d7252422db7adeed1c"></fiddle-embed></div>
     50 
     51 ### See Also
     52 
     53 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_save'>save</a> <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_restore'>restore</a>
     54 
     55 <a name='SkAutoCanvasRestore_destructor'></a>
     56 
     57 ---
     58 
     59 <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
     60 <a href='#SkAutoCanvasRestore_destructor'>~SkAutoCanvasRestore()</a>
     61 </pre>
     62 
     63 Restores <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> to saved state. Destructor is called when container goes out of
     64 scope.
     65 
     66 ### See Also
     67 
     68 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_save'>save</a> <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_restore'>restore</a>
     69 
     70 <a name='SkAutoCanvasRestore_restore'></a>
     71 
     72 ---
     73 
     74 <pre style="padding: 1em 1em 1em 1em; width: 62.5em;background-color: #f0f0f0">
     75 void <a href='#SkAutoCanvasRestore_restore'>restore()</a>
     76 </pre>
     77 
     78 Restores <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a> to saved state immediately. Subsequent calls and
     79 <a href='#SkAutoCanvasRestore_destructor'>~SkAutoCanvasRestore()</a> have no effect.
     80 
     81 ### Example
     82 
     83 <div><fiddle-embed name="9f459b218ec079c1ada23f4412968f9a">
     84 
     85 #### Example Output
     86 
     87 ~~~~
     88 saveCanvas: false  before restore: 2
     89 saveCanvas: false  after restore: 2
     90 saveCanvas: true  before restore: 2
     91 saveCanvas: true  after restore: 2
     92 saveCanvas: false  before restore: 2
     93 saveCanvas: false  after restore: 1
     94 saveCanvas: true  before restore: 2
     95 saveCanvas: true  after restore: 1
     96 final count: 1
     97 ~~~~
     98 
     99 </fiddle-embed></div>
    100 
    101 ### See Also
    102 
    103 <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_save'>save</a> <a href='SkCanvas_Reference#SkCanvas'>SkCanvas</a>::<a href='#SkCanvas_restore'>restore</a>
    104 
    105