|
Blender V4.3
|
#include <GHOST_WindowWin32.hh>
Inherits GHOST_Window.
Public Attributes | |
| bool | m_mousePresent |
| bool | m_inLiveResize |
Additional Inherited Members | |
Protected Member Functions inherited from GHOST_Window | |
| GHOST_TSuccess | releaseNativeHandles () |
Protected Attributes inherited from GHOST_Window | |
| GHOST_TDrawingContextType | m_drawingContextType |
| GHOST_TUserDataPtr | m_userData |
| bool | m_cursorVisible |
| GHOST_TGrabCursorMode | m_cursorGrab |
| GHOST_TAxisFlag | m_cursorGrabAxis |
| int32_t | m_cursorGrabInitPos [2] |
| int32_t | m_cursorGrabAccumPos [2] |
| GHOST_Rect | m_cursorGrabBounds |
| GHOST_TStandardCursor | m_cursorShape |
| bool | m_progressBarVisible |
| bool | m_canAcceptDragOperation |
| bool | m_isUnsavedChanges |
| bool | m_fullScreen |
| bool | m_wantStereoVisual |
| uint32_t | m_fullScreenWidth |
| uint32_t | m_fullScreenHeight |
| float | m_nativePixelSize |
GHOST window on MS Windows OSs.
Definition at line 54 of file GHOST_WindowWin32.hh.
| GHOST_WindowWin32::GHOST_WindowWin32 | ( | GHOST_SystemWin32 * | system, |
| const char * | title, | ||
| int32_t | left, | ||
| int32_t | top, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| GHOST_TWindowState | state, | ||
| GHOST_TDrawingContextType | type, | ||
| bool | wantStereoVisual, | ||
| bool | alphaBackground, | ||
| GHOST_WindowWin32 * | parentWindow, | ||
| bool | is_debug, | ||
| bool | dialog, | ||
| const GHOST_GPUDevice & | preferred_device ) |
Constructor. Creates a new window and opens it. To check if the window was created properly, use the getValid() method.
| title | The text shown in the title bar of the window. |
| left | The coordinate of the left edge of the window. |
| top | The coordinate of the top edge of the window. |
| width | The width the window. |
| height | The height the window. |
| state | The state the window is initially opened with. |
| type | The type of drawing context installed in this window. |
| wantStereoVisual | Stereo visual for quad buffered stereo. |
| preferred_device | Preferred device to use when new device will be created. |
| parentWindowHwnd | TODO. |
Definition at line 52 of file GHOST_WindowWin32.cc.
References adjustWindowRectForClosestMonitor(), alloc_utf16_from_8(), BLI_getenv(), CLSID_TaskbarList, GHOST_DirectManipulationHelper::create(), free(), getDPIHint(), GHOST_System::getTabletAPI(), GHOST_kTabletWinPointer, GHOST_kWindowStateFullScreen, GHOST_kWindowStateMaximized, GHOST_kWindowStateMinimized, GHOST_kWindowStateNormal, left, loadWintab(), lostMouseCapture(), GHOST_System::m_windowFocus, NULL, GHOST_Window::setDrawingContextType(), state, ThemeRefresh(), and top.
| GHOST_WindowWin32::~GHOST_WindowWin32 | ( | ) |
Destructor. Closes the window and disposes resources allocated.
Definition at line 276 of file GHOST_WindowWin32.cc.
References closeWintab(), GHOST_System::getWindowManager(), GHOST_WindowManager::getWindows(), GHOST_DropTargetWin32::Release(), GHOST_Window::releaseNativeHandles(), ITaskbarList3::SetProgressState(), and TBPF_NOPROGRESS.
| void GHOST_WindowWin32::adjustWindowRectForClosestMonitor | ( | LPRECT | win_rect, |
| DWORD | dwStyle, | ||
| DWORD | dwExStyle ) |
Adjusts a requested window rect to fit and position correctly in monitor.
| win_rect | pointer to rectangle that will be modified. |
| dwStyle | The Window Style of the window whose required size is to be calculated. |
| dwExStyle | The Extended Window Style of the window. |
Definition at line 332 of file GHOST_WindowWin32.cc.
References FALSE, max, and min.
Referenced by GHOST_WindowWin32().
|
inlinevirtual |
Implements GHOST_IWindow.
Definition at line 289 of file GHOST_WindowWin32.hh.
References GHOST_kFailure.
|
virtual |
Converts a point in client rectangle coordinates to screen coordinates.
| inX | The x-coordinate in the client rectangle. |
| inY | The y-coordinate in the client rectangle. |
| outX | The x-coordinate on the screen. |
| outY | The y-coordinate on the screen. |
Implements GHOST_IWindow.
Definition at line 525 of file GHOST_WindowWin32.cc.
Referenced by GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::closeWintab | ( | ) |
Closes Wintab for the window.
Definition at line 1057 of file GHOST_WindowWin32.cc.
References WINTAB_PRINTF.
Referenced by GHOST_SystemWin32::setTabletAPI(), and ~GHOST_WindowWin32().
|
inlinevirtual |
Implements GHOST_IWindow.
Definition at line 294 of file GHOST_WindowWin32.hh.
References GHOST_kFailure.
|
virtual |
Hides the progress bar in the icon
Reimplemented from GHOST_Window.
Definition at line 1216 of file GHOST_WindowWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, ITaskbarList3::SetProgressState(), and TBPF_NOPROGRESS.
|
virtual |
Returns the client rectangle dimensions. The left and top members of the rectangle are always zero.
| bounds | The bounding rectangle of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 416 of file GHOST_WindowWin32.cc.
References bounds().
Referenced by loadWintab(), GHOST_SystemWin32::processCursorEvent(), setClientHeight(), setClientSize(), and setClientWidth().
|
overridevirtual |
Returns the recommended DPI for this window.
Reimplemented from GHOST_Window.
Definition at line 1120 of file GHOST_WindowWin32.cc.
Referenced by GHOST_WindowWin32(), and updateDPI().
| HWND GHOST_WindowWin32::getHWND | ( | ) | const |
Access to the handle of the window.
Definition at line 378 of file GHOST_WindowWin32.cc.
Referenced by GHOST_DropTargetWin32::GHOST_DropTargetWin32(), GHOST_SystemWin32::processButtonEvent(), GHOST_SystemWin32::processWintabEvent(), and GHOST_SystemWin32::s_wndProc().
|
virtual |
Returns the handle of the window.
Reimplemented from GHOST_Window.
Definition at line 383 of file GHOST_WindowWin32.cc.
| GHOST_TSuccess GHOST_WindowWin32::getPointerInfo | ( | std::vector< GHOST_PointerInfoWin32 > & | outPointerInfo, |
| WPARAM | wParam, | ||
| LPARAM | lParam ) |
Translate WM_POINTER events into GHOST_PointerInfoWin32 structs.
| outPointerInfo | Storage to return resulting GHOST_PointerInfoWin32 structs. |
| wParam | WPARAM of the event. |
| lParam | LPARAM of the event. |
Definition at line 942 of file GHOST_WindowWin32.cc.
References fabs(), GET_POINTERID_WPARAM, GHOST_ISystem::getSystem(), GHOST_kButtonMaskButton4, GHOST_kButtonMaskButton5, GHOST_kButtonMaskLeft, GHOST_kButtonMaskMiddle, GHOST_kButtonMaskRight, GHOST_kFailure, GHOST_kSuccess, GHOST_kTabletModeEraser, GHOST_kTabletModeStylus, and GHOST_SystemWin32::performanceCounterToMillis().
Referenced by GHOST_SystemWin32::processPointerEvent().
| HCURSOR GHOST_WindowWin32::getStandardCursor | ( | GHOST_TStandardCursor | shape | ) | const |
Loads the windows equivalent of a standard GHOST cursor.
| visible | Flag for cursor visibility. |
| cursorShape | The cursor shape. |
Definition at line 717 of file GHOST_WindowWin32.cc.
References GHOST_kStandardCursorBothHandles, GHOST_kStandardCursorBottomLeftCorner, GHOST_kStandardCursorBottomRightCorner, GHOST_kStandardCursorBottomSide, GHOST_kStandardCursorCrosshair, GHOST_kStandardCursorCrosshairA, GHOST_kStandardCursorCrosshairB, GHOST_kStandardCursorCrosshairC, GHOST_kStandardCursorCustom, GHOST_kStandardCursorDefault, GHOST_kStandardCursorDestroy, GHOST_kStandardCursorDownArrow, GHOST_kStandardCursorEraser, GHOST_kStandardCursorEWScroll, GHOST_kStandardCursorEyedropper, GHOST_kStandardCursorHandClosed, GHOST_kStandardCursorHandOpen, GHOST_kStandardCursorHandPoint, GHOST_kStandardCursorHelp, GHOST_kStandardCursorHorizontalSplit, GHOST_kStandardCursorKnife, GHOST_kStandardCursorLeftArrow, GHOST_kStandardCursorLeftHandle, GHOST_kStandardCursorLeftRight, GHOST_kStandardCursorLeftSide, GHOST_kStandardCursorMove, GHOST_kStandardCursorNSEWScroll, GHOST_kStandardCursorNSScroll, GHOST_kStandardCursorPencil, GHOST_kStandardCursorRightArrow, GHOST_kStandardCursorRightHandle, GHOST_kStandardCursorStop, GHOST_kStandardCursorText, GHOST_kStandardCursorTopLeftCorner, GHOST_kStandardCursorTopRightCorner, GHOST_kStandardCursorTopSide, GHOST_kStandardCursorUpArrow, GHOST_kStandardCursorUpDown, GHOST_kStandardCursorVerticalSplit, GHOST_kStandardCursorWait, GHOST_kStandardCursorZoomIn, GHOST_kStandardCursorZoomOut, and module.
Referenced by loadCursor().
|
virtual |
Returns the state of the window (normal, minimized, maximized).
Implements GHOST_IWindow.
Definition at line 502 of file GHOST_WindowWin32.cc.
References GHOST_kWindowStateFullScreen, GHOST_kWindowStateMaximized, GHOST_kWindowStateMinimized, and GHOST_kWindowStateNormal.
Referenced by GHOST_SystemWin32::s_wndProc(), setOrder(), setState(), and GHOST_SystemWin32::setTabletAPI().
| GHOST_TabletData GHOST_WindowWin32::getTabletData | ( | ) |
Get the most recent Windows Pointer tablet data.
Definition at line 1082 of file GHOST_WindowWin32.cc.
References GHOST_Wintab::getLastTabletData(), GHOST_kTabletWintab, GHOST_TABLET_DATA_NONE, and usingTabletAPI().
Referenced by GHOST_SystemWin32::processButtonEvent(), GHOST_SystemWin32::processCursorEvent(), and GHOST_SystemWin32::s_wndProc().
|
virtual |
Returns the title displayed in the title bar.
Implements GHOST_IWindow.
Definition at line 395 of file GHOST_WindowWin32.cc.
References conv_utf_16_to_8(), count_utf_8_from_16(), and L.
| GHOST_TTrackpadInfo GHOST_WindowWin32::getTrackpadInfo | ( | ) |
Definition at line 267 of file GHOST_WindowWin32.cc.
References GHOST_DirectManipulationHelper::getTrackpadInfo().
Referenced by GHOST_SystemWin32::processTrackpad().
|
virtual |
Returns indication as to whether the window is valid.
Reimplemented from GHOST_Window.
Definition at line 373 of file GHOST_WindowWin32.cc.
References GHOST_Window::getValid().
Referenced by GHOST_SystemWin32::createWindow().
|
virtual |
Returns the window rectangle dimensions. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.
| bounds | The bounding rectangle of the window. |
Implements GHOST_IWindow.
Definition at line 406 of file GHOST_WindowWin32.cc.
References bounds().
Referenced by setClientHeight(), setClientSize(), and setClientWidth().
| GHOST_Wintab * GHOST_WindowWin32::getWintab | ( | ) | const |
Retrieves pointer to Wintab if Wintab is the set Tablet API.
Definition at line 1028 of file GHOST_WindowWin32.cc.
Referenced by GHOST_SystemWin32::processWintabEvent(), and GHOST_SystemWin32::s_wndProc().
|
virtual |
Invalidates the contents of this window.
Implements GHOST_IWindow.
Definition at line 608 of file GHOST_WindowWin32.cc.
References FALSE, GHOST_kFailure, and GHOST_kSuccess.
|
virtual |
Reimplemented from GHOST_Window.
Definition at line 683 of file GHOST_WindowWin32.cc.
| void GHOST_WindowWin32::loadCursor | ( | bool | visible, |
| GHOST_TStandardCursor | cursorShape ) const |
Definition at line 862 of file GHOST_WindowWin32.cc.
References FALSE, getStandardCursor(), and GHOST_kStandardCursorDefault.
Referenced by GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::loadWintab | ( | bool | enable | ) |
Loads Wintab context for the window.
| enable | True if Wintab should be enabled after loading. Wintab should not be enabled if the window is minimized. |
Definition at line 1033 of file GHOST_WindowWin32.cc.
References GHOST_Wintab::enable(), GHOST_Wintab::gainFocus(), getClientBounds(), GHOST_SystemWin32::getCursorPosition(), GHOST_Rect::isInside(), GHOST_Wintab::loadWintab(), WINTAB_PRINTF, x, and y.
Referenced by GHOST_WindowWin32(), and GHOST_SystemWin32::setTabletAPI().
| void GHOST_WindowWin32::lostMouseCapture | ( | ) |
Inform the window that it has lost mouse capture, called in response to native window system messages (WA_INACTIVE, WM_CAPTURECHANGED) or if ReleaseCapture() is explicitly called (for new window creation).
Definition at line 674 of file GHOST_WindowWin32.cc.
Referenced by GHOST_WindowWin32(), and GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::onPointerHitTest | ( | WPARAM | wParam | ) |
Definition at line 252 of file GHOST_WindowWin32.cc.
References GET_POINTERID_WPARAM, and GHOST_DirectManipulationHelper::onPointerHitTest().
Referenced by GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::resetPointerPenInfo | ( | ) |
Resets pointer pen tablet state.
Definition at line 1023 of file GHOST_WindowWin32.cc.
References GHOST_TABLET_DATA_NONE.
Referenced by GHOST_SystemWin32::s_wndProc(), and GHOST_SystemWin32::setTabletAPI().
|
virtual |
Converts a point in screen coordinates to client rectangle coordinates
| inX | The x-coordinate on the screen. |
| inY | The y-coordinate on the screen. |
| outX | The x-coordinate in the client rectangle. |
| outY | The y-coordinate in the client rectangle. |
Implements GHOST_IWindow.
Definition at line 514 of file GHOST_WindowWin32.cc.
|
virtual |
Resizes client rectangle height.
| height | The new height of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 464 of file GHOST_WindowWin32.cc.
References getClientBounds(), GHOST_Rect::getHeight(), GHOST_Rect::getWidth(), getWindowBounds(), GHOST_kFailure, and GHOST_kSuccess.
|
virtual |
Resizes client rectangle.
| width | The new width of the client area of the window. |
| height | The new height of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 483 of file GHOST_WindowWin32.cc.
References getClientBounds(), GHOST_Rect::getHeight(), GHOST_Rect::getWidth(), getWindowBounds(), GHOST_kFailure, and GHOST_kSuccess.
|
virtual |
Resizes client rectangle width.
| width | The new width of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 445 of file GHOST_WindowWin32.cc.
References getClientBounds(), GHOST_Rect::getHeight(), GHOST_Rect::getWidth(), getWindowBounds(), GHOST_kFailure, and GHOST_kSuccess.
|
virtual |
Sets the order of the window (bottom, top).
| order | The order of the window. |
Implements GHOST_IWindow.
Definition at line 580 of file GHOST_WindowWin32.cc.
References FALSE, getState(), GHOST_kFailure, GHOST_kSuccess, GHOST_kWindowOrderBottom, GHOST_kWindowStateMinimized, GHOST_kWindowStateNormal, and setState().
|
virtual |
Sets the progress bar value displayed in the window/application icon
| progress | The progress percentage (0.0 to 1.0). |
Reimplemented from GHOST_Window.
Definition at line 1206 of file GHOST_WindowWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, and ITaskbarList3::SetProgressValue().
|
virtual |
Sets the state of the window (normal, minimized, maximized).
| state | The state of the window. |
Implements GHOST_IWindow.
Definition at line 536 of file GHOST_WindowWin32.cc.
References getState(), GHOST_kFailure, GHOST_kSuccess, GHOST_kWindowStateFullScreen, GHOST_kWindowStateMaximized, GHOST_kWindowStateMinimized, GHOST_kWindowStateNormal, and state.
Referenced by GHOST_SystemWin32::s_wndProc(), and setOrder().
|
virtual |
Sets the title displayed in the title bar.
| title | The title to display in the title bar. |
Implements GHOST_IWindow.
Definition at line 388 of file GHOST_WindowWin32.cc.
References alloc_utf16_from_8(), and free().
| void GHOST_WindowWin32::ThemeRefresh | ( | ) |
Called when OS colors change and when the window is created.
Definition at line 1092 of file GHOST_WindowWin32.cc.
References L.
Referenced by GHOST_WindowWin32(), and GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::updateDirectManipulation | ( | ) |
Definition at line 243 of file GHOST_WindowWin32.cc.
References GHOST_DirectManipulationHelper::update().
Referenced by GHOST_SystemWin32::driveTrackpad().
| void GHOST_WindowWin32::updateDPI | ( | ) |
Definition at line 1113 of file GHOST_WindowWin32.cc.
References getDPIHint(), and GHOST_DirectManipulationHelper::setDPI().
Referenced by GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::updateMouseCapture | ( | GHOST_MouseCaptureEventWin32 | event | ) |
Set or Release mouse capture (should be called for any real button press).
| event | Whether mouse was pressed and released, or an operator grabbed or ungrabbed the mouse. |
Definition at line 688 of file GHOST_WindowWin32.cc.
References MousePressed, MouseReleased, OperatorGrab, and OperatorUngrab.
Referenced by GHOST_SystemWin32::processButtonEvent(), GHOST_SystemWin32::processPointerEvent(), and GHOST_SystemWin32::processWintabEvent().
| bool GHOST_WindowWin32::usingTabletAPI | ( | GHOST_TTabletAPI | api | ) | const |
Query whether given tablet API should be used.
| api | Tablet API to test. |
Definition at line 1064 of file GHOST_WindowWin32.cc.
References GHOST_Wintab::devicesPresent(), GHOST_System::getTabletAPI(), GHOST_kTabletAutomatic, GHOST_kTabletWinPointer, and GHOST_kTabletWintab.
Referenced by getTabletData(), GHOST_SystemWin32::processPointerEvent(), GHOST_SystemWin32::s_wndProc(), and GHOST_SystemWin32::setTabletAPI().
| bool GHOST_WindowWin32::m_inLiveResize |
True if the window currently resizing.
Definition at line 307 of file GHOST_WindowWin32.hh.
Referenced by GHOST_SystemWin32::processWindowSizeEvent(), and GHOST_SystemWin32::s_wndProc().
| bool GHOST_WindowWin32::m_mousePresent |
True if the mouse is either over or captured by the window.
Definition at line 304 of file GHOST_WindowWin32.hh.
Referenced by GHOST_SystemWin32::s_wndProc().