Blender
V3.3
|
#include <GHOST_SystemWin32.h>
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 GHOST_TSuccess | createSystem () |
static GHOST_TSuccess | disposeSystem () |
static GHOST_ISystem * | getSystem () |
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_keyDown, bool *r_is_repeated_modifier) |
GHOST_TKey | processSpecialKey (short vKey, short scanCode) const |
void | driveTrackpad () |
void | processTrackpad () |
void | retrieveModifierKeys (GHOST_ModifierKeys &keys) const |
void | storeModifierKeys (const GHOST_ModifierKeys &keys) |
void | handleKeyboardChange (void) |
int | setConsoleWindowState (GHOST_TConsoleWindowState action) |
![]() | |
GHOST_System () | |
virtual | ~GHOST_System () |
GHOST_TSuccess | createFullScreenWindow (GHOST_Window **window, const GHOST_DisplaySetting &settings, const bool stereoVisual, const bool alphaBackground=0) |
![]() | |
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) |
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 | |
GHOST_ModifierKeys | m_modifierKeys |
unsigned short | m_keycode_last_repeat_key |
bool | m_hasPerformanceCounter |
__int64 | m_freq |
__int64 | m_start |
__int64 | m_lfstart |
bool | m_hasAltGr |
WORD | m_langId |
HKL | m_keylayout |
int | m_consoleStatus |
int | m_wheelDeltaAccum |
![]() | |
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 | |
![]() | |
bool | m_nativePixel |
bool | m_windowFocus |
![]() | |
static GHOST_ISystem * | m_system = nullptr |
static GHOST_TBacktraceFn | m_backtrace_fn = nullptr |
WIN32 Implementation of GHOST_System class.
Definition at line 35 of file GHOST_SystemWin32.h.
GHOST_SystemWin32::GHOST_SystemWin32 | ( | ) |
Constructor.
Definition at line 125 of file GHOST_SystemWin32.cpp.
References GHOST_ASSERT, handleKeyboardChange(), GHOST_DisplayManager::initialize(), m_consoleStatus, and GHOST_System::m_displayManager.
GHOST_SystemWin32::~GHOST_SystemWin32 | ( | ) |
Destructor.
Definition at line 150 of file GHOST_SystemWin32.cpp.
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 678 of file GHOST_SystemWin32.cpp.
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_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_kKeyOS, GHOST_kKeyPause, GHOST_kKeyPeriod, GHOST_kKeyPrintScreen, GHOST_kKeyRightAlt, GHOST_kKeyRightArrow, GHOST_kKeyRightBracket, GHOST_kKeyRightControl, 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 254 of file GHOST_SystemWin32.cpp.
References blender::compositor::context, GHOST_GLSettings::flags, GHOST_glDebugContext, GHOST_OPENGL_WGL_RESET_NOTIFICATION_STRATEGY, and NULL.
|
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 358 of file GHOST_SystemWin32.cpp.
References blender::compositor::context, GHOST_kFailure, and NULL.
|
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. |
type | The type of drawing context installed in this window. |
glSettings | Misc OpenGL settings. |
exclusive | Use to show the window ontop and ignore others (used fullscreen). |
parentWindow | Parent window. |
Implements GHOST_ISystem.
Definition at line 208 of file GHOST_SystemWin32.cpp.
References GHOST_WindowManager::addWindow(), GHOST_GLSettings::flags, GHOST_WindowWin32::getValid(), GHOST_glAlphaBackground, GHOST_glDebugContext, GHOST_glStereoVisual, GHOST_PRINT, height, left, GHOST_System::m_windowManager, NULL, GHOST_WindowManager::setActiveWindow(), state, top, type, and width.
|
virtual |
Dispose of a context.
context | Pointer to the context to be disposed. |
Implements GHOST_ISystem.
Definition at line 346 of file GHOST_SystemWin32.cpp.
References blender::compositor::context, and 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 382 of file GHOST_SystemWin32.cpp.
References blender::compositor::context, and GHOST_kSuccess.
|
protected |
Drives Direct Manipulation update.
Definition at line 1447 of file GHOST_SystemWin32.cpp.
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 555 of file GHOST_SystemWin32.cpp.
References GHOST_System::exit().
|
virtual |
Returns the dimensions of all displays on this system.
Implements GHOST_ISystem.
Definition at line 202 of file GHOST_SystemWin32.cpp.
|
virtual |
Returns the state of the mouse buttons (outside the message queue).
buttons | The state of the buttons. |
Implements GHOST_System.
Definition at line 487 of file GHOST_SystemWin32.cpp.
References GHOST_kButtonMaskLeft, GHOST_kButtonMaskMiddle, GHOST_kButtonMaskRight, GHOST_kSuccess, and GHOST_Buttons::set().
|
virtual |
Returns unsigned char from CUT_BUFFER0
selection | Used by X11 only. |
Implements GHOST_System.
Definition at line 2179 of file GHOST_SystemWin32.cpp.
References alloc_utf_8_from_16(), buffer, len, and NULL.
|
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 443 of file GHOST_SystemWin32.cpp.
References GHOST_kFailure, GHOST_kSuccess, Freestyle::Nature::POINT, point, x, and y.
Referenced by GHOST_WindowWin32::loadWintab(), processCursorEvent(), and processTrackpad().
|
virtual |
Returns the dimensions of the main display on this system.
Implements GHOST_ISystem.
Definition at line 196 of file GHOST_SystemWin32.cpp.
|
virtual |
Returns the system time. Returns the number of milliseconds since the start of the system process. This overloaded method uses the high frequency timer if available.
Reimplemented from GHOST_System.
Definition at line 174 of file GHOST_SystemWin32.cpp.
References count, m_hasPerformanceCounter, performanceCounterToMillis(), and tickCountToMillis().
Referenced by processButtonEvent(), processCursorEvent(), processEvents(), processKeyEvent(), processTrackpad(), processWheelEvent(), processWindowEvent(), processWindowSizeEvent(), processWintabEvent(), and pushDragDropEvent().
|
virtual |
Returns the state of all modifier keys.
keys | The state of all modifier keys (true == pressed). |
Implements GHOST_System.
Definition at line 461 of file GHOST_SystemWin32.cpp.
References GHOST_kModifierKeyLeftAlt, GHOST_kModifierKeyLeftControl, GHOST_kModifierKeyLeftShift, GHOST_kModifierKeyOS, GHOST_kModifierKeyRightAlt, GHOST_kModifierKeyRightControl, GHOST_kModifierKeyRightShift, GHOST_kSuccess, and GHOST_ModifierKeys::set().
|
virtual |
Returns the number of displays on this system.
Implements GHOST_ISystem.
Definition at line 188 of file GHOST_SystemWin32.cpp.
References GHOST_DisplayManager::getNumDisplays(), GHOST_ASSERT, and GHOST_System::m_displayManager.
Check current key layout for AltGr
Definition at line 485 of file GHOST_SystemWin32.h.
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. |
keyDown | Pointer flag that specify if a key is down. |
vk | Pointer to virtual key. |
Definition at line 560 of file GHOST_SystemWin32.cpp.
References convertKey(), GHOST_ModifierKeys::get(), GHOST_ISystem::getSystem(), GHOST_kKeyLeftAlt, GHOST_kKeyLeftControl, GHOST_kKeyLeftShift, GHOST_kKeyRightAlt, GHOST_kKeyRightControl, GHOST_kKeyRightShift, GHOST_kKeyUnknown, GHOST_kModifierKeyLeftAlt, GHOST_kModifierKeyLeftControl, GHOST_kModifierKeyLeftShift, GHOST_kModifierKeyRightAlt, GHOST_kModifierKeyRightControl, GHOST_kModifierKeyRightShift, usdtokens::raw(), retrieveModifierKeys(), GHOST_ModifierKeys::set(), and storeModifierKeys().
Referenced by processKeyEvent().
|
protectedvirtual |
Initializes the system. For now, it just registers the window class (WNDCLASS).
Reimplemented from GHOST_System.
Definition at line 505 of file GHOST_SystemWin32.cpp.
References GHOST_kFailure, GHOST_PRINT, GHOST_System::init(), initRawInput(), L, m_freq, m_hasPerformanceCounter, m_lfstart, m_start, NULL, 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 1370 of file GHOST_SystemWin32.cpp.
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 system process.
Definition at line 160 of file GHOST_SystemWin32.cpp.
References m_freq, m_start, and t.
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 870 of file GHOST_SystemWin32.cpp.
References GHOST_TabletData::Active, GHOST_WindowWin32::getHWND(), getMilliSeconds(), GHOST_ISystem::getSystem(), GHOST_WindowWin32::getTabletData(), GHOST_kEventButtonDown, GHOST_kEventButtonUp, GHOST_kEventCursorMove, GHOST_kTabletModeNone, mask(), MousePressed, MouseReleased, GHOST_System::pushEvent(), type, 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 1112 of file GHOST_SystemWin32.cpp.
References GHOST_TabletData::Active, bounds(), GHOST_WindowWin32::getClientBounds(), GHOST_Window::getCursorGrabAccum(), GHOST_Window::getCursorGrabAxis(), GHOST_Window::getCursorGrabBounds(), GHOST_Window::getCursorGrabModeIsWarp(), getCursorPosition(), getMilliSeconds(), GHOST_ISystem::getSystem(), GHOST_WindowWin32::getTabletData(), GHOST_kEventCursorMove, GHOST_kFailure, GHOST_kTabletModeNone, GHOST_TABLET_DATA_NONE, NULL, GHOST_Window::setCursorGrabAccum(), and setCursorPosition().
Referenced by s_wndProc().
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 389 of file GHOST_SystemWin32.cpp.
References driveTrackpad(), GHOST_TimerManager::fireTimers(), getMilliSeconds(), GHOST_EventManager::getNumEvents(), GHOST_System::getTimerManager(), GHOST_kFireTimeNever, GHOST_System::m_eventManager, next, GHOST_TimerManager::nextFireTime(), NULL, 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 1206 of file GHOST_SystemWin32.cpp.
References conv_utf_16_to_8(), getMilliSeconds(), GHOST_ISystem::getSystem(), GHOST_kEventKeyDown, GHOST_kEventKeyUp, hardKey(), m_keycode_last_repeat_key, m_keylayout, NULL, r, usdtokens::raw(), and state.
Referenced by s_wndProc().
|
staticprotected |
Handles minimum window size.
minmax | The MINMAXINFO structure. |
Definition at line 1376 of file GHOST_SystemWin32.cpp.
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 1044 of file GHOST_SystemWin32.cpp.
References GHOST_WindowWin32::getPointerInfo(), GHOST_ISystem::getSystem(), GHOST_kEventButtonDown, GHOST_kEventButtonUp, GHOST_kEventCursorMove, GHOST_kSuccess, GHOST_kTabletWinPointer, MousePressed, MouseReleased, GHOST_System::pushEvent(), time, type, 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 T25715. This is going to be a long list T42426.
Definition at line 638 of file GHOST_SystemWin32.cpp.
References GHOST_kKeyAccentGrave, GHOST_kKeyF13, 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 1456 of file GHOST_SystemWin32.cpp.
References GHOST_WindowManager::getActiveWindow(), getCursorPosition(), getMilliSeconds(), 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 1184 of file GHOST_SystemWin32.cpp.
References blender::math::abs(), getMilliSeconds(), 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 1311 of file GHOST_SystemWin32.cpp.
References getMilliSeconds(), GHOST_ISystem::getSystem(), GHOST_System::getWindowManager(), GHOST_kEventWindowActivate, GHOST_WindowManager::setActiveWindow(), and type.
Referenced by s_wndProc().
|
staticprotected |
Creates a window size event.
window | The window receiving the event (the active window). |
Definition at line 1294 of file GHOST_SystemWin32.cpp.
References GHOST_System::dispatchEvents(), getMilliSeconds(), GHOST_ISystem::getSystem(), GHOST_kEventWindowSize, GHOST_WindowWin32::m_inLiveResize, NULL, 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 899 of file GHOST_SystemWin32.cpp.
References GHOST_WindowWin32::getHWND(), GHOST_Wintab::getInput(), GHOST_Wintab::getLastTabletData(), getMilliSeconds(), 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(), UINT(), GHOST_WindowWin32::updateMouseCapture(), WINTAB_PRINTF, x, and y.
Referenced by s_wndProc().
|
static |
Creates a drag'n'drop event and pushes it immediately onto the event queue. Called by GHOST_DropTargetWin32 class.
eventType | The type of drag'n'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 1333 of file GHOST_SystemWin32.cpp.
References data, getMilliSeconds(), GHOST_ISystem::getSystem(), and GHOST_System::pushEvent().
Referenced by GHOST_DropTargetWin32::DragEnter(), GHOST_DropTargetWin32::DragLeave(), GHOST_DropTargetWin32::DragOver(), and GHOST_DropTargetWin32::Drop().
Puts buffer to system clipboard.
selection | Used by X11 only. |
Implements GHOST_System.
Definition at line 2236 of file GHOST_SystemWin32.cpp.
References buffer, conv_utf_8_to_16(), count_utf_16_from_8(), data, len, and NULL.
|
inlineprotected |
Returns the local state of the modifier keys (from the message queue).
keys | The state of the keys. |
Definition at line 475 of file GHOST_SystemWin32.h.
References m_modifierKeys.
Referenced by hardKey().
|
staticprotected |
Windows call back routine for our window class.
Definition at line 1493 of file GHOST_SystemWin32.cpp.
References GHOST_TabletData::Active, GHOST_ModifierKeys::clear(), GHOST_Wintab::disable(), GHOST_System::dispatchEvents(), GHOST_Wintab::enable(), GHOST_Wintab::gainFocus(), GET_POINTERID_WPARAM, 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_WindowWin32::m_inLiveResize, m_keycode_last_repeat_key, GHOST_WindowWin32::m_mousePresent, GHOST_System::m_multitouchGestures, m_wheelDeltaAccum, NULL, GHOST_WindowWin32::onPointerHitTest(), processButtonEvent(), processCursorEvent(), GHOST_Wintab::processInfoChange(), processKeyEvent(), processMinMaxInfo(), processPointerEvent(), processWheelEvent(), processWindowEvent(), processWindowSizeEvent(), processWintabEvent(), GHOST_System::pushEvent(), usdtokens::raw(), GHOST_Wintab::remapCoordinates(), GHOST_EventManager::removeTypeEvents(), GHOST_WindowWin32::resetPointerPenInfo(), GHOST_WindowWin32::setState(), storeModifierKeys(), GHOST_WindowWin32::ThemeRefresh(), UINT(), 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 2377 of file GHOST_SystemWin32.cpp.
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 454 of file GHOST_SystemWin32.cpp.
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 1345 of file GHOST_SystemWin32.cpp.
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 2266 of file GHOST_SystemWin32.cpp.
References alloc_utf16_from_8(), free(), GHOST_DialogError, GHOST_DialogWarning, GHOST_kSuccess, L, and NULL.
|
inlineprotected |
Stores the state of the modifier keys locally. For internal use only! param keys The new state of the modifier keys.
Definition at line 480 of file GHOST_SystemWin32.h.
References m_modifierKeys.
Referenced by hardKey(), and s_wndProc().
uint64_t GHOST_SystemWin32::tickCountToMillis | ( | __int64 | ticks | ) | const |
This method converts system ticks into milliseconds since the start of the system process.
Definition at line 169 of file GHOST_SystemWin32.cpp.
References m_lfstart.
Referenced by getMilliSeconds().
|
protected |
Console status.
Definition at line 469 of file GHOST_SystemWin32.h.
Referenced by GHOST_SystemWin32(), and setConsoleWindowState().
|
protected |
High frequency timer variable.
Definition at line 456 of file GHOST_SystemWin32.h.
Referenced by init(), and performanceCounterToMillis().
|
protected |
AltGr on current keyboard layout.
Definition at line 462 of file GHOST_SystemWin32.h.
Referenced by handleKeyboardChange().
|
protected |
State variable set at initialization.
Definition at line 454 of file GHOST_SystemWin32.h.
Referenced by getMilliSeconds(), and init().
|
protected |
The virtual-key code (VKey) of the last press event. Used to detect repeat events.
Definition at line 452 of file GHOST_SystemWin32.h.
Referenced by processKeyEvent(), and s_wndProc().
|
protected |
Stores keyboard layout.
Definition at line 466 of file GHOST_SystemWin32.h.
Referenced by handleKeyboardChange(), and processKeyEvent().
|
protected |
Language identifier.
Definition at line 464 of file GHOST_SystemWin32.h.
Referenced by handleKeyboardChange(), and processSpecialKey().
|
protected |
Low frequency timer variable.
Definition at line 460 of file GHOST_SystemWin32.h.
Referenced by init(), and tickCountToMillis().
|
protected |
The current state of the modifier keys.
Definition at line 450 of file GHOST_SystemWin32.h.
Referenced by retrieveModifierKeys(), and storeModifierKeys().
|
protected |
High frequency timer variable.
Definition at line 458 of file GHOST_SystemWin32.h.
Referenced by init(), and performanceCounterToMillis().
|
protected |
Wheel delta accumulator.
Definition at line 472 of file GHOST_SystemWin32.h.
Referenced by processWheelEvent(), and s_wndProc().