コード例 #1
0
ファイル: vita2d_pgf.c プロジェクト: frangarcj/vita2dlib
static void vita2d_load_pgf_post(vita2d_pgf *font) {
	SceFontInfo fontinfo;

	sceFontGetFontInfo(font->font_handle_list->font_handle, &fontinfo);
	font->vsize = (fontinfo.fontStyle.fontV / fontinfo.fontStyle.fontVRes)
		* SCREEN_DPI;

	font->atlas = texture_atlas_create(ATLAS_DEFAULT_W, ATLAS_DEFAULT_H,
		SCE_GXM_TEXTURE_FORMAT_U8_R111);
}
コード例 #2
0
ファイル: vita2d_font.c プロジェクト: Stary2001/vita2dlib
vita2d_font *vita2d_load_font_file(const char *filename)
{
	FT_Error error;

	vita2d_font *font = malloc(sizeof(*font));
	if (!font)
		return NULL;

	error = FT_Init_FreeType(&font->ftlibrary);
	if (error != FT_Err_Ok) {
		free(font);
		return NULL;
	}

	error = FTC_Manager_New(
		font->ftlibrary,
		0,  /* use default */
		0,  /* use default */
		0,  /* use default */
		&ftc_face_requester,  /* use our requester */
		NULL,                 /* user data  */
		&font->ftcmanager);

	if (error != FT_Err_Ok) {
		free(font);
		FT_Done_FreeType(font->ftlibrary);
		return NULL;
	}

	size_t len = strlen(filename);
	font->filename = malloc(len + 1);
	strcpy(font->filename, filename);

	FTC_CMapCache_New(font->ftcmanager, &font->cmapcache);
	FTC_ImageCache_New(font->ftcmanager, &font->imagecache);

	font->load_from = VITA2D_LOAD_FROM_FILE;

	font->tex_atlas = texture_atlas_create(ATLAS_DEFAULT_W, ATLAS_DEFAULT_H,
		SCE_GXM_TEXTURE_FORMAT_U8_R111);

	return font;
}
コード例 #3
0
ファイル: vita2d_font.c プロジェクト: Stary2001/vita2dlib
vita2d_font *vita2d_load_font_mem(const void *buffer, unsigned int size)
{
	FT_Error error;

	vita2d_font *font = malloc(sizeof(*font));
	if (!font)
		return NULL;

	error = FT_Init_FreeType(&font->ftlibrary);
	if (error != FT_Err_Ok) {
		free(font);
		return NULL;
	}

	error = FTC_Manager_New(
		font->ftlibrary,
		0,  /* use default */
		0,  /* use default */
		0,  /* use default */
		&ftc_face_requester,  /* use our requester */
		NULL,                 /* user data  */
		&font->ftcmanager);

	if (error != FT_Err_Ok) {
		free(font);
		FT_Done_FreeType(font->ftlibrary);
		return NULL;
	}

	font->font_buffer = buffer;
	font->buffer_size = size;

	FTC_CMapCache_New(font->ftcmanager, &font->cmapcache);
	FTC_ImageCache_New(font->ftcmanager, &font->imagecache);

	font->load_from = VITA2D_LOAD_FROM_MEM;

	font->tex_atlas = texture_atlas_create(ATLAS_DEFAULT_W, ATLAS_DEFAULT_H,
		SCE_GXM_TEXTURE_FORMAT_U8_R111);

	return font;
}
コード例 #4
0
ファイル: vita2d_pgf.c プロジェクト: IlDucci/RetroArch
vita2d_pgf *vita2d_load_default_pgf()
{
	unsigned int error;

	vita2d_pgf *font = malloc(sizeof(*font));
	if (!font)
		return NULL;

	SceFontNewLibParams params = {
		font,
		1,
		NULL,
		pgf_alloc_func,
		pgf_free_func,
		NULL,
		NULL,
		NULL,
		NULL,
		NULL,
		NULL
	};

	font->lib_handle = sceFontNewLib(&params, &error);
	if (error != 0) {
		free(font);
		return NULL;
	}

	font->font_handle = sceFontOpen(font->lib_handle, 1, 0, &error);
	if (error != 0) {
		sceFontDoneLib(font->lib_handle);
		free(font);
		return NULL;
	}

	font->tex_atlas = texture_atlas_create(ATLAS_DEFAULT_W, ATLAS_DEFAULT_H,
		SCE_GXM_TEXTURE_FORMAT_U8_R111);

	return font;
}