| /* | |
| * Copyright 2014 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #ifndef SkRecordOpts_DEFINED | |
| #define SkRecordOpts_DEFINED | |
| #include "SkRecord.h" | |
| // Run all optimizations in recommended order. | |
| void SkRecordOptimize(SkRecord*); | |
| // NoOp away pointless PushCull/PopCull pairs with nothing between them. | |
| void SkRecordNoopCulls(SkRecord*); | |
| // Turns logical no-op Save-[non-drawing command]*-Restore patterns into actual no-ops. | |
| void SkRecordNoopSaveRestores(SkRecord*); | |
| // For some SaveLayer-[drawing command]-Restore patterns, merge the SaveLayer's alpha into the | |
| // draw, and no-op the SaveLayer and Restore. | |
| void SkRecordNoopSaveLayerDrawRestores(SkRecord*); | |
| // Annotates PushCull commands with the relative offset of their paired PopCull. | |
| void SkRecordAnnotateCullingPairs(SkRecord*); | |
| // Convert DrawPosText to DrawPosTextH when all the Y coordinates are equal. | |
| void SkRecordReduceDrawPosTextStrength(SkRecord*); | |
| // Calculate min and max Y bounds for DrawPosTextH commands, for use with SkCanvas::quickRejectY. | |
| void SkRecordBoundDrawPosTextH(SkRecord*); | |
| #endif//SkRecordOpts_DEFINED |