|
Blender V4.5
|
#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 () 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 | m_hasPerformanceCounter |
| __int64 | m_freq |
| bool | m_hasAltGr |
| WORD | m_langId |
| HKL | m_keylayout |
| bool | m_consoleStatus |
| int | m_wheelDeltaAccumVertical |
| int | m_wheelDeltaAccumHorizontal |
| Protected Attributes inherited from GHOST_System | |
| GHOST_TimerManager * | m_timerManager |
| GHOST_WindowManager * | m_windowManager |
| GHOST_EventManager * | m_eventManager |
| 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 165 of file GHOST_SystemWin32.cc.
References false, handleKeyboardChange(), m_consoleStatus, m_freq, m_hasPerformanceCounter, 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 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 691 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 304 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 386 of file GHOST_SystemWin32.cc.
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. |
| 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 259 of file GHOST_SystemWin32.cc.
References GHOST_GPUSettings::context_type, GHOST_GPUSettings::flags, GHOST_WindowWin32::getValid(), GHOST_gpuDebugContext, GHOST_gpuStereoVisual, GHOST_PRINT, left, GHOST_System::m_windowManager, GHOST_GPUSettings::preferred_device, state, and top.
|
overridevirtual |
Dispose of a context.
| context | Pointer to the context to be disposed. |
Implements GHOST_ISystem.
Definition at line 374 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 408 of file GHOST_SystemWin32.cc.
References GHOST_kSuccess.
Referenced by GHOST_XrGraphicsBindingD3D::~GHOST_XrGraphicsBindingD3D().
|
protected |
Drives Direct Manipulation update.
Definition at line 1547 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 625 of file GHOST_SystemWin32.cc.
References GHOST_System::exit().
|
overridevirtual |
Returns the dimensions of all displays on this system.
Implements GHOST_ISystem.
Definition at line 253 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 557 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 575 of file GHOST_SystemWin32.cc.
References GHOST_CAPABILITY_FLAG_ALL, GHOST_kCapabilityKeyboardHyperKey, and GHOST_kCapabilityPrimaryClipboard.
|
overridevirtual |
Returns unsigned char from CUT_BUFFER0
| selection | Used by X11 only. |
Implements GHOST_System.
Definition at line 2373 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 2641 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 468 of file GHOST_SystemWin32.cc.
References GHOST_kFailure, GHOST_kSuccess, x, and y.
Referenced by processTrackpad(), and s_wndProc().
|
overridevirtual |
Returns the dimensions of the main display on this system.
Implements GHOST_ISystem.
Definition at line 247 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 209 of file GHOST_SystemWin32.cc.
References count, m_hasPerformanceCounter, 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 529 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 242 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 487 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 512 of file GHOST_SystemWin32.cc.
References GHOST_System::m_windowManager.
|
inlineprotected |
Check current key layout for AltGr
Definition at line 495 of file GHOST_SystemWin32.hh.
References i, 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 630 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 2451 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 587 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 1456 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 200 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 885 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 1134 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 415 of file GHOST_SystemWin32.cc.
References driveTrackpad(), GHOST_TimerManager::fireTimers(), getMilliSeconds(), 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 1271 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(), m_hasAltGr, m_keylayout, state, and USHORT.
Referenced by s_wndProc().
|
staticprotected |
Handles minimum window size.
| minmax | The MINMAXINFO structure. |
Definition at line 1462 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 1062 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 647 of file GHOST_SystemWin32.cc.
References GHOST_kKeyAccentGrave, GHOST_kKeyF13, GHOST_kKeyI, GHOST_kKeyNumpadPeriod, GHOST_kKeyQuote, GHOST_kKeySlash, GHOST_kKeyUnknown, and m_langId.
|
protected |
Creates trackpad events for the active window.
Definition at line 1556 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 1246 of file GHOST_SystemWin32.cc.
References abs, getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventWheelAxisHorizontal, GHOST_SystemWin32(), m_wheelDeltaAccumHorizontal, and GHOST_System::pushEvent().
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 1220 of file GHOST_SystemWin32.cc.
References abs, getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventWheelAxisVertical, GHOST_SystemWin32(), m_wheelDeltaAccumVertical, 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 1394 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 1380 of file GHOST_SystemWin32.cc.
References GHOST_System::dispatchEvents(), getMessageTime(), GHOST_ISystem::getSystem(), GHOST_kEventWindowSize, GHOST_SystemWin32(), 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 915 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 1419 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 2425 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 2768 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 1593 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, GHOST_SystemWin32(), 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_wheelDeltaAccumHorizontal, m_wheelDeltaAccumVertical, 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::usingTabletAPI(), and WINTAB_PRINTF.
Referenced by init().
|
overrideprotectedvirtual |
Set the Console State
| action | console state |
Implements GHOST_ISystem.
Definition at line 2899 of file GHOST_SystemWin32.cc.
References FALSE, GHOST_kConsoleWindowStateHide, GHOST_kConsoleWindowStateHideForNonConsoleLaunch, GHOST_kConsoleWindowStateShow, GHOST_kConsoleWindowStateToggle, isStartedFromCommandPrompt(), and m_consoleStatus.
Referenced by ~GHOST_SystemWin32().
|
overridevirtual |
Updates the location of the cursor (location in screen coordinates).
Implements GHOST_ISystem.
Definition at line 479 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 1431 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 2786 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 488 of file GHOST_SystemWin32.hh.
Referenced by GHOST_SystemWin32(), and setConsoleWindowState().
|
protected |
High frequency timer variable.
Definition at line 479 of file GHOST_SystemWin32.hh.
Referenced by GHOST_SystemWin32(), init(), and performanceCounterToMillis().
|
protected |
AltGr on current keyboard layout.
Definition at line 481 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processKeyEvent().
|
protected |
State variable set at initialization.
Definition at line 477 of file GHOST_SystemWin32.hh.
Referenced by getMilliSeconds(), GHOST_SystemWin32(), and init().
|
protected |
Stores keyboard layout.
Definition at line 485 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processKeyEvent().
|
protected |
Language identifier.
Definition at line 483 of file GHOST_SystemWin32.hh.
Referenced by handleKeyboardChange(), and processSpecialKey().
|
protected |
Definition at line 492 of file GHOST_SystemWin32.hh.
Referenced by processWheelEventHorizontal(), and s_wndProc().
|
protected |
Wheel delta accumulators.
Definition at line 491 of file GHOST_SystemWin32.hh.
Referenced by processWheelEventVertical(), and s_wndProc().