Windows Store apps with C# and relative mouse movement

Some times we want use the mouse as a more general input device. For example, a 3-D modeler might use mouse input to orient a 3-D object by simulating a virtual trackball; or a game might use the mouse to change the direction of the viewing camera via mouse-look controls.

In WinRT  there is Pointer instead mouse because we need to think in different devices : mouse, pen/stylus and touch.

In CoreWindow there are pointer events like PointerMoved, PointerPressed, PointerReleased, etc. You can handle PointerMoved event and track de Pointer. The problem is that, in PointerEventArgs, you have the absolute position of pointer in the screen.

To accomplish our goal we need relative mouse position. MouseMoved event is good choice. MouseEventArgs has MouseDelta propertie that gets a value that indicates the change in the screen location of the mouse pointer since the last mouse event.


Windows.Devices.Input.MouseDevice.GetForCurrentView().MouseMoved += Page_MouseMoved;

So,  next step is to hide the mouse pointer to simulate a camera moving around the object.


Window.Current.CoreWindow.PointerCursor = null;

Caution, now you don’t have mouse pointer and it cannot invoke edge UI such as the charms, back stack, or app bar. Therefore, it is important to provide a mechanism to exit this particular mode, such as the commonly used Esc key.

See an example:


private void Page_Loaded(object sender, RoutedEventArgs e)

{

Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;

ActivateMouseLook();

 }

private void Page_Unloaded(object sender, RoutedEventArgs e)
{

Window.Current.CoreWindow.KeyDown -= CoreWindow_KeyDown;
DeactivateMouseLook();
}

private void ActivateMouseLook()

{

Windows.Devices.Input.MouseDevice.GetForCurrentView().MouseMoved += Page_MouseMoved;

_baseCursor = Window.Current.CoreWindow.PointerCursor;

Window.Current.CoreWindow.PointerCursor = null;

}

private void DeactivateMouseLook()

{

Window.Current.CoreWindow.PointerCursor = _baseCursor;

Windows.Devices.Input.MouseDevice.GetForCurrentView().MouseMoved -= Page_MouseMoved;                                             }

}

void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
{
if (args.VirtualKey == VirtualKey.Escape)
  {
DeactivateMouseLook();
}
}
Anuncis

Windows 8, Visual Studio 2012 and Sql Server 2012 Express

aa972637_Feature_SQL08_386x242

With new Visual Studio 2012 a short version of Sql Server 2012 called LocalDB is installed on your PC.

If you are running Windows 8 and you want to use all features of Sql Server 2012 you must install Sql Server Express 2012 Express (or if you can, Sql Server Express 2012) but ensure you that it’s Sql Server Express 2012 SP1. Yes, without SP1 a weird message is displayed when you try to install.

Here, I put the link to downloading the right version:

http://msdn.microsoft.com/en-us/evalcenter/hh230763.aspx

El meu bloc per més gent

Vaig començar aquest bloc amb la intenció d’escriure totes aquelles coses que estan relacionades directament amb la meva feina i que penso que son interessants per aquells  que com jo es dediquen a la formació, programació o consultoria.

Vaig començar el febrer d’aquest mateix any i després de passar més de 6 mesos escrivint sobre diferents matèries: Microsoft .Net, ASP.NET, Silverlight, WCF, Winforms, WPF, Sharepoint i formació, penso que ha arribat el moment de pensar que potser el meu bloc ha d’arribar a més gent. És per això que a partir d’avui escriuré les entrades en Català i Castellà alternativament.

A veure com funciona.

Segon trimestre de l’any

Durant aquest segon trimestre he impartit 5 cursos: 3 d’ASP.NET, 1 de WPF i 1 d’ASP.NET MVC.

Els d’ASP.NET cada un amb un nivell d’exigència diferent. El que en puc destacar és un que he fet per Anuntis. Una empresa amb més de 3 portals programats en ASP.NET. Un grup de 15 persones a punt per escoltar què els hi podia ensenyar de nou. El curs era d’ASP.NET amb el Visual Studio 2010 i per tant la única cosa que els hi podia ensenyar era les novetat dels Framework 4.o, però no té perquè ser així. El grup era avançat però hi havien conceptes d’ASP.NET en general que no tenien massa clar o que no havien fet mai. El primer dia serveix per el formador per estudiar els alumnes i veure quines son les coses que més els hi poden interessar per tal de que el temps que hi dediquen ells al curs els hi sigui el màxim d’útil.

De WPF era més orientat al databinding, a la gestió de la memòria i al rendiment.

El d’ASP.NET MVC és sobre la versió actual i nova: 3. Aquesta tecnologia és totalment diferent a ASP.NET amb Webforms. Penso que és interessant coneixa-ho i posar-ho a la pràctica és sempre segons els requeriments que tenim.

El meu projecte personal espero poder-ne parlar amb el resum del tercer trimestre.

No Spotify no, així no

En el moment que em vaig proposar escriure un blog vaig pensar que tot seria relacionat amb la meva vida professional i que cada un dels meus post seria estrictament de les coses que em passen a la meva feina. Per això m’ho he pensat més d’una vegada si escric o no sobre Spotify. He vist que últimament Spotify era una eina més de la meva feina, i per tant, si en puc parlar.

Ja fa temps que vaig decidir descarregar i provar Spotify com a eina per escoltar musica i des del primer moment em va encantar, vaig trobar una molt bona idea el poder escoltar qualsevol musica sense pagar res i tenir que escoltar publicitat de tant en tant. No és això el què fa la radio tants i tants anys? doncs amb Spotify és com poder-te personalitzar la teva emissora i no tenir que escoltar cançons que no et van.

Tot anava molt bé, fins que aquesta empresa va decidir de que el freemium no funciona. Fins aquí no tinc res a dir, ells saben millor que ningú si surten o no els números. Van decidir doncs finalitzar amb l’Spotify Open i limitar-ho bruscament a 10 hores al mes i poder escoltar cada cançó només 5 vegades. Puc entendre la limitació mensual però trobo que limitar cada canço 5 vegades és absolutament abusiu i inacceptable.

Però vaig pensar, bé potser pagaré la quota mínima o potser continuaré amb el format gratuït acceptant aquesta limitació. Però la decepció més gran la vaig trobar al primer moment en que vaig escoltar la PUBLICITAT amb el meu Spotify capat.

No Spotify no, per aquí no hi passo. Fins ara la publicitat pagava el que jo no volia pagar. Per què ara que Spotify està tant i tant limitat fins al punt de que sembla més un demo, per fer el símil amb els jocs de pc, que una aplicació? No entenc perquè la publicitat ha de continuar pagant per un servei que em dones a mitges. No he vist mai cap demo de joc de PC amb publicitat i espero no veure-ho mai. Les demos son per enganxar a la gent, no son per fer diners.

Twitter vas lent

Porto ja temps amb el problema de quant escric alguna cosa al meu compte de Twitter aquest no respon adequadament. El què fa és estar en espera indefinit en el moment que genero un tweet. Et posa dels nervis perquè cada vegada que escrius un tweet has d’actualitzar tota la pàgina i veure si realment ha acabat el procés.

Busco per internet i no veig res, ningú que l’hi passi exactament el mateix, no ho entenc.

twitter.com/jparareda