コード例 #1
0
ファイル: glue.cpp プロジェクト: Chaduke/bah.mod
int bmx_libwebsockets_serve_http_file(struct libwebsocket_context * context, struct libwebsocket * wsi, BBString * file, BBString * contentType) {
	char * f = bbStringToUTF8String(file);
	char * c = bbStringToUTF8String(contentType);
	
	int ret = libwebsockets_serve_http_file(context, wsi, f, c);
	
	bbMemFree(c);
	bbMemFree(f);
	
	return ret;
}
コード例 #2
0
ファイル: linuxglue.c プロジェクト: bmx-ng/brl.mod
int bmx_volumes_volspace_refresh(BBString * vol, BBInt64 * _size, BBInt64 * _free) {
	struct statvfs buf;
	char * v = bbStringToUTF8String(vol);
	int res = statvfs(v, &buf);
	bbMemFree(v);
	*_size = buf.f_frsize * buf.f_blocks;
	*_free = buf.f_frsize * buf.f_bavail;
	return res;
}
コード例 #3
0
ファイル: glue.cpp プロジェクト: Chaduke/bah.mod
struct libwebsocket_protocols * bmx_libwebsockets_protocol_create(BBString * name) {
	struct libwebsocket_protocols * protocol = (struct libwebsocket_protocols *)calloc(1, sizeof(struct libwebsocket_protocols));
	
	protocol->name = bbStringToUTF8String(name);
	protocol->callback = bmx_libwebsockets_callback;
	protocol->per_session_data_size = sizeof(BBObject *);
	
	return protocol;
}
コード例 #4
0
XML_Status bmx_expat_XML_SetEncoding(XML_Parser parser, BBString * encoding) {

	char * c = bbStringToUTF8String(encoding);

	XML_Status res = XML_SetEncoding(parser, c);
	
	bbMemFree(c);
	return res;
}
コード例 #5
0
XML_Status bmx_expat_XML_SetBase(XML_Parser parser, BBString * base) {

	char * c = bbStringToUTF8String(base);

	XML_Status res = XML_SetBase(parser, c);
	
	bbMemFree(c);
	return res;
}
コード例 #6
0
XML_Status bmx_expat_XML_Parse(XML_Parser parser, BBString * text, int isFinal) {

	char * c = bbStringToUTF8String(text);

	XML_Status res = XML_Parse(parser, c, strlen(c), isFinal);
	
	bbMemFree(c);
	return res;
}
コード例 #7
0
ファイル: glue.cpp プロジェクト: BlitzMaxModules/bah.mod
MaxLocale * bmx_boostlocale_generator_generate(boost::locale::generator * gen, BBString * id) {

	char * d = bbStringToUTF8String(id);
	
	MaxLocale * loc = new MaxLocale(gen->generate(d));
	
	bbMemFree(d);
	
	return loc;
}
コード例 #8
0
ファイル: linuxglue.c プロジェクト: bmx-ng/brl.mod
BBString * bmx_userdirlookup(BBString * type) {

	char * t = bbStringToUTF8String(type);
	
	char * lookup = xdg_user_dir_lookup(t);
	
	bbMemFree(t);

	BBString * dir = bbStringFromUTF8String(lookup);
	
	free(lookup);
	
	return dir;
}
コード例 #9
0
ファイル: glue.c プロジェクト: GWRon/sdl.mod
SDL_Surface * bmx_sdl_LoadBMP(BBString * file) {
	char * f = bbStringToUTF8String(file);
	SDL_Surface * surface = SDL_LoadBMP(f);
	bbMemFree(f);
	return surface;
}
コード例 #10
0
ファイル: glue.c プロジェクト: GWRon/sdl.mod
BBSDLContext *bbSDLGraphicsCreateGraphics( int width,int height,int depth,int hz,int flags ) {

	int mode;
	char * appTitle = bbStringToUTF8String( bbAppTitle );
	
	int windowFlags = 0;

	if ((flags & FLAGS_DX) == 0) {
		windowFlags = SDL_WINDOW_OPENGL;
	}
	
	if (flags & FLAGS_BORDERLESS) windowFlags |= SDL_WINDOW_BORDERLESS;
	
	if( depth ){
		windowFlags |= SDL_WINDOW_FULLSCREEN;
		mode=MODE_DISPLAY;
	} else {
		if (flags & FLAGS_FULLSCREEN) {
			windowFlags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
		}
		mode=MODE_WINDOW;
	}

	if ((flags & FLAGS_DX) == 0) {
		if (flags & FLAGS_BACKBUFFER) SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
		if (flags & FLAGS_ALPHABUFFER) SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 1);
		if (flags & FLAGS_DEPTHBUFFER) SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
		if (flags & FLAGS_STENCILBUFFER) SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 1);
	}
#ifdef __ANDROID__
	SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
	SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 6);
	SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);
#endif

#ifdef __RASPBERRYPI__
	int rpi_mode;
	int rpi_group;
	
	if (depth && (flags & FLAGS_RPI_TV_FULLSCREEN)) {
		bmx_tvservice_get_closest_mode(width, height, hz, &rpi_mode, &rpi_group);
		bmx_tvservice_setmode(rpi_mode, rpi_group, width, height);
	}
	SDL_VideoInit(NULL);
#endif
	SDL_Window *window = SDL_CreateWindow(appTitle, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
		width, height, windowFlags);
		
	if (window == NULL) {
printf("error... %s\n", SDL_GetError());fflush(stdout);
		return NULL;
	}

	SDL_GLContext context = 0;
	
	if ((flags & FLAGS_DX) == 0) {
		SDL_GL_SetSwapInterval(-1);
	
		context = SDL_GL_CreateContext(window);
	}

	BBSDLContext *bbcontext=(BBSDLContext*)malloc( sizeof(BBSDLContext) );
	memset( bbcontext,0,sizeof(BBSDLContext) );
	bbcontext->mode=mode;	
	bbcontext->width=width;	
	bbcontext->height=height;
#ifdef __RASPBERRYPI__
	bbcontext->depth=16;
#else
	bbcontext->depth=24;	
#endif
	bbcontext->hertz=hz;
	bbcontext->flags=flags;
	bbcontext->sync=-1;	
	bbcontext->window=window;
	bbcontext->context=context;
	SDL_GetWindowWMInfo(window, &bbcontext->info);
	return bbcontext;

}
コード例 #11
0
ファイル: blitz_app.c プロジェクト: juankprada/brl.mod
void bbWriteStderr( BBString *t ){
	char *p=bbStringToUTF8String( t );
	fprintf( stderr,"%s",p );
	fflush( stderr );
	bbMemFree(p);
}