diff -r 000000000000 -r 6474c204b198 widget/gonk/libdisplay/GonkDisplayJB.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/widget/gonk/libdisplay/GonkDisplayJB.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,75 @@ +/* Copyright 2013 Mozilla Foundation and Mozilla contributors + * + * 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 GONKDISPLAYJB_H +#define GONKDISPLAYJB_H + +#include "GonkDisplay.h" +#include "FramebufferSurface.h" +#include "hardware/hwcomposer.h" +#include "hardware/power.h" +#include "ui/Fence.h" +#include "utils/RefBase.h" + +namespace mozilla { + +class GonkDisplayJB : public GonkDisplay { +public: + GonkDisplayJB(); + ~GonkDisplayJB(); + + virtual ANativeWindow* GetNativeWindow(); + + virtual void SetEnabled(bool enabled); + + virtual void OnEnabled(OnEnabledCallbackType callback); + + virtual void* GetHWCDevice(); + + virtual void* GetFBSurface(); + + virtual bool SwapBuffers(EGLDisplay dpy, EGLSurface sur); + + virtual ANativeWindowBuffer* DequeueBuffer(); + + virtual bool QueueBuffer(ANativeWindowBuffer* buf); + + virtual void UpdateFBSurface(EGLDisplay dpy, EGLSurface sur); + + virtual void SetFBReleaseFd(int fd); + + virtual int GetPrevFBAcquireFd(); + + bool Post(buffer_handle_t buf, int fence); + +private: + hw_module_t const* mModule; + hw_module_t const* mFBModule; + hwc_composer_device_1_t* mHwc; + framebuffer_device_t* mFBDevice; + power_module_t* mPowerModule; + android::sp mFBSurface; + android::sp mSTClient; + android::sp mAlloc; + android::sp mBootAnimBuffer; + hwc_display_contents_1_t* mList; + uint32_t mWidth; + uint32_t mHeight; + OnEnabledCallbackType mEnabledCallback; +}; + +} + +#endif /* GONKDISPLAYJB_H */