akj::tTAFHandle cFontLoader::CreateTexAtlasFont(
		tFaceHandle handle, uint32_t initial_size)
	{
		if(!handle.IsValid()) return tTAFHandle();
		FreeTypeFace& face = TypeFace(handle);
		cCreateTexAtlasTask create_task(face, initial_size);
		
		while(!create_task.IsDone()) create_task.DoWork();

		std::unique_ptr<cTexAtlasFont> taf(
			new cTexAtlasFont(face,
												std::unique_ptr<FreeTypeLibrary>(new FreeTypeLibrary),
												std::move(create_task.GetFinishedAtlas())));
		
		cArray<16, uint32_t> sizes = {14, 12, 21};
		for(uint32_t i: sizes)
		{
			if(i == initial_size) continue;
			cCreateTexAtlasTask create_task2(face, i);
			while(!create_task2.IsDone()) create_task2.DoWork();
			taf->AddAtlas(create_task2.GetFinishedAtlas());
		}
		taf->RepackAtlasTexture();

		return InsertTAF(std::move(taf));
	}
Beispiel #2
0
void psync_task_rename_local_folder(psync_syncid_t syncid, psync_folderid_t folderid, psync_folderid_t localfolderid, 
                                    psync_folderid_t newlocalparentfolderid, const char *newname){
  create_task2(PSYNC_RENAME_LOCAL_FOLDER, syncid, folderid, localfolderid, newlocalparentfolderid, newname);
}