diff options
| author | Leslie Linden <leslie@lindenlab.com> | 2011-11-29 10:40:45 -0800 |
|---|---|---|
| committer | Leslie Linden <leslie@lindenlab.com> | 2011-11-29 10:40:45 -0800 |
| commit | e919349054c8ae80a054f047756e6596b58a3e13 (patch) | |
| tree | 4d2abc589c448fe2b54f7be09385e644fd5b87af /indra/llwindow/llwindow.cpp | |
| parent | ec6893db5099b1e95802254277de0cc2e9bea83c (diff) | |
| parent | adeb71d98279fc4e8af7859cd36114be9f95e6da (diff) | |
Merge with viewer-experience
Diffstat (limited to 'indra/llwindow/llwindow.cpp')
| -rw-r--r-- | indra/llwindow/llwindow.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index a313885ca3..4919605afd 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -111,8 +111,8 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags) mCursorHidden(FALSE), mBusyCount(0), mIsMouseClipping(FALSE), - mMinWindowWidth(1024), // just a sanity check - actual minimum size is stored in settings.xml - mMinWindowHeight(768), + mMinWindowWidth(S32_MAX), // just a sanity check - actual minimum size is stored in settings.xml + mMinWindowHeight(S32_MAX), mSwapMethod(SWAP_METHOD_UNDEFINED), mHideCursorPermanent(FALSE), mFlags(flags), @@ -181,11 +181,32 @@ void *LLWindow::getMediaWindow() return getPlatformWindow(); } +BOOL LLWindow::setSize(LLCoordScreen size) +{ + if (!getMaximized()) + { + size.mX = llmin(size.mX, mMinWindowWidth); + size.mY = llmin(size.mY, mMinWindowHeight); + } + return setSizeImpl(size); +} + + // virtual void LLWindow::setMinSize(U32 min_width, U32 min_height) { mMinWindowWidth = min_width; mMinWindowHeight = min_height; + + LLCoordScreen cur_size; + if (!getMaximized() && getSize(&cur_size)) + { + if (cur_size.mX < mMinWindowWidth || cur_size.mY < mMinWindowHeight) + { + setSizeImpl(LLCoordScreen(llmin(cur_size.mX, mMinWindowWidth), llmin(cur_size.mY, mMinWindowHeight))); + } + } + } //virtual |
