VirtualDisplaySurface.h revision e737c11cd83a449d9a544c5c6d4e0dfd42250a56
1/* 2 * Copyright 2013 The Android Open Source Project 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 17#ifndef ANDROID_SF_VIRTUAL_DISPLAY_SURFACE_H 18#define ANDROID_SF_VIRTUAL_DISPLAY_SURFACE_H 19 20#include "DisplaySurface.h" 21 22// --------------------------------------------------------------------------- 23namespace android { 24// --------------------------------------------------------------------------- 25 26class HWComposer; 27 28/* This DisplaySurface implementation is a stub used for developing HWC 29 * virtual display support. It is currently just a passthrough. 30 */ 31class VirtualDisplaySurface : public DisplaySurface { 32public: 33 VirtualDisplaySurface(HWComposer& hwc, int32_t dispId, 34 const sp<IGraphicBufferProducer>& sink, 35 const String8& name); 36 37 virtual sp<IGraphicBufferProducer> getIGraphicBufferProducer() const; 38 39 virtual status_t compositionComplete(); 40 virtual status_t advanceFrame(); 41 virtual void onFrameCommitted(); 42 virtual void dump(String8& result) const; 43 44private: 45 virtual ~VirtualDisplaySurface(); 46 47 sp<IGraphicBufferProducer> mSink; 48}; 49 50// --------------------------------------------------------------------------- 51} // namespace android 52// --------------------------------------------------------------------------- 53 54#endif // ANDROID_SF_VIRTUAL_DISPLAY_SURFACE_H 55 56