x11_xrandr_interval_only_vsync_provider.h 993 B

1234567891011121314151617181920212223242526272829
  1. // Copyright 2021 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_BASE_X_X11_XRANDR_INTERVAL_ONLY_VSYNC_PROVIDER_H_
  5. #define UI_BASE_X_X11_XRANDR_INTERVAL_ONLY_VSYNC_PROVIDER_H_
  6. #include "base/component_export.h"
  7. #include "ui/gfx/vsync_provider.h"
  8. namespace ui {
  9. class COMPONENT_EXPORT(UI_BASE_X) XrandrIntervalOnlyVSyncProvider
  10. : public gfx::VSyncProvider {
  11. public:
  12. explicit XrandrIntervalOnlyVSyncProvider();
  13. ~XrandrIntervalOnlyVSyncProvider() override;
  14. // gfx::VSyncProvider:
  15. void GetVSyncParameters(UpdateVSyncCallback callback) override;
  16. bool GetVSyncParametersIfAvailable(base::TimeTicks* timebase,
  17. base::TimeDelta* interval) override;
  18. bool SupportGetVSyncParametersIfAvailable() const override;
  19. bool IsHWClock() const override;
  20. };
  21. } // namespace ui
  22. #endif // UI_BASE_X_X11_XRANDR_INTERVAL_ONLY_VSYNC_PROVIDER_H_