From ce4de54a66b7803c2fddbf2bdcbb3c85712469af Mon Sep 17 00:00:00 2001 From: Jiyong Park Date: Wed, 21 Jun 2017 12:14:18 +0900 Subject: Make libgui available to vendors libgui is now available to vendors, especially for BufferQueue in between the OMX and Camera HALs for encoding the captured video stream. In doing so, its headers were moved from frameworks/native/include to its local directory frameworks/native/libs/gui/include. This is required because global include path is not supported when building for vendor. However, in order not to affect platform modules that are still relying on the global include path, symlinks are provided. frameworks/native/include/gui -> frameworks/native/libs/include/gui frameworks/native/include/private/gui -> frameworks/native/libs/include/private/gui Bug: 37731063 Test: BOARD_VNDK_VERSION=current m -j libgui.vendor Change-Id: I0bab8d2e31959085ad58b1ce4c610334ee3da033 Merged-In: I0bab8d2e31959085ad58b1ce4c610334ee3da033 --- include/private/gui | 1 + include/private/gui/ComposerService.h | 61 ------------- include/private/gui/LayerState.h | 156 ---------------------------------- include/private/gui/SyncFeatures.h | 45 ---------- 4 files changed, 1 insertion(+), 262 deletions(-) create mode 120000 include/private/gui delete mode 100644 include/private/gui/ComposerService.h delete mode 100644 include/private/gui/LayerState.h delete mode 100644 include/private/gui/SyncFeatures.h (limited to 'include/private/gui') diff --git a/include/private/gui b/include/private/gui new file mode 120000 index 0000000000..99de2dc166 --- /dev/null +++ b/include/private/gui @@ -0,0 +1 @@ +../../libs/gui/include/private/gui \ No newline at end of file diff --git a/include/private/gui/ComposerService.h b/include/private/gui/ComposerService.h deleted file mode 100644 index 50bd742b6a..0000000000 --- a/include/private/gui/ComposerService.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * 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 ANDROID_PRIVATE_GUI_COMPOSER_SERVICE_H -#define ANDROID_PRIVATE_GUI_COMPOSER_SERVICE_H - -#include -#include - -#include -#include - - -namespace android { - -// --------------------------------------------------------------------------- - -class ISurfaceComposer; - -// --------------------------------------------------------------------------- - -// This holds our connection to the composer service (i.e. SurfaceFlinger). -// If the remote side goes away, we will re-establish the connection. -// Users of this class should not retain the value from -// getComposerService() for an extended period. -// -// (It's not clear that using Singleton is useful here anymore.) -class ComposerService : public Singleton -{ - sp mComposerService; - sp mDeathObserver; - Mutex mLock; - - ComposerService(); - void connectLocked(); - void composerServiceDied(); - friend class Singleton; -public: - - // Get a connection to the Composer Service. This will block until - // a connection is established. - static sp getComposerService(); -}; - -// --------------------------------------------------------------------------- -}; // namespace android - -#endif // ANDROID_PRIVATE_GUI_COMPOSER_SERVICE_H diff --git a/include/private/gui/LayerState.h b/include/private/gui/LayerState.h deleted file mode 100644 index 307c764702..0000000000 --- a/include/private/gui/LayerState.h +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * 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 ANDROID_SF_LAYER_STATE_H -#define ANDROID_SF_LAYER_STATE_H - -#include -#include - -#include - -#include -#include -#include - -namespace android { - -class Parcel; -class ISurfaceComposerClient; - -/* - * Used to communicate layer information between SurfaceFlinger and its clients. - */ -struct layer_state_t { - - - enum { - eLayerHidden = 0x01, // SURFACE_HIDDEN in SurfaceControl.java - eLayerOpaque = 0x02, // SURFACE_OPAQUE - eLayerSecure = 0x80, // SECURE - }; - - enum { - ePositionChanged = 0x00000001, - eLayerChanged = 0x00000002, - eSizeChanged = 0x00000004, - eAlphaChanged = 0x00000008, - eMatrixChanged = 0x00000010, - eTransparentRegionChanged = 0x00000020, - eFlagsChanged = 0x00000040, - eLayerStackChanged = 0x00000080, - eCropChanged = 0x00000100, - eDeferTransaction = 0x00000200, - eFinalCropChanged = 0x00000400, - eOverrideScalingModeChanged = 0x00000800, - eGeometryAppliesWithResize = 0x00001000, - eReparentChildren = 0x00002000, - eDetachChildren = 0x00004000, - eRelativeLayerChanged = 0x00008000 - }; - - layer_state_t() - : what(0), - x(0), y(0), z(0), w(0), h(0), layerStack(0), - alpha(0), flags(0), mask(0), - reserved(0), crop(Rect::INVALID_RECT), - finalCrop(Rect::INVALID_RECT), frameNumber(0), - overrideScalingMode(-1) - { - matrix.dsdx = matrix.dtdy = 1.0f; - matrix.dsdy = matrix.dtdx = 0.0f; - } - - status_t write(Parcel& output) const; - status_t read(const Parcel& input); - - struct matrix22_t { - float dsdx{0}; - float dtdx{0}; - float dtdy{0}; - float dsdy{0}; - }; - sp surface; - uint32_t what; - float x; - float y; - int32_t z; - uint32_t w; - uint32_t h; - uint32_t layerStack; - float alpha; - uint8_t flags; - uint8_t mask; - uint8_t reserved; - matrix22_t matrix; - Rect crop; - Rect finalCrop; - sp barrierHandle; - sp reparentHandle; - uint64_t frameNumber; - int32_t overrideScalingMode; - - sp barrierGbp; - - sp relativeLayerHandle; - - // non POD must be last. see write/read - Region transparentRegion; -}; - -struct ComposerState { - sp client; - layer_state_t state; - status_t write(Parcel& output) const; - status_t read(const Parcel& input); -}; - -struct DisplayState { - - enum { - eOrientationDefault = 0, - eOrientation90 = 1, - eOrientation180 = 2, - eOrientation270 = 3, - eOrientationUnchanged = 4, - eOrientationSwapMask = 0x01 - }; - - enum { - eSurfaceChanged = 0x01, - eLayerStackChanged = 0x02, - eDisplayProjectionChanged = 0x04, - eDisplaySizeChanged = 0x08 - }; - - DisplayState(); - - uint32_t what; - sp token; - sp surface; - uint32_t layerStack; - uint32_t orientation; - Rect viewport; - Rect frame; - uint32_t width, height; - status_t write(Parcel& output) const; - status_t read(const Parcel& input); -}; - -}; // namespace android - -#endif // ANDROID_SF_LAYER_STATE_H - diff --git a/include/private/gui/SyncFeatures.h b/include/private/gui/SyncFeatures.h deleted file mode 100644 index 79fb75bcbe..0000000000 --- a/include/private/gui/SyncFeatures.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * 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 ANDROID_GUI_SYNC_FEATURES_H -#define ANDROID_GUI_SYNC_FEATURES_H - -#include -#include - - -namespace android { -// ---------------------------------------------------------------------------- - -class SyncFeatures : public Singleton { - friend class Singleton; - bool mHasNativeFenceSync; - bool mHasFenceSync; - bool mHasWaitSync; - String8 mString; - SyncFeatures(); - -public: - bool useNativeFenceSync() const; - bool useFenceSync() const; - bool useWaitSync() const; - String8 toString() const; -}; - -// ---------------------------------------------------------------------------- -}; // namespace android - -#endif // ANDROID_GUI_SYNC_FEATURES_H -- cgit v1.2.3-59-g8ed1b