15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ui/base/touch/touch_device.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/win/windows_version.h"
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <windows.h>
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ui {
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool IsTouchDevicePresent() {
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  int value = GetSystemMetrics(SM_DIGITIZER);
13ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch  return (value & NID_READY) &&
14ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch      ((value & NID_INTEGRATED_TOUCH) || (value & NID_EXTERNAL_TOUCH));
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)int MaxTouchPoints() {
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  if (!IsTouchDevicePresent())
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    return 0;
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)  return GetSystemMetrics(SM_MAXIMUMTOUCHES);
221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)}
231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ui
25