diff options
Diffstat (limited to 'widget/gonk/nativewindow/FakeSurfaceComposer.h')
-rw-r--r-- | widget/gonk/nativewindow/FakeSurfaceComposer.h | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/widget/gonk/nativewindow/FakeSurfaceComposer.h b/widget/gonk/nativewindow/FakeSurfaceComposer.h deleted file mode 100644 index 97a717444..000000000 --- a/widget/gonk/nativewindow/FakeSurfaceComposer.h +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * Copyright (C) 2013 Mozilla Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef NATIVEWINDOW_FAKE_SURFACE_COMPOSER_H -#define NATIVEWINDOW_FAKE_SURFACE_COMPOSER_H - -#include <stdint.h> -#include <sys/types.h> - -#include <utils/Errors.h> -#include <utils/Looper.h> - -#include <binder/BinderService.h> - -#include <gui/IGraphicBufferProducer.h> -#include <gui/ISurfaceComposer.h> -#include <gui/ISurfaceComposerClient.h> -#include <hardware/hwcomposer.h> -#include <private/gui/LayerState.h> -#include <utils/KeyedVector.h> - -class nsIWidget; - -namespace android { - -// --------------------------------------------------------------------------- - -class GraphicProducerWrapper; -class IGraphicBufferAlloc; - -enum { - eTransactionNeeded = 0x01, - eTraversalNeeded = 0x02, - eDisplayTransactionNeeded = 0x04, - eTransactionMask = 0x07 -}; - -class FakeSurfaceComposer : public BinderService<FakeSurfaceComposer>, - public BnSurfaceComposer -{ -public: - static char const* getServiceName() { - return "FakeSurfaceComposer"; - } - - // Instantiate FakeSurfaceComposer and register to service manager. - // If service manager is not present, wait until service manager becomes present. - static void instantiate(); - -#if ANDROID_VERSION >= 19 - virtual void destroyDisplay(const sp<android::IBinder>& display); -#endif - -#if ANDROID_VERSION >= 21 - virtual status_t captureScreen(const sp<IBinder>& display, - const sp<IGraphicBufferProducer>& producer, - Rect sourceCrop, uint32_t reqWidth, uint32_t reqHeight, - uint32_t minLayerZ, uint32_t maxLayerZ, - bool useIdentityTransform, - Rotation rotation = eRotateNone); -#elif ANDROID_VERSION >= 19 - virtual status_t captureScreen(const sp<IBinder>& display, - const sp<IGraphicBufferProducer>& producer, - uint32_t reqWidth, uint32_t reqHeight, - uint32_t minLayerZ, uint32_t maxLayerZ); -#else - virtual status_t captureScreen(const sp<IBinder>& display, - const sp<IGraphicBufferProducer>& producer, - uint32_t reqWidth, uint32_t reqHeight, - uint32_t minLayerZ, uint32_t maxLayerZ, bool isCpuConsumer); -#endif - -private: - FakeSurfaceComposer(); - // We're reference counted, never destroy FakeSurfaceComposer directly - virtual ~FakeSurfaceComposer(); - - /* ------------------------------------------------------------------------ - * IBinder interface - */ - virtual status_t onTransact(uint32_t code, const Parcel& data, - Parcel* reply, uint32_t flags); - - /* ------------------------------------------------------------------------ - * ISurfaceComposer interface - */ - virtual sp<ISurfaceComposerClient> createConnection(); - virtual sp<IGraphicBufferAlloc> createGraphicBufferAlloc(); - virtual sp<IBinder> createDisplay(const String8& displayName, bool secure); - virtual sp<IBinder> getBuiltInDisplay(int32_t id); - virtual void setTransactionState(const Vector<ComposerState>& state, - const Vector<DisplayState>& displays, uint32_t flags); - virtual void bootFinished(); - virtual bool authenticateSurfaceTexture( - const sp<IGraphicBufferProducer>& bufferProducer) const; - virtual sp<IDisplayEventConnection> createDisplayEventConnection(); -#if ANDROID_VERSION >= 21 - virtual void setPowerMode(const sp<IBinder>& display, int mode); - virtual status_t getDisplayConfigs(const sp<IBinder>& display, Vector<DisplayInfo>* configs); - virtual status_t getDisplayStats(const sp<IBinder>& display, DisplayStatInfo* stats); - virtual int getActiveConfig(const sp<IBinder>& display); - virtual status_t setActiveConfig(const sp<IBinder>& display, int id); - virtual status_t clearAnimationFrameStats(); - virtual status_t getAnimationFrameStats(FrameStats* outStats) const; -#elif ANDROID_VERSION >= 17 - // called when screen needs to turn off - virtual void blank(const sp<IBinder>& display); - // called when screen is turning back on - virtual void unblank(const sp<IBinder>& display); - virtual status_t getDisplayInfo(const sp<IBinder>& display, DisplayInfo* info); -#endif - void getPrimaryDisplayInfo(DisplayInfo* info); - - /* ------------------------------------------------------------------------ - * Transactions - */ - uint32_t setDisplayStateLocked(const DisplayState& s); - - void captureScreenImp(const sp<IGraphicBufferProducer>& producer, - uint32_t reqWidth, - uint32_t reqHeight, - const sp<GraphicProducerWrapper>& wrapper); - - sp<IBinder> mPrimaryDisplay; - - struct DisplayDeviceState { - enum { - NO_LAYER_STACK = 0xFFFFFFFF, - }; - DisplayDeviceState() - : type(-1), displayId(-1), width(0), height(0) { - } - DisplayDeviceState(int type) - : type(type), displayId(-1), layerStack(NO_LAYER_STACK), orientation(0), width(0), height(0) { - viewport.makeInvalid(); - frame.makeInvalid(); - } - bool isValid() const { return type >= 0; } - int type; - int displayId; - sp<IGraphicBufferProducer> surface; - uint32_t layerStack; - Rect viewport; - Rect frame; - uint8_t orientation; - uint32_t width, height; - String8 displayName; - bool isSecure; - }; - - // access must be protected by mStateLock - mutable Mutex mStateLock; - DefaultKeyedVector<wp<IBinder>, DisplayDeviceState> mDisplays; - - friend class DestroyDisplayRunnable; -}; - -// --------------------------------------------------------------------------- -}; // namespace android - -#endif // NATIVEWINDOW_FAKE_SURFACE_COMPOSER_H |