diff -r 000000000000 -r 6474c204b198 widget/gonk/libdisplay/GonkDisplayICS.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/widget/gonk/libdisplay/GonkDisplayICS.h Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,66 @@ +/* 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 GONKDISPLAYICS_H +#define GONKDISPLAYICS_H + +#include + +#include "GonkDisplay.h" +#include "ui/FramebufferNativeWindow.h" +#include "hardware/hwcomposer.h" +#include "utils/RefBase.h" + +namespace mozilla { + +class GonkDisplayICS : public GonkDisplay { +public: + GonkDisplayICS(); + ~GonkDisplayICS(); + + 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* handle); + + virtual void UpdateFBSurface(EGLDisplay dpy, EGLSurface sur); + + virtual void SetFBReleaseFd(int fd); + + virtual int GetPrevFBAcquireFd() + { + return -1; + } + +private: + hw_module_t const* mModule; + hwc_composer_device_t* mHwc; + android::sp mFBSurface; +}; + +} + +#endif /* GONKDISPLAYICS_H */