-
-
Notifications
You must be signed in to change notification settings - Fork 302
/
IBarCodeEngine.java
122 lines (104 loc) · 2.58 KB
/
IBarCodeEngine.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package dev.engine.barcode;
import android.graphics.Bitmap;
import dev.engine.barcode.listener.BarCodeDecodeCallback;
import dev.engine.barcode.listener.BarCodeEncodeCallback;
/**
* detail: BarCode Engine 接口
* @author Ttt
*/
public interface IBarCodeEngine<Config extends IBarCodeEngine.EngineConfig,
Item extends IBarCodeEngine.EngineItem,
Result extends IBarCodeEngine.EngineResult> {
/**
* detail: BarCode Config
* @author Ttt
*/
class EngineConfig {
}
/**
* detail: BarCode ( Data、Params ) Item
* @author Ttt
*/
class EngineItem {
}
/**
* detail: BarCode Result
* @author Ttt
*/
class EngineResult {
}
// =============
// = 对外公开方法 =
// =============
/**
* 初始化方法
* @param config BarCode Config
*/
void initialize(Config config);
/**
* 获取 BarCode Engine Config
* @return BarCode Engine Config
*/
Config getConfig();
// ==========
// = 生成条码 =
// ==========
/**
* 编码 ( 生成 ) 条码图片
* @param params BarCode ( Data、Params ) Item
* @param callback 生成结果回调
*/
void encodeBarCode(
Item params,
BarCodeEncodeCallback callback
);
// =
/**
* 编码 ( 生成 ) 条码图片
* <pre>
* 该方法是耗时操作, 请在子线程中调用
* </pre>
* @param params BarCode ( Data、Params ) Item
* @return 条码图片
*/
Bitmap encodeBarCodeSync(Item params)
throws Exception;
// ==========
// = 解析条码 =
// ==========
/**
* 解码 ( 解析 ) 条码图片
* @param bitmap 待解析的条码图片
* @param callback 解析结果回调
*/
void decodeBarCode(
Bitmap bitmap,
BarCodeDecodeCallback<Result> callback
);
/**
* 解码 ( 解析 ) 条码图片
* <pre>
* 该方法是耗时操作, 请在子线程中调用
* </pre>
* @param bitmap 待解析的条码图片
* @return 解析结果
*/
Result decodeBarCodeSync(Bitmap bitmap)
throws Exception;
// ==========
// = 其他功能 =
// ==========
/**
* 添加 Icon 到条码图片上
* @param params BarCode ( Data、Params ) Item
* @param src 条码图片
* @param icon icon
* @return 含 icon 条码图片
*/
Bitmap addIconToBarCode(
Item params,
Bitmap src,
Bitmap icon
)
throws Exception;
}