33
33
virtual ~UFFrame_() {}
36
struct UFBackendFrame_ {
37
UFBackendFrame_(oif::frame::UFFrame* frame)
38
: shared_ptr(frame) {}
40
oif::frame::SharedUFFrame shared_ptr;
39
46
class UFFrame : public UFFrame_, public Property<UFFrameProperty> {
41
UFFrame() : prev_(), window_(), touches_array_(), touches_map_() {}
42
UFFrame(const SharedWindow& window, const SharedUFFrame& prev);
48
UFFrame() : prev_(), touches_array_(), touches_map_() {}
49
UFFrame(const SharedUFFrame& prev);
44
51
UFTouch* CopyTouch(UFTouchId touchid, UFTouchState new_state) const;
45
52
bool IsTouchOwned(UFTouchId touchid);
53
UFStatus GiveTouch(SharedUFTouch& touch);
46
54
void UpdateTouch(const SharedUFTouch& touch);
47
55
bool IsEnded() const;
56
unsigned int GetNumTouches() const { return touches_array_.size(); }
48
57
UFStatus GetPreviousTouchValue(const UFTouch* touch, UFAxisType type,
49
58
float* value) const;
50
59
UFStatus GetPreviousTouchProperty(const UFTouch* touch,
51
60
UFTouchProperty property, void* value) const;
52
61
UFStatus GetTouchByIndex(unsigned int index, ::UFTouch* touch) const;
62
SharedUFTouch* GetSharedTouchById(UFTouchId touch_id);
53
63
UFStatus GetTouchById(UFTouchId touch_id, ::UFTouch* touch) const;
54
64
void ReleasePreviousFrame();