1/* 2// Copyright (c) 2014 Intel Corporation 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15*/ 16#ifndef DUMMY_DEVICE_H 17#define DUMMY_DEVICE_H 18 19#include <IDisplayDevice.h> 20 21namespace android { 22namespace intel { 23 24class Hwcomposer; 25class SoftVsyncObserver; 26 27class DummyDevice : public IDisplayDevice { 28public: 29 DummyDevice(uint32_t type, Hwcomposer& hwc); 30 virtual ~DummyDevice(); 31 32public: 33 virtual bool prePrepare(hwc_display_contents_1_t *display); 34 virtual bool prepare(hwc_display_contents_1_t *display); 35 virtual bool commit(hwc_display_contents_1_t *display, 36 IDisplayContext *context); 37 38 virtual bool vsyncControl(bool enabled); 39 virtual bool blank(bool blank); 40 virtual bool getDisplaySize(int *width, int *height); 41 virtual bool getDisplayConfigs(uint32_t *configs, 42 size_t *numConfigs); 43 virtual bool getDisplayAttributes(uint32_t config, 44 const uint32_t *attributes, 45 int32_t *values); 46 virtual bool compositionComplete(); 47 48 virtual bool setPowerMode(int mode); 49 virtual int getActiveConfig(); 50 virtual bool setActiveConfig(int index); 51 52 virtual bool initialize(); 53 virtual void deinitialize(); 54 virtual bool isConnected() const; 55 virtual const char* getName() const; 56 virtual int getType() const; 57 virtual void onVsync(int64_t timestamp); 58 virtual void dump(Dump& d); 59 60protected: 61 bool mInitialized; 62 bool mConnected; 63 bool mBlank; 64 uint32_t mType; 65 Hwcomposer& mHwc; 66 SoftVsyncObserver *mVsyncObserver; 67 68 const char *mName; 69}; 70 71} 72} 73 74#endif /* DUMMY_DEVICE_H */ 75