BBASMCanvasPlugin.h
7.78 KB
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
123
124
125
126
127
128
129
//
// BBASMCanvasPlugin.h
// SWAN
//
// Created by baidu on 09/03/2018.
// Copyright © 2018 baidu. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <BBASchemeDispatcher/BBASDPluginBase.h>
@interface BBASMCanvasPlugin : BBASDPluginBase
/**
* 描 述: 插入创建命令
* 示 例: baiduboxapp://swanAPI/canvas/insert?params={"slaveId":"3","canvasId":"mycanvas","position":{"top":"337","left":"0","width":"0","height":"0"},"hide":"0","disableScroll":"0","gesture":"0"}&callback=_bdbox_js_238&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_insert
* 备 注:
* ********** description ************
* @name: canvas.insert
* @authority: swanAPI
* @path: /canvas/insert
* @args: [{"name":"canvasId","value":"string="}, {"name": "componentId","value": "string="},{"name":"slaveId","value":"string"}, {"name":"hide","value":"string"}, {"name":"disableScroll","value":"string"}, {"name":"gesture","value":"string"}, {"name":"position","value":"Object"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)insert:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 更新命令
* 示 例: baiduboxapp://swanAPI/canvas/update?params={"canvasId":"5","position":{"left":"50","top":"50","width":"50","height":"50"},"hide":"1","disableScroll":"1","gesture":"1","slaveId":"5"}&callback=_bdbox_js_36&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_update
* 备 注:
* ********** description ************
* @name: canvas.update
* @authority: swanAPI
* @path: /canvas/update
* @args: [{"name":"canvasId","value":"string="}, {"name": "componentId","value": "string="},{"name":"slaveId","value":"string"}, {"name":"hide","value":"string"}, {"name":"disableScroll","value":"string"}, {"name":"gesture","value":"string"}, {"name":"position","value":"Object"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)update:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 删除命令
* 示 例: baiduboxapp://swanAPI/canvas/remove?params={"canvasId":"5","slaveId":"5"}&callback=_bdbox_js_37&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_remove
* 备 注:
* ********** description ************
* @name: canvas.remove
* @authority: swanAPI
* @path: /canvas/remove
* @args: [{"name":"canvasId","value":"string="},{"name": "componentId","value": "string="}, {"name":"slaveId","value":"string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)remove:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 绘制命令
* 示 例: baiduboxapp://swanAPI/canvas/drawCanvas?params={“canvasId”:”mycanvas”,”slaveId:”5”,actions”:[“”],”reserve”:”1”}&callback=_bdbox_js_222&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_drawcanvas
* 备 注:
* ********** description ************
* @name: canvas.drawCanvas
* @authority: swanAPI
* @path: /canvas/drawCanvas
* @args: [{"name":"slaveId","value":"string"}, {"name":"canvasId","value":"string="},{"name": "componentId","value": "string="}, {"name":"actions","value":"string"}, {"name":"cb","value":"string"}, {"name":"reserve","value":"string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)drawCanvas:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 导出图片
* 示 例: baiduboxapp://swanAPI/canvas/toTempFilePath?params={"canvasId":"mycanvas","x":"100","y":"200","width":"50","height":"50","destWidth":"100","destHeight":"100","fileType":"jpg","quality":"0.8","cb":"_bdbox_pjs_31"}&callback=_bdbox_js_45&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_totempfilepath
* 备 注:
* ********** description ************
* @name: canvasToTempFilePath
* @authority: swanAPI
* @path: /canvas/toTempFilePath
* @args: [{"name":"canvasId","value":"string="}, {"name": "componentId","value": "string="},{"name":"slaveId","value":"string="}, {"name":"x","value":"string="}, {"name":"y","value":"string="}, {"name":"width","value":"string="}, {"name":"height","value":"string="}, {"name":"destWidth","value":"string="}, {"name":"destHeight","value":"string="}, {"name":"fileType","value":"string="}, {"name":"quality","value":"string="}, {"name":"cb","value":"string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)toTempFilePath:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 获取图片信息
* 示 例: baiduboxapp://swanAPI/canvas/getImageData?params={"canvasId":"myCanvas","x":"0","y":"0","width":"100","height":"100","cb":"_bdbox_pjs_49"}&callback=_bdbox_js_50&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_getimagedata
* 备 注:
* ********** description ************
* @name: canvasGetImageData
* @authority: swanAPI
* @path: /canvas/getImageData
* @args: [{"name":"cb","value":"string"}, {"name":"canvasId","value":"string="}, {"name": "componentId","value": "string="},{"name":"slaveId","value":"string="}, {"name":"x","value":"string"}, {"name":"y","value":"string"}, {"name":"width","value":"string"}, {"name":"height","value":"string"}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)getImageData:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 将图片绘制到画布
* 示 例: baiduboxapp://swanAPI/canvas/putImageData?params={"canvasId":"myCanvas","x":"0","y":"0","width":"1","data":"iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAAAyAAAAKAAAADIAAAAyAAACrZe0MjAAAAJ5SURBVHgB7NU/SA==","cb":"_bdbox_pjs_77"}&callback=_bdbox_js_78&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_putimagedata
* 备 注:
* ********** description ************
* @name: canvasPutImageData
* @authority: swanAPI
* @path: /canvas/putImageData
* @args: [{"name":"cb","value":"string"}, {"name":"data","value":"string"}, {"name":"canvasId","value":"string="}, {"name": "componentId","value": "string="},{"name":"slaveId","value":"string="}, {"name":"x","value":"string"}, {"name":"y","value":"string"}, {"name":"width","value":"string"}, {"name":"height","value":"string="}]
* @config: {"swan": {"web": {"invoke": "swan.message.url", "handler": "bridge"}, "jsc": {"invoke": "swan.method.url", "method": "_naSwan.bridge.postMessage"}}}
*/
- (void)putImageData:(BBASchemeDispatcher *)dispatcher;
/**
* 描 述: 计算文本的宽度
* 示 例: baiduboxapp://swanAPI/canvas/measureTextSync?params=$params&callback=$callback&upgrade=0
* 文 档: http://ft.baidu.com/#/scheme/swan_canvas_measuretextsync
* 备 注:
* ********** description ************
* @name: canvas.measureTextSync
* @authority: swanAPI
* @path: /canvas/measureTextSync
* @args: [{"name": "slaveId", "value": "string"}, {"name": "canvasId", "value": "string="}, {"name": "componentId","value": "string="},{"name": "text", "value": "string="}, {"name": "font", "value": "string="}]
* @config: {"swan": {"web": {"invoke": "swan.prompt"}, "jsc": {"invoke": "swan.method.json", "method": "_naSwan.bridge.canvas.measureTextSync"}}}
*/
- (void)measureTextSync:(BBASchemeDispatcher *)dispatcher;
#pragma mark - not API
+ (NSDictionary *)measureTextWithAppID:(NSString *)appID params:(NSDictionary *)params;
@end