Skip to content
Snippets Groups Projects
Commit 20dbfa08 authored by Nick's avatar Nick :v:
Browse files

refactor to use simpler structs

* no functionality change
* in preparation for virtual desktop
parent 3a2e7f5d
No related branches found
No related tags found
No related merge requests found
......@@ -164,18 +164,22 @@ status_t AndroidDesktop::updateDisplayInfo(bool force) {
return -1;
}
status_t err = SurfaceComposerClient::getActiveDisplayMode(displayToken, &mDisplayMode);
ui::DisplayMode tempDisplayMode;
status_t err = SurfaceComposerClient::getActiveDisplayMode(displayToken, &tempDisplayMode);
if (err != NO_ERROR) {
ALOGE("Failed to get display configuration\n");
return err;
}
ALOGV("updateDisplayInfo: [%d:%d]", mDisplayMode.resolution.width, mDisplayMode.resolution.height);
mDisplayMode = tempDisplayMode.resolution;
ALOGV("updateDisplayInfo: [%d:%d]", mDisplayMode.width, mDisplayMode.height);
err = SurfaceComposerClient::getDisplayState(displayToken, &mDisplayState);
ui::DisplayState tempDisplayState;
err = SurfaceComposerClient::getDisplayState(displayToken, &tempDisplayState);
if (err != NO_ERROR) {
ALOGE("Failed to get current display status");
return err;
}
mDisplayState = tempDisplayState.orientation;
mPixels->setDisplayInfo(&mDisplayMode, &mDisplayState, force);
......
......@@ -79,8 +79,8 @@ class AndroidDesktop : public rfb::SDesktop,
sp<VirtualDisplay> mVirtualDisplay;
// Primary display
ui::DisplayMode mDisplayMode = {};
ui::DisplayState mDisplayState = {};
ui::Size mDisplayMode = {};
ui::Rotation mDisplayState = {};
// Virtual input device
sp<InputDevice> mInputDevice;
......
......@@ -96,12 +96,12 @@ void AndroidPixelBuffer::setWindowSize(uint32_t width, uint32_t height) {
}
}
void AndroidPixelBuffer::setDisplayInfo(ui::DisplayMode* mode, ui::DisplayState* state, bool force) {
bool rotated = isDisplayRotated(state->orientation);
void AndroidPixelBuffer::setDisplayInfo(ui::Size* mode, ui::Rotation* state, bool force) {
bool rotated = isDisplayRotated(*state);
setBufferRotation(rotated);
uint32_t w = rotated ? mode->resolution.height : mode->resolution.width;
uint32_t h = rotated ? mode->resolution.width : mode->resolution.height;
uint32_t w = rotated ? mode->height : mode->width;
uint32_t h = rotated ? mode->width : mode->height;
if (w != mSourceWidth || h != mSourceHeight || force) {
ALOGV("Display dimensions changed: old=(%dx%d) new=(%dx%d)", mSourceWidth, mSourceHeight, w,
......
......@@ -36,7 +36,7 @@ class AndroidPixelBuffer : public RefBase, public rfb::ManagedPixelBuffer {
public:
AndroidPixelBuffer();
virtual void setDisplayInfo(ui::DisplayMode* mode, ui::DisplayState* state, bool force = false);
virtual void setDisplayInfo(ui::Size* mode, ui::Rotation* state, bool force = false);
virtual void setWindowSize(uint32_t width, uint32_t height);
......
......@@ -27,16 +27,16 @@
using namespace vncflinger;
VirtualDisplay::VirtualDisplay(ui::DisplayMode* mode, ui::DisplayState* state,
VirtualDisplay::VirtualDisplay(ui::Size* mode, ui::Rotation* state,
uint32_t width, uint32_t height,
sp<CpuConsumer::FrameAvailableListener> listener) {
mWidth = width;
mHeight = height;
if (state->orientation == ui::ROTATION_0 || state->orientation == ui::ROTATION_180) {
mSourceRect = Rect(mode->resolution.width, mode->resolution.height);
if (*state == ui::ROTATION_0 || *state == ui::ROTATION_180) {
mSourceRect = Rect(mode->width, mode->height);
} else {
mSourceRect = Rect(mode->resolution.height, mode->resolution.width);
mSourceRect = Rect(mode->height, mode->width);
}
Rect displayRect = getDisplayRect();
......@@ -55,7 +55,7 @@ VirtualDisplay::VirtualDisplay(ui::DisplayMode* mode, ui::DisplayState* state,
SurfaceComposerClient::Transaction t;
t.setDisplaySurface(mDisplayToken, mProducer);
t.setDisplayProjection(mDisplayToken, state->orientation, mSourceRect, displayRect);
t.setDisplayProjection(mDisplayToken, *state, mSourceRect, displayRect);
t.setDisplayLayerStack(mDisplayToken, 0); // default stack
t.apply();
......
......@@ -33,7 +33,7 @@ namespace vncflinger {
class VirtualDisplay : public RefBase {
public:
VirtualDisplay(ui::DisplayMode *mode, ui::DisplayState* state,
VirtualDisplay(ui::Size* mode, ui::Rotation* state,
uint32_t width, uint32_t height,
sp<CpuConsumer::FrameAvailableListener> listener);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment