当前位置: 首页>>代码示例>>C++>>正文


C++ Font::getGlyph方法代码示例

本文整理汇总了C++中sf::Font::getGlyph方法的典型用法代码示例。如果您正苦于以下问题:C++ Font::getGlyph方法的具体用法?C++ Font::getGlyph怎么用?C++ Font::getGlyph使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sf::Font的用法示例。


在下文中一共展示了Font::getGlyph方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: id

sf::Vector2f Renderer::LoadFont( const sf::Font& font, unsigned int size, sf::Color background_color_hint, sf::Color foreground_color_hint ) {
	// Get the font face that Laurent tries to hide from us.
	struct FontStruct {
		void* font_face; // Authentic SFML comment: implementation details
		void* unused1;
		int* unused2;

		// Since maps allocate everything non-contiguously on the heap we can use void* instead of Page here.
		mutable std::map<unsigned int, void*> unused3;
		mutable std::vector<sf::Uint8> unused4;
	};

	void* face;

	// All your font face are belong to us too.
	memcpy( &face, reinterpret_cast<const char*>( &font ) + sizeof( sf::Font ) - sizeof( FontStruct ), sizeof( void* ) );

	FontID id( face, size );

	std::map<FontID, sf::Vector2f>::iterator iter( m_font_offsets.find( id ) );

	if( iter != m_font_offsets.end() ) {
		return iter->second;
	}

	// Make sure all the glyphs we need are loaded.
	for( sf::Uint32 codepoint = 0; codepoint < 512; ++codepoint ) {
		font.getGlyph( codepoint, size, false );
	}

	sf::Image image = font.getTexture( size ).copyToImage();

	sf::Vector2f offset = LoadImage( image, background_color_hint, foreground_color_hint, true );

	m_font_offsets[id] = offset;

	return offset;
}
开发者ID:spacechase0,项目名称:SFGUI,代码行数:38,代码来源:Renderer.cpp


注:本文中的sf::Font::getGlyph方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。