Use One-Time Initialization for glyph run caching to avoid duplicate glyph run genera...
[gdipp.git] / gdipp_server / font_link.h
blobdfdac81bf8e1c33df33e3a6e0d6c3e972cc65afe
1 #pragma once
3 #include "gdipp_lib/helper.h"
4 #include "gdipp_lib/rpc.h"
6 namespace gdipp
9 /*
10 only the constructor changes internal state
11 all public functions are read-only
12 therefore it is thread-safe
14 class font_link
16 public:
17 font_link();
19 const font_link_node *lookup_link(const wchar_t *font_name, size_t index) const;
20 size_t get_link_count(const wchar_t *font_name) const;
22 private:
23 typedef std::map<std::wstring, std::vector<font_link_node>, wstring_ci_less> link_map;
25 link_map _link_table;