diff options
| author | Debi King (Dessie) <dessie@lindenlab.com> | 2012-01-17 13:33:19 -0500 |
|---|---|---|
| committer | Debi King (Dessie) <dessie@lindenlab.com> | 2012-01-17 13:33:19 -0500 |
| commit | cd64ae7fb8ee781a5bf9ac47dd2428e659b939c9 (patch) | |
| tree | 9638dfe3ce3a7d5399d6f52552c9e1e3f308fd46 /indra/llwindow/llwindow.cpp | |
| parent | e4f1f611a4736e4b0b78c0d61c3c5f576fec93d0 (diff) | |
| parent | 2abb1a81c56a27eab02157851cb9e67730231bb6 (diff) | |
reconciled .hgtags
Diffstat (limited to 'indra/llwindow/llwindow.cpp')
| -rw-r--r-- | indra/llwindow/llwindow.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index dc3a1099b1..1351bed547 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -108,9 +108,12 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags) mSupportedResolutions(NULL), mNumSupportedResolutions(0), mCurrentCursor(UI_CURSOR_ARROW), + mNextCursor(UI_CURSOR_ARROW), mCursorHidden(FALSE), mBusyCount(0), mIsMouseClipping(FALSE), + mMinWindowWidth(0), + mMinWindowHeight(0), mSwapMethod(SWAP_METHOD_UNDEFINED), mHideCursorPermanent(FALSE), mFlags(flags), @@ -179,6 +182,36 @@ 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, bool enforce_immediately) +{ + mMinWindowWidth = min_width; + mMinWindowHeight = min_height; + + if (enforce_immediately) + { + 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 void LLWindow::processMiscNativeEvents() { |
