| Index: ui/base/touch/axis.h
|
| ===================================================================
|
| --- ui/base/touch/axis.h (revision 0)
|
| +++ ui/base/touch/axis.h (revision 0)
|
| @@ -0,0 +1,98 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef UI_BASE_TOUCH_AXIS_H_
|
| +#define UI_BASE_TOUCH_AXIS_H_
|
| +#pragma once
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/property_bag.h"
|
| +
|
| +namespace ui {
|
| +// Wraps up properties of an axis of a multi-touch device.
|
| +// An axis refers to a measurement associated with a touch
|
| +// reported by a device.
|
| +class Axis {
|
| + public:
|
| + enum Type {
|
| + AXIS_TYPE_X = 0, // X coordinate.
|
| + AXIS_TYPE_Y, // Y coordinate.
|
| + AXIS_TYPE_TOUCH_MAJOR, // Width along major axis of contact area of touch.
|
| + AXIS_TYPE_TOUCH_MINOR, // Width along minor axis of contact area of touch.
|
| + AXIS_TYPE_WIDTH_MAJOR, // Width along major axis of touch tool.
|
| + AXIS_TYPE_WIDTH_MINOR, // Width along minor axis of touch tool.
|
| + AXIS_TYPE_ORIENTATION, // Orientation of major axis of contact ellipse.
|
| + AXIS_TYPE_TOOL, // Tool type.
|
| + AXIS_TYPE_BLOB_ID, // Blob ID of group of touches.
|
| + AXIS_TYPE_TRACKING_ID, // Tracking ID.
|
| + AXIS_TYPE_PRESSURE, // Pressure.
|
| + AXIS_TYPE_HOVER_DISTANCE, // Hover distance
|
| + AXIS_TYPE_UNKNOWN,
|
| + AXIS_TYPE_LAST
|
| + };
|
| +
|
| + Axis();
|
| + ~Axis();
|
| +
|
| + // Compiler generated copy-c'tor and assignment operator are fine.
|
| + // Returns the id of the axis.
|
| + int id() const { return id_; }
|
| + // Adjusts the id of the axis.
|
| + void set_id(int id) { id_ = id; }
|
| +
|
| + // Returns the type of the axis.
|
| + Type type() const { return type_; }
|
| + // Adjusts the type of the axis.
|
| + void set_type(Type type) { type_ = type; }
|
| +
|
| + // Returns the human-readable name of the axis.
|
| + const std::string & name() const { return name_; }
|
| + // Adjusts the human-readable name of the axis.
|
| + void set_name(const std::string& name) { name_ = name; }
|
| +
|
| + // Returns the minimum value of the axis' measurement.
|
| + float min() const { return min_; }
|
| + // Adjusts the minimum value of the axis' measurement.
|
| + void set_min(float min) { min_ = min; }
|
| +
|
| + // Returns the maximum value of the axis' measurement.
|
| + float max() const { return max_; }
|
| + // Adjusts the maximum value of the axis' measurement.
|
| + void set_max(float max) { max_ = max; }
|
| +
|
| + // Returns the resolution of values supported by the axis/device.
|
| + float resolution() const { return resolution_; }
|
| + // Adjusts the resolution of values supported by the axis/device.
|
| + void set_resolution(float res) { resolution_ = res; }
|
| +
|
| + // Returns the current value of the measurement.
|
| + float value() const { return value_; }
|
| + // Adjusts the current value of the measurement.
|
| + void set_value(float value) { value_ = value; }
|
| +
|
| + // Returns a pointer to a property bag to associate arbitrary
|
| + // information with an axis object.
|
| + base::PropertyBag * payload() {
|
| + if (payload_ == NULL)
|
| + payload_ = new base::PropertyBag();
|
| +
|
| + return payload_;
|
| + }
|
| +
|
| + private:
|
| + int id_;
|
| + Type type_;
|
| + std::string name_;
|
| + float min_;
|
| + float max_;
|
| + float resolution_;
|
| + float value_;
|
| + base::PropertyBag* payload_;
|
| +};
|
| +
|
| +} // namespace ui
|
| +
|
| +#endif // UI_BASE_TOUCH_AXIS_H_
|
| +
|
|
|
| Property changes on: ui/base/touch/axis.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|