L’oggetto Display del .NET Gadgeteer SDK è un display touch screen incredibilmente facile da utilizzare. Infatti, oltre alle classiche funzioni “primitive” per disegnare immagini, forme geometriche e testo, espone un oggetto, chiamato WPFWindow, grazie al quale è possibile creare oggetti con una filosofia simile a quella che si avrebbe con WPF (ovvero utilizzando contenitori e controlli).
Ovviamente, il numero di oggetti disponibili è limitato, ma sono presenti classi come Canvas, Text, Image e ListBox, che possono essere utilizzate per creare oggetti più complessi. Il seguente esempio è tratto dal forum di TinyCLR:
1: Window window;
2: Canvas canvas;
3: Image image;
4: Text text;
5:
6: void SetupWindow()
7: {
8: window = display.WPFWindow;
9: canvas = new Canvas();
10:
11: window.Child = canvas;
12:
13: image = new Image(Resources.GetBitmap(Resources.BitmapResources.hello));
14:
15: canvas.Children.Add(image);
16:
17: Canvas.SetLeft(image, 50);
18: Canvas.SetTop(image, 40);
19:
20: text = new Text(Resources.GetFont(Resources.FontResources.NinaB), "hello");
21:
22: canvas.Children.Add(text);
23:
24: Canvas.SetTop(text, 100);
25: Canvas.SetRight(text, 100);
26:
27: image.TouchDown += new Microsoft.SPOT.Input.TouchEventHandler(image_TouchDown);
28: image.TouchUp += new Microsoft.SPOT.Input.TouchEventHandler(image_TouchUp);
29: }
30:
31: void image_TouchUp(object sender, Microsoft.SPOT.Input.TouchEventArgs e)
32: {
33: text.TextContent = "touch up";
34: }
35:
36: void image_TouchDown(object sender, Microsoft.SPOT.Input.TouchEventArgs e)
37: {
38: text.TextContent = "touch down";
39: }
Alla riga 8 si recupera il contesto WPF del display, quindi si imposta il contenuto su un oggetto Canvas: dal momento che il display è a dimensione fissa, esso ci permette di posizionare gli oggetti esattamente dove vogliamo. Viene poi creata un’immagine (riga 13) e una casella di testo (riga 20). Entrambi sono aggiunti al contenitore. Infine, ci si registra sugli eventi TouchDown e TouchUp dell’immagine, in modo da cambiare il contenuto dell’etichetta quando si tocca l’immagine con il dito e quando lo si alza dallo schermo.
Come vedete, è tutto molto semplice. Il framework si occupa di mettere gli oggetti nella posizione specificata, di capire le coordinate del punto che abbiamo toccato e di lanciare gli eventi corrispondenti sull’oggetto che si trova in tale posizione.