|
Blender V5.0
|
#include <GHOST_WindowWin32.hh>
Inherits GHOST_Window.
Public Attributes | |
| bool | mouse_present_ |
| bool | in_live_resize_ |
Additional Inherited Members | |
| Protected Member Functions inherited from GHOST_Window | |
| virtual GHOST_TSuccess | setWindowCustomCursorGenerator (GHOST_CursorGenerator *cursor_generator) |
| GHOST_TSuccess | releaseNativeHandles () |
| Protected Attributes inherited from GHOST_Window | |
| GHOST_TDrawingContextType | drawing_context_type_ |
| GHOST_TUserDataPtr | user_data_ |
| bool | cursor_visible_ |
| GHOST_TGrabCursorMode | cursor_grab_ |
| GHOST_TAxisFlag | cursor_grab_axis_ |
| int32_t | cursor_grab_init_pos_ [2] |
| int32_t | cursor_grab_accum_pos_ [2] |
| GHOST_Rect | cursor_grab_bounds_ |
| GHOST_TStandardCursor | cursor_shape_ |
| bool | progress_bar_visible_ |
| bool | can_accept_drag_operation_ |
| bool | is_unsaved_changes_ |
| bool | full_screen_ |
| GHOST_TWindowDecorationStyleFlags | window_decoration_style_flags_ |
| GHOST_WindowDecorationStyleSettings | window_decoration_style_settings_ |
| GHOST_ContextParams | want_context_params_ |
| uint32_t | full_screen_width_ |
| uint32_t | full_screen_height_ |
| float | native_pixel_size_ |
| GHOST_WindowHDRInfo | hdr_info_ = GHOST_WINDOW_HDR_INFO_NONE |
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, | ||
| const GHOST_ContextParams & | context_params, | ||
| GHOST_WindowWin32 * | parent_window, | ||
| 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 54 of file GHOST_WindowWin32.cc.
References adjustWindowRectForClosestMonitor(), alloc_utf16_from_8(), BLI_getenv(), CLSID_TaskbarList, GHOST_DirectManipulationHelper::create(), false, free(), getDPIHint(), GHOST_System::getTabletAPI(), GHOST_kTabletWinPointer, GHOST_kWindowStateFullScreen, GHOST_kWindowStateMaximized, GHOST_kWindowStateMinimized, GHOST_kWindowStateNormal, GHOST_TABLET_DATA_NONE, GHOST_Window::GHOST_Window(), GHOST_WindowWin32(), in_live_resize_, left, loadWintab(), long, lostMouseCapture(), mouse_present_, nullptr, GHOST_Window::setDrawingContextType(), state, ThemeRefresh(), top, and updateHDRInfo().
Referenced by GHOST_WindowWin32(), and ~GHOST_WindowWin32().
| GHOST_WindowWin32::~GHOST_WindowWin32 | ( | ) |
Destructor. Closes the window and disposes resources allocated.
Definition at line 259 of file GHOST_WindowWin32.cc.
References closeWintab(), GHOST_WindowWin32(), GHOST_Window::releaseNativeHandles(), 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 315 of file GHOST_WindowWin32.cc.
References FALSE, max, and min.
Referenced by GHOST_WindowWin32().
|
overridevirtual |
Apply the window decoration style using the current flags and settings.
Reimplemented from GHOST_Window.
Definition at line 389 of file GHOST_WindowWin32.cc.
References GHOST_kDecorationColoredTitleBar, GHOST_kFailure, GHOST_kSuccess, GHOST_Window::window_decoration_style_flags_, and GHOST_Window::window_decoration_style_settings_.
|
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 975 of file GHOST_WindowWin32.cc.
References WINTAB_PRINTF.
Referenced by GHOST_SystemWin32::setTabletAPI(), and ~GHOST_WindowWin32().
|
virtual |
Hides the progress bar in the icon
Reimplemented from GHOST_Window.
Definition at line 1203 of file GHOST_WindowWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, 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 1038 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 361 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 366 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 852 of file GHOST_WindowWin32.cc.
References GET_POINTERID_WPARAM, GHOST_ISystem::getSystem(), GHOST_kButtonMaskButton4, GHOST_kButtonMaskButton5, GHOST_kButtonMaskLeft, GHOST_kButtonMaskMiddle, GHOST_kButtonMaskRight, GHOST_kFailure, GHOST_kSuccess, GHOST_kTabletModeEraser, GHOST_kTabletModeStylus, i, 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. |
| cursor_shape | The cursor shape. |
Definition at line 716 of file GHOST_WindowWin32.cc.
References GHOST_kStandardCursorBottomLeftCorner, GHOST_kStandardCursorBottomRightCorner, GHOST_kStandardCursorCustom, GHOST_kStandardCursorDefault, GHOST_kStandardCursorHelp, GHOST_kStandardCursorMove, GHOST_kStandardCursorText, GHOST_kStandardCursorTopLeftCorner, GHOST_kStandardCursorTopRightCorner, GHOST_kStandardCursorTopSide, and GHOST_kStandardCursorWait.
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, GHOST_kWindowStateNormal, and result.
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 1000 of file GHOST_WindowWin32.cc.
References 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 378 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 250 of file GHOST_WindowWin32.cc.
Referenced by GHOST_SystemWin32::processTrackpad().
|
virtual |
Returns indication as to whether the window is valid.
Reimplemented from GHOST_Window.
Definition at line 356 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 946 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 607 of file GHOST_WindowWin32.cc.
References FALSE, GHOST_kFailure, and GHOST_kSuccess.
|
virtual |
Reimplemented from GHOST_Window.
Definition at line 682 of file GHOST_WindowWin32.cc.
| void GHOST_WindowWin32::loadCursor | ( | bool | visible, |
| GHOST_TStandardCursor | cursor_shape ) const |
Definition at line 772 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 951 of file GHOST_WindowWin32.cc.
References getClientBounds(), 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 673 of file GHOST_WindowWin32.cc.
Referenced by GHOST_WindowWin32(), and GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::onPointerHitTest | ( | WPARAM | wParam | ) |
Definition at line 235 of file GHOST_WindowWin32.cc.
References GET_POINTERID_WPARAM.
Referenced by GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::resetPointerPenInfo | ( | ) |
Resets pointer pen tablet state.
Definition at line 941 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 579 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 1193 of file GHOST_WindowWin32.cc.
References GHOST_kFailure, and GHOST_kSuccess.
|
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 371 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 1010 of file GHOST_WindowWin32.cc.
References L.
Referenced by GHOST_WindowWin32(), and GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::updateDirectManipulation | ( | ) |
Definition at line 226 of file GHOST_WindowWin32.cc.
Referenced by GHOST_SystemWin32::driveTrackpad().
| void GHOST_WindowWin32::updateDPI | ( | ) |
Definition at line 1031 of file GHOST_WindowWin32.cc.
References getDPIHint().
Referenced by GHOST_SystemWin32::s_wndProc().
| void GHOST_WindowWin32::updateHDRInfo | ( | ) |
Definition at line 1279 of file GHOST_WindowWin32.cc.
References GHOST_WINDOW_HDR_INFO_NONE, GHOST_WindowHDRInfo::hdr_enabled, GHOST_Window::hdr_info_, GHOST_WindowHDRInfo::sdr_white_level, and GHOST_WindowHDRInfo::wide_gamut_enabled.
Referenced by GHOST_WindowWin32(), GHOST_SystemWin32::processWindowSizeEvent(), and 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 687 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 982 of file GHOST_WindowWin32.cc.
References GHOST_kTabletAutomatic, GHOST_kTabletWinPointer, and GHOST_kTabletWintab.
Referenced by getTabletData(), GHOST_SystemWin32::processPointerEvent(), GHOST_SystemWin32::s_wndProc(), and GHOST_SystemWin32::setTabletAPI().
| bool GHOST_WindowWin32::in_live_resize_ |
True if the window currently resizing.
Definition at line 300 of file GHOST_WindowWin32.hh.
Referenced by GHOST_WindowWin32(), GHOST_SystemWin32::processWindowSizeEvent(), and GHOST_SystemWin32::s_wndProc().
| bool GHOST_WindowWin32::mouse_present_ |
True if the mouse is either over or captured by the window.
Definition at line 297 of file GHOST_WindowWin32.hh.
Referenced by GHOST_WindowWin32(), and GHOST_SystemWin32::s_wndProc().