Esempio n. 1
0
static adv_error none_mode_set(const none_video_mode* mode)
{
	none_write_line = none_linear_write_line;
	none_state.color_def = color_def_make_from_index(mode->index);
	none_state.bytes_per_pixel = index_bytes_per_pixel(mode->index);

	assert(!none_state.pointer);
	none_state.pointer = (unsigned char*)malloc(none_state.size);

	none_state.bytes_per_scanline = (none_state.bytes_per_pixel * mode->crtc.hde + 3) & ~3;
	none_state.mode_active = 1;

	return 0;
}
Esempio n. 2
0
adv_color_def fb_color_def(void)
{
	assert(fb_is_active() && fb_mode_is_active());

	switch (fb_state.index) {
	case MODE_FLAGS_INDEX_BGR15 :
	case MODE_FLAGS_INDEX_BGR16 :
	case MODE_FLAGS_INDEX_BGR24 :
	case MODE_FLAGS_INDEX_BGR32 :
		return color_def_make_rgb_from_sizelenpos(
			fb_state.bytes_per_pixel,
			fb_state.varinfo.red.length, fb_state.varinfo.red.offset,
			fb_state.varinfo.green.length, fb_state.varinfo.green.offset,
			fb_state.varinfo.blue.length, fb_state.varinfo.blue.offset
		);
	default:
		return color_def_make_from_index(fb_state.index);
	}
}