⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program_10_7.cpp

📁 c++程序设计讲义 cppprograming 含源码
💻 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 + -