Exemple #1
0
DAO_DLL int DaoGraph_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	daox_node_template_type = DaoNamespace_WrapType( ns, & daoNodeCore, DAO_CSTRUCT, 0 );
	daox_edge_template_type = DaoNamespace_WrapType( ns, & daoEdgeCore, DAO_CSTRUCT, 0 );
	daox_graph_template_type = DaoNamespace_WrapType( ns, & daoGraphCore, DAO_CSTRUCT, 0 );
	daox_graph_data_type    = DaoNamespace_WrapType( ns, & daoGraphDataCore, DAO_CSTRUCT, 0 );
	daox_graph_maxflow_type = DaoNamespace_WrapType( ns, & daoGraphMaxFlowCore, DAO_CSTRUCT, 0 );
	return 0;
}
DAO_DLL int DaoSync_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	dao_type_mutex   = DaoNamespace_WrapType( ns, & mutexTyper, 0 );
	dao_type_condvar = DaoNamespace_WrapType( ns, & condvTyper, 0 );
	dao_type_sema    = DaoNamespace_WrapType( ns, & semaTyper, 0 );
	daox_type_DaoState = DaoNamespace_WrapType( ns, &stateTyper, 0 );
	daox_type_DaoQueue = DaoNamespace_WrapType( ns, &queueTyper, 0 );
	return 0;
}
Exemple #3
0
DAO_DLL int DaoFont_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	DaoxFont *font;

	daox_type_font = DaoNamespace_WrapType( ns, & DaoxFont_Typer, 0 );
	daox_type_glyph = DaoNamespace_WrapType( ns, & DaoxGlyph_Typer, 0 );
	
	daox_default_font = font = DaoxFont_New();
	DaoNamespace_AddConstValue( ns, "DefaultFont", (DaoValue*) font );
	if( stbtt_InitFont( & font->info, daox_courier_code_roman_font_data, 0 ) == 0 ) return 1;
	stbtt_GetFontVMetrics( & font->info, & font->ascent, & font->descent, & font->lineSpace );
	font->fontHeight = font->ascent - font->descent;
	font->lineSpace += font->fontHeight;
	return 0;
}
Exemple #4
0
DAO_DLL_EXPORT int DaoStream_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	DaoNamespace *ions = DaoVmSpace_GetNamespace( vmSpace, "io" );
	daoFileStreamCore.bases[0] = DaoType_GetTypeCore( dao_type_stream );
	daoPipeStreamCore.bases[0] = DaoType_GetTypeCore( dao_type_stream );
	daoStringStreamCore.bases[0] = DaoType_GetTypeCore( dao_type_stream );
	daoSeekableDeviceCore.bases[0] = DaoType_GetTypeCore( dao_type_io_device );
	dao_type_file_stream = DaoNamespace_WrapType( ions, & daoFileStreamCore, DAO_CSTRUCT, 0 );
	dao_type_pipe_stream = DaoNamespace_WrapType( ions, & daoPipeStreamCore, DAO_CSTRUCT, 0 );
	dao_type_string_stream = DaoNamespace_WrapType( ions, & daoStringStreamCore, DAO_CSTRUCT, 0 );
	DaoNamespace_WrapInterface( ions, & daoSeekableDeviceCore );
	DaoNamespace_WrapFunctions( ions, dao_io_methods );

#define DAO_API_INIT
#include"dao_api.h"
	return 0;
}
int DaoOnLoad( DaoVmSpace *vms, DaoNamespace *ns )
{
	__daoVmSpace = vms;
	DaoNamespace *SDL = DaoVmSpace_LinkModule( vms, ns, "SDL" );
	if( SDL == NULL ) SDL = DaoVmSpace_LinkModule( vms, ns, "DaoSDL" );
	if( SDL == NULL ) return 1;
	DaoNamespace_AddConstNumbers( ns, dao__Nums );
	dao_type_CommonState = DaoNamespace_WrapType( ns, dao_CommonState_Typer, 1 );
	DaoNamespace_TypeDefines( ns, dao__Aliases );
	DaoNamespace_WrapFunctions( ns, dao__Funcs );
	return 0;
}
Exemple #6
0
DAO_DLL int DaoWindow_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	dao_vmspace_graphics = vmSpace;
	if( glfwInit() == 0 ) return 1;
	glfwWindowHint(GLFW_VISIBLE, 0); 
	glfwWindowHint(GLFW_SAMPLES, 8); 
	glfwWindowHint(GLFW_DOUBLEBUFFER, 1); 
	glfwWindowHint(GLFW_DEPTH_BITS, 24); 
	glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); 
	glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2); 
#ifdef MACOSX
	glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); /*Not for Linux with Mesa;*/
	glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
#endif
	glfwSetErrorCallback( DaoxGLFW_Error );
	daox_type_window = DaoNamespace_WrapType( ns, & DaoxWindow_Typer, 0 );
	return 0;
}
DAO_DLL int DaoOnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	__daoVmSpace = vmSpace;
	printf( "DaoGraphics3D_OnLoad\n" );
	ns = DaoVmSpace_GetNamespace( vmSpace, "Graphics" );

	daox_type_mesh_unit = DaoNamespace_WrapType( ns, & DaoxMeshUnit_Typer, 0 );
	daox_type_mesh = DaoNamespace_WrapType( ns, & DaoxMesh_Typer, 0 );
	daox_type_texture = DaoNamespace_WrapType( ns, & DaoxTexture_Typer, 0 );
	daox_type_material = DaoNamespace_WrapType( ns, & DaoxMaterial_Typer, 0 );
	daox_type_scene_node = DaoNamespace_WrapType( ns, & DaoxSceneNode_Typer, 0 );
	daox_type_camera = DaoNamespace_WrapType( ns, & DaoxCamera_Typer, 0 );
	daox_type_light = DaoNamespace_WrapType( ns, & DaoxLight_Typer, 0 );
	daox_type_model = DaoNamespace_WrapType( ns, & DaoxModel_Typer, 0 );
	daox_type_scene = DaoNamespace_WrapType( ns, & DaoxScene_Typer, 0 );
	daox_type_painter = DaoNamespace_WrapType( ns, & DaoxPainter_Typer, 0 );
	daox_type_renderer = DaoNamespace_WrapType( ns, & DaoxRenderer_Typer, 0 );
	daox_type_resource = DaoNamespace_WrapType( ns, & DaoxResource_Typer, 0 );
	DaoVectorGraphics_OnLoad( vmSpace, ns );
	DaoGLUT_OnLoad( vmSpace, ns );
	//Test();
	return 0;
}
Exemple #8
0
DAO_DLL int DaoUsertype_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	daox_type_user_type = DaoNamespace_WrapType( ns, & userTypeTyper, DAO_CSTRUCT, DAO_CTYPE_INVAR );
	return 0;
}
DAO_DLL int DaoTriangulator_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	daox_type_triangulator = DaoNamespace_WrapType( ns, & DaoxTriangulator_Typer, 1 );
	return 0;
}
Exemple #10
0
DAO_DLL int DaoSys_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	daox_type_buffer = DaoNamespace_WrapType( ns, & bufferTyper, 0 );
	DaoNamespace_WrapType( ns, & modSysCoreTyper, 1 );
	return 0;
}
Exemple #11
0
DAO_DLL int DaoCoroutine_OnLoad( DaoVmSpace *vmSpace, DaoNamespace *ns )
{
	daox_type_coroutine = DaoNamespace_WrapType( ns, & daoCoroutineCore, DAO_CSTRUCT, 0 );
	return 0;
}