1
/*****************************************************************************
3
* utouch-frame - Touch Frame Library
5
* Copyright (C) 2011 Canonical Ltd.
7
* This program is free software: you can redistribute it and/or modify it
8
* under the terms of the GNU General Public License as published by the
9
* Free Software Foundation, either version 3 of the License, or (at your
10
* option) any later version.
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
17
* You should have received a copy of the GNU General Public License along
18
* with this program. If not, see <http://www.gnu.org/licenses/>.
20
****************************************************************************/
22
#ifndef UTOUCH_FRAME_TOUCH_H_
23
#define UTOUCH_FRAME_TOUCH_H_
30
#include "utouch/frame.h"
31
#include "v2/property.h"
32
#include "v2/typedefs.h"
39
class UFTouch : public UFTouch_, public Property<UFTouchProperty> {
41
UFTouch(UFTouchState state, UFTouchId id, float x, float y,
43
UFTouch(const UFTouch& touch, UFTouchState new_state);
45
UFTouchId id() const { return id_; }
46
UFTouchState state() const { return state_; }
48
void SetValue(UFAxisType type, float value);
49
UFStatus GetValue(UFAxisType type, float* value) const;
51
UFTouch(const UFTouch&) = delete;
52
UFTouch& operator=(const UFTouch&) = delete;
56
const UFTouchState state_;
57
std::map<UFAxisType, float> values_;
63
#endif // UTOUCH_FRAME_TOUCH_H_