├── .gitattributes
├── .gitignore
├── ECharts In Soui with MiniBlink
├── ECharts In Soui with MiniBlink.cpp
├── ECharts In Soui with MiniBlink.rc
├── ECharts In Soui with MiniBlink.vcxproj
├── ECharts In Soui with MiniBlink.vcxproj.filters
├── LocalStorage
│ ├── http_echarts.baidu.com.localstorage
│ ├── http_www.echartsjs.com.localstorage
│ └── https_www.baidu.com.localstorage
├── MainDlg.cpp
├── MainDlg.h
├── controls
│ ├── SMiniBlink.cpp
│ └── SMiniBlink.h
├── cookies.dat
├── echarts
│ ├── Demo1.htm
│ └── echarts.min.js
├── license.txt
├── miniblink
│ └── wkedefine.h
├── readme.txt
├── res
│ ├── resource.h
│ └── soui_res.rc2
├── resource.h
├── stdafx.cpp
├── stdafx.h
└── uires
│ ├── image
│ └── soui.ico
│ ├── uidef
│ └── init.xml
│ ├── uires.idx
│ ├── values
│ ├── color.xml
│ ├── skin.xml
│ └── string.xml
│ └── xml
│ └── dlg_main.xml
├── ECharts In Soui.sln
└── ECharts In Soui
├── ECharts In Soui.cpp
├── ECharts In Soui.rc
├── ECharts In Soui.vcxproj
├── ECharts In Soui.vcxproj.filters
├── MainDlg.cpp
├── MainDlg.h
├── constrols
├── SWkeWebkit.cpp
└── SWkeWebkit.h
├── echarts
├── Demo1.htm
└── echarts.min.js
├── license.txt
├── localStorage
├── http_echarts.baidu.com_0.localstorage
├── http_news.baidu.com_0.localstorage
└── https_www.baidu.com_0.localstorage
├── readme.txt
├── res
├── resource.h
└── soui_res.rc2
├── resource.h
├── stdafx.cpp
├── stdafx.h
├── uires
├── image
│ └── soui.ico
├── uidef
│ └── init.xml
├── uires.idx
├── values
│ ├── color.xml
│ ├── skin.xml
│ └── string.xml
└── xml
│ └── dlg_main.xml
└── wke
├── include
└── wke.h
├── lib
└── wke.lib
├── readme.txt
└── wke.7z
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | bld/
21 | [Bb]in/
22 | [Oo]bj/
23 | [Ll]og/
24 |
25 | # Visual Studio 2015 cache/options directory
26 | .vs/
27 | # Uncomment if you have tasks that create the project's static files in wwwroot
28 | #wwwroot/
29 |
30 | # MSTest test Results
31 | [Tt]est[Rr]esult*/
32 | [Bb]uild[Ll]og.*
33 |
34 | # NUNIT
35 | *.VisualState.xml
36 | TestResult.xml
37 |
38 | # Build Results of an ATL Project
39 | [Dd]ebugPS/
40 | [Rr]eleasePS/
41 | dlldata.c
42 |
43 | # DNX
44 | project.lock.json
45 | project.fragment.lock.json
46 | artifacts/
47 |
48 | *_i.c
49 | *_p.c
50 | *_i.h
51 | *.ilk
52 | *.meta
53 | *.obj
54 | *.pch
55 | *.pdb
56 | *.pgc
57 | *.pgd
58 | *.rsp
59 | *.sbr
60 | *.tlb
61 | *.tli
62 | *.tlh
63 | *.tmp
64 | *.tmp_proj
65 | *.log
66 | *.vspscc
67 | *.vssscc
68 | .builds
69 | *.pidb
70 | *.svclog
71 | *.scc
72 |
73 | # Chutzpah Test files
74 | _Chutzpah*
75 |
76 | # Visual C++ cache files
77 | ipch/
78 | *.aps
79 | *.ncb
80 | *.opendb
81 | *.opensdf
82 | *.sdf
83 | *.cachefile
84 | *.VC.db
85 | *.VC.VC.opendb
86 |
87 | # Visual Studio profiler
88 | *.psess
89 | *.vsp
90 | *.vspx
91 | *.sap
92 |
93 | # TFS 2012 Local Workspace
94 | $tf/
95 |
96 | # Guidance Automation Toolkit
97 | *.gpState
98 |
99 | # ReSharper is a .NET coding add-in
100 | _ReSharper*/
101 | *.[Rr]e[Ss]harper
102 | *.DotSettings.user
103 |
104 | # JustCode is a .NET coding add-in
105 | .JustCode
106 |
107 | # TeamCity is a build add-in
108 | _TeamCity*
109 |
110 | # DotCover is a Code Coverage Tool
111 | *.dotCover
112 |
113 | # NCrunch
114 | _NCrunch_*
115 | .*crunch*.local.xml
116 | nCrunchTemp_*
117 |
118 | # MightyMoose
119 | *.mm.*
120 | AutoTest.Net/
121 |
122 | # Web workbench (sass)
123 | .sass-cache/
124 |
125 | # Installshield output folder
126 | [Ee]xpress/
127 |
128 | # DocProject is a documentation generator add-in
129 | DocProject/buildhelp/
130 | DocProject/Help/*.HxT
131 | DocProject/Help/*.HxC
132 | DocProject/Help/*.hhc
133 | DocProject/Help/*.hhk
134 | DocProject/Help/*.hhp
135 | DocProject/Help/Html2
136 | DocProject/Help/html
137 |
138 | # Click-Once directory
139 | publish/
140 |
141 | # Publish Web Output
142 | *.[Pp]ublish.xml
143 | *.azurePubxml
144 | # TODO: Comment the next line if you want to checkin your web deploy settings
145 | # but database connection strings (with potential passwords) will be unencrypted
146 | #*.pubxml
147 | *.publishproj
148 |
149 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
150 | # checkin your Azure Web App publish settings, but sensitive information contained
151 | # in these scripts will be unencrypted
152 | PublishScripts/
153 |
154 | # NuGet Packages
155 | *.nupkg
156 | # The packages folder can be ignored because of Package Restore
157 | **/packages/*
158 | # except build/, which is used as an MSBuild target.
159 | !**/packages/build/
160 | # Uncomment if necessary however generally it will be regenerated when needed
161 | #!**/packages/repositories.config
162 | # NuGet v3's project.json files produces more ignoreable files
163 | *.nuget.props
164 | *.nuget.targets
165 |
166 | # Microsoft Azure Build Output
167 | csx/
168 | *.build.csdef
169 |
170 | # Microsoft Azure Emulator
171 | ecf/
172 | rcf/
173 |
174 | # Windows Store app package directories and files
175 | AppPackages/
176 | BundleArtifacts/
177 | Package.StoreAssociation.xml
178 | _pkginfo.txt
179 |
180 | # Visual Studio cache files
181 | # files ending in .cache can be ignored
182 | *.[Cc]ache
183 | # but keep track of directories ending in .cache
184 | !*.[Cc]ache/
185 |
186 | # Others
187 | ClientBin/
188 | ~$*
189 | *~
190 | *.dbmdl
191 | *.dbproj.schemaview
192 | *.jfm
193 | *.pfx
194 | *.publishsettings
195 | node_modules/
196 | orleans.codegen.cs
197 |
198 | # Since there are multiple workflows, uncomment next line to ignore bower_components
199 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
200 | #bower_components/
201 |
202 | # RIA/Silverlight projects
203 | Generated_Code/
204 |
205 | # Backup & report files from converting an old project file
206 | # to a newer Visual Studio version. Backup files are not needed,
207 | # because we have git ;-)
208 | _UpgradeReport_Files/
209 | Backup*/
210 | UpgradeLog*.XML
211 | UpgradeLog*.htm
212 |
213 | # SQL Server files
214 | *.mdf
215 | *.ldf
216 |
217 | # Business Intelligence projects
218 | *.rdl.data
219 | *.bim.layout
220 | *.bim_*.settings
221 |
222 | # Microsoft Fakes
223 | FakesAssemblies/
224 |
225 | # GhostDoc plugin setting file
226 | *.GhostDoc.xml
227 |
228 | # Node.js Tools for Visual Studio
229 | .ntvs_analysis.dat
230 |
231 | # Visual Studio 6 build log
232 | *.plg
233 |
234 | # Visual Studio 6 workspace options file
235 | *.opt
236 |
237 | # Visual Studio LightSwitch build output
238 | **/*.HTMLClient/GeneratedArtifacts
239 | **/*.DesktopClient/GeneratedArtifacts
240 | **/*.DesktopClient/ModelManifest.xml
241 | **/*.Server/GeneratedArtifacts
242 | **/*.Server/ModelManifest.xml
243 | _Pvt_Extensions
244 |
245 | # Paket dependency manager
246 | .paket/paket.exe
247 | paket-files/
248 |
249 | # FAKE - F# Make
250 | .fake/
251 |
252 | # JetBrains Rider
253 | .idea/
254 | *.sln.iml
255 |
256 | # CodeRush
257 | .cr/
258 |
259 | # Python Tools for Visual Studio (PTVS)
260 | __pycache__/
261 | *.pyc
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/ECharts In Soui with MiniBlink.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/ECharts In Soui with MiniBlink.cpp
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/ECharts In Soui with MiniBlink.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/ECharts In Soui with MiniBlink.rc
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/ECharts In Soui with MiniBlink.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 | Debug
14 | x64
15 |
16 |
17 | Release
18 | x64
19 |
20 |
21 |
22 | 15.0
23 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}
24 | v4.5
25 |
26 |
27 |
28 | Application
29 | true
30 | v141_xp
31 | Unicode
32 |
33 |
34 | Application
35 | false
36 | v141_xp
37 | Unicode
38 |
39 |
40 | Application
41 | true
42 | v141_xp
43 | Unicode
44 |
45 |
46 | Application
47 | false
48 | v141_xp
49 | Unicode
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 | $(Configuration)\
71 | $(SolutionDir)$(Configuration)\
72 | true
73 |
74 |
75 | $(Configuration)\
76 | $(SolutionDir)$(Configuration)\
77 | false
78 |
79 |
80 | $(Configuration)64\
81 | $(SolutionDir)$(Configuration)64\
82 | true
83 |
84 |
85 | $(Configuration)64\
86 | $(SolutionDir)$(Configuration)64\
87 | false
88 |
89 |
90 |
91 | Use
92 | true
93 | true
94 | Level3
95 | $(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
96 | WIN32;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions)
97 | MultiThreadedDebug
98 | true
99 | Disabled
100 | EditAndContinue
101 |
102 |
103 | true
104 | true
105 | $(SOUIPATH)\bin;%(AdditionalLibraryDirectories)
106 | utilitiesd.lib;souid.lib;%(AdditionalDependencies)
107 | Windows
108 |
109 |
110 |
111 |
112 | Use
113 | true
114 | true
115 | Level3
116 | $(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
117 | WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)
118 | MultiThreaded
119 | true
120 |
121 |
122 | true
123 | true
124 | $(SOUIPATH)\bin;%(AdditionalLibraryDirectories)
125 | utilities.lib;soui.lib;%(AdditionalDependencies)
126 | Windows
127 |
128 |
129 |
130 |
131 | Use
132 | true
133 | true
134 | Level3
135 | $(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
136 | WIN64;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions)
137 | MultiThreadedDebug
138 | true
139 | Disabled
140 | EditAndContinue
141 |
142 |
143 | true
144 | true
145 | $(SOUIPATH)\bin64;%(AdditionalLibraryDirectories)
146 | utilitiesd.lib;souid.lib;%(AdditionalDependencies)
147 | Windows
148 |
149 |
150 |
151 |
152 | Use
153 | true
154 | true
155 | Level3
156 | $(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
157 | WIN64;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)
158 | MultiThreaded
159 | true
160 |
161 |
162 | true
163 | true
164 | $(SOUIPATH)\bin64;%(AdditionalLibraryDirectories)
165 | utilities.lib;soui.lib;%(AdditionalDependencies)
166 | Windows
167 |
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 | Create
179 | Create
180 | Create
181 | Create
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
197 | Building SoUI Resource
198 | .\res\soui_res.rc2;%(Outputs)
199 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
200 | Building SoUI Resource
201 | .\res\soui_res.rc2;%(Outputs)
202 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
203 | Building SoUI Resource
204 | .\res\soui_res.rc2;%(Outputs)
205 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
206 | Building SoUI Resource
207 | .\res\soui_res.rc2;%(Outputs)
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 | Designer
217 |
218 |
219 |
220 |
221 |
222 |
223 |
224 |
225 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/ECharts In Soui with MiniBlink.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {1cfbbcda-6794-49a1-b5e3-ca554739bfdb}
6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm
7 |
8 |
9 | {b0a2d6a8-c3de-4f72-98d9-182efd27a71f}
10 | h;hpp;hxx;hm;inl;inc
11 |
12 |
13 | {ebe9debd-00cc-4a47-96fb-112a78c66dd5}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;jpg;jpeg;jpe;manifest
15 |
16 |
17 | {18d34600-123f-413f-93ea-9702c7bf7196}
18 | idx;xml;png;gif;jpg;ico;lua;bmp
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | Source Files
28 |
29 |
30 | Source Files
31 |
32 |
33 | Source Files
34 |
35 |
36 | Source Files
37 |
38 |
39 |
40 |
41 | Resource Files
42 |
43 |
44 |
45 |
46 | Header Files
47 |
48 |
49 | Header Files
50 |
51 |
52 | Header Files
53 |
54 |
55 | Header Files
56 |
57 |
58 |
59 |
60 | Resource Files
61 |
62 |
63 |
64 |
65 | SoUI Resouece
66 |
67 |
68 | SoUI Resouece
69 |
70 |
71 | SoUI Resouece
72 |
73 |
74 | SoUI Resouece
75 |
76 |
77 | SoUI Resouece
78 |
79 |
80 |
81 |
82 | SoUI Resouece
83 |
84 |
85 |
86 |
87 | SoUI Resouece
88 |
89 |
90 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/LocalStorage/http_echarts.baidu.com.localstorage:
--------------------------------------------------------------------------------
1 | Hm_unsent_4bad1df23f079e0d12bdbef5e65b072fhm.baidu.com%2Fhm.gif%3Fcc%3D0%26ck%3D1%26cl%3D0-bit%26ds%3D1707x960%26vl%3D939%26ep%3D5638%252C5638%26et%3D3%26ja%3D0%26ln%3Dzh-cn%26lo%3D0%26lt%3D1522032508%26rnd%3D698790178%26si%3D4bad1df23f079e0d12bdbef5e65b072f%26su%3Dhttp%253A%252F%252Fecharts.baidu.com%252Fexamples%252Findex.html%26v%3D1.2.30%26lv%3D3%26sn%3D47729%26u%3Dhttp%253A%252F%252Fecharts.baidu.com%252Fexamples%252Feditor.html%253Fc%253Dpie-doughnutHm_lpvt_4bad1df23f079e0d12bdbef5e65b072f1522032569
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/LocalStorage/http_www.echartsjs.com.localstorage:
--------------------------------------------------------------------------------
1 | Hm_unsent_4bad1df23f079e0d12bdbef5e65b072fhm.baidu.com%2Fhm.gif%3Fcc%3D0%26ck%3D1%26cl%3D0-bit%26ds%3D1707x960%26vl%3D298%26ep%3D17920%252C17909%26et%3D3%26ja%3D0%26ln%3Dzh-cn%26lo%3D0%26rnd%3D1092549115%26si%3D4bad1df23f079e0d12bdbef5e65b072f%26su%3Dhttp%253A%252F%252Fecharts.baidu.com%252Ftutorial.html%26v%3D1.2.30%26lv%3D1%26sn%3D55155%26u%3Dhttp%253A%252F%252Fwww.echartsjs.com%252Fgallery%252Fview.html%253Fc%253Ddoc-example%252Fgetting-started%2526reset%253D1%2526edit%253D1,hm.baidu.com%2Fhm.gif%3Fcc%3D0%26ck%3D1%26cl%3D0-bit%26ds%3D1707x960%26vl%3D937%26ep%3D1512%252C1493%26et%3D3%26ja%3D0%26ln%3Dzh-cn%26lo%3D0%26lt%3D1521712320%26rnd%3D1852099147%26si%3D4bad1df23f079e0d12bdbef5e65b072f%26su%3Dhttp%253A%252F%252Fwww.echartsjs.com%252Fgallery%252Fview.html%253Fc%253Ddoc-example%252Fgetting-started%2526reset%253D1%2526edit%253D1%26v%3D1.2.30%26lv%3D2%26sn%3D55165%26u%3Dhttp%253A%252F%252Fwww.echartsjs.com%252Fgallery%252Feditor.html%253Fc%253Ddoc-example%252Fgetting-startedHm_lpvt_4bad1df23f079e0d12bdbef5e65b072f1521712330
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/LocalStorage/https_www.baidu.com.localstorage:
--------------------------------------------------------------------------------
1 | BIDUPSIDF70334514306396DAAB760213442A9ED
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/MainDlg.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/MainDlg.cpp
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/MainDlg.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/MainDlg.h
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/controls/SMiniBlink.cpp:
--------------------------------------------------------------------------------
1 | #include "StdAfx.h"
2 | #include "SMiniblink.h"
3 | #include
4 | #pragma comment(lib,"imm32.lib")
5 | #pragma comment(lib,"msimg32.lib")
6 | namespace SOUI
7 | {
8 | //////////////////////////////////////////////////////////////////////////
9 | // SWkeLoader
10 |
11 |
12 | SWkeLoader::SWkeLoader()
13 | {
14 | wkeInit();
15 | }
16 |
17 |
18 | SWkeLoader::~SWkeLoader()
19 | {
20 | wkeShutdown();
21 | }
22 |
23 | //////////////////////////////////////////////////////////////////////////
24 | // SWkeWebkit
25 |
26 | SWkeWebkit::SWkeWebkit(void) :m_pWebView(NULL)
27 | {
28 | }
29 |
30 | SWkeWebkit::~SWkeWebkit(void)
31 | {
32 | }
33 |
34 | void SWkeWebkit::OnPaint(IRenderTarget *pRT)
35 | {
36 | CRect rcClip;
37 | pRT->GetClipBox(&rcClip);
38 | CRect rcClient;
39 | GetClientRect(&rcClient);
40 | CRect rcInvalid;
41 | rcInvalid.IntersectRect(&rcClip, &rcClient);
42 | HDC hdc = pRT->GetDC();
43 | if (GetStyle().m_byAlpha != 0xff)
44 | {
45 | BLENDFUNCTION bf = { AC_SRC_OVER,0,GetStyle().m_byAlpha,AC_SRC_ALPHA };
46 | AlphaBlend(hdc, rcInvalid.left, rcInvalid.top, rcInvalid.Width(), rcInvalid.Height(), wkeGetViewDC((wkeWebView)m_pWebView), rcInvalid.left - rcClient.left, rcInvalid.top - rcClient.top, rcInvalid.Width(), rcInvalid.Height(), bf);
47 | }
48 | else
49 | {
50 | BitBlt(hdc, rcInvalid.left, rcInvalid.top, rcInvalid.Width(), rcInvalid.Height(), wkeGetViewDC((wkeWebView)m_pWebView), rcInvalid.left - rcClient.left, rcInvalid.top - rcClient.top, SRCCOPY);
51 | }
52 | pRT->ReleaseDC(hdc);
53 | }
54 |
55 | void SWkeWebkit::OnSize(UINT nType, CSize size)
56 | {
57 | __super::OnSize(nType, size);
58 | wkeResize(m_pWebView, size.cx, size.cy);
59 | }
60 |
61 | void wkePaintUpdatedCallback(wkeWebView webView, void* param, const HDC hdcSrc, int x, int y, int cx, int cy)
62 | {
63 | SWkeWebkit *_THIS = (SWkeWebkit*)param;
64 | CRect rcClient;
65 | _THIS->GetClientRect(&rcClient);
66 | CRect rcInvalid(CPoint(x, y), CSize(cx, cy));
67 | rcInvalid.OffsetRect(rcClient.TopLeft());
68 | _THIS->InvalidateRect(rcInvalid);
69 | }
70 |
71 | void wkeURLChangedCallback(wkeWebView webView, void* param, const wkeString url)
72 | {
73 | SStringT strUrl = wkeToStringW(url);
74 | int abc;
75 | }
76 |
77 |
78 | int SWkeWebkit::OnCreate(void *)
79 | {
80 | m_pWebView = wkeCreateWebView();
81 | wkeSetHandle(m_pWebView, this->GetContainer()->GetHostHwnd());
82 | if (!m_pWebView) return 1;
83 | wkeSetNavigationToNewWindowEnable((wkeWebView)m_pWebView, false);
84 | wkeOnPaintUpdated((wkeWebView)m_pWebView, wkePaintUpdatedCallback, this);
85 | wkeOnURLChanged(m_pWebView, wkeURLChangedCallback, NULL);
86 | wkeLoadURL(m_pWebView, S_CT2A(m_strUrl, CP_UTF8));
87 | return 0;
88 | }
89 |
90 | void SWkeWebkit::OnDestroy()
91 | {
92 | if (m_pWebView)
93 | {
94 | wkeSetHandle(m_pWebView, nullptr);
95 | wkeDestroyWebView((wkeWebView)m_pWebView);
96 | }
97 | }
98 | LRESULT SWkeWebkit::OnMouseEvent(UINT message, WPARAM wParam, LPARAM lParam)
99 | {
100 | if (message == WM_LBUTTONDOWN || message == WM_MBUTTONDOWN || message == WM_RBUTTONDOWN)
101 | {
102 | SetFocus();
103 | SetCapture();
104 | }
105 | else if (message == WM_LBUTTONUP || message == WM_MBUTTONUP || message == WM_RBUTTONUP)
106 | {
107 | ReleaseCapture();
108 | }
109 |
110 | CRect rcClient;
111 | GetClientRect(&rcClient);
112 |
113 | int x = GET_X_LPARAM(lParam) - rcClient.left;
114 | int y = GET_Y_LPARAM(lParam) - rcClient.top;
115 |
116 | unsigned int flags = 0;
117 |
118 | if (wParam & MK_CONTROL)
119 | flags |= WKE_CONTROL;
120 | if (wParam & MK_SHIFT)
121 | flags |= WKE_SHIFT;
122 |
123 | if (wParam & MK_LBUTTON)
124 | flags |= WKE_LBUTTON;
125 | if (wParam & MK_MBUTTON)
126 | flags |= WKE_MBUTTON;
127 | if (wParam & MK_RBUTTON)
128 | flags |= WKE_RBUTTON;
129 |
130 | SetMsgHandled(wkeFireMouseEvent(m_pWebView, message, x, y, flags));
131 | return 0;
132 | }
133 |
134 | LRESULT SWkeWebkit::OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam)
135 | {
136 | unsigned int flags = 0;
137 | if (HIWORD(lParam) & KF_REPEAT)
138 | flags |= WKE_REPEAT;
139 | if (HIWORD(lParam) & KF_EXTENDED)
140 | flags |= WKE_EXTENDED;
141 |
142 | if (wParam == VK_F12)
143 | {
144 | wkeSetDebugConfig(m_pWebView, "showDevTools", u8"E:\\doc\\Visual Studio 2017\\Projects\\SouiAndMb\\Debug\\front_end\\inspector.html");
145 | }
146 | SetMsgHandled(wkeFireKeyDownEvent(m_pWebView, wParam, flags, false));
147 | return 0;
148 | }
149 |
150 | LRESULT SWkeWebkit::OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam)
151 | {
152 | unsigned int flags = 0;
153 | if (HIWORD(lParam) & KF_REPEAT)
154 | flags |= WKE_REPEAT;
155 | if (HIWORD(lParam) & KF_EXTENDED)
156 | flags |= WKE_EXTENDED;
157 |
158 | SetMsgHandled(wkeFireKeyUpEvent(m_pWebView, wParam, flags, false));
159 | return 0;
160 | }
161 |
162 | LRESULT SWkeWebkit::OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam)
163 | {
164 | POINT pt;
165 | pt.x = GET_X_LPARAM(lParam);
166 | pt.y = GET_Y_LPARAM(lParam);
167 |
168 | CRect rc;
169 | GetWindowRect(&rc);
170 | pt.x -= rc.left;
171 | pt.y -= rc.top;
172 |
173 | int delta = GET_WHEEL_DELTA_WPARAM(wParam);
174 |
175 | unsigned int flags = 0;
176 |
177 | if (wParam & MK_CONTROL)
178 | flags |= WKE_CONTROL;
179 | if (wParam & MK_SHIFT)
180 | flags |= WKE_SHIFT;
181 |
182 | if (wParam & MK_LBUTTON)
183 | flags |= WKE_LBUTTON;
184 | if (wParam & MK_MBUTTON)
185 | flags |= WKE_MBUTTON;
186 | if (wParam & MK_RBUTTON)
187 | flags |= WKE_RBUTTON;
188 |
189 | //flags = wParam;
190 |
191 | SetMsgHandled(wkeFireMouseWheelEvent(m_pWebView, pt.x, pt.y, delta, flags));
192 |
193 | return 0;
194 | }
195 |
196 | LRESULT SWkeWebkit::OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam)
197 | {
198 | unsigned int charCode = wParam;
199 | unsigned int flags = 0;
200 | if (HIWORD(lParam) & KF_REPEAT)
201 | flags |= WKE_REPEAT;
202 | if (HIWORD(lParam) & KF_EXTENDED)
203 | flags |= WKE_EXTENDED;
204 |
205 | //flags = HIWORD(lParam);
206 |
207 | SetMsgHandled(wkeFireKeyPressEvent(m_pWebView, charCode, flags, false));
208 | return 0;
209 | }
210 |
211 | LRESULT SWkeWebkit::OnImeStartComposition(UINT uMsg, WPARAM wParam, LPARAM lParam)
212 | {
213 | wkeRect caret = wkeGetCaret(m_pWebView);
214 |
215 | CRect rcClient;
216 | GetClientRect(&rcClient);
217 |
218 | CANDIDATEFORM form;
219 | form.dwIndex = 0;
220 | form.dwStyle = CFS_EXCLUDE;
221 | form.ptCurrentPos.x = caret.x + rcClient.left;
222 | form.ptCurrentPos.y = caret.y + caret.h + rcClient.top;
223 | form.rcArea.top = caret.y + rcClient.top;
224 | form.rcArea.bottom = caret.y + caret.h + rcClient.top;
225 | form.rcArea.left = caret.x + rcClient.left;
226 | form.rcArea.right = caret.x + caret.w + rcClient.left;
227 | COMPOSITIONFORM compForm;
228 | compForm.ptCurrentPos = form.ptCurrentPos;
229 | compForm.rcArea = form.rcArea;
230 | compForm.dwStyle = CFS_POINT;
231 |
232 | HWND hWnd = GetContainer()->GetHostHwnd();
233 | HIMC hIMC = ImmGetContext(hWnd);
234 | ImmSetCandidateWindow(hIMC, &form);
235 | ImmSetCompositionWindow(hIMC, &compForm);
236 | ImmReleaseContext(hWnd, hIMC);
237 | return 0;
238 | }
239 |
240 | void SWkeWebkit::OnSetFocus(SWND wndOld)
241 | {
242 | __super::OnSetCursor(wndOld);
243 | wkeSetFocus(m_pWebView);
244 | }
245 |
246 | void SWkeWebkit::OnKillFocus(SWND wndFocus)
247 | {
248 | wkeKillFocus(m_pWebView);
249 | __super::OnKillFocus(wndFocus);
250 | }
251 |
252 | BOOL SWkeWebkit::OnSetCursor(const CPoint &pt)
253 | {
254 | int curInf = wkeGetCursorInfoType((wkeWebView)m_pWebView);
255 |
256 | HCURSOR hCursor = GETRESPROVIDER->LoadCursor(wkeCursor(curInf));
257 | SetCursor(hCursor);
258 | return TRUE;
259 | }
260 |
261 | #define WkeCursorInfoMiddlePanning 20
262 | #define WkeCursorInfoEastPanning 21
263 | #define WkeCursorInfoNorthPanning 22
264 | #define WkeCursorInfoNorthEastPanning 23
265 | #define WkeCursorInfoNorthWestPanning 24
266 | #define WkeCursorInfoSouthPanning 25
267 | #define WkeCursorInfoSouthEastPanning 26
268 | #define WkeCursorInfoSouthWestPanning 27
269 | #define WkeCursorInfoWestPanning 28
270 | #define WkeCursorInfoMove 29
271 | #define WkeCursorInfoVerticalText 30
272 | #define WkeCursorInfoCell 31
273 | #define WkeCursorInfoContextMenu 32
274 | #define WkeCursorInfoAlias 33
275 | #define WkeCursorInfoProgress 34
276 | #define WkeCursorInfoNoDrop 35
277 | #define WkeCursorInfoCopy 36
278 | #define WkeCursorInfoNone 37
279 | #define WkeCursorInfoNotAllowed 38
280 | #define WkeCursorInfoZoomIn 39
281 | #define WkeCursorInfoZoomOut 40
282 | #define WkeCursorInfoGrab 41
283 | #define WkeCursorInfoGrabbing 42
284 | #define TypeCustom 43
285 |
286 | LPCTSTR SWkeWebkit::wkeCursor(int wekInfId)
287 | {
288 | /*
289 | TypePointer,0
290 | TypeCross,1
291 | TypeHand,2
292 | TypeIBeam,3
293 | TypeWait,4
294 | TypeHelp,5
295 | TypeEastResize,6
296 | TypeNorthResize,7
297 | TypeNorthEastResize,8
298 | TypeNorthWestResize,9
299 | TypeSouthResize,10
300 | TypeSouthEastResize,11
301 | TypeSouthWestResize,12
302 | TypeWestResize,13
303 | TypeNorthSouthResize,14
304 | TypeEastWestResize,15
305 | TypeNorthEastSouthWestResize,16
306 | TypeNorthWestSouthEastResize,17
307 | TypeColumnResize,18
308 | TypeRowResize,19
309 | TypeMiddlePanning,20
310 | TypeEastPanning,
311 | TypeNorthPanning,
312 | TypeNorthEastPanning,
313 | TypeNorthWestPanning,
314 | TypeSouthPanning,
315 | TypeSouthEastPanning,
316 | TypeSouthWestPanning,
317 | TypeWestPanning,
318 | TypeMove,
319 | TypeVerticalText,
320 | TypeCell,
321 | TypeContextMenu,
322 | TypeAlias,
323 | TypeProgress,
324 | TypeNoDrop,
325 | TypeCopy,
326 | TypeNone,
327 | TypeNotAllowed,
328 | TypeZoomIn,
329 | TypeZoomOut,
330 | TypeGrab,
331 | TypeGrabbing,
332 | TypeCustom
333 | */
334 | LPCTSTR curResStr = NULL;
335 | switch (wekInfId)
336 | {
337 | case WkeCursorInfoPointer:
338 | curResStr = IDC_ARROW; break;
339 | case WkeCursorInfoCross:
340 | curResStr = IDC_CROSS; break;
341 | case WkeCursorInfoHand:
342 | curResStr = IDC_HAND; break;
343 | case WkeCursorInfoIBeam:
344 | curResStr = IDC_IBEAM; break;
345 | case WkeCursorInfoWait:
346 | curResStr = IDC_WAIT; break;
347 | case WkeCursorInfoHelp:
348 | curResStr = IDC_HELP; break;
349 | case WkeCursorInfoEastResize:
350 | curResStr = IDC_SIZEWE; break;
351 | case WkeCursorInfoNorthResize:
352 | curResStr = IDC_SIZENS; break;
353 | case WkeCursorInfoNorthEastResize:
354 | curResStr = IDC_SIZENESW; break;
355 | case WkeCursorInfoNorthWestResize:
356 | curResStr = IDC_SIZENWSE; break;
357 | case WkeCursorInfoSouthResize:
358 | curResStr = IDC_SIZENS; break;
359 | case WkeCursorInfoSouthEastResize:
360 | curResStr = IDC_SIZENWSE; break;
361 | case WkeCursorInfoSouthWestResize:
362 | curResStr = IDC_SIZENESW; break;
363 | case WkeCursorInfoWestResize:
364 | curResStr = IDC_SIZEWE; break;
365 | case WkeCursorInfoNorthSouthResize:
366 | curResStr = IDC_SIZENS; break;
367 | case WkeCursorInfoEastWestResize:
368 | curResStr = IDC_SIZEWE; break;
369 | case WkeCursorInfoNorthEastSouthWestResize:
370 | curResStr = IDC_SIZENESW; break;
371 | case WkeCursorInfoNorthWestSouthEastResize:
372 | curResStr = IDC_SIZENWSE; break;
373 | case WkeCursorInfoColumnResize:
374 | curResStr = IDC_SIZENS; break;
375 | case WkeCursorInfoRowResize:
376 | curResStr = IDC_SIZEWE; break;
377 | case WkeCursorInfoMove:
378 | curResStr = IDC_SIZEALL; break;
379 | default:curResStr = IDC_ARROW; break;
380 | }
381 | return curResStr;
382 | }
383 |
384 | BOOL SWkeWebkit::OnAttrUrl(SStringW strValue, BOOL bLoading)
385 | {
386 | m_strUrl = strValue;
387 | if (!bLoading&&m_pWebView)
388 | wkeLoadURL(m_pWebView, S_CT2A(m_strUrl, CP_UTF8));
389 | return !bLoading;
390 | }
391 | }
392 |
393 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/controls/SMiniBlink.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../miniblink/wkedefine.h"
3 | namespace SOUI
4 | {
5 | class SWkeLoader
6 | {
7 | public:
8 | SWkeLoader();
9 | ~SWkeLoader();
10 | };
11 | class SWkeWebkit : public SWindow
12 | {
13 | SOUI_CLASS_NAME(SWkeWebkit, L"wkeWebkit")
14 | public:
15 | SWkeWebkit(void);
16 | ~SWkeWebkit(void);
17 | wkeWebView GetWebView() { return m_pWebView; }
18 | protected:
19 | LPCTSTR wkeCursor(int wekInfId);
20 | int OnCreate(void *);
21 | void OnDestroy();
22 | void OnPaint(IRenderTarget *pRT);
23 | void OnSize(UINT nType, CSize size);
24 | LRESULT OnMouseEvent(UINT uMsg, WPARAM wParam, LPARAM lParam);
25 | LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam);
26 | LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam);
27 | LRESULT OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam);
28 | LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam);
29 | LRESULT OnImeStartComposition(UINT uMsg, WPARAM wParam, LPARAM lParam);
30 | void OnSetFocus(SWND wndOld);
31 | void OnKillFocus(SWND wndFocus);
32 | virtual BOOL OnSetCursor(const CPoint &pt);
33 | virtual UINT OnGetDlgCode() { return SC_WANTALLKEYS; }
34 | BOOL OnAttrUrl(SStringW strValue, BOOL bLoading);
35 | SOUI_ATTRS_BEGIN()
36 | ATTR_CUSTOM(L"url", OnAttrUrl)
37 | SOUI_ATTRS_END()
38 |
39 | SOUI_MSG_MAP_BEGIN()
40 | MSG_WM_PAINT_EX(OnPaint)
41 | MSG_WM_CREATE(OnCreate)
42 | MSG_WM_DESTROY(OnDestroy)
43 | MSG_WM_SIZE(OnSize)
44 | MSG_WM_SETFOCUS_EX(OnSetFocus)
45 | MSG_WM_KILLFOCUS_EX(OnKillFocus)
46 | MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, 0x209, OnMouseEvent)
47 | MESSAGE_HANDLER_EX(WM_MOUSEWHEEL, OnMouseWheel)
48 | MESSAGE_HANDLER_EX(WM_KEYDOWN, OnKeyDown)
49 | MESSAGE_HANDLER_EX(WM_KEYUP, OnKeyUp)
50 | MESSAGE_HANDLER_EX(WM_CHAR, OnChar)
51 | MESSAGE_HANDLER_EX(WM_IME_STARTCOMPOSITION, OnImeStartComposition)
52 | SOUI_MSG_MAP_END()
53 | protected:
54 | wkeWebView m_pWebView;
55 | SStringW m_strUrl;
56 | CSize m_szRtSize;
57 | };
58 | }
59 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/cookies.dat:
--------------------------------------------------------------------------------
1 | # Netscape HTTP Cookie File
2 | # https://curl.haxx.se/docs/http-cookies.html
3 | # This file was generated by libcurl! Edit at your own risk.
4 |
5 | .baidu.com TRUE / FALSE 3669190269 BAIDUID F70334514306396DAAB760213442A9ED:FG=1
6 | .baidu.com TRUE / FALSE 3669190269 BIDUPSID F70334514306396DAAB760213442A9ED
7 | .baidu.com TRUE / FALSE 3669190269 PSTM 1521706623
8 | www.baidu.com FALSE / FALSE 1522898626 BD_UPN 12314353
9 | .hm.baidu.com TRUE / FALSE 2147385600 HMACCOUNT E8B88ABDDAEB90A4
10 | echarts.baidu.com FALSE / FALSE 1553568568 Hm_lvt_4bad1df23f079e0d12bdbef5e65b072f 1521710422,1521712312,1521712901,1522032508
11 | www.echartsjs.com FALSE / FALSE 1553248330 Hm_lvt_4bad1df23f079e0d12bdbef5e65b072f 1521712320
12 | .baidu.com TRUE / FALSE 1522118894 BDORZ B490B5EBF6F3CD402E515D22BCDA1598
13 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/echarts/Demo1.htm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ECharts
6 |
7 |
8 |
9 |
10 |
11 |
12 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/license.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/license.txt
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/miniblink/wkedefine.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/miniblink/wkedefine.h
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/readme.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/readme.txt
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/res/resource.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/res/resource.h
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/res/soui_res.rc2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/res/soui_res.rc2
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by ECharts In Soui with MiniBlink.rc
4 | //
5 |
6 | // Next default values for new objects
7 | //
8 | #ifdef APSTUDIO_INVOKED
9 | #ifndef APSTUDIO_READONLY_SYMBOLS
10 | #define _APS_NEXT_RESOURCE_VALUE 114
11 | #define _APS_NEXT_COMMAND_VALUE 40037
12 | #define _APS_NEXT_CONTROL_VALUE 1000
13 | #define _APS_NEXT_SYMED_VALUE 101
14 | #endif
15 | #endif
16 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // SkinTest.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/stdafx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/stdafx.h
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/uires/image/soui.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui with MiniBlink/uires/image/soui.ico
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/uires/uidef/init.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/uires/uires.idx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/uires/values/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/uires/values/skin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/uires/values/string.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ECharts In Soui with MiniBlink/uires/xml/dlg_main.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 | @string/title
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/ECharts In Soui.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.27428.2011
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ECharts In Soui with Wke", "ECharts In Soui\ECharts In Soui.vcxproj", "{B1A9E6FC-EB29-4F35-B685-3A18151A29EF}"
7 | EndProject
8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ECharts In Soui with MiniBlink", "ECharts In Soui with MiniBlink\ECharts In Soui with MiniBlink.vcxproj", "{F3AB0584-9621-4CF8-9178-B32CF6083EDB}"
9 | EndProject
10 | Global
11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
12 | Debug|x64 = Debug|x64
13 | Debug|x86 = Debug|x86
14 | Release|x64 = Release|x64
15 | Release|x86 = Release|x86
16 | EndGlobalSection
17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
18 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Debug|x64.ActiveCfg = Debug|x64
19 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Debug|x64.Build.0 = Debug|x64
20 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Debug|x86.ActiveCfg = Debug|Win32
21 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Debug|x86.Build.0 = Debug|Win32
22 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Release|x64.ActiveCfg = Release|x64
23 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Release|x64.Build.0 = Release|x64
24 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Release|x86.ActiveCfg = Release|Win32
25 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}.Release|x86.Build.0 = Release|Win32
26 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Debug|x64.ActiveCfg = Debug|x64
27 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Debug|x64.Build.0 = Debug|x64
28 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Debug|x86.ActiveCfg = Debug|Win32
29 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Debug|x86.Build.0 = Debug|Win32
30 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Release|x64.ActiveCfg = Release|x64
31 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Release|x64.Build.0 = Release|x64
32 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Release|x86.ActiveCfg = Release|Win32
33 | {F3AB0584-9621-4CF8-9178-B32CF6083EDB}.Release|x86.Build.0 = Release|Win32
34 | EndGlobalSection
35 | GlobalSection(SolutionProperties) = preSolution
36 | HideSolutionNode = FALSE
37 | EndGlobalSection
38 | GlobalSection(ExtensibilityGlobals) = postSolution
39 | SolutionGuid = {D2EA33EE-D90E-4BA7-87D7-46E501A1E86B}
40 | EndGlobalSection
41 | EndGlobal
42 |
--------------------------------------------------------------------------------
/ECharts In Soui/ECharts In Soui.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/ECharts In Soui.cpp
--------------------------------------------------------------------------------
/ECharts In Soui/ECharts In Soui.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/ECharts In Soui.rc
--------------------------------------------------------------------------------
/ECharts In Soui/ECharts In Soui.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 | Debug
14 | x64
15 |
16 |
17 | Release
18 | x64
19 |
20 |
21 |
22 | 15.0
23 | {B1A9E6FC-EB29-4F35-B685-3A18151A29EF}
24 | v4.5
25 | ECharts In Soui with Wke
26 |
27 |
28 |
29 | Application
30 | true
31 | v141_xp
32 | Unicode
33 |
34 |
35 | Application
36 | false
37 | v141_xp
38 | Unicode
39 |
40 |
41 | Application
42 | true
43 | v141_xp
44 | Unicode
45 |
46 |
47 | Application
48 | false
49 | v141_xp
50 | Unicode
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | $(Configuration)\
72 | $(SolutionDir)$(Configuration)\
73 | true
74 |
75 |
76 | $(Configuration)\
77 | $(SolutionDir)$(Configuration)\
78 | false
79 |
80 |
81 | $(Configuration)64\
82 | $(SolutionDir)$(Configuration)64\
83 | true
84 |
85 |
86 | $(Configuration)64\
87 | $(SolutionDir)$(Configuration)64\
88 | false
89 |
90 |
91 |
92 | Use
93 | true
94 | true
95 | Level3
96 | $(SolutionDir)ECharts In Soui\wke\include;$(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
97 | WIN32;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions)
98 | MultiThreadedDebug
99 | true
100 | Disabled
101 | EditAndContinue
102 |
103 |
104 | true
105 | true
106 | $(SOUIPATH)\bin;%(AdditionalLibraryDirectories)
107 | utilitiesd.lib;souid.lib;%(AdditionalDependencies)
108 | Windows
109 |
110 |
111 |
112 |
113 | Use
114 | true
115 | true
116 | Level3
117 | $(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
118 | WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)
119 | MultiThreaded
120 | true
121 |
122 |
123 | true
124 | true
125 | $(SOUIPATH)\bin;%(AdditionalLibraryDirectories)
126 | utilities.lib;soui.lib;%(AdditionalDependencies)
127 | Windows
128 |
129 |
130 |
131 |
132 | Use
133 | true
134 | true
135 | Level3
136 | $(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
137 | WIN64;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions)
138 | MultiThreadedDebug
139 | true
140 | Disabled
141 | EditAndContinue
142 |
143 |
144 | true
145 | true
146 | $(SOUIPATH)\bin64;%(AdditionalLibraryDirectories)
147 | utilitiesd.lib;souid.lib;%(AdditionalDependencies)
148 | Windows
149 |
150 |
151 |
152 |
153 | Use
154 | true
155 | true
156 | Level3
157 | $(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)
158 | WIN64;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)
159 | MultiThreaded
160 | true
161 |
162 |
163 | true
164 | true
165 | $(SOUIPATH)\bin64;%(AdditionalLibraryDirectories)
166 | utilities.lib;soui.lib;%(AdditionalDependencies)
167 | Windows
168 |
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 | Create
180 | Create
181 | Create
182 | Create
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 | true
197 |
198 |
199 |
200 |
201 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
202 | Building SoUI Resource
203 | .\res\soui_res.rc2;%(Outputs)
204 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
205 | Building SoUI Resource
206 | .\res\soui_res.rc2;%(Outputs)
207 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
208 | Building SoUI Resource
209 | .\res\soui_res.rc2;%(Outputs)
210 | "$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable
211 | Building SoUI Resource
212 | .\res\soui_res.rc2;%(Outputs)
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 | Designer
222 |
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
--------------------------------------------------------------------------------
/ECharts In Soui/ECharts In Soui.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {8d151f3f-a493-413e-b847-4ae31ab08555}
6 | cpp;c;cxx;def;odl;idl;hpj;bat;asm
7 |
8 |
9 | {e8e8ce1a-99e2-425a-96f7-2189f9f97cea}
10 | h;hpp;hxx;hm;inl;inc
11 |
12 |
13 | {350a786f-5ca1-46eb-a102-71cbe5fadd7b}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;jpg;jpeg;jpe;manifest
15 |
16 |
17 | {740e8b3d-71b9-499f-a646-042057e4e1b4}
18 | idx;xml;png;gif;jpg;ico;lua;bmp
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | Source Files
28 |
29 |
30 | Source Files
31 |
32 |
33 | Source Files
34 |
35 |
36 | Source Files
37 |
38 |
39 |
40 |
41 | Resource Files
42 |
43 |
44 |
45 |
46 | Header Files
47 |
48 |
49 | Header Files
50 |
51 |
52 | Header Files
53 |
54 |
55 | Header Files
56 |
57 |
58 |
59 |
60 | Resource Files
61 |
62 |
63 |
64 |
65 |
66 |
67 | SoUI Resouece
68 |
69 |
70 | SoUI Resouece
71 |
72 |
73 | SoUI Resouece
74 |
75 |
76 | SoUI Resouece
77 |
78 |
79 | SoUI Resouece
80 |
81 |
82 |
83 |
84 | SoUI Resouece
85 |
86 |
87 |
88 |
89 | SoUI Resouece
90 |
91 |
92 |
--------------------------------------------------------------------------------
/ECharts In Soui/MainDlg.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/MainDlg.cpp
--------------------------------------------------------------------------------
/ECharts In Soui/MainDlg.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/MainDlg.h
--------------------------------------------------------------------------------
/ECharts In Soui/constrols/SWkeWebkit.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/constrols/SWkeWebkit.cpp
--------------------------------------------------------------------------------
/ECharts In Soui/constrols/SWkeWebkit.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 |
4 | namespace SOUI
5 | {
6 | class SWkeLoader
7 | {
8 | public:
9 | typedef void(*FunWkeInit)();
10 | typedef void(*FunWkeShutdown)();
11 | typedef wkeWebView(*FunWkeCreateWebView)();
12 | typedef void(*FunWkeDestroyWebView)(wkeWebView);
13 | public:
14 | SWkeLoader();
15 |
16 | ~SWkeLoader();
17 |
18 | BOOL Init(LPCTSTR pszDll);
19 |
20 | static SWkeLoader* GetInstance();
21 | public:
22 | FunWkeCreateWebView m_funWkeCreateWebView;
23 | FunWkeDestroyWebView m_funWkeDestroyWebView;
24 | protected:
25 | HMODULE m_hModWke;
26 | FunWkeInit m_funWkeInit;
27 | FunWkeShutdown m_funWkeShutdown;
28 |
29 | static SWkeLoader * s_pInst;
30 | };
31 |
32 | const char TM_TICKER = 1;
33 | class SWkeWebkit : public SWindow, protected wkeBufHandler, protected IIdleHandler
34 | {
35 | SOUI_CLASS_NAME(SWkeWebkit, L"wkeWebkit")
36 | public:
37 | SWkeWebkit(void);
38 | ~SWkeWebkit(void);
39 |
40 | wkeWebView GetWebView() { return m_pWebView; }
41 | protected:
42 | virtual void onBufUpdated(const HDC hdc, int x, int y, int cx, int cy);
43 | virtual BOOL OnIdle();
44 | protected:
45 | int OnCreate(void *);
46 | void OnDestroy();
47 | void OnPaint(IRenderTarget *pRT);
48 | void OnSize(UINT nType, CSize size);
49 | LRESULT OnMouseEvent(UINT uMsg, WPARAM wParam, LPARAM lParam);
50 | LRESULT OnMouseWheel(UINT uMsg, WPARAM wParam, LPARAM lParam);
51 | LRESULT OnKeyDown(UINT uMsg, WPARAM wParam, LPARAM lParam);
52 | LRESULT OnKeyUp(UINT uMsg, WPARAM wParam, LPARAM lParam);
53 | LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam);
54 | LRESULT OnImeStartComposition(UINT uMsg, WPARAM wParam, LPARAM lParam);
55 | void OnSetFocus(SWND wndOld);
56 | void OnKillFocus(SWND wndFocus);
57 | void OnTimer(char cTimerID);
58 |
59 | virtual BOOL OnSetCursor(const CPoint &pt);
60 | virtual UINT OnGetDlgCode() { return SC_WANTALLKEYS; }
61 | BOOL OnAttrUrl(SStringW strValue, BOOL bLoading);
62 | SOUI_ATTRS_BEGIN()
63 | ATTR_CUSTOM(L"url", OnAttrUrl)
64 | SOUI_ATTRS_END()
65 |
66 | SOUI_MSG_MAP_BEGIN()
67 | MSG_WM_PAINT_EX(OnPaint)
68 | MSG_WM_CREATE(OnCreate)
69 | MSG_WM_DESTROY(OnDestroy)
70 | MSG_WM_SIZE(OnSize)
71 | MSG_WM_TIMER_EX(OnTimer)
72 | MSG_WM_SETFOCUS_EX(OnSetFocus)
73 | MSG_WM_KILLFOCUS_EX(OnKillFocus)
74 | MESSAGE_RANGE_HANDLER_EX(WM_MOUSEFIRST, 0x209, OnMouseEvent)
75 | MESSAGE_HANDLER_EX(WM_MOUSEWHEEL, OnMouseWheel)
76 | MESSAGE_HANDLER_EX(WM_KEYDOWN, OnKeyDown)
77 | MESSAGE_HANDLER_EX(WM_KEYUP, OnKeyUp)
78 | MESSAGE_HANDLER_EX(WM_CHAR, OnChar)
79 | MESSAGE_HANDLER_EX(WM_IME_STARTCOMPOSITION, OnImeStartComposition)
80 | SOUI_MSG_MAP_END()
81 |
82 | protected:
83 | wkeWebView m_pWebView;
84 | SStringW m_strUrl;
85 | };
86 | }
87 |
--------------------------------------------------------------------------------
/ECharts In Soui/echarts/Demo1.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/echarts/Demo1.htm
--------------------------------------------------------------------------------
/ECharts In Soui/license.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/license.txt
--------------------------------------------------------------------------------
/ECharts In Soui/localStorage/http_echarts.baidu.com_0.localstorage:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/localStorage/http_echarts.baidu.com_0.localstorage
--------------------------------------------------------------------------------
/ECharts In Soui/localStorage/http_news.baidu.com_0.localstorage:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/localStorage/http_news.baidu.com_0.localstorage
--------------------------------------------------------------------------------
/ECharts In Soui/localStorage/https_www.baidu.com_0.localstorage:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/localStorage/https_www.baidu.com_0.localstorage
--------------------------------------------------------------------------------
/ECharts In Soui/readme.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/readme.txt
--------------------------------------------------------------------------------
/ECharts In Soui/res/resource.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/res/resource.h
--------------------------------------------------------------------------------
/ECharts In Soui/res/soui_res.rc2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/res/soui_res.rc2
--------------------------------------------------------------------------------
/ECharts In Soui/resource.h:
--------------------------------------------------------------------------------
1 | //{{NO_DEPENDENCIES}}
2 | // Microsoft Visual C++ generated include file.
3 | // Used by ECharts In Soui.rc
4 | //
5 |
6 | // Next default values for new objects
7 | //
8 | #ifdef APSTUDIO_INVOKED
9 | #ifndef APSTUDIO_READONLY_SYMBOLS
10 | #define _APS_NEXT_RESOURCE_VALUE 114
11 | #define _APS_NEXT_COMMAND_VALUE 40037
12 | #define _APS_NEXT_CONTROL_VALUE 1000
13 | #define _APS_NEXT_SYMED_VALUE 101
14 | #endif
15 | #endif
16 |
--------------------------------------------------------------------------------
/ECharts In Soui/stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // SkinTest.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
--------------------------------------------------------------------------------
/ECharts In Soui/stdafx.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/stdafx.h
--------------------------------------------------------------------------------
/ECharts In Soui/uires/image/soui.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/uires/image/soui.ico
--------------------------------------------------------------------------------
/ECharts In Soui/uires/uidef/init.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/ECharts In Soui/uires/uires.idx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/ECharts In Soui/uires/values/color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/ECharts In Soui/uires/values/skin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ECharts In Soui/uires/values/string.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/ECharts In Soui/uires/xml/dlg_main.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 | @string/title
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/ECharts In Soui/wke/include/wke.h:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * BlzFans@hotmail.com
4 | * http://wke.sf.net
5 | * http://www.github.com/BlzFans/wke
6 | * licence LGPL
7 | *
8 | */
9 |
10 | #ifndef WKE_H
11 | #define WKE_H
12 |
13 |
14 | #ifdef BUILDING_wke
15 | # define WKE_API __declspec(dllexport)
16 | #else
17 | # define WKE_API __declspec(dllimport)
18 | #endif
19 |
20 | typedef char utf8;
21 |
22 | typedef struct {
23 | int x;
24 | int y;
25 | int w;
26 | int h;
27 | } wkeRect;
28 |
29 | enum wkeMouseFlags
30 | {
31 | WKE_LBUTTON = 0x01,
32 | WKE_RBUTTON = 0x02,
33 | WKE_SHIFT = 0x04,
34 | WKE_CONTROL = 0x08,
35 | WKE_MBUTTON = 0x10,
36 | };
37 |
38 | enum wkeKeyFlags
39 | {
40 | WKE_EXTENDED = 0x0100,
41 | WKE_REPEAT = 0x4000,
42 | };
43 |
44 | enum wkeMouseMsg
45 | {
46 | WKE_MSG_MOUSEMOVE = 0x0200,
47 | WKE_MSG_LBUTTONDOWN = 0x0201,
48 | WKE_MSG_LBUTTONUP = 0x0202,
49 | WKE_MSG_LBUTTONDBLCLK = 0x0203,
50 | WKE_MSG_RBUTTONDOWN = 0x0204,
51 | WKE_MSG_RBUTTONUP = 0x0205,
52 | WKE_MSG_RBUTTONDBLCLK = 0x0206,
53 | WKE_MSG_MBUTTONDOWN = 0x0207,
54 | WKE_MSG_MBUTTONUP = 0x0208,
55 | WKE_MSG_MBUTTONDBLCLK = 0x0209,
56 | WKE_MSG_MOUSEWHEEL = 0x020A,
57 | };
58 |
59 | typedef void* jsExecState;
60 | typedef __int64 jsValue;
61 |
62 | typedef void* wkeString;
63 | typedef void (*ON_TITLE_CHANGED) (const struct _wkeClientHandler* clientHandler, const wkeString title);
64 | typedef void (*ON_URL_CHANGED) (const struct _wkeClientHandler* clientHandler, const wkeString url);
65 |
66 | typedef struct _wkeClientHandler {
67 | ON_TITLE_CHANGED onTitleChanged;
68 | ON_URL_CHANGED onURLChanged;
69 | } wkeClientHandler;
70 |
71 | typedef struct _wkeBufHandler
72 | {
73 | virtual void onBufUpdated (const HDC hdc,int x, int y, int cx, int cy) = 0;
74 | }wkeBufHandler;
75 |
76 | /*
77 | *c++ interface
78 | *-----------------------------------------------------------------------------------------------------------
79 | *
80 | */
81 |
82 | #ifdef __cplusplus
83 |
84 | namespace wke
85 | {
86 | class IWebView
87 | {
88 | public:
89 | virtual void destroy() = 0;
90 |
91 | virtual const char* name() const = 0;
92 | virtual void setName(const char* name) = 0;
93 |
94 | virtual bool transparent() const = 0;
95 | virtual void setTransparent(bool transparent) = 0;
96 |
97 | virtual void loadURL(const utf8* url) = 0;
98 | virtual void loadURL(const wchar_t* url) = 0;
99 |
100 | virtual void loadHTML(const utf8* html) = 0;
101 | virtual void loadHTML(const wchar_t* html) = 0;
102 |
103 | virtual void loadFile(const utf8* filename) = 0;
104 | virtual void loadFile(const wchar_t* filename) = 0;
105 |
106 | virtual bool isLoaded() const = 0; /*document load sucessed*/
107 | virtual bool isLoadFailed() const = 0; /*document load failed*/
108 | virtual bool isLoadComplete() const = 0; /*document load complete*/
109 | virtual bool isDocumentReady() const = 0; /*document ready*/
110 | virtual void stopLoading() = 0;
111 | virtual void reload() = 0;
112 |
113 | virtual const utf8* title() = 0;
114 | virtual const wchar_t* titleW() = 0;
115 |
116 | virtual void resize(int w, int h) = 0;
117 | virtual int width() const = 0; /*viewport width*/
118 | virtual int height() const = 0; /*viewport height*/
119 |
120 | virtual int contentsWidth() const = 0; /*contents width*/
121 | virtual int contentsHeight() const = 0; /*contents height*/
122 |
123 | virtual void setDirty(bool dirty) = 0;
124 | virtual bool isDirty() const = 0;
125 | virtual void addDirtyArea(int x, int y, int w, int h) = 0;
126 |
127 | virtual void layoutIfNeeded() = 0;
128 | virtual void tick() = 0;
129 | virtual void paint(void* bits, int pitch)=0;
130 | virtual void paint(void* bits, int bufWid, int bufHei, int xDst, int yDst, int w, int h, int xSrc, int ySrc, bool bCopyAlpha)=0;
131 | virtual HDC getViewDC() =0;
132 | virtual bool canGoBack() const = 0;
133 | virtual bool goBack() = 0;
134 | virtual bool canGoForward() const = 0;
135 | virtual bool goForward() = 0;
136 |
137 | virtual void selectAll() = 0;
138 | virtual void copy() = 0;
139 | virtual void cut() = 0;
140 | virtual void paste() = 0;
141 | virtual void delete_() = 0;
142 |
143 | virtual void setCookieEnabled(bool enable) = 0;
144 | virtual bool cookieEnabled() const = 0;
145 |
146 | virtual void setMediaVolume(float volume) = 0;
147 | virtual float mediaVolume() const = 0;
148 |
149 | virtual bool mouseEvent(unsigned int message, int x, int y, unsigned int flags) = 0;
150 | virtual bool contextMenuEvent(int x, int y, unsigned int flags) = 0;
151 | virtual bool mouseWheel(int x, int y, int delta, unsigned int flags) = 0;
152 | virtual bool keyUp(unsigned int virtualKeyCode, unsigned int flags, bool systemKey) = 0;
153 | virtual bool keyDown(unsigned int virtualKeyCode, unsigned int flags, bool systemKey) = 0;
154 | virtual bool keyPress(unsigned int virtualKeyCode, unsigned int flags, bool systemKey) = 0;
155 |
156 | virtual void focus() = 0;
157 | virtual void unfocus() = 0;
158 |
159 | virtual wkeRect getCaret() = 0;
160 |
161 | virtual jsValue runJS(const utf8* script) = 0;
162 | virtual jsValue runJS(const wchar_t* script) = 0;
163 | virtual jsExecState globalExec() = 0;
164 |
165 | virtual void sleep() = 0; //moveOffscreen
166 | virtual void awaken() = 0; //moveOnscreen
167 | virtual bool isAwake() const = 0;
168 |
169 | virtual void setZoomFactor(float factor) = 0;
170 | virtual float zoomFactor() const = 0;
171 |
172 | virtual void setEditable(bool editable) = 0;
173 |
174 | virtual void setClientHandler(const wkeClientHandler* handler) = 0;
175 | virtual const wkeClientHandler* getClientHandler() const = 0;
176 |
177 | virtual void setBufHandler(wkeBufHandler *handler) = 0;
178 | virtual const wkeBufHandler * getBufHandler() const = 0;
179 | };
180 | }
181 |
182 | typedef wke::IWebView* wkeWebView;
183 |
184 | #else
185 |
186 | typedef void* wkeWebView;
187 |
188 | #ifndef HAVE_WCHAR_T
189 | typedef unsigned short wchar_t;
190 | #endif
191 |
192 | #ifndef HAVE_BOOL
193 | typedef unsigned char bool;
194 | #define true 1
195 | #define false 0
196 | #endif
197 |
198 | #endif /*__cplusplus*/
199 |
200 | /*
201 | *c interface
202 | *----------------------------------------------------------------------------------------------------------
203 | *
204 | */
205 |
206 | #ifdef __cplusplus
207 | extern "C"
208 | {
209 | #endif
210 |
211 | WKE_API void wkeInit();
212 | WKE_API void wkeShutdown();
213 | WKE_API void wkeUpdate();
214 | WKE_API unsigned int wkeVersion();
215 | WKE_API const utf8* wkeVersionString();
216 |
217 | typedef void* (*FILE_OPEN) (const char* path);
218 | typedef void (*FILE_CLOSE) (void* handle);
219 | typedef size_t (*FILE_SIZE) (void* handle);
220 | typedef int (*FILE_READ) (void* handle, void* buffer, size_t size);
221 | typedef int (*FILE_SEEK) (void* handle, int offset, int origin);
222 |
223 | WKE_API void wkeSetFileSystem(FILE_OPEN pfn_open, FILE_CLOSE pfn_close, FILE_SIZE pfn_size, FILE_READ pfn_read, FILE_SEEK pfn_seek);
224 |
225 |
226 | WKE_API wkeWebView wkeCreateWebView();
227 | WKE_API wkeWebView wkeGetWebView(const char* name);
228 | WKE_API void wkeDestroyWebView(wkeWebView webView);
229 |
230 | WKE_API const char* wkeWebViewName(wkeWebView webView);
231 | WKE_API void wkeSetWebViewName(wkeWebView webView, const char* name);
232 |
233 | WKE_API bool wkeIsTransparent(wkeWebView webView);
234 | WKE_API void wkeSetTransparent(wkeWebView webView, bool transparent);
235 |
236 | WKE_API void wkeLoadURL(wkeWebView webView, const utf8* url);
237 | WKE_API void wkeLoadURLW(wkeWebView webView, const wchar_t* url);
238 |
239 | WKE_API void wkeLoadHTML(wkeWebView webView, const utf8* html);
240 | WKE_API void wkeLoadHTMLW(wkeWebView webView, const wchar_t* html);
241 |
242 | WKE_API void wkeLoadFile(wkeWebView webView, const utf8* filename);
243 | WKE_API void wkeLoadFileW(wkeWebView webView, const wchar_t* filename);
244 |
245 | WKE_API bool wkeIsLoaded(wkeWebView webView);
246 | WKE_API bool wkeIsLoadFailed(wkeWebView webView);
247 | WKE_API bool wkeIsLoadComplete(wkeWebView webView);
248 | WKE_API bool wkeIsDocumentReady(wkeWebView webView);
249 | WKE_API bool wkeIsLoading(wkeWebView webView);
250 | WKE_API void wkeStopLoading(wkeWebView webView);
251 | WKE_API void wkeReload(wkeWebView webView);
252 |
253 | WKE_API const utf8* wkeTitle(wkeWebView webView);
254 | WKE_API const wchar_t* wkeTitleW(wkeWebView webView);
255 |
256 | WKE_API void wkeResize(wkeWebView webView, int w, int h);
257 | WKE_API int wkeWidth(wkeWebView webView);
258 | WKE_API int wkeHeight(wkeWebView webView);
259 |
260 | WKE_API int wkeContentsWidth(wkeWebView webView);
261 | WKE_API int wkeContentsHeight(wkeWebView webView);
262 |
263 | WKE_API void wkeSetDirty(wkeWebView webView, bool dirty);
264 | WKE_API bool wkeIsDirty(wkeWebView webView);
265 | WKE_API void wkeAddDirtyArea(wkeWebView webView, int x, int y, int w, int h);
266 | WKE_API void wkeLayoutIfNeeded(wkeWebView webView);
267 | WKE_API void wkePaint(wkeWebView webView, void* bits,int bufWid, int bufHei, int xDst, int yDst, int w, int h, int xSrc, int ySrc, bool bCopyAlpha);
268 | WKE_API void wkePaint2(wkeWebView webView, void* bits,int pitch);
269 |
270 | WKE_API bool wkeCanGoBack(wkeWebView webView);
271 | WKE_API bool wkeGoBack(wkeWebView webView);
272 | WKE_API bool wkeCanGoForward(wkeWebView webView);
273 | WKE_API bool wkeGoForward(wkeWebView webView);
274 |
275 | WKE_API void wkeSelectAll(wkeWebView webView);
276 | WKE_API void wkeCopy(wkeWebView webView);
277 | WKE_API void wkeCut(wkeWebView webView);
278 | WKE_API void wkePaste(wkeWebView webView);
279 | WKE_API void wkeDelete(wkeWebView webView);
280 |
281 | WKE_API void wkeSetCookieEnabled(wkeWebView webView, bool enable);
282 | WKE_API bool wkeCookieEnabled(wkeWebView webView);
283 |
284 | WKE_API void wkeSetMediaVolume(wkeWebView webView, float volume);
285 | WKE_API float wkeMediaVolume(wkeWebView webView);
286 |
287 | WKE_API bool wkeMouseEvent(wkeWebView webView, unsigned int message, int x, int y, unsigned int flags);
288 | WKE_API bool wkeContextMenuEvent(wkeWebView webView, int x, int y, unsigned int flags);
289 | WKE_API bool wkeMouseWheel(wkeWebView webView, int x, int y, int delta, unsigned int flags);
290 | WKE_API bool wkeKeyUp(wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey);
291 | WKE_API bool wkeKeyDown(wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey);
292 | WKE_API bool wkeKeyPress(wkeWebView webView, unsigned int charCode, unsigned int flags, bool systemKey);
293 |
294 | WKE_API void wkeFocus(wkeWebView webView);
295 | WKE_API void wkeUnfocus(wkeWebView webView);
296 |
297 | WKE_API wkeRect wkeGetCaret(wkeWebView webView);
298 |
299 | WKE_API jsValue wkeRunJS(wkeWebView webView, const utf8* script);
300 | WKE_API jsValue wkeRunJSW(wkeWebView webView, const wchar_t* script);
301 |
302 | WKE_API jsExecState wkeGlobalExec(wkeWebView webView);
303 |
304 | WKE_API void wkeSleep(wkeWebView webView);
305 | WKE_API void wkeAwaken(wkeWebView webView);
306 | WKE_API bool wkeIsAwake(wkeWebView webView);
307 |
308 | WKE_API void wkeSetZoomFactor(wkeWebView webView, float factor);
309 | WKE_API float wkeZoomFactor(wkeWebView webView);
310 |
311 | WKE_API void wkeSetEditable(wkeWebView webView, bool editable);
312 |
313 | WKE_API void wkeSetClientHandler(wkeWebView webView, const wkeClientHandler* handler);
314 | WKE_API const wkeClientHandler* wkeGetClientHandler(wkeWebView webView);
315 |
316 | WKE_API const utf8* wkeToString(const wkeString string);
317 | WKE_API const wchar_t* wkeToStringW(const wkeString string);
318 |
319 | /***JavaScript Bind***/
320 | #define JS_CALL __fastcall
321 | typedef jsValue (JS_CALL *jsNativeFunction) (jsExecState es);
322 |
323 | typedef enum
324 | {
325 | JSTYPE_NUMBER,
326 | JSTYPE_STRING,
327 | JSTYPE_BOOLEAN,
328 | JSTYPE_OBJECT,
329 | JSTYPE_FUNCTION,
330 | JSTYPE_UNDEFINED,
331 | } jsType;
332 |
333 | WKE_API void jsBindFunction(const char* name, jsNativeFunction fn, unsigned int argCount);
334 | WKE_API void jsBindGetter(const char* name, jsNativeFunction fn); /*get property*/
335 | WKE_API void jsBindSetter(const char* name, jsNativeFunction fn); /*set property*/
336 |
337 | WKE_API int jsArgCount(jsExecState es);
338 | WKE_API jsType jsArgType(jsExecState es, int argIdx);
339 | WKE_API jsValue jsArg(jsExecState es, int argIdx);
340 |
341 | WKE_API jsType jsTypeOf(jsValue v);
342 | WKE_API bool jsIsNumber(jsValue v);
343 | WKE_API bool jsIsString(jsValue v);
344 | WKE_API bool jsIsBoolean(jsValue v);
345 | WKE_API bool jsIsObject(jsValue v);
346 | WKE_API bool jsIsFunction(jsValue v);
347 | WKE_API bool jsIsUndefined(jsValue v);
348 | WKE_API bool jsIsNull(jsValue v);
349 | WKE_API bool jsIsArray(jsValue v);
350 | WKE_API bool jsIsTrue(jsValue v);
351 | WKE_API bool jsIsFalse(jsValue v);
352 |
353 | WKE_API int jsToInt(jsExecState es, jsValue v);
354 | WKE_API float jsToFloat(jsExecState es, jsValue v);
355 | WKE_API double jsToDouble(jsExecState es, jsValue v);
356 | WKE_API bool jsToBoolean(jsExecState es, jsValue v);
357 | WKE_API const utf8* jsToString(jsExecState es, jsValue v);
358 | WKE_API const wchar_t* jsToStringW(jsExecState es, jsValue v);
359 |
360 | WKE_API jsValue jsInt(int n);
361 | WKE_API jsValue jsFloat(float f);
362 | WKE_API jsValue jsDouble(double d);
363 | WKE_API jsValue jsBoolean(bool b);
364 |
365 | WKE_API jsValue jsUndefined();
366 | WKE_API jsValue jsNull();
367 | WKE_API jsValue jsTrue();
368 | WKE_API jsValue jsFalse();
369 |
370 | WKE_API jsValue jsString(jsExecState es, const utf8* str);
371 | WKE_API jsValue jsStringW(jsExecState es, const wchar_t* str);
372 | WKE_API jsValue jsObject(jsExecState es);
373 | WKE_API jsValue jsArray(jsExecState es);
374 |
375 | WKE_API jsValue jsFunction(jsExecState es, jsNativeFunction fn, unsigned int argCount);
376 |
377 | //return the window object
378 | WKE_API jsValue jsGlobalObject(jsExecState es);
379 |
380 | WKE_API jsValue jsEval(jsExecState es, const utf8* str);
381 | WKE_API jsValue jsEvalW(jsExecState es, const wchar_t* str);
382 |
383 | WKE_API jsValue jsCall(jsExecState es, jsValue func, jsValue thisObject, jsValue* args, int argCount);
384 | WKE_API jsValue jsCallGlobal(jsExecState es, jsValue func, jsValue* args, int argCount);
385 |
386 | WKE_API jsValue jsGet(jsExecState es, jsValue object, const char* prop);
387 | WKE_API void jsSet(jsExecState es, jsValue object, const char* prop, jsValue v);
388 |
389 | WKE_API jsValue jsGetGlobal(jsExecState es, const char* prop);
390 | WKE_API void jsSetGlobal(jsExecState es, const char* prop, jsValue v);
391 |
392 | WKE_API jsValue jsGetAt(jsExecState es, jsValue object, int index);
393 | WKE_API void jsSetAt(jsExecState es, jsValue object, int index, jsValue v);
394 |
395 | WKE_API int jsGetLength(jsExecState es, jsValue object);
396 | WKE_API void jsSetLength(jsExecState es, jsValue object, int length);
397 |
398 | WKE_API wkeWebView jsGetWebView(jsExecState es);
399 |
400 | WKE_API void jsGC(); //garbage collect
401 |
402 | #ifdef __cplusplus
403 | }
404 | #endif
405 |
406 |
407 | #endif
--------------------------------------------------------------------------------
/ECharts In Soui/wke/lib/wke.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/wke/lib/wke.lib
--------------------------------------------------------------------------------
/ECharts In Soui/wke/readme.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/wke/readme.txt
--------------------------------------------------------------------------------
/ECharts In Soui/wke/wke.7z:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wangying2016/ECharts-In-Soui/c07d83f03ff3b5821b6dc4a0fc768bc9a86b2ae8/ECharts In Soui/wke/wke.7z
--------------------------------------------------------------------------------