コード例 #1
0
void
CancelableBlockState::DispatchImmediate(const InputData& aEvent) const
{
  MOZ_ASSERT(!HasEvents());
  MOZ_ASSERT(GetTargetApzc());
  DispatchEvent(aEvent);
}
コード例 #2
0
ファイル: InputBlockState.cpp プロジェクト: LordJZ/gecko-dev
void
CancelableBlockState::DispatchImmediate(const InputData& aEvent) const
{
  MOZ_ASSERT(!HasEvents());
  MOZ_ASSERT(GetTargetApzc());
  GetTargetApzc()->HandleInputEvent(aEvent, mTransformToApzc);
}
コード例 #3
0
void
TouchBlockState::HandleEvents()
{
  while (HasEvents()) {
    TBS_LOG("%p returning first of %" PRIuSIZE " events\n", this, mEvents.Length());
    MultiTouchInput event = mEvents[0];
    mEvents.RemoveElementAt(0);
    DispatchEvent(event);
  }
}
コード例 #4
0
ファイル: InputBlockState.cpp プロジェクト: LordJZ/gecko-dev
void
TouchBlockState::HandleEvents()
{
  while (HasEvents()) {
    TBS_LOG("%p returning first of %" PRIuSIZE " events\n", this, mEvents.Length());
    MultiTouchInput event = mEvents[0];
    mEvents.RemoveElementAt(0);
    GetTargetApzc()->HandleInputEvent(event, mTransformToApzc);
  }
}
コード例 #5
0
void
WheelBlockState::HandleEvents()
{
  while (HasEvents()) {
    TBS_LOG("%p returning first of %lu events\n", this, mEvents.Length());
    ScrollWheelInput event = mEvents[0];
    mEvents.RemoveElementAt(0);
    GetTargetApzc()->HandleInputEvent(event, mTransformToApzc);
  }
}
コード例 #6
0
ファイル: AsyncIOManager.cpp プロジェクト: AmesianX/ppsspp
bool AsyncIOManager::WaitResult(u32 handle, AsyncIOResult &result) {
	std::unique_lock<std::mutex> guard(resultsLock_);
	ScheduleEvent(IO_EVENT_SYNC);
	while (HasEvents() && ThreadEnabled() && resultsPending_.find(handle) != resultsPending_.end()) {
		if (PopResult(handle, result)) {
			return true;
		}
		resultsWait_.wait_for(guard, std::chrono::milliseconds(16));
	}
	return PopResult(handle, result);
}
コード例 #7
0
bool AsyncIOManager::WaitResult(u32 handle, AsyncIOResult &result) {
	lock_guard guard(resultsLock_);
	ScheduleEvent(IO_EVENT_SYNC);
	while (HasEvents() && ThreadEnabled() && resultsPending_.find(handle) != resultsPending_.end()) {
		if (PopResult(handle, result)) {
			return true;
		}
		resultsWait_.wait_for(resultsLock_, 16);
	}
	if (PopResult(handle, result)) {
		return true;
	}

	return false;
}
コード例 #8
0
u64 AsyncIOManager::ResultFinishTicks(u32 handle) {
	AsyncIOResult result;

	lock_guard guard(resultsLock_);
	ScheduleEvent(IO_EVENT_SYNC);
	while (HasEvents() && ThreadEnabled() && resultsPending_.find(handle) != resultsPending_.end()) {
		if (ReadResult(handle, result)) {
			return result.finishTicks;
		}
		resultsWait_.wait_for(resultsLock_, 16);
	}
	if (ReadResult(handle, result)) {
		return result.finishTicks;
	}

	return 0;
}
コード例 #9
0
ファイル: AsyncIOManager.cpp プロジェクト: AmesianX/ppsspp
u64 AsyncIOManager::ResultFinishTicks(u32 handle) {
	AsyncIOResult result;

	std::unique_lock<std::mutex> guard(resultsLock_);
	ScheduleEvent(IO_EVENT_SYNC);
	while (HasEvents() && ThreadEnabled() && resultsPending_.find(handle) != resultsPending_.end()) {
		if (ReadResult(handle, result)) {
			return result.finishTicks;
		}
		resultsWait_.wait_for(guard, std::chrono::milliseconds(16));
	}
	if (ReadResult(handle, result)) {
		return result.finishTicks;
	}

	return 0;
}