mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 02:02:45 +00:00 
			
		
		
		
	 60be51f908
			
		
	
	
		60be51f908
		
	
	
	
	
		
			
			The FontCache caches the result of font lookups. The cache key is a simple object called FontSelector which consists of the font family and font weight (both strings.) This drastically reduces time spent in font lookup.
		
			
				
	
	
		
			21 lines
		
	
	
	
		
			480 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
	
		
			480 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <LibDraw/Font.h>
 | |
| #include <LibHTML/FontCache.h>
 | |
| 
 | |
| FontCache& FontCache::the()
 | |
| {
 | |
|     static FontCache cache;
 | |
|     return cache;
 | |
| }
 | |
| 
 | |
| RefPtr<Font> FontCache::get(const FontSelector& font_selector) const
 | |
| {
 | |
|     auto cached_font = m_fonts.get(font_selector);
 | |
|     if (cached_font.has_value())
 | |
|         return cached_font.value();
 | |
|     return nullptr;
 | |
| }
 | |
| 
 | |
| void FontCache::set(const FontSelector& font_selector, NonnullRefPtr<Font> font)
 | |
| {
 | |
|     m_fonts.set(font_selector, move(font));
 | |
| }
 |