1 2 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 3 /* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef GFX_GRADIENT_CACHE_H 8 #define GFX_GRADIENT_CACHE_H 9 10 #include "nsTArray.h" 11 #include "gfxPattern.h" 12 #include "mozilla/gfx/2D.h" 13 14 namespace mozilla { 15 namespace gfx { 16 17 class gfxGradientCache { 18 public: 19 static gfx::GradientStops* 20 GetGradientStops(const gfx::DrawTarget *aDT, 21 nsTArray<gfx::GradientStop>& aStops, 22 gfx::ExtendMode aExtend); 23 24 static already_AddRefed<gfx::GradientStops> 25 GetOrCreateGradientStops(const gfx::DrawTarget *aDT, 26 nsTArray<gfx::GradientStop>& aStops, 27 gfx::ExtendMode aExtend); 28 29 static void PurgeAllCaches(); 30 static void Shutdown(); 31 }; 32 33 } // namespace gfx 34 } // namespace mozilla 35 36 #endif 37