vsync_provider_win.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2015 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef UI_GL_VSYNC_PROVIDER_WIN_H_
  5. #define UI_GL_VSYNC_PROVIDER_WIN_H_
  6. #include "ui/gfx/native_widget_types.h"
  7. #include "ui/gfx/vsync_provider.h"
  8. #include "ui/gl/gl_export.h"
  9. namespace gl {
  10. class GL_EXPORT VSyncProviderWin : public gfx::VSyncProvider {
  11. public:
  12. explicit VSyncProviderWin(gfx::AcceleratedWidget window);
  13. VSyncProviderWin(const VSyncProviderWin&) = delete;
  14. VSyncProviderWin& operator=(const VSyncProviderWin&) = delete;
  15. ~VSyncProviderWin() override;
  16. static void InitializeOneOff();
  17. // gfx::VSyncProvider overrides;
  18. void GetVSyncParameters(UpdateVSyncCallback callback) override;
  19. bool GetVSyncParametersIfAvailable(base::TimeTicks* timebase,
  20. base::TimeDelta* interval) override;
  21. bool SupportGetVSyncParametersIfAvailable() const override;
  22. bool IsHWClock() const override;
  23. private:
  24. gfx::AcceleratedWidget window_;
  25. };
  26. } // namespace gl
  27. #endif // UI_GL_VSYNC_PROVIDER_WIN_H_