1 // 2 // Copyright 2014 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // Trim11.h: Trim support utility class. 8 9 #ifndef LIBANGLE_RENDERER_D3D_D3D11_TRIM11_H_ 10 #define LIBANGLE_RENDERER_D3D_D3D11_TRIM11_H_ 11 12 #include "common/angleutils.h" 13 #include "libANGLE/Error.h" 14 #include "libANGLE/angletypes.h" 15 16 #if defined(ANGLE_ENABLE_WINDOWS_UWP) 17 # include <EventToken.h> 18 #endif 19 20 namespace rx 21 { 22 class Renderer11; 23 24 class Trim11 : angle::NonCopyable 25 { 26 public: 27 explicit Trim11(Renderer11 *renderer); 28 ~Trim11(); 29 30 private: 31 Renderer11 *mRenderer; 32 #if defined(ANGLE_ENABLE_WINDOWS_UWP) 33 EventRegistrationToken mApplicationSuspendedEventToken; 34 #endif 35 36 void trim(); 37 bool registerForRendererTrimRequest(); 38 void unregisterForRendererTrimRequest(); 39 }; 40 41 } // namespace rx 42 43 #endif // LIBANGLE_RENDERER_D3D_D3D11_TRIM11_H_ 44