Xy Flyweight. [Part 5]
[xy_vsfilter.git] / src / filters / transform / vsfilter / IDirectVobSubXy.h
blob1afbee931f4da65204c4083a914cf2817a4f4ffb
1 #pragma once
3 #include "../../../subtitles/STS.h"
4 #include "../BaseVideoFilter/BaseVideoFilter.h"
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 namespace DirectVobSubXyIntOptions
11 enum//int
13 INT_COLOR_SPACE = 0,
14 INT_YUV_RANGE,
15 INT_OVERLAY_CACHE_MAX_ITEM_NUM,
16 INT_SCAN_LINE_DATA_CACHE_MAX_ITEM_NUM,
17 INT_PATH_DATA_CACHE_MAX_ITEM_NUM,
18 INT_OVERLAY_NO_BLUR_CACHE_MAX_ITEM_NUM,
20 INT_BITMAP_MRU_CACHE_ITEM_NUM,
21 INT_CLIPPER_MRU_CACHE_ITEM_NUM,
23 INT_TEXT_INFO_CACHE_ITEM_NUM,
24 INT_ASS_TAG_LIST_CACHE_ITEM_NUM,
26 INT_SUBPIXEL_VARIANCE_CACHE_ITEM_NUM,
28 INT_SUBPIXEL_POS_LEVEL,
29 INT_COUNT
31 enum//bool
33 BOOL_FOLLOW_UPSTREAM_PREFERRED_ORDER,
34 BOOL_HIDE_TRAY_ICON,
35 BOOL_COUNT
37 enum
39 //[ColorSpaceOpt1...ColorSpaceOptN]
40 //size=N
41 BIN_OUTPUT_COLOR_FORMAT,
42 BIN_INPUT_COLOR_FORMAT,
44 //struct CachesInfo
45 //size = 1
46 BIN_CACHES_INFO,
48 //struct XyFlyWeightInfo
49 //size = 1
50 BIN_XY_FLY_WEIGHT_INFO,
52 BIN_COUNT
54 struct ColorSpaceOpt
56 int color_space;
57 bool selected;
59 struct CachesInfo
61 std::size_t path_cache_cur_item_num, path_cache_query_count,path_cache_hit_count,
62 scanline_cache2_cur_item_num, scanline_cache2_query_count,scanline_cache2_hit_count,
63 non_blur_cache_cur_item_num, non_blur_cache_query_count,non_blur_cache_hit_count,
64 overlay_cache_cur_item_num, overlay_cache_query_count,overlay_cache_hit_count,
65 bitmap_cache_cur_item_num, bitmap_cache_query_count, bitmap_cache_hit_count,
67 interpolate_cache_cur_item_num, interpolate_cache_query_count,interpolate_cache_hit_count,
68 text_info_cache_cur_item_num, text_info_cache_query_count, text_info_cache_hit_count,
69 word_info_cache_cur_item_num, word_info_cache_query_count, word_info_cache_hit_count,
71 scanline_cache_cur_item_num, scanline_cache_query_count,scanline_cache_hit_count,
72 overlay_key_cache_cur_item_num, overlay_key_cache_query_count, overlay_key_cache_hit_count,
73 clipper_cache_cur_item_num, clipper_cache_query_count, clipper_cache_hit_count;
76 struct CacheInfo
78 std::size_t cur_item_num, query_count, hit_count;
80 struct XyFlyWeightInfo
82 CacheInfo xy_fw_string_w;
83 CacheInfo xy_fw_grouped_draw_items_hash_key;
87 [uuid("85E5D6F9-BEFB-4E01-B047-758359CDF9AB")]
88 interface IDirectVobSubXy : public IUnknown
90 STDMETHOD(XyGetBool )(int field, bool *value) = 0;
91 STDMETHOD(XyGetInt )(int field, int *value) = 0;
92 STDMETHOD(XyGetSize )(int field, SIZE *value) = 0;
93 STDMETHOD(XyGetRect )(int field, RECT *value) = 0;
94 STDMETHOD(XyGetUlonglong)(int field, ULONGLONG *value) = 0;
95 STDMETHOD(XyGetDouble )(int field, double *value) = 0;
96 STDMETHOD(XyGetString )(int field, LPWSTR *value, int *chars) = 0;
97 STDMETHOD(XyGetBin )(int field, LPVOID *value, int *size ) = 0;
99 STDMETHOD(XySetBool )(int field, bool value) = 0;
100 STDMETHOD(XySetInt )(int field, int value) = 0;
101 STDMETHOD(XySetSize )(int field, SIZE value) = 0;
102 STDMETHOD(XySetRect )(int field, RECT value) = 0;
103 STDMETHOD(XySetUlonglong)(int field, ULONGLONG value) = 0;
104 STDMETHOD(XySetDouble )(int field, double value) = 0;
105 STDMETHOD(XySetString )(int field, LPWSTR value, int chars) = 0;
106 STDMETHOD(XySetBin )(int field, LPVOID value, int size ) = 0;
109 #ifdef __cplusplus
111 #endif