示例#1
0
static bool lnx_pango_initialize(void)
{
	bool t_success;
	t_success = true;
	
	// MW-2013-12-19: [[ Bug 11559 ]] Use '=' not '=='!
	if (t_success)
		t_success =
			initialise_weak_link_pango() != 0 &&
			initialise_weak_link_pangoft2() != 0 &&
			initialise_weak_link_gobject() != 0 &&
			initialise_weak_link_glib() != 0;
    
    if (t_success)
    {
        pthread_key_create(&s_font_map_key, NULL);
        pthread_key_create(&s_pango_key, NULL);
        pthread_key_create(&s_layout_key, NULL);
        t_success = lnx_pango_objects_intialize();
    }
	
	return t_success;
}
示例#2
0
static bool lnx_pango_initialize(void)
{
	bool t_success;
	t_success = true;
	
	// MW-2013-12-19: [[ Bug 11559 ]] Use '=' not '=='!
	if (t_success)
		t_success =
			initialise_weak_link_pango() != 0 &&
			initialise_weak_link_pangoft2() != 0 &&
			initialise_weak_link_gobject() != 0 &&
			initialise_weak_link_glib() != 0;
	
	if (t_success)
		if (s_font_map == NULL)
		{
			s_font_map = pango_ft2_font_map_new();
			t_success = s_font_map != NULL;
		}
	
	if (t_success)
		if (s_pango == NULL)
		{
			s_pango = pango_ft2_font_map_create_context((PangoFT2FontMap *) s_font_map);
			t_success = s_pango != nil;
		}	
	
	if (t_success)		
		if (s_layout == NULL)
		{
			s_layout = pango_layout_new(s_pango);
			t_success = s_layout != NULL;
		}
	
	return t_success;
}