|
Blender V4.3
|
#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) |
Protected Member Functions | |
| GHOST_TSuccess | init () |
| GHOST_TSuccess | exit () |
| 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) |
Protected Member Functions inherited from GHOST_System | |
| GHOST_System () | |
| virtual | ~GHOST_System () |
| GHOST_TSuccess | createFullScreenWindow (GHOST_Window **window, const GHOST_DisplaySetting &settings, const bool stereoVisual) |
Protected Member Functions inherited from GHOST_ISystem | |
| GHOST_ISystem () | |
| virtual | ~GHOST_ISystem () |
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 | processWheelEvent (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 | m_hasPerformanceCounter |
| __int64 | m_freq |
| bool | m_hasAltGr |
| WORD | m_langId |
| HKL | m_keylayout |
| bool | m_consoleStatus |
| int | m_wheelDeltaAccum |
Protected Attributes inherited from GHOST_System | |
| GHOST_DisplayManager * | m_displayManager |
| GHOST_TimerManager * | m_timerManager |
| GHOST_WindowManager * | m_windowManager |
| GHOST_EventManager * | m_eventManager |
| GHOST_DisplaySetting | m_preFullScreenSetting |
| bool | m_multitouchGestures |
| GHOST_TTabletAPI | m_tabletAPI |
| bool | m_is_debug_enabled |
Additional Inherited Members | |
Public Attributes inherited from GHOST_System | |
| bool | m_nativePixel |
| bool | m_windowFocus |
| bool | m_autoFocus |
Static Protected Attributes inherited from GHOST_ISystem | |
| static GHOST_ISystem * | m_system = nullptr |
| static const char * | m_system_backend_id = nullptr |
| static GHOST_TBacktraceFn | m_backtrace_fn = nullptr |
WIN32 Implementation of GHOST_System class.
Definition at line 40 of file GHOST_SystemWin32.hh.
| GHOST_SystemWin32::GHOST_SystemWin32 | ( | ) |
Constructor.
Definition at line 166 of file GHOST_SystemWin32.cc.
References GHOST_ASSERT, handleKeyboardChange(), GHOST_DisplayManager::initialize(), m_consoleStatus, GHOST_System::m_displayManager, UTF16_ENCODE, and UTF16_UN_ENCODE.
| GHOST_SystemWin32::~GHOST_SystemWin32 | ( | ) |
Destructor.
Definition at line 195 of file GHOST_SystemWin32.cc.
References 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 700 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, processSpecialKey(), 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().
|
virtual |
Create a new off-screen context. Never explicitly delete the window, use disposeContext() instead.
Implements GHOST_System.
Definition at line 313 of file GHOST_SystemWin32.cc.
References GHOST_GPUSettings::context_type, GHOST_GPUSettings::flags, GHOST_gpuDebugContext, GHOST_OPENGL_WGL_RESET_NOTIFICATION_STRATEGY, 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 395 of file GHOST_SystemWin32.cc.
|
virtual |
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. |
| gpuSettings | Misc GPU settings. |
| exclusive | Use to show the window on top and ignore others (used full-screen). |
| parentWindow | Parent window. |
Implements GHOST_ISystem.
Definition at line 267 of file GHOST_SystemWin32.cc.
References GHOST_WindowManager::addWindow(), GHOST_GPUSettings::context_type, GHOST_GPUSettings::flags, GHOST_WindowWin32::getValid(), GHOST_gpuDebugContext, GHOST_gpuStereoVisual, GHOST_PRINT, GHOST_System::m_windowManager, GHOST_GPUSettings::preferred_device, GHOST_WindowManager::setActiveWindow(), and state.
|
virtual |
Dispose of a context.
| context | Pointer to the context to be disposed. |
Implements GHOST_ISystem.
Definition at line 383 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 417 of file GHOST_SystemWin32.cc.
References GHOST_kSuccess.
|
protected |
Drives Direct Manipulation update.
Definition at line 1509 of file GHOST_SystemWin32.cc.
References GHOST_WindowManager::getActiveWindow(), GHOST_System::getWindowManager(), and GHOST_WindowWin32::updateDirectManipulation().
Referenced by processEvents().
|
protectedvirtual |
Closes the system down.
Reimplemented from GHOST_System.
Definition at line 634 of file GHOST_SystemWin32.cc.
References GHOST_System::exit().
|
virtual |
Returns the dimensions of all displays on this system.
Implements GHOST_ISystem.
Definition at line 261 of file GHOST_SystemWin32.cc.
|
virtual |
Returns the state of the mouse buttons (outside the message queue).
| buttons | The state of the buttons. |
Implements GHOST_System.
Definition at line 566 of file GHOST_SystemWin32.cc.
References GHOST_kButtonMaskLeft, GHOST_kButtonMaskMiddle, GHOST_kButtonMaskRight, GHOST_kSuccess, and GHOST_Buttons::set().
|
virtual |
Return features supported by the system back-end.
The resulting value doesn't change at run-time.
Implements GHOST_ISystem.
Definition at line 584 of file GHOST_SystemWin32.cc.
References GHOST_CAPABILITY_FLAG_ALL, and GHOST_kCapabilityPrimaryClipboard.
|
virtual |
Returns unsigned char from CUT_BUFFER0
| selection | Used by X11 only. |
Implements GHOST_System.
Definition at line 2317 of file GHOST_SystemWin32.cc.
References alloc_utf_8_from_16(), and len.
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 2523 of file GHOST_SystemWin32.cc.
References ELEM, getClipboardImageDibV5(), and getClipboardImageImBuf().
|
virtual |
Returns the current location of the cursor (location in screen coordinates)
| x | The x-coordinate of the cursor. |
| y | The y-coordinate of the cursor. |
Implements GHOST_ISystem.
Definition at line 477 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, and point.
Referenced by GHOST_WindowWin32::loadWintab(), processTrackpad(), and s_wndProc().
|
virtual |
Returns the dimensions of the main display on this system.
Implements GHOST_ISystem.
Definition at line 255 of file GHOST_SystemWin32.cc.
|
virtual |
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 214 of file GHOST_SystemWin32.cc.
References count, m_hasPerformanceCounter, and performanceCounterToMillis().
Referenced by getMessageTime(), and processEvents().
|
virtual |
Returns the state of all modifier keys.
| keys | The state of all modifier keys (true == pressed). |
Implements GHOST_System.
Definition at line 538 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().
|
virtual |
Returns the number of displays on this system.
Implements GHOST_ISystem.
Definition at line 247 of file GHOST_SystemWin32.cc.
References GHOST_DisplayManager::getNumDisplays(), GHOST_ASSERT, and GHOST_System::m_displayManager.
|
virtual |
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 496 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, NULL, and point.
|
virtual |
Get the Window under the mouse cursor. Location obtained from the OS.
Reimplemented from GHOST_System.
Definition at line 521 of file GHOST_SystemWin32.cc.
References GHOST_WindowManager::getWindowAssociatedWithOSWindow(), GHOST_System::m_windowManager, NULL, and point.
|
inlineprotected |
Check current key layout for AltGr
Definition at line 486 of file GHOST_SystemWin32.hh.
References m_hasAltGr, m_keylayout, and m_langId.
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 639 of file GHOST_SystemWin32.cc.
References convertKey().
Referenced by processKeyEvent().
|
virtual |
Returns GHOST_kSuccess if the clipboard contains an image.
Reimplemented from GHOST_System.
Definition at line 2396 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, and GHOST_kSuccess.
|
protectedvirtual |
Initializes the system. For now, it just registers the window class (WNDCLASS).
Reimplemented from GHOST_System.
Definition at line 592 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, GHOST_System::init(), initRawInput(), L, m_freq, m_hasPerformanceCounter, 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 1418 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 205 of file GHOST_SystemWin32.cc.
References m_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 894 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, 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 1143 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_TABLET_DATA_NONE, GHOST_Window::setCursorGrabAccum(), and setCursorPosition().
Referenced by s_wndProc().
|
virtual |
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 424 of file GHOST_SystemWin32.cc.
References driveTrackpad(), GHOST_TimerManager::fireTimers(), getMilliSeconds(), GHOST_EventManager::getNumEvents(), GHOST_System::getTimerManager(), GHOST_kFireTimeNever, GHOST_System::m_eventManager, next, GHOST_TimerManager::nextFireTime(), and processTrackpad().
|
staticprotected |
Creates a key event and updates the key data stored locally (m_modifierKeys). 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 1253 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, hardKey(), m_keylayout, and state.
Referenced by s_wndProc().
|
staticprotected |
Handles minimum window size.
| minmax | The MINMAXINFO structure. |
Definition at line 1424 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 1071 of file GHOST_SystemWin32.cc.
References GHOST_WindowWin32::getPointerInfo(), GHOST_ISystem::getSystem(), GHOST_kEventButtonDown, GHOST_kEventButtonUp, GHOST_kEventCursorMove, GHOST_kSuccess, GHOST_kTabletWinPointer, 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 656 of file GHOST_SystemWin32.cc.
References GHOST_kKeyAccentGrave, GHOST_kKeyF13, GHOST_kKeyI, GHOST_kKeyNumpadPeriod, GHOST_kKeyQuote, GHOST_kKeySlash, GHOST_kKeyUnknown, and m_langId.
Referenced by convertKey().
|
protected |
Creates trackpad events for the active window.
Definition at line 1518 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_TTrackpadInfo::isScrollDirectionInverted, GHOST_System::pushEvent(), GHOST_TTrackpadInfo::scale, GHOST_TTrackpadInfo::x, and GHOST_TTrackpadInfo::y.
Referenced by processEvents().
|
staticprotected |
Handles a 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 1229 of file GHOST_SystemWin32.cc.
References abs(), getMessageTime(), GHOST_ISystem::getSystem(), m_wheelDeltaAccum, and GHOST_System::pushEvent().
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 1359 of file GHOST_SystemWin32.cc.
References getMessageTime(), GHOST_ISystem::getSystem(), GHOST_System::getWindowManager(), GHOST_kEventWindowActivate, and GHOST_WindowManager::setActiveWindow().
Referenced by s_wndProc().
|
staticprotected |
Creates a window size event.
| window | The window receiving the event (the active window). |
Definition at line 1345 of file GHOST_SystemWin32.cc.
References GHOST_System::dispatchEvents(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventWindowSize, GHOST_WindowWin32::m_inLiveResize, and GHOST_System::pushEvent().
Referenced by s_wndProc().
|
staticprotected |
Creates tablet events from Wintab events.
| window | The window receiving the event (the active window). |
Definition at line 924 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_Wintab::mapWintabToSysCoordinates(), MousePressed, MouseReleased, pos, GHOST_System::pushEvent(), GHOST_Wintab::testCoordinates(), GHOST_Wintab::trustCoordinates(), GHOST_WindowWin32::updateMouseCapture(), and WINTAB_PRINTF.
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 1381 of file GHOST_SystemWin32.cc.
References getMessageTime(), GHOST_ISystem::getSystem(), and GHOST_System::pushEvent().
Referenced by GHOST_DropTargetWin32::DragEnter(), GHOST_DropTargetWin32::DragLeave(), GHOST_DropTargetWin32::DragOver(), and GHOST_DropTargetWin32::Drop().
|
virtual |
Puts buffer to system clipboard.
| selection | Used by X11 only. |
Implements GHOST_System.
Definition at line 2370 of file GHOST_SystemWin32.cc.
References conv_utf_8_to_16(), count_utf_16_from_8(), and len.
|
virtual |
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 2646 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 1555 of file GHOST_SystemWin32.cc.
References GHOST_TabletData::Active, 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, handleKeyboardChange(), L, GHOST_Wintab::leaveRange(), GHOST_WindowWin32::loadCursor(), GHOST_Wintab::loseFocus(), GHOST_WindowWin32::lostMouseCapture(), GHOST_System::m_autoFocus, GHOST_WindowWin32::m_inLiveResize, GHOST_WindowWin32::m_mousePresent, GHOST_System::m_multitouchGestures, m_wheelDeltaAccum, GHOST_WindowWin32::onPointerHitTest(), processButtonEvent(), processCursorEvent(), GHOST_Wintab::processInfoChange(), processKeyEvent(), processMinMaxInfo(), processPointerEvent(), processWheelEvent(), 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::usingTabletAPI(), and WINTAB_PRINTF.
Referenced by init().
|
protectedvirtual |
Set the Console State
| action | console state |
Implements GHOST_ISystem.
Definition at line 2777 of file GHOST_SystemWin32.cc.
References FALSE, GHOST_kConsoleWindowStateHide, GHOST_kConsoleWindowStateHideForNonConsoleLaunch, GHOST_kConsoleWindowStateShow, GHOST_kConsoleWindowStateToggle, isStartedFromCommandPrompt(), and m_consoleStatus.
Referenced by ~GHOST_SystemWin32().
|
virtual |
Updates the location of the cursor (location in screen coordinates).
| x | The x-coordinate of the cursor. |
| y | The y-coordinate of the cursor. |
Implements GHOST_ISystem.
Definition at line 488 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, and GHOST_kSuccess.
Referenced by processCursorEvent().
|
overridevirtual |
Set which tablet API to use.
| api | Enum indicating which API to use. |
Reimplemented from GHOST_System.
Definition at line 1393 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().
|
virtual |
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 2664 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 480 of file GHOST_SystemWin32.hh.
Referenced by GHOST_SystemWin32(), and setConsoleWindowState().
|
protected |
High frequency timer variable.
Definition at line 471 of file GHOST_SystemWin32.hh.
Referenced by init(), and performanceCounterToMillis().
|
protected |
AltGr on current keyboard layout.
Definition at line 473 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange().
|
protected |
State variable set at initialization.
Definition at line 469 of file GHOST_SystemWin32.hh.
Referenced by getMilliSeconds(), and init().
|
protected |
Stores keyboard layout.
Definition at line 477 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processKeyEvent().
|
protected |
Language identifier.
Definition at line 475 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processSpecialKey().
|
protected |
Wheel delta accumulator.
Definition at line 483 of file GHOST_SystemWin32.hh.
Referenced by processWheelEvent(), and s_wndProc().