|
Blender V5.0
|
#include <GHOST_SystemWin32.hh>
Inherits GHOST_System.
Static Public Member Functions | |
| static GHOST_ContextD3D * | createOffscreenContextD3D () |
| static GHOST_TSuccess | disposeContextD3D (GHOST_ContextD3D *context) |
| static GHOST_TSuccess | pushDragDropEvent (GHOST_TEventType eventType, GHOST_TDragnDropTypes draggedObjectType, GHOST_WindowWin32 *window, int mouseX, int mouseY, void *data) |
| Static Public Member Functions inherited from GHOST_ISystem | |
| static GHOST_TSuccess | createSystem (bool verbose, bool background) |
| static GHOST_TSuccess | createSystemBackground () |
| static GHOST_TSuccess | disposeSystem () |
| static GHOST_ISystem * | getSystem () |
| static const char * | getSystemBackend () |
| static GHOST_TBacktraceFn | getBacktraceFn () |
| static void | setBacktraceFn (GHOST_TBacktraceFn backtrace_fn) |
| static bool | getUseWindowFrame () |
| static void | setUseWindowFrame (bool use_window_frame) |
Protected Member Functions | |
| GHOST_TSuccess | init () override |
| GHOST_TSuccess | exit () override |
| GHOST_TKey | convertKey (short vKey, short ScanCode, short extend) const |
| GHOST_TKey | hardKey (RAWINPUT const &raw, bool *r_key_down) |
| GHOST_TKey | processSpecialKey (short vKey, short scanCode) const |
| void | driveTrackpad () |
| void | processTrackpad () |
| void | handleKeyboardChange () |
| bool | setConsoleWindowState (GHOST_TConsoleWindowState action) override |
| Protected Member Functions inherited from GHOST_System | |
| GHOST_System () | |
| ~GHOST_System () override | |
| Protected Member Functions inherited from GHOST_ISystem | |
| GHOST_ISystem () | |
| virtual | ~GHOST_ISystem ()=default |
Static Protected Member Functions | |
| static GHOST_EventButton * | processButtonEvent (GHOST_TEventType type, GHOST_WindowWin32 *window, GHOST_TButton mask) |
| static void | processWintabEvent (GHOST_WindowWin32 *window) |
| static void | processPointerEvent (UINT type, GHOST_WindowWin32 *window, WPARAM wParam, LPARAM lParam, bool &eventhandled) |
| static GHOST_EventCursor * | processCursorEvent (GHOST_WindowWin32 *window, const int32_t screen_co[2]) |
| static void | processWheelEventVertical (GHOST_WindowWin32 *window, WPARAM wParam, LPARAM lParam) |
| static void | processWheelEventHorizontal (GHOST_WindowWin32 *window, WPARAM wParam, LPARAM lParam) |
| static GHOST_EventKey * | processKeyEvent (GHOST_WindowWin32 *window, RAWINPUT const &raw) |
| static GHOST_Event * | processWindowSizeEvent (GHOST_WindowWin32 *window) |
| static GHOST_Event * | processWindowEvent (GHOST_TEventType type, GHOST_WindowWin32 *window) |
| static void | processMinMaxInfo (MINMAXINFO *minmax) |
| static LRESULT WINAPI | s_wndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) |
Protected Attributes | |
| bool | has_performance_counter_ |
| __int64 | freq_ |
| bool | has_alt_gr_ |
| WORD | lang_id_ |
| HKL | keylayout_ |
| bool | console_status_ |
| int | wheel_delta_accum_vertical_ |
| int | wheel_delta_accum_horizontal_ |
| Protected Attributes inherited from GHOST_System | |
| GHOST_TimerManager * | timer_manager_ |
| GHOST_WindowManager * | window_manager_ |
| GHOST_EventManager * | event_manager_ |
| bool | multitouch_gestures_ |
| GHOST_TTabletAPI | tablet_api_ |
| bool | is_debug_enabled_ |
Additional Inherited Members | |
| Public Attributes inherited from GHOST_System | |
| bool | native_pixel_ |
| bool | window_focus_ |
| bool | auto_focus_ |
| Static Protected Attributes inherited from GHOST_ISystem | |
| static GHOST_ISystem * | system_ = nullptr |
| static const char * | system_backend_id_ = nullptr |
| static GHOST_TBacktraceFn | backtrace_fn_ = nullptr |
| static bool | use_window_frame_ = true |
WIN32 Implementation of GHOST_System class.
Definition at line 40 of file GHOST_SystemWin32.hh.
| GHOST_SystemWin32::GHOST_SystemWin32 | ( | ) |
Constructor.
Definition at line 165 of file GHOST_SystemWin32.cc.
References console_status_, false, freq_, handleKeyboardChange(), has_performance_counter_, UTF16_ENCODE, and UTF16_UN_ENCODE.
Referenced by convertKey(), processButtonEvent(), processCursorEvent(), processKeyEvent(), processPointerEvent(), processTrackpad(), processWheelEventHorizontal(), processWheelEventVertical(), processWindowEvent(), processWindowSizeEvent(), processWintabEvent(), pushDragDropEvent(), and s_wndProc().
|
override |
Destructor.
Definition at line 190 of file GHOST_SystemWin32.cc.
References exit(), GHOST_kConsoleWindowStateShow, isStartedFromCommandPrompt(), and setConsoleWindowState().
|
protected |
Converts raw WIN32 key codes from the wndproc to GHOST keys.
| vKey | The virtual key from hardKey. |
| ScanCode | The ScanCode of pressed key (similar to PS/2 Set 1). |
| extend | Flag if key is not primly (left or right). |
Definition at line 737 of file GHOST_SystemWin32.cc.
References GHOST_ISystem::getSystem(), GHOST_kKey0, GHOST_kKeyA, GHOST_kKeyAccentGrave, GHOST_kKeyApp, GHOST_kKeyBackslash, GHOST_kKeyBackSpace, GHOST_kKeyCapsLock, GHOST_kKeyComma, GHOST_kKeyDelete, GHOST_kKeyDownArrow, GHOST_kKeyDownPage, GHOST_kKeyEnd, GHOST_kKeyEnter, GHOST_kKeyEqual, GHOST_kKeyEsc, GHOST_kKeyF1, GHOST_kKeyGrLess, GHOST_kKeyHome, GHOST_kKeyInsert, GHOST_kKeyLeftAlt, GHOST_kKeyLeftArrow, GHOST_kKeyLeftBracket, GHOST_kKeyLeftControl, GHOST_kKeyLeftOS, GHOST_kKeyLeftShift, GHOST_kKeyMediaFirst, GHOST_kKeyMediaLast, GHOST_kKeyMediaPlay, GHOST_kKeyMediaStop, GHOST_kKeyMinus, GHOST_kKeyNumLock, GHOST_kKeyNumpad0, GHOST_kKeyNumpad1, GHOST_kKeyNumpad2, GHOST_kKeyNumpad3, GHOST_kKeyNumpad4, GHOST_kKeyNumpad5, GHOST_kKeyNumpad6, GHOST_kKeyNumpad7, GHOST_kKeyNumpad8, GHOST_kKeyNumpad9, GHOST_kKeyNumpadAsterisk, GHOST_kKeyNumpadEnter, GHOST_kKeyNumpadMinus, GHOST_kKeyNumpadPeriod, GHOST_kKeyNumpadPlus, GHOST_kKeyNumpadSlash, GHOST_kKeyPause, GHOST_kKeyPeriod, GHOST_kKeyPrintScreen, GHOST_kKeyRightAlt, GHOST_kKeyRightArrow, GHOST_kKeyRightBracket, GHOST_kKeyRightControl, GHOST_kKeyRightOS, GHOST_kKeyRightShift, GHOST_kKeyScrollLock, GHOST_kKeySemicolon, GHOST_kKeySlash, GHOST_kKeySpace, GHOST_kKeyTab, GHOST_kKeyUnknown, GHOST_kKeyUpArrow, GHOST_kKeyUpPage, GHOST_SystemWin32(), VK_BACK_QUOTE, VK_BACK_SLASH, VK_CLOSE_BRACKET, VK_COMMA, VK_EQUALS, VK_GR_LESS, VK_MINUS, VK_OPEN_BRACKET, VK_PERIOD, VK_SEMICOLON, and VK_SLASH.
Referenced by hardKey().
|
overridevirtual |
Create a new off-screen context. Never explicitly delete the window, use disposeContext() instead.
Implements GHOST_System.
Definition at line 307 of file GHOST_SystemWin32.cc.
References GHOST_GPUSettings::context_type, GHOST_CONTEXT_PARAMS_FROM_GPU_SETTINGS_OFFSCREEN, GHOST_OPENGL_WGL_RESET_NOTIFICATION_STRATEGY, GHOST_ContextParams::is_debug, and GHOST_GPUSettings::preferred_device.
|
static |
Create a new off-screen DirectX context. Never explicitly delete the context, use disposeContext() instead. This is for GHOST internal, Win32 specific use, so it can be called statically.
Create a new off-screen DirectX 11 context. Never explicitly delete the window, use disposeContext() instead.
Definition at line 390 of file GHOST_SystemWin32.cc.
References GHOST_CONTEXT_PARAMS_NONE.
Referenced by GHOST_XrGraphicsBindingD3D::GHOST_XrGraphicsBindingD3D().
|
overridevirtual |
Create a new window. The new window is added to the list of windows managed. Never explicitly delete the window, use disposeWindow() instead.
| title | The name of the window. (displayed in the title bar of the window if the OS supports it). |
| 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 of the window when opened. |
| gpu_settings | Misc GPU settings. |
| exclusive | Use to show the window on top and ignore others (used full-screen). |
| parent_window | Parent window. |
Implements GHOST_ISystem.
Definition at line 263 of file GHOST_SystemWin32.cc.
References GHOST_GPUSettings::context_type, GHOST_WindowWin32::getValid(), GHOST_CONTEXT_PARAMS_FROM_GPU_SETTINGS, GHOST_PRINT, left, GHOST_GPUSettings::preferred_device, state, top, and GHOST_System::window_manager_.
|
overridevirtual |
Dispose of a context.
| context | Pointer to the context to be disposed. |
Implements GHOST_ISystem.
Definition at line 378 of file GHOST_SystemWin32.cc.
References GHOST_kSuccess.
|
static |
Dispose of a DirectX context. This is for GHOST internal, Win32 specific use, so it can be called statically.
| context | Pointer to the context to be disposed. |
Definition at line 414 of file GHOST_SystemWin32.cc.
References GHOST_kSuccess.
Referenced by GHOST_XrGraphicsBindingD3D::~GHOST_XrGraphicsBindingD3D().
|
protected |
Drives Direct Manipulation update.
Definition at line 1595 of file GHOST_SystemWin32.cc.
References GHOST_WindowManager::getActiveWindow(), GHOST_System::getWindowManager(), and GHOST_WindowWin32::updateDirectManipulation().
Referenced by processEvents().
|
overrideprotectedvirtual |
Closes the system down.
Reimplemented from GHOST_System.
Definition at line 668 of file GHOST_SystemWin32.cc.
References GHOST_System::exit(), and L.
Referenced by ~GHOST_SystemWin32().
|
overridevirtual |
Returns the dimensions of all displays on this system.
Implements GHOST_ISystem.
Definition at line 257 of file GHOST_SystemWin32.cc.
|
overridevirtual |
Returns the state of the mouse buttons (outside the message queue).
| buttons | The state of the buttons. |
Implements GHOST_System.
Definition at line 597 of file GHOST_SystemWin32.cc.
References GHOST_kButtonMaskLeft, GHOST_kButtonMaskMiddle, GHOST_kButtonMaskRight, GHOST_kSuccess, and GHOST_Buttons::set().
|
overridevirtual |
Return features supported by the system back-end.
The resulting value doesn't change at run-time.
Implements GHOST_ISystem.
Definition at line 615 of file GHOST_SystemWin32.cc.
References GHOST_CAPABILITY_FLAG_ALL, GHOST_kCapabilityClipboardPrimary, GHOST_kCapabilityCursorGenerator, and GHOST_kCapabilityKeyboardHyperKey.
|
overridevirtual |
Returns unsigned char from CUT_BUFFER0
| selection | Used by X11 only. |
Implements GHOST_System.
Definition at line 2429 of file GHOST_SystemWin32.cc.
References alloc_utf_8_from_16(), and len.
|
overridevirtual |
Get image data from the Clipboard
| r_width | the returned image width in pixels. |
| r_height | the returned image height in pixels. |
Reimplemented from GHOST_System.
Definition at line 2697 of file GHOST_SystemWin32.cc.
References ELEM, getClipboardImageDibV5(), getClipboardImageFilepath(), and getClipboardImageImBuf().
|
overridevirtual |
Returns the current location of the cursor (location in screen coordinates)
Implements GHOST_ISystem.
Definition at line 474 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, x, and y.
Referenced by processTrackpad(), and s_wndProc().
|
overridevirtual |
Reimplemented from GHOST_System.
Definition at line 518 of file GHOST_SystemWin32.cc.
|
overridevirtual |
Returns the dimensions of the main display on this system.
Implements GHOST_ISystem.
Definition at line 251 of file GHOST_SystemWin32.cc.
|
overridevirtual |
Returns the system time. Returns the number of milliseconds since the start of the Blender process. This overloaded method uses the high frequency timer if available.
Implements GHOST_ISystem.
Definition at line 213 of file GHOST_SystemWin32.cc.
References count, has_performance_counter_, and performanceCounterToMillis().
Referenced by getMessageTime(), and processEvents().
|
overridevirtual |
Returns the state of all modifier keys.
| keys | The state of all modifier keys (true == pressed). |
Implements GHOST_System.
Definition at line 569 of file GHOST_SystemWin32.cc.
References GHOST_kModifierKeyLeftAlt, GHOST_kModifierKeyLeftControl, GHOST_kModifierKeyLeftOS, GHOST_kModifierKeyLeftShift, GHOST_kModifierKeyRightAlt, GHOST_kModifierKeyRightControl, GHOST_kModifierKeyRightOS, GHOST_kModifierKeyRightShift, GHOST_kSuccess, and GHOST_ModifierKeys::set().
|
overridevirtual |
Returns the number of displays on this system.
Implements GHOST_ISystem.
Definition at line 246 of file GHOST_SystemWin32.cc.
|
overridevirtual |
Get the color of the pixel at the current mouse cursor location
| r_color | returned sRGB float colors |
Reimplemented from GHOST_System.
Definition at line 493 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, and GHOST_kSuccess.
|
overridevirtual |
Get the Window under the mouse cursor. Location obtained from the OS.
Reimplemented from GHOST_System.
Definition at line 552 of file GHOST_SystemWin32.cc.
References GHOST_System::window_manager_.
|
inlineprotected |
Check current key layout for AltGr
Definition at line 497 of file GHOST_SystemWin32.hh.
References has_alt_gr_, i, keylayout_, and lang_id_.
Referenced by GHOST_SystemWin32(), and s_wndProc().
|
protected |
Catches raw WIN32 key codes from WM_INPUT in the wndproc.
| raw | RawInput structure with detailed info about the key event. |
| r_key_down | Set true when the key is pressed, otherwise false. |
Definition at line 676 of file GHOST_SystemWin32.cc.
References convertKey().
Referenced by processKeyEvent().
|
overridevirtual |
Returns GHOST_kSuccess if the clipboard contains an image.
Reimplemented from GHOST_System.
Definition at line 2507 of file GHOST_SystemWin32.cc.
References alloc_utf_8_from_16(), free(), GHOST_kFailure, GHOST_kSuccess, IB_byte_data, IB_multilayer, IB_test, IMB_freeImBuf(), IMB_load_image_from_filepath(), and result.
|
overrideprotectedvirtual |
Initializes the system. For now, it just registers the window class (WNDCLASS).
Reimplemented from GHOST_System.
Definition at line 630 of file GHOST_SystemWin32.cc.
References freq_, GHOST_kFailure, has_performance_counter_, GHOST_System::init(), initRawInput(), L, and s_wndProc().
|
overridevirtual |
Specify which debug messages are to be shown.
| debug | Flag for systems to debug. |
Reimplemented from GHOST_System.
Definition at line 1504 of file GHOST_SystemWin32.cc.
References GHOST_Debug::flags, GHOST_kDebugWintab, GHOST_System::initDebug(), and GHOST_Wintab::setDebug().
| uint64_t GHOST_SystemWin32::performanceCounterToMillis | ( | __int64 | perf_ticks | ) | const |
This method converts performance counter measurements into milliseconds since the start of the Blender process.
Definition at line 204 of file GHOST_SystemWin32.cc.
References freq_.
Referenced by getMilliSeconds(), and GHOST_WindowWin32::getPointerInfo().
|
staticprotected |
Creates mouse button event.
| type | The type of event to create. |
| window | The window receiving the event (the active window). |
| mask | The button mask of this event. |
Definition at line 931 of file GHOST_SystemWin32.cc.
References GHOST_TabletData::Active, GHOST_WindowWin32::getHWND(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_WindowWin32::getTabletData(), GHOST_kEventButtonDown, GHOST_kEventButtonUp, GHOST_kEventCursorMove, GHOST_kTabletModeNone, GHOST_SystemWin32(), mask(), MousePressed, MouseReleased, GHOST_System::pushEvent(), GHOST_WindowWin32::updateMouseCapture(), and WINTAB_PRINTF.
Referenced by s_wndProc().
|
staticprotected |
Creates cursor event.
| window | The window receiving the event (the active window). |
Definition at line 1180 of file GHOST_SystemWin32.cc.
References GHOST_TabletData::Active, bounds(), GHOST_WindowWin32::getClientBounds(), GHOST_Window::getCursorGrabAccum(), GHOST_Window::getCursorGrabAxis(), GHOST_Window::getCursorGrabBounds(), GHOST_Window::getCursorGrabMode(), GHOST_Window::getCursorGrabModeIsWarp(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_WindowWin32::getTabletData(), GHOST_kEventCursorMove, GHOST_kFailure, GHOST_kGrabHide, GHOST_kTabletModeNone, GHOST_SystemWin32(), GHOST_TABLET_DATA_NONE, GHOST_Window::setCursorGrabAccum(), and setCursorPosition().
Referenced by s_wndProc().
|
overridevirtual |
Gets events from the system and stores them in the queue.
| waitForEvent | Flag to wait for an event (or return immediately). |
Implements GHOST_ISystem.
Definition at line 421 of file GHOST_SystemWin32.cc.
References driveTrackpad(), GHOST_System::event_manager_, GHOST_TimerManager::fireTimers(), getMilliSeconds(), GHOST_System::getTimerManager(), GHOST_kFireTimeNever, next, GHOST_TimerManager::nextFireTime(), and processTrackpad().
|
staticprotected |
Creates a key event and updates the key data stored locally (modifier_keys_). In most cases this is a straightforward conversion of key codes. For the modifier keys however, we want to distinguish left and right keys.
| window | The window receiving the event (the active window). |
| raw | RawInput structure with detailed info about the key event. |
Definition at line 1317 of file GHOST_SystemWin32.cc.
References conv_utf_16_to_8(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventKeyDown, GHOST_kEventKeyUp, GHOST_KEY_MODIFIER_CHECK, GHOST_PRINTF, GHOST_SystemWin32(), hardKey(), has_alt_gr_, keylayout_, state, and USHORT.
Referenced by s_wndProc().
|
staticprotected |
Handles minimum window size.
| minmax | The MINMAXINFO structure. |
Definition at line 1510 of file GHOST_SystemWin32.cc.
Referenced by s_wndProc().
|
staticprotected |
Creates tablet events from pointer events.
| type | The type of pointer event. |
| window | The window receiving the event (the active window). |
| wParam | The wParam from the wndproc. |
| lParam | The lParam from the wndproc. |
| eventhandled | True if the method handled the event. |
Definition at line 1108 of file GHOST_SystemWin32.cc.
References GHOST_WindowWin32::getPointerInfo(), GHOST_ISystem::getSystem(), GHOST_kEventButtonDown, GHOST_kEventButtonUp, GHOST_kEventCursorMove, GHOST_kSuccess, GHOST_kTabletWinPointer, GHOST_SystemWin32(), i, MousePressed, MouseReleased, GHOST_System::pushEvent(), GHOST_WindowWin32::updateMouseCapture(), and GHOST_WindowWin32::usingTabletAPI().
Referenced by s_wndProc().
|
protected |
Process special keys VK_OEM_*, to see if current key layout gives us anything special, like ! on French AZERTY.
| vKey | The virtual key from hardKey. |
| scanCode | The ScanCode of pressed key (similar to PS/2 Set 1). |
This function was added in response to bug #25715. This is going to be a long list #42426.
Definition at line 693 of file GHOST_SystemWin32.cc.
References GHOST_kKeyAccentGrave, GHOST_kKeyF13, GHOST_kKeyI, GHOST_kKeyNumpadPeriod, GHOST_kKeyQuote, GHOST_kKeySlash, GHOST_kKeyUnknown, and lang_id_.
|
protected |
Creates trackpad events for the active window.
Definition at line 1604 of file GHOST_SystemWin32.cc.
References GHOST_WindowManager::getActiveWindow(), getCursorPosition(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_WindowWin32::getTrackpadInfo(), GHOST_System::getWindowManager(), GHOST_kTrackpadEventMagnify, GHOST_kTrackpadEventScroll, GHOST_SystemWin32(), GHOST_TTrackpadInfo::isScrollDirectionInverted, GHOST_System::pushEvent(), GHOST_TTrackpadInfo::scale, GHOST_TTrackpadInfo::x, and GHOST_TTrackpadInfo::y.
Referenced by processEvents().
|
staticprotected |
Handles a horizontal mouse wheel event.
| window | The window receiving the event (the active window). |
| wParam | The wParam from the wndproc. |
| lParam | The lParam from the wndproc. |
This is almost the same as processWheelEventVertical.
Definition at line 1292 of file GHOST_SystemWin32.cc.
References abs, getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventWheelAxisHorizontal, GHOST_SystemWin32(), GHOST_System::pushEvent(), and wheel_delta_accum_horizontal_.
Referenced by s_wndProc().
|
staticprotected |
Handles a vertical mouse wheel event.
| window | The window receiving the event (the active window). |
| wParam | The wParam from the wndproc. |
| lParam | The lParam from the wndproc. |
Definition at line 1266 of file GHOST_SystemWin32.cc.
References abs, getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventWheelAxisVertical, GHOST_SystemWin32(), GHOST_System::pushEvent(), and wheel_delta_accum_vertical_.
Referenced by s_wndProc().
|
staticprotected |
Creates a window event.
| type | The type of event to create. |
| window | The window receiving the event (the active window). |
Definition at line 1442 of file GHOST_SystemWin32.cc.
References getMessageTime(), GHOST_ISystem::getSystem(), GHOST_System::getWindowManager(), GHOST_kEventWindowActivate, GHOST_kEventWindowDeactivate, GHOST_SystemWin32(), GHOST_WindowManager::setActiveWindow(), and GHOST_WindowManager::setWindowInactive().
Referenced by s_wndProc().
|
staticprotected |
Creates a window size event.
| window | The window receiving the event (the active window). |
Definition at line 1426 of file GHOST_SystemWin32.cc.
References GHOST_System::dispatchEvents(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventWindowSize, GHOST_SystemWin32(), GHOST_WindowWin32::in_live_resize_, GHOST_System::pushEvent(), and GHOST_WindowWin32::updateHDRInfo().
Referenced by s_wndProc().
|
staticprotected |
Creates tablet events from Wintab events.
| window | The window receiving the event (the active window). |
Definition at line 961 of file GHOST_SystemWin32.cc.
References GHOST_WindowWin32::getHWND(), GHOST_Wintab::getInput(), GHOST_Wintab::getLastTabletData(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_WindowWin32::getWintab(), GHOST_kButtonMaskLeft, GHOST_kButtonMaskMiddle, GHOST_kButtonMaskRight, GHOST_kEventButtonDown, GHOST_kEventButtonUp, GHOST_kEventCursorMove, GHOST_SystemWin32(), GHOST_Wintab::mapWintabToSysCoordinates(), MousePressed, MouseReleased, pos, GHOST_System::pushEvent(), GHOST_Wintab::testCoordinates(), GHOST_Wintab::trustCoordinates(), GHOST_WindowWin32::updateMouseCapture(), WINTAB_PRINTF, x, and y.
Referenced by s_wndProc().
|
static |
Creates a drag & drop event and pushes it immediately onto the event queue. Called by GHOST_DropTargetWin32 class.
| eventType | The type of drag & drop event |
| draggedObjectType | The type object concerned (currently array of file names, string, ?bitmap) |
| mouseX | x mouse coordinate (in window coordinates) |
| mouseY | y mouse coordinate |
| window | The window on which the event occurred |
Definition at line 1467 of file GHOST_SystemWin32.cc.
References data, getMessageTime(), GHOST_ISystem::getSystem(), GHOST_SystemWin32(), and GHOST_System::pushEvent().
|
overridevirtual |
Puts buffer to system clipboard.
| selection | Used by X11 only. |
Implements GHOST_System.
Definition at line 2481 of file GHOST_SystemWin32.cc.
References conv_utf_8_to_16(), count_utf_16_from_8(), data, and len.
|
overridevirtual |
Put image data to the Clipboard
| rgba | uint array in RGBA byte order. |
| width | the image width in pixels. |
| height | the image height in pixels. |
Reimplemented from GHOST_System.
Definition at line 2824 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, putClipboardImageDibV5(), and putClipboardImagePNG().
|
staticprotected |
Windows call back routine for our window class.
Definition at line 1641 of file GHOST_SystemWin32.cc.
References GHOST_TabletData::Active, GHOST_System::auto_focus_, GHOST_WindowWin32::clientToScreen(), GHOST_Wintab::disable(), GHOST_System::dispatchEvents(), GHOST_Wintab::enable(), GHOST_Wintab::gainFocus(), GET_POINTERID_WPARAM, getCursorPosition(), GHOST_Window::getCursorShape(), GHOST_Window::getCursorVisibility(), GHOST_System::getEventManager(), GHOST_WindowWin32::getHWND(), GHOST_WindowWin32::getState(), GHOST_ISystem::getSystem(), GHOST_WindowWin32::getTabletData(), GHOST_WindowWin32::getWintab(), GHOST_ASSERT, GHOST_kButtonMaskButton4, GHOST_kButtonMaskButton5, GHOST_kButtonMaskLeft, GHOST_kButtonMaskMiddle, GHOST_kButtonMaskRight, GHOST_kEventButtonDown, GHOST_kEventButtonUp, GHOST_kEventImeComposition, GHOST_kEventImeCompositionEnd, GHOST_kEventImeCompositionStart, GHOST_kEventKeyDown, GHOST_kEventWindowActivate, GHOST_kEventWindowClose, GHOST_kEventWindowDeactivate, GHOST_kEventWindowDPIHintChanged, GHOST_kEventWindowMove, GHOST_kEventWindowUpdate, GHOST_kStandardCursorDefault, GHOST_kTabletModeNone, GHOST_kTabletWintab, GHOST_PRINT, GHOST_SystemWin32(), handleKeyboardChange(), GHOST_WindowWin32::in_live_resize_, L, GHOST_Wintab::leaveRange(), GHOST_WindowWin32::loadCursor(), GHOST_Wintab::loseFocus(), GHOST_WindowWin32::lostMouseCapture(), GHOST_WindowWin32::mouse_present_, GHOST_System::multitouch_gestures_, GHOST_WindowWin32::onPointerHitTest(), processButtonEvent(), processCursorEvent(), GHOST_Wintab::processInfoChange(), processKeyEvent(), processMinMaxInfo(), processPointerEvent(), processWheelEventHorizontal(), processWheelEventVertical(), processWindowEvent(), processWindowSizeEvent(), processWintabEvent(), GHOST_System::pushEvent(), GHOST_Wintab::remapCoordinates(), GHOST_EventManager::removeTypeEvents(), GHOST_WindowWin32::resetPointerPenInfo(), GHOST_WindowWin32::setState(), GHOST_WindowWin32::ThemeRefresh(), UNPACK2, GHOST_Wintab::updateCursorInfo(), GHOST_WindowWin32::updateDPI(), GHOST_WindowWin32::updateHDRInfo(), GHOST_WindowWin32::usingTabletAPI(), wheel_delta_accum_horizontal_, wheel_delta_accum_vertical_, and WINTAB_PRINTF.
Referenced by init().
|
overrideprotectedvirtual |
Set the Console State
| action | console state |
Implements GHOST_ISystem.
Definition at line 2955 of file GHOST_SystemWin32.cc.
References console_status_, FALSE, GHOST_kConsoleWindowStateHide, GHOST_kConsoleWindowStateHideForNonConsoleLaunch, GHOST_kConsoleWindowStateShow, GHOST_kConsoleWindowStateToggle, and isStartedFromCommandPrompt().
Referenced by ~GHOST_SystemWin32().
|
overridevirtual |
Updates the location of the cursor (location in screen coordinates).
Implements GHOST_ISystem.
Definition at line 485 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, x, and y.
Referenced by processCursorEvent().
|
overridevirtual |
Set which tablet API to use.
| api | Enum indicating which API to use. |
Reimplemented from GHOST_System.
Definition at line 1479 of file GHOST_SystemWin32.cc.
References GHOST_WindowWin32::closeWintab(), GHOST_WindowWin32::getState(), GHOST_System::getWindowManager(), GHOST_WindowManager::getWindows(), GHOST_kTabletWinPointer, GHOST_kTabletWintab, GHOST_kWindowStateMinimized, GHOST_WindowWin32::loadWintab(), GHOST_WindowWin32::resetPointerPenInfo(), GHOST_System::setTabletAPI(), and GHOST_WindowWin32::usingTabletAPI().
|
overridevirtual |
Show a system message box
| title | The title of the message box. |
| message | The message to display. |
| help_label | Help button label. |
| continue_label | Continue button label. |
| link | An optional hyperlink. |
| dialog_options | Options how to display the message. |
Reimplemented from GHOST_System.
Definition at line 2842 of file GHOST_SystemWin32.cc.
References alloc_utf16_from_8(), free(), GHOST_DialogError, GHOST_DialogWarning, GHOST_kSuccess, and L.
|
protected |
Console status.
Definition at line 490 of file GHOST_SystemWin32.hh.
Referenced by GHOST_SystemWin32(), and setConsoleWindowState().
|
protected |
High frequency timer variable.
Definition at line 481 of file GHOST_SystemWin32.hh.
Referenced by GHOST_SystemWin32(), init(), and performanceCounterToMillis().
|
protected |
AltGr on current keyboard layout.
Definition at line 483 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processKeyEvent().
|
protected |
State variable set at initialization.
Definition at line 479 of file GHOST_SystemWin32.hh.
Referenced by getMilliSeconds(), GHOST_SystemWin32(), and init().
|
protected |
Stores keyboard layout.
Definition at line 487 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processKeyEvent().
|
protected |
Language identifier.
Definition at line 485 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processSpecialKey().
|
protected |
Definition at line 494 of file GHOST_SystemWin32.hh.
Referenced by processWheelEventHorizontal(), and s_wndProc().
|
protected |
Wheel delta accumulators.
Definition at line 493 of file GHOST_SystemWin32.hh.
Referenced by processWheelEventVertical(), and s_wndProc().