当前位置: 首页>>代码示例>>C++>>正文


C++ EventQueue::AddEventToQueue方法代码示例

本文整理汇总了C++中EventQueue::AddEventToQueue方法的典型用法代码示例。如果您正苦于以下问题:C++ EventQueue::AddEventToQueue方法的具体用法?C++ EventQueue::AddEventToQueue怎么用?C++ EventQueue::AddEventToQueue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在EventQueue的用法示例。


在下文中一共展示了EventQueue::AddEventToQueue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: StopWatch

TEST(A1UnitTestDemos, Interaction) {
  StopWatch* watch = new StopWatch(XApplication::GetInstance()->GetEventQueue(), Rectangle(0, 0, 200, 75));
  EXPECT_FALSE(watch == NULL);

  // Create a synthetic mouse event to test whether watch responds to it
  // or not. Note that this assumes that clicking in the location
  // specified amounts to pressing the start/stop button. Your actual
  // interaction will likely be different, making this test useless.
  // However, this should provide a template for how to do unit tests
  // for interaction.
  EXPECT_FALSE(watch->GetParentWindow() == NULL);
  MouseEvent* e = new MouseEvent(watch->GetParentWindow(), MouseEvent::mouseUp, Point(10, 10));

  EventQueue* queue = XApplication::GetInstance()->GetEventQueue();
  EXPECT_FALSE(queue == NULL);

  EXPECT_FALSE(watch->IsRunning());
  queue->AddEventToQueue(e);
  unsigned int max_num_tries_to_flush_queue = 10;
  while (max_num_tries_to_flush_queue-- > 0
         && queue->GetNumEventsInQueue() > 0
         && !watch->IsRunning())
    {
      queue->ProcessNextEvent();
    }
  EXPECT_TRUE(watch->IsRunning());

  queue->ClearEventQueue();
  delete watch;
  // We do not need to delete the mouse event that we created, because
  // it will be deleted automatically by the EventQueue.
}
开发者ID:HeliWang,项目名称:cs349,代码行数:32,代码来源:A1UnitTests.cpp

示例2: EventQueue

TEST(A1MarkingEventQueueTests, EventQueueDestructorTest) {
  // Test that events are properly deleted on destruction
  EventQueue* eventQueue = new EventQueue();

  EXPECT_EQ(0, MemoryTrackingEvent::num_allocated);
  MemoryTrackingEvent* event = new MemoryTrackingEvent();
  EXPECT_EQ(1, MemoryTrackingEvent::num_allocated);

  eventQueue->AddEventToQueue(event);
  EXPECT_EQ(1, eventQueue->GetNumEventsInQueue());

  delete eventQueue;
  EXPECT_EQ(0, MemoryTrackingEvent::num_allocated);
}
开发者ID:HeliWang,项目名称:cs349,代码行数:14,代码来源:MarkingUnitTests.cpp

示例3: MemoryTrackingEvent

TEST(A1MarkingEventQueueTests, EventQueuing) {
  // Test that events are queued properly
  EventQueue eventQueue;
  EXPECT_EQ(0, eventQueue.GetNumEventsInQueue());

  EXPECT_EQ(0, MemoryTrackingEvent::num_allocated);
  MemoryTrackingEvent* event = new MemoryTrackingEvent();
  EXPECT_EQ(1, MemoryTrackingEvent::num_allocated);
  EXPECT_EQ(0, MemoryTrackingEvent::num_dispatches);

  eventQueue.AddEventToQueue(event);
  EXPECT_EQ(1, eventQueue.GetNumEventsInQueue());

  eventQueue.ProcessNextEvent();
  EXPECT_EQ(0, eventQueue.GetNumEventsInQueue());
  EXPECT_EQ(0, MemoryTrackingEvent::num_allocated);
  EXPECT_EQ(1, MemoryTrackingEvent::num_dispatches);
}
开发者ID:HeliWang,项目名称:cs349,代码行数:18,代码来源:MarkingUnitTests.cpp


注:本文中的EventQueue::AddEventToQueue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。