Пример #1
0
int test_xpm(unsigned short xi, unsigned short yi, char *xpm[]) {
	if (vg_init(VBE_VIDEO_MODE) == NULL)
		return 1;

	if (vg_draw_xpm(xi, yi, xpm) != 0) {
		vg_exit();
		return 1;
	}

	vg_update_screen();

	kbd_test_scan(0);

	return vg_exit();
}
Пример #2
0
int test_xpm(unsigned short xi, unsigned short yi, char *xpm[]) {
	
	vg_init(GRAPHIC_MODE);

	int ipc_status;
	message msg;
	int request;
	int irq_set;

	irq_set = subscribe_kbd();

	while (scanCode != EXIT_MAKE_CODE) {
		request = driver_receive(ANY, &msg, &ipc_status);
		if (request != 0) {
			printf("driver_receive failed with: %d", request);
			continue;
		}
		if (is_ipc_notify(ipc_status)) {
			switch (_ENDPOINT_P(msg.m_source)) {
			case HARDWARE:
				if (msg.NOTIFY_ARG & irq_set) {
					kbd_handler();
				}
				vg_draw_xpm(xi,yi, xpm);
				break;
			default:
				break;
			}
		}
		else {
		}
	}
	unsubscribe_kbd();
	vg_exit();
	return 0;
	
}