diff options
Diffstat (limited to 'services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h')
-rw-r--r-- | services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h b/services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h index 4110346aa3..a1230b3c4d 100644 --- a/services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h +++ b/services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h @@ -24,34 +24,42 @@ struct ANativeWindow; -namespace android::compositionengine { +namespace android { + +namespace compositionengine { + +class Display; /** * A parameter object for creating RenderSurface instances */ struct RenderSurfaceCreationArgs { // The initial width of the surface - int32_t displayWidth = -1; + int32_t displayWidth; // The initial height of the surface - int32_t displayHeight = -1; + int32_t displayHeight; // The ANativeWindow for the buffer queue for this surface sp<ANativeWindow> nativeWindow; // The DisplaySurface for this surface sp<DisplaySurface> displaySurface; - - // The maximum size of the renderengine::ExternalTexture cache - size_t maxTextureCacheSize = 0; - -private: - friend class RenderSurfaceCreationArgsBuilder; - - // Not defaulted to disable aggregate initialization. - RenderSurfaceCreationArgs() {} }; +/** + * A helper for setting up a RenderSurfaceCreationArgs value in-line. + * Prefer this builder over raw structure initialization. + * + * Instead of: + * + * RenderSurfaceCreationArgs{1000, 1000, nativeWindow, displaySurface} + * + * Prefer: + * + * RenderSurfaceCreationArgsBuilder().setDisplayWidth(1000).setDisplayHeight(1000) + * .setNativeWindow(nativeWindow).setDisplaySurface(displaySurface).Build(); + */ class RenderSurfaceCreationArgsBuilder { public: RenderSurfaceCreationArgs build() { return std::move(mArgs); } @@ -65,16 +73,11 @@ public: return *this; } RenderSurfaceCreationArgsBuilder& setNativeWindow(sp<ANativeWindow> nativeWindow) { - mArgs.nativeWindow = std::move(nativeWindow); + mArgs.nativeWindow = nativeWindow; return *this; } RenderSurfaceCreationArgsBuilder& setDisplaySurface(sp<DisplaySurface> displaySurface) { - mArgs.displaySurface = std::move(displaySurface); - return *this; - } - - RenderSurfaceCreationArgsBuilder& setMaxTextureCacheSize(size_t maxTextureCacheSize) { - mArgs.maxTextureCacheSize = maxTextureCacheSize; + mArgs.displaySurface = displaySurface; return *this; } @@ -82,4 +85,5 @@ private: RenderSurfaceCreationArgs mArgs; }; -} // namespace android::compositionengine +} // namespace compositionengine +} // namespace android |