本文整理汇总了C++中FlagStatus::lock_increase方法的典型用法代码示例。如果您正苦于以下问题:C++ FlagStatus::lock_increase方法的具体用法?C++ FlagStatus::lock_increase怎么用?C++ FlagStatus::lock_increase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FlagStatus
的用法示例。
在下文中一共展示了FlagStatus::lock_increase方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
TEST(FlagStatus, getLockedFlags) {
FlagStatus flagStatus;
EXPECT_EQ(Flags(0), flagStatus.getLockedFlags());
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.temporary_increase(ModifierFlag::SHIFT_R);
flagStatus.lock_increase(ModifierFlag::COMMAND_L);
flagStatus.lock_increase(ModifierFlag::OPTION_L);
EXPECT_EQ(ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L, flagStatus.getLockedFlags());
}
示例2: Flags
TEST(FlagStatus, CapsLock) {
FlagStatus flagStatus;
flagStatus.set(KeyCode::CAPSLOCK, Flags(ModifierFlag::CAPSLOCK));
EXPECT_EQ(Flags(ModifierFlag::CAPSLOCK), flagStatus.makeFlags());
flagStatus.reset();
flagStatus.set(KeyCode::A, Flags(ModifierFlag::CAPSLOCK));
EXPECT_EQ(Flags(ModifierFlag::CAPSLOCK), flagStatus.makeFlags());
// from other keyboard
flagStatus.set(KeyCode::A, Flags(0));
EXPECT_EQ(Flags(ModifierFlag::CAPSLOCK), flagStatus.makeFlags());
flagStatus.set(KeyCode::A, Flags(ModifierFlag::CAPSLOCK));
EXPECT_EQ(Flags(ModifierFlag::CAPSLOCK), flagStatus.makeFlags());
// reset
flagStatus.set(KeyCode::CAPSLOCK, Flags(0));
EXPECT_EQ(Flags(), flagStatus.makeFlags());
// soft caps
flagStatus.lock_increase(ModifierFlag::CAPSLOCK);
flagStatus.set(KeyCode::A, Flags(0));
EXPECT_EQ(Flags(ModifierFlag::CAPSLOCK), flagStatus.makeFlags());
// soft caps will be canceled by hardware caps
flagStatus.set(KeyCode::CAPSLOCK, Flags(0));
EXPECT_EQ(Flags(0), flagStatus.makeFlags());
}
示例3: stfc
TEST(FlagStatus, ScopedTemporaryFlagsChanger) {
{
FlagStatus flagStatus;
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.increase(ModifierFlag::SHIFT_R);
flagStatus.temporary_increase(ModifierFlag::CONTROL_L);
flagStatus.lock_increase(ModifierFlag::COMMAND_R);
flagStatus.sticky_increase(ModifierFlag::OPTION_R);
EXPECT_EQ(Flags(ModifierFlag::SHIFT_L | ModifierFlag::SHIFT_R | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_R | ModifierFlag::OPTION_R), flagStatus.makeFlags());
{
FlagStatus::ScopedTemporaryFlagsChanger stfc(flagStatus,
ModifierFlag::FN | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_R);
EXPECT_EQ(Flags(ModifierFlag::FN | ModifierFlag::OPTION_L | ModifierFlag::SHIFT_R), flagStatus.makeFlags());
}
EXPECT_EQ(Flags(ModifierFlag::SHIFT_L | ModifierFlag::SHIFT_R | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_R | ModifierFlag::OPTION_R), flagStatus.makeFlags());
flagStatus.decrease(ModifierFlag::SHIFT_L);
flagStatus.decrease(ModifierFlag::SHIFT_L);
flagStatus.decrease(ModifierFlag::SHIFT_L);
EXPECT_EQ(Flags(ModifierFlag::SHIFT_L | ModifierFlag::SHIFT_R | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_R | ModifierFlag::OPTION_R), flagStatus.makeFlags());
flagStatus.decrease(ModifierFlag::SHIFT_L);
EXPECT_EQ(Flags(ModifierFlag::SHIFT_R | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_R | ModifierFlag::OPTION_R), flagStatus.makeFlags());
}
// ------------------------------------------------------------
{
FlagStatus flagStatus;
flagStatus.decrease(ModifierFlag::SHIFT_L);
flagStatus.decrease(ModifierFlag::SHIFT_L);
{
Flags flags(ModifierFlag::SHIFT_R);
FlagStatus::ScopedTemporaryFlagsChanger stfc(flagStatus, flags);
EXPECT_EQ(Flags(ModifierFlag::SHIFT_R), flagStatus.makeFlags());
}
flagStatus.increase(ModifierFlag::SHIFT_L);
flagStatus.increase(ModifierFlag::SHIFT_L);
EXPECT_EQ(Flags(0), flagStatus.makeFlags());
}
}
示例4:
TEST(FlagStatus, lock_clear) {
FlagStatus flagStatus;
{
Vector_ModifierFlag v;
v.push_back(ModifierFlag::COMMAND_L);
v.push_back(ModifierFlag::FN);
v.push_back(ModifierFlag::SHIFT_L);
flagStatus.lock_increase(v);
EXPECT_EQ(ModifierFlag::COMMAND_L | ModifierFlag::FN | ModifierFlag::SHIFT_L, flagStatus.makeFlags());
}
{
flagStatus.increase(ModifierFlag::CAPSLOCK);
EXPECT_EQ(ModifierFlag::CAPSLOCK | ModifierFlag::COMMAND_L | ModifierFlag::FN | ModifierFlag::SHIFT_L,
flagStatus.makeFlags());
}
flagStatus.lock_clear();
EXPECT_EQ(Flags(0), flagStatus.makeFlags());
}