mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
61 lines
1.7 KiB
C++
61 lines
1.7 KiB
C++
// Copyright 2013 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_EVENTS_TEST_TEST_EVENT_PROCESSOR_H_
|
|
#define UI_EVENTS_TEST_TEST_EVENT_PROCESSOR_H_
|
|
|
|
#include "base/memory/scoped_ptr.h"
|
|
#include "ui/events/event_processor.h"
|
|
|
|
namespace ui {
|
|
namespace test {
|
|
|
|
class TestEventProcessor : public EventProcessor {
|
|
public:
|
|
TestEventProcessor();
|
|
~TestEventProcessor() override;
|
|
|
|
int num_times_processing_started() const {
|
|
return num_times_processing_started_;
|
|
}
|
|
|
|
int num_times_processing_finished() const {
|
|
return num_times_processing_finished_;
|
|
}
|
|
|
|
void set_should_processing_occur(bool occur) {
|
|
should_processing_occur_ = occur;
|
|
}
|
|
|
|
void SetRoot(scoped_ptr<EventTarget> root);
|
|
void Reset();
|
|
|
|
// EventProcessor:
|
|
bool CanDispatchToTarget(EventTarget* target) override;
|
|
EventTarget* GetRootTarget() override;
|
|
EventDispatchDetails OnEventFromSource(Event* event) override;
|
|
void OnEventProcessingStarted(Event* event) override;
|
|
void OnEventProcessingFinished(Event* event) override;
|
|
|
|
private:
|
|
scoped_ptr<EventTarget> root_;
|
|
|
|
// Used in our override of OnEventProcessingStarted(). If this value is
|
|
// false, mark incoming events as handled.
|
|
bool should_processing_occur_;
|
|
|
|
// Counts the number of times OnEventProcessingStarted() has been called.
|
|
int num_times_processing_started_;
|
|
|
|
// Counts the number of times OnEventProcessingFinished() has been called.
|
|
int num_times_processing_finished_;
|
|
|
|
DISALLOW_COPY_AND_ASSIGN(TestEventProcessor);
|
|
};
|
|
|
|
} // namespace test
|
|
} // namespace ui
|
|
|
|
#endif // UI_EVENTS_TEST_TEST_EVENT_PROCESSOR_H_
|