2009/01/14

Multi-Touch & Gesture support on 最新的 VS 2008/.NET framework 3.5

==== Gesture ====

InkEdit.Gesture Event (Microsoft.Ink)
Basic C# Visual C++ J# JScript .NET Framework Class Library InkEdit..::.Gesture Event InkEdit Class Example See Also Send Feedback Updated: November 2007 Occurs when an application gesture is recognized. Namespace: Microsoft.Ink Assembly: Microsoft.Ink (in Microsoft.Ink.dll ...
Source: microsoft.ink

InkOverlay.Gesture Event (Microsoft.Ink)
Basic C# Visual C++ J# JScript .NET Framework Class Library InkOverlay..::.Gesture Event InkOverlay Class Example See Also Send Feedback Updated: November 2007 Occurs when an application gesture is recognized. Namespace: Microsoft.Ink Assembly: Microsoft.Ink (in Microsoft.Ink.dll ...
Source: microsoft.ink

InkCollector.Gesture Event (Microsoft.Ink)
Basic C# Visual C++ J# JScript .NET Framework Class Library InkCollector..::.Gesture Event InkCollector Class Example See Also Send Feedback Updated: November 2007 Occurs when an application gesture is recognized. Namespace: Microsoft.Ink Assembly: Microsoft.Ink (in Microsoft.Ink.dll ...
Source: microsoft.ink

InkPicture.Gesture Event (Microsoft.Ink)
Basic C# Visual C++ J# JScript .NET Framework Class Library InkPicture..::.Gesture Event InkPicture Class Example See Also Send Feedback Updated: November 2007 Occurs when an application gesture is recognized. Namespace: Microsoft.Ink Assembly: Microsoft.Ink (in Microsoft.Ink.dll ...
Source: microsoft.ink

