예제 #1
0
void setup_native_patches(caWorld* world)
{
    caNativePatch* improvPatch = circa_create_native_patch(world, "improv");
    circa_patch_function(improvPatch, "play_audio", play_audio);
    circa_finish_native_patch(improvPatch);

    cairo_native_patch(circa_create_native_patch(world, "cairo"));

    caNativePatch* gl = circa_create_native_patch(world, "gl");
    gl_native_patch(gl);
    circa_finish_native_patch(gl);
}
예제 #2
0
파일: world.cpp 프로젝트: andyfischer/circa
void world_initialize(World* world)
{
    initialize_null(&world->modulesByName);
    initialize_null(&world->modulesByFilename);
    initialize_null(&world->everyModule);
    initialize_null(&world->fileSources);
    initialize_null(&world->moduleSearchPaths);

    set_hashtable(&world->modulesByName);
    set_hashtable(&world->modulesByFilename);
    set_list(&world->everyModule);
    set_list(&world->moduleSearchPaths);
    set_list(&world->fileSources);

    world->moduleSearchPaths.append_str("$builtins");

    world->fileWatchWorld = alloc_file_watch_world();
    world->builtinPatch = circa_create_native_patch(world, "builtins");

    #if CIRCA_ENABLE_LIBUV
        world->libuvWorld = alloc_libuv_world();
    #endif

    perlin_init();
}
예제 #3
0
파일: libuv.cpp 프로젝트: andyfischer/circa
void libuv_native_patch(caWorld* world)
{
    caNativePatch* socket = circa_create_native_patch(world, "socket");
    circa_patch_function(socket, "make_server", make_server);
    circa_patch_function(socket, "Server.connections", Server__connections);
    circa_patch_function(socket, "make_tcp_client", make_client);
    circa_patch_function(socket, "make_tcp_client", make_client);
    circa_patch_function(socket, "Connection.send", Connection__send);
    circa_patch_function(socket, "Connection.receive", Connection__receive);
    circa_finish_native_patch(socket);
}