summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h
diff options
context:
space:
mode:
Diffstat (limited to 'services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h')
-rw-r--r--services/surfaceflinger/CompositionEngine/include/compositionengine/RenderSurfaceCreationArgs.h44
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