📄 program_10_7.cpp
字号:
// Demonstrate selecting an action by clicking in a bitmap
#include <cassert>
#include <bitmap>
// Define a window
SimpleWindow FlipWindow("Flip Card", 15., 11., Position(1., 1.));
// Define bitmaps
BitMap CardFront(FlipWindow);
BitMap CardBack(FlipWindow);
// Need a type and object for remembering which pic
// is showing
enum Side {Front, Back};
Side SideShowing;
// MouseClickEvent(): come here when user clicks mouse
int MouseClickEvent(const Position &MousePosition) {
if (CardFront.IsInside(MousePosition)) {
// flip card
if (SideShowing == Back) {
SideShowing = Front;
CardFront.Draw();
}
else if (SideShowing == Front) {
SideShowing = Back;
CardBack.Draw();
}
}
return 1;
}
int ApiMain() {
// Open the window
FlipWindow.Open();
assert(FlipWindow.GetStatus() == WindowOpen);
// Load the images
CardFront.Load("bush.bmp");
assert(CardFront.GetStatus() == BitMapOkay);
CardBack.Load("me.bmp");
assert(CardBack.GetStatus() == BitMapOkay);
// Compute position to display the card
Position CardPosition = FlipWindow.GetCenter() +
Position(-.5*CardFront.GetWidth(),
-.5*CardFront.GetHeight());
CardFront.SetPosition(CardPosition);
CardBack.SetPosition(CardPosition);
SideShowing = Front;
CardFront.Draw();
// Set up mouse callback
FlipWindow.SetMouseClickCallback(MouseClickEvent);
return 0;
}
int ApiEnd() {
FlipWindow.Close();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -