Especially on mobile platforms, devices have multi-touch support. Basically, the user can interact with the screen of the device using one or more fingers. FMX provides a simple way to handle touches on the screen, that is, the OnTouch event exposed by TForm descendants.
The event handler you can provide has the following signature:
procedure TMainForm.FormTouch(Sender: TObject; const Touches: TTouches;
const Action: TTouchAction);
Arguments include Touches and Action parameters. The first is an array of TTouch structures (records) basically representing the point the touch has happened at. Given the multi-touch support, you'll have an entry in the array for each finger actually detected on the device. The Action argument will help you discriminate which kind of event is happening among the None, Up, Down, Move, and Cancel possibilities.
You can easily keep track of the number of fingers currently on the active surface by...