18b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol/* 28b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Copyright (c) 2014 Intel Corporation 38b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 48b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Licensed under the Apache License, Version 2.0 (the "License"); 58b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// you may not use this file except in compliance with the License. 68b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// You may obtain a copy of the License at 78b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 88b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// http://www.apache.org/licenses/LICENSE-2.0 98b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// 108b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// Unless required by applicable law or agreed to in writing, software 118b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// distributed under the License is distributed on an "AS IS" BASIS, 128b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// See the License for the specific language governing permissions and 148b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol// limitations under the License. 158b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol*/ 168b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#ifndef VSYNC_CONTROL_H 178b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#define VSYNC_CONTROL_H 188b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 198b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#include <IVsyncControl.h> 208b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 218b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolnamespace android { 228b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolnamespace intel { 238b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 248b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolclass VsyncControl : public IVsyncControl { 258b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolpublic: 268b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol VsyncControl(); 278b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol virtual ~VsyncControl(); 288b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 298b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolpublic: 308b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol bool initialize(); 318b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol void deinitialize(); 328b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol bool control(int disp, bool enabled); 338b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol bool wait(int disp, int64_t& timestamp); 348b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 358b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujolprivate: 368b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol bool mInitialized; 378b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol}; 388b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 398b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol} // namespace intel 408b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol} // namespace android 418b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 428b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol 438b0063f7f46289983bd1bf9ca61662b4a2ddf5b6Benjamin Pujol#endif /* VSYNC_CONTROL_H */ 44