panthema / 2006 / SDIOS06 / sdios06 / if / ifframebuffer.idl (Download File)
/*
 * $Id$
 */
#include <types.idl>

exception bad_mode {};
exception not_initialized {};
exception invalid_card {};

[uuid(IF_FRAMEBUFFER_ID)]
interface IF_FRAMEBUFFER {

	// TODO how to ensure exclusive access to this resource?
	void SetMode(in objectid_t card, in int width, in int height, in int bpp)
		raises(bad_mode, invalid_card);

	void MapFrameBuffer(in objectid_t card, out fpage f, out idlsize_t fbsize)
		raises(not_initialized, invalid_card);

	void Update(in objectid_t card)
		raises(not_initialized, invalid_card);
		
	void GetInfos(in objectid_t card, out int width, out int height, out int bpp,
	              out idlsize_t fboffset, out idlsize_t pitch,
	              out uint32_t redmask, out uint32_t greenmask, out uint32_t bluemask)
		raises(not_initialized, invalid_card);

};