OSDN Git Service

first
[psychlops/cpp.git] / psychlops / platform / gl / psychlops_g_cache.h
1 #ifndef HEADER_PSYCHLOPS_GRAPHIC_GENERIC_CACHE\r
2 #define HEADER_PSYCHLOPS_GRAPHIC_GENERIC_CACHE\r
3
4 #include <vector>\r
5 #include <string>
6 \r
7 #include "../../core/graphic/psychlops_g_image.h"\r
8 #include "../../core/graphic/psychlops_g_font.h"\r
9 \r
10 \r
11 namespace Psychlops {\r
12 namespace Utilities {\r
13 \r
14 \r
15         class CacheOnImage\r
16         {\r
17                 public:\r
18                 bool dirty_;\r
19                 Image img;\r
20                 CacheOnImage();\r
21                 ~CacheOnImage();\r
22                 void dirty();\r
23                 void uncache();\r
24 \r
25                 void draw(\r
26                         Letters &drawee, const double xx, const double yy,\r
27                         const double r, const double g, const double b, const double a,\r
28                         const int horiz_align, const int vertical_align, const double max_width, Drawable &outer);\r
29         };\r
30 \r
31         class TextCacheManager\r
32         {\r
33                 public:\r
34                 std::map<Letters*, CacheOnImage *> map;\r
35                 bool isCached(Letters *letters);\r
36 \r
37                 void cache(Letters *letters, CacheOnImage *allocation);\r
38                 void uncache(Letters *letters);\r
39                 void uncacheAll();\r
40         };\r
41 \r
42 }
43 }       /*      <- namespace Psycholops         */
44 \r
45 #endif\r
46 \r