CEXPORT bool resource_loader_load_image_with_c(texture_2d * texture) { texture->pixel_data=NULL; bool skip = false; // check if it is a special url (text, contacts, etc.), if it is then load in java if (texture->url[0] == '@') { skip = true; } if(!skip) { unsigned long sz; unsigned char *data = resource_loader_read_file(texture->url, &sz); texture->pixel_data = texture_2d_load_texture_raw(texture->url, data, sz, &texture->num_channels, &texture->width, &texture->height, &texture->originalWidth, &texture->originalHeight, &texture->scale); free(data); } // if we have pixel data... if (texture->pixel_data != NULL) { // load using C return true; } else { launch_remote_texture_load(texture->url); // using java return false; } }
CEXPORT char *resource_loader_string_from_url(const char *url) { // try loading from a file first char* contents = NULL; unsigned long dummy; contents = (char*)resource_loader_read_file(url, &dummy); if(contents == NULL) { // otherwise, pass it up to Java resource *res = resource_loader_load_url(url); if (res->text) { contents = strdup(res->text); } resource_loader_destroy_resource(res); } return contents; }