public InputEvents(CoreWindow window, UIElement inputElement, TouchQueue touchQueue) { _touchQueue = touchQueue; // The key events are always tied to the window as those will // only arrive here if some other control hasn't gotten it. window.KeyDown += CoreWindow_KeyDown; window.KeyUp += CoreWindow_KeyUp; window.VisibilityChanged += CoreWindow_VisibilityChanged; if (inputElement != null) { // If we have an input UIElement then we bind input events // to it else we'll get events for overlapping XAML controls. inputElement.PointerPressed += UIElement_PointerPressed; inputElement.PointerReleased += UIElement_PointerReleased; inputElement.PointerCanceled += UIElement_PointerReleased; inputElement.PointerMoved += UIElement_PointerMoved; inputElement.PointerWheelChanged += UIElement_PointerWheelChanged; } else { // If we only have a CoreWindow then use it for input events. window.PointerPressed += CoreWindow_PointerPressed; window.PointerReleased += CoreWindow_PointerReleased; window.PointerMoved += CoreWindow_PointerMoved; window.PointerWheelChanged += CoreWindow_PointerWheelChanged; } }
public void Initialize(CoreWindow coreWindow, UIElement inputElement, TouchQueue touchQueue) { _coreWindow = coreWindow; _windowEvents = new InputEvents(_coreWindow, inputElement, touchQueue); _dinfo = DisplayInformation.GetForCurrentView(); _appView = ApplicationView.GetForCurrentView(); // Set a min size that is reasonable knowing someone might try // to use some old school resolution like 640x480. var minSize = new Windows.Foundation.Size(640 / _dinfo.RawPixelsPerViewPixel, 480 / _dinfo.RawPixelsPerViewPixel); _appView.SetPreferredMinSize(minSize); _orientation = ToOrientation(_dinfo.CurrentOrientation); _dinfo.OrientationChanged += DisplayProperties_OrientationChanged; _swapChainPanel = inputElement as SwapChainPanel; _swapChainPanel.SizeChanged += SwapChain_SizeChanged; _coreWindow.Closed += Window_Closed; _coreWindow.Activated += Window_FocusChanged; _coreWindow.CharacterReceived += Window_CharacterReceived; SetViewBounds(_appView.VisibleBounds.Width, _appView.VisibleBounds.Height); SetCursor(false); }
public void Initialize(CoreWindow coreWindow, UIElement inputElement, TouchQueue touchQueue) { _coreWindow = coreWindow; _windowEvents = new InputEvents(_coreWindow, inputElement, touchQueue); _orientation = ToOrientation(DisplayProperties.CurrentOrientation); DisplayProperties.OrientationChanged += DisplayProperties_OrientationChanged; _coreWindow.SizeChanged += Window_SizeChanged; _coreWindow.Closed += Window_Closed; _coreWindow.Activated += Window_FocusChanged; #if !WINDOWS_PHONE81 _currentViewState = ApplicationView.Value; #endif var bounds = _coreWindow.Bounds; SetClientBounds(bounds.Width, bounds.Height); SetCursor(false); }