Gesture Event Event (Windows)
InkEdit.Gesture Event Occurs when an application gesture is recognized. Syntax HRESULT Gesture( [in] IInkCursor *Cursor, [in] IInkStrokes *Strokes, [in] VARIANT Gestures, [in, out] VARIANT ...
Source: TabletandTouch

InputBinding.Gesture Property (System.Windows.Input)
Visual C++ J# JScript .NET Framework Class Library InputBinding..::.Gesture Property InputBinding Class Example See Also Send Feedback Updated: November ... com/winfx/xaml/presentationSyntaxVisual Basic (Declaration) Public Overridable Property Gesture As InputGestureVisual Basic (Usage) Dim instance As InputBinding Dim value ...
Source: System.Windows.Input

Gesture Class (Microsoft.Ink)
Basic C# Visual C++ J# JScript .NET Framework Class Library Gesture Class Members See Also Send Feedback Updated: November 2007 Represents the ability to query particular properties of a gesture returned from a gesture recognition. Namespace: Microsoft.Ink Assembly: Microsoft ...
Source: microsoft.ink

MouseBinding.Gesture Property (System.Windows.Input)
Basic C# Visual C++ J# JScript .NET Framework Class Library MouseBinding..::.Gesture Property MouseBinding Class Example See Also Send Feedback Updated: November 2007 Gets or sets the gesture associated with this MouseBinding. Namespace: System.Windows.Input Assembly: PresentationCore (in PresentationCore ...
Source: System.Windows.Input

Gesture Event Event (Windows)
InkCollector.Gesture Event Occurs when an application-specific gesture is recognized. Syntax void Gesture( [in] IInkCursor *Cursor, [in] IInkStrokes *Strokes, [in] VARIANT Gestures, [in, out ...
Source: TabletandTouch

Gesture Event Event (Windows)
InkOverlay.Gesture Event Occurs when an application-specific gesture is recognized. Syntax void Gesture( [in] IInkCursor *Cursor, [in] IInkStrokes *Strokes, [in] VARIANT Gestures, [in, out ...
Source: TabletandTouch

Gesture Event Event (Windows)
InkPicture.Gesture Event Occurs when an application-specific gesture is recognized. Syntax void Gesture( [in] IInkCursor *Cursor, [in] IInkStrokes *Strokes, [in] VARIANT Gestures, [in, out ...
Source: TabletandTouch

KeyBinding.Gesture Property (System.Windows.Input)
Basic C# Visual C++ J# JScript .NET Framework Class Library KeyBinding..::.Gesture Property KeyBinding Class Example See Also Send Feedback Updated: November 2007 Gets or sets the gesture associated with this KeyBinding. Namespace: System.Windows.Input Assembly: PresentationCore (in PresentationCore ...
Source: System.Windows.Input

InkCanvas.Gesture Event (System.Windows.Controls)
C# Visual C++ J# JScript .NET Framework Class Library InkCanvas..::.Gesture Event InkCanvas Class Example See Also Send Feedback Updated: November 2007 Occurs when the InkCanvas detects a gesture. Namespace: System.Windows.Controls Assembly: PresentationFramework (in PresentationFramework.dll) XMLNS for ...
Source: System.Windows.Controls

Gesture Members (Microsoft.Ink)
Members Include .NET Framework Members Include .NET Compact Framework Members Include XNA Framework Members .NET Framework Class Library Gesture Members Gesture Class Methods Properties See Also Send Feedback Updated: November 2007 Represents the ability to query particular properties of a ...
Source: microsoft.ink

Using the Microsoft Gesture Recognizer Only (Windows)
Using the Microsoft Gesture Recognizer Only You can use an ink collector (InkCollector, InkOverlay, or InkPicture) to access the default Microsoft gesture recognizer directly. To use an ink collector to access the gesture ...
Source: TabletandTouch

Gesture Properties (Microsoft.Ink)
Members Include .NET Framework Members Include .NET Compact Framework Members Include XNA Framework Members .NET Framework Class Library Gesture Properties Gesture Class See Also Send Feedback Updated: November 2007 The Gesture type exposes the following members.Properties NameDescriptionConfidenceGets the level ...
Source: microsoft.ink

Using a Custom Gesture Recognizer (Windows)
Using a Custom Gesture Recognizer You can use a custom gesture recognizer independently, or in addition to the GestureRecognizer. Create your custom gesture recognizer as an IStylusSyncPlugin ...
Source: TabletandTouch

Gesture Methods (Microsoft.Ink)
Members Include .NET Framework Members Include .NET Compact Framework Members Include XNA Framework Members .NET Framework Class Library Gesture Methods Gesture Class See Also Send Feedback Updated: November 2007 The Gesture type exposes the following members.Methods NameDescriptionEquals Determines whether ...
Source: microsoft.ink

Application Gestures and Semantic Behavior (Windows)
Windows Vista SDK. The Microsoft gesture recognizer is built to recognize these gestures. By default, no gestures are enabled. Applications must choose the gestures to enable. In addition to recognizing gestures, the Microsoft gesture recognizer also provides alternates along with ...
Source: TabletandTouch

InkApplicationGesture Enumeration (Windows)
set the interest in a set of application-specific gesture. Application gestures are gestures that you can choose to have ... enumeration type). This means you can incorporate an application gesture that has a component that may be construed as a ...
Source: TabletandTouch


=========================================================================
Multi Touch
=========================================================================

Intuitive User Experience (Windows)
time, Windows 7 allows developers and their end-users to control their computers by touching the screen. Touch and multi-touch features provide a natural, intuitive way for users to interact with PCs. The developer platform includes high-level gesture ...
Source: Windows7DeveloperGuide

Supporting Pen and Touch Input (Windows)
Supporting Pen and Touch Input Tablet PC users rely on pen and touch input as primary methods of controlling applications and entering information. This section discusses the use ...
Source: MobilPC

Pen and Touch Input in Windows Vista (Windows)
Pen and Touch Input in Windows Vista Windows Vista introduces touch input capability for Tablet PCs that support it, a new cursor scheme to use with the ...
Source: MobilPC

Designing for Touch Input (Windows)
Designing for Touch Input If your users will use touch as a primary way of interacting with your application, consider implementing a user interface that's ...
Source: MobilPC

Touch Input Support in Windows Vista (Windows)
Touch Input Support in Windows Vista Starting with Windows Vista, Tablet and Touch Technology has support for touch input on Tablet PC's with touch capable digitizers ...
Source: TabletandTouch

Touch Members (Microsoft.Build.Tasks)
Members Include .NET Framework Members Include .NET Compact Framework Members Include XNA Framework Members .NET Framework Class Library Touch Members Touch Class Constructors Methods Properties See Also Send Feedback Updated: November 2007 This API supports the .NET Framework infrastructure and ...
Source: microsoft.build.tasks

Touch Class (Microsoft.Build.Tasks)
NET Framework Class Library Touch Class Members See Also Send Feedback Updated: November 2007 This API supports the .NET Framework infrastructure and is not intended to be used directly from your code. Implements the Touch task. Use the Touch element ...
Source: microsoft.build.tasks

Touch Constructor (Microsoft.Build.Tasks)
Code: Visual C++ Code: J# Code: JScript Visual Basic C# Visual C++ J# JScript .NET Framework Class Library Touch Constructor Touch Class See Also Send Feedback Updated: November 2007 This API supports the .NET Framework infrastructure and is not intended ...
Source: microsoft.build.tasks

No Touch Deployment (Windows)
No Touch Deployment Implementation of no-touch deployment of ink-enabled applications from a Web or file server. The Microsoft?.NET Framework gives you ...
Source: TabletandTouch

Optimizing Touch Command and Control (Windows)
Optimizing Touch Command and Control A well-designed Ultra-Mobile PC user interface provides users simple, direct and reliable touch interaction. Design and organize touch targets, such as buttons and links ...
Source: MobilPC

No-Touch Deployment Web Sample (Windows)
No-Touch Deployment Web Sample Description of the No-Touch Deployment sample for the Tablet PC. This sample shows how to deploy a managed Tablet PC ...
Source: TabletandTouch

Touch Task
J# JScript .NET Framework General Reference Touch Task Example See Also Send Feedback Updated: November 2007 Sets the access and modification times of files. Parameters The following table describes the parameters of the Touch task. Parameter Description AlwaysCreate Optional Boolean ...
Source: .NET Framework: General Reference

Touch Properties (Microsoft.Build.Tasks)
Members Include .NET Framework Members Include .NET Compact Framework Members Include XNA Framework Members .NET Framework Class Library Touch Properties Touch Class See Also Send Feedback Updated: November 2007 This API supports the .NET Framework infrastructure and is not intended ...
Source: microsoft.build.tasks

Touch Methods (Microsoft.Build.Tasks)
Members Include .NET Framework Members Include .NET Compact Framework Members Include XNA Framework Members .NET Framework Class Library Touch Methods Touch Class See Also Send Feedback Updated: November 2007 This API supports the .NET Framework infrastructure and is not intended ...
Source: microsoft.build.tasks

2009/01/07

base64 encode 如何把外部的檔放進同一個 html 中?

底下要談的主要是針對 SVG, 但是一般的 HTML 其實也行,只是範例是使用 SVG 來講解而已,請參考SVG 範例, HTML 範例

這邊有講解,並且有示範用 perl 如何完成。之所以能將外部的檔案放在 html / svg 裡,其原理是要先對想包的內容利用 base64 的演算法編碼過,這樣才不會在內容中有特殊字元,例如 ", ', <, >,或一般的控制字元(ASCII < 0x20),而這樣的事是 W3C 制定的標準,因此瀏覽器必須支援.....(不支援的大概就是沒聽過的瀏覽器)

若要轉換,可以參考底下的線上轉換工具,或是安裝 cygwin, 或是在 Linux 下,都有預設的工具,其命令名稱就叫 base64(在 coreutils 套件下):

http://webnet77.com/cgi-bin/helpers/base-64.pl
http://rumkin.com/tools/compression/base64.php
這邊有一個用 javascript 寫的工具,你可以自己寫頁面來轉換, 上面有提到utf-8 的問題,值得大家參考。還有一點參考資料可助理解 base64. 這邊有一個號稱效率更高的演算法,用的是查表法.

SVG 範例裡面,可以看到用法上如下,其中 &si; 其實是個變數,定義在前面

<!ENTITY si 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA'>

<symbol id="Invader1b">
<image width="8" height="8" xlink:href="&si;EAAA...." />
</symbol>
====== 上面相當於 =====>
<symbol id="Invader1b">
<image width="8" height="8" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAA...." />
</symbol>


上面 href="data:image/png;base64, 是型別宣告,若你的內容是 gif, jpg 請改成適當的字串值,後面接著的就是經過 base64 編碼後的內容,通常你用純文字檔檢視即可,複製後再貼上即可。要用 base64 進行轉換相當簡單,譬如把 a.png 編碼成 a.png.base64:
% base64 a.png > a.png.base64
反編碼(解碼)的話如下:
% base64 -d a.png.base64 > a.png

同樣的事若是放在 C/C++ 中呢?可以參考這一篇說的方式去做,這邊的意思是,原來說的是文字檔,其實任何檔都可以看成是文字檔不是嗎?差別只在於你怎麼用而已,而不是在轉換過程。這麼說不是沒根據的,譬如網頁,怎麼傳圖片?譬如 email 怎麼夾帶圖片與影片?我說個最簡單的,你想想看,同樣的內容用 printf() 裡面的 %d, %f, %x, %s 來印,結果是不是不相同?why?