📄 bitmap.cpp
字号:
// demonstrate selecting an action by clicking in a bitmap
#include <assert.h>
#include <bitmap.h>
// define a window
SimpleWindow FlipWindow("FlipCard", 15.0, 9.0, Position(1.0, 1.0));
// define bitmaps for the front and back of a card
BitMap CardFront(FlipWindow);
BitMap CardBack(FlipWindow);
// need a type and object for remembering which side
// of the card is showing
enum Side { Front, Back };
Side SideShowing;
// MouseClickEvent(): come here when user clicks mouse
int MouseClickEvent(const Position &MousePosition) {
if (CardFront.IsInside(MousePosition)) {
// card is selected so flip it
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("c1.bmp");
assert(CardFront.GetStatus() == BitMapOkay);
CardBack.Load("cardbk1.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;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -