diff options
Diffstat (limited to 'libs/gui/LayerState.cpp')
| -rw-r--r-- | libs/gui/LayerState.cpp | 23 | 
1 files changed, 23 insertions, 0 deletions
| diff --git a/libs/gui/LayerState.cpp b/libs/gui/LayerState.cpp index 224c30587c..25c773c3a6 100644 --- a/libs/gui/LayerState.cpp +++ b/libs/gui/LayerState.cpp @@ -17,6 +17,7 @@  #include <utils/Errors.h>  #include <binder/Parcel.h>  #include <gui/ISurfaceComposerClient.h> +#include <gui/ISurfaceTexture.h>  #include <private/gui/LayerState.h>  namespace android { @@ -69,4 +70,26 @@ status_t ComposerState::read(const Parcel& input) {      return state.read(input);  } + +status_t DisplayState::write(Parcel& output) const { +    output.writeStrongBinder(surface->asBinder()); +    output.writeInt32(displayId); +    output.writeInt32(layerStack); +    output.writeInt32(orientation); +    memcpy(output.writeInplace(sizeof(Rect)), &viewport, sizeof(Rect)); +    memcpy(output.writeInplace(sizeof(Rect)), &frame, sizeof(Rect)); +    return NO_ERROR; +} + +status_t DisplayState::read(const Parcel& input) { +    surface = interface_cast<ISurfaceTexture>(input.readStrongBinder()); +    displayId = input.readInt32(); +    layerStack = input.readInt32(); +    orientation = input.readInt32(); +    memcpy(&viewport, input.readInplace(sizeof(Rect)), sizeof(Rect)); +    memcpy(&frame,    input.readInplace(sizeof(Rect)), sizeof(Rect)); +    return NO_ERROR; +} + +  }; // namespace android |