├── .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 | <ver value="1.0"/> 5 | </string> 6 | -------------------------------------------------------------------------------- /ECharts In Soui with MiniBlink/uires/xml/dlg_main.xml: -------------------------------------------------------------------------------- 1 | <SOUI name="mainWindow" title="@string/title" bigIcon="ICON_LOGO:32" smallIcon="ICON_LOGO:16" width="600" height="400" margin="20,5,5,5" resizable="1" wndType="appMain" 2 | appWnd="1" 3 | translucent="1" 4 | > 5 | <root skin="_skin.sys.wnd.bkgnd" cache="1"> 6 | <caption pos="0,0,-0,30" show="1" font="adding:0"> 7 | <icon pos="10,8" src="ICON_LOGO:16"/> 8 | <text pos="29,9">@string/title</text> 9 | <imgbtn name="btn_close" skin="_skin.sys.btn.close" pos="-45,0" tip="close" animate="1"/> 10 | <imgbtn name="btn_max" skin="_skin.sys.btn.maximize" pos="-83,0" animate="1" /> 11 | <imgbtn name="btn_restore" skin="_skin.sys.btn.restore" pos="-83,0" show="0" animate="1" /> 12 | <imgbtn name="btn_min" skin="_skin.sys.btn.minimize" pos="-121,0" animate="1" /> 13 | </caption> 14 | <button pos="%10,35,@90,@30" offset="-0.5,0" name="btn_change_pie_1" focusable="0">五杀+1</button> 15 | <button pos="%35,35,@90,@30" offset="-0.5,0" name="btn_change_pie_2" focusable="0">四杀+1</button> 16 | <button pos="%60,35,@90,@30" offset="-0.5,0" name="btn_change_pie_3" focusable="0">三杀+1</button> 17 | <button pos="%85,35,@90,@30" offset="-0.5,0" name="btn_change_pie_4" focusable="0">送成鬼+1</button> 18 | <window pos="15,[5,-5,-5"> 19 | <wkeWebkit pos="0,0,-0,-0" url="E:\\myproject\\[4] Just for Fun\\ECharts In Soui\\ECharts In Soui with MiniBlink\\echarts\\Demo1.htm" name="wke_test"/> 20 | </window> 21 | </root> 22 | </SOUI> 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 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemGroup Label="ProjectConfigurations"> 4 | <ProjectConfiguration Include="Debug|Win32"> 5 | <Configuration>Debug</Configuration> 6 | <Platform>Win32</Platform> 7 | </ProjectConfiguration> 8 | <ProjectConfiguration Include="Release|Win32"> 9 | <Configuration>Release</Configuration> 10 | <Platform>Win32</Platform> 11 | </ProjectConfiguration> 12 | <ProjectConfiguration Include="Debug|x64"> 13 | <Configuration>Debug</Configuration> 14 | <Platform>x64</Platform> 15 | </ProjectConfiguration> 16 | <ProjectConfiguration Include="Release|x64"> 17 | <Configuration>Release</Configuration> 18 | <Platform>x64</Platform> 19 | </ProjectConfiguration> 20 | </ItemGroup> 21 | <PropertyGroup Label="Globals"> 22 | <VCProjectVersion>15.0</VCProjectVersion> 23 | <ProjectGuid>{B1A9E6FC-EB29-4F35-B685-3A18151A29EF}</ProjectGuid> 24 | <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 25 | <ProjectName>ECharts In Soui with Wke</ProjectName> 26 | </PropertyGroup> 27 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 28 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> 29 | <ConfigurationType>Application</ConfigurationType> 30 | <UseDebugLibraries>true</UseDebugLibraries> 31 | <PlatformToolset>v141_xp</PlatformToolset> 32 | <CharacterSet>Unicode</CharacterSet> 33 | </PropertyGroup> 34 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> 35 | <ConfigurationType>Application</ConfigurationType> 36 | <UseDebugLibraries>false</UseDebugLibraries> 37 | <PlatformToolset>v141_xp</PlatformToolset> 38 | <CharacterSet>Unicode</CharacterSet> 39 | </PropertyGroup> 40 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> 41 | <ConfigurationType>Application</ConfigurationType> 42 | <UseDebugLibraries>true</UseDebugLibraries> 43 | <PlatformToolset>v141_xp</PlatformToolset> 44 | <CharacterSet>Unicode</CharacterSet> 45 | </PropertyGroup> 46 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> 47 | <ConfigurationType>Application</ConfigurationType> 48 | <UseDebugLibraries>false</UseDebugLibraries> 49 | <PlatformToolset>v141_xp</PlatformToolset> 50 | <CharacterSet>Unicode</CharacterSet> 51 | </PropertyGroup> 52 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 53 | <ImportGroup Label="ExtensionSettings"> 54 | </ImportGroup> 55 | <ImportGroup Label="Shared"> 56 | </ImportGroup> 57 | <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 58 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 59 | </ImportGroup> 60 | <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 61 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 62 | </ImportGroup> 63 | <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 64 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 65 | </ImportGroup> 66 | <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 67 | <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> 68 | </ImportGroup> 69 | <PropertyGroup Label="UserMacros" /> 70 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 71 | <IntDir>$(Configuration)\</IntDir> 72 | <OutDir>$(SolutionDir)$(Configuration)\</OutDir> 73 | <LinkIncremental>true</LinkIncremental> 74 | </PropertyGroup> 75 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 76 | <IntDir>$(Configuration)\</IntDir> 77 | <OutDir>$(SolutionDir)$(Configuration)\</OutDir> 78 | <LinkIncremental>false</LinkIncremental> 79 | </PropertyGroup> 80 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 81 | <IntDir>$(Configuration)64\</IntDir> 82 | <OutDir>$(SolutionDir)$(Configuration)64\</OutDir> 83 | <LinkIncremental>true</LinkIncremental> 84 | </PropertyGroup> 85 | <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 86 | <IntDir>$(Configuration)64\</IntDir> 87 | <OutDir>$(SolutionDir)$(Configuration)64\</OutDir> 88 | <LinkIncremental>false</LinkIncremental> 89 | </PropertyGroup> 90 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> 91 | <ClCompile> 92 | <PrecompiledHeader>Use</PrecompiledHeader> 93 | <SuppressStartupBanner>true</SuppressStartupBanner> 94 | <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> 95 | <WarningLevel>Level3</WarningLevel> 96 | <AdditionalIncludeDirectories>$(SolutionDir)ECharts In Soui\wke\include;$(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 97 | <PreprocessorDefinitions>WIN32;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 98 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 99 | <BrowseInformation>true</BrowseInformation> 100 | <Optimization>Disabled</Optimization> 101 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> 102 | </ClCompile> 103 | <Link> 104 | <GenerateDebugInformation>true</GenerateDebugInformation> 105 | <SuppressStartupBanner>true</SuppressStartupBanner> 106 | <AdditionalLibraryDirectories>$(SOUIPATH)\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> 107 | <AdditionalDependencies>utilitiesd.lib;souid.lib;%(AdditionalDependencies)</AdditionalDependencies> 108 | <SubSystem>Windows</SubSystem> 109 | </Link> 110 | </ItemDefinitionGroup> 111 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> 112 | <ClCompile> 113 | <PrecompiledHeader>Use</PrecompiledHeader> 114 | <SuppressStartupBanner>true</SuppressStartupBanner> 115 | <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> 116 | <WarningLevel>Level3</WarningLevel> 117 | <AdditionalIncludeDirectories>$(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 118 | <PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 119 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 120 | <WholeProgramOptimization>true</WholeProgramOptimization> 121 | </ClCompile> 122 | <Link> 123 | <GenerateDebugInformation>true</GenerateDebugInformation> 124 | <SuppressStartupBanner>true</SuppressStartupBanner> 125 | <AdditionalLibraryDirectories>$(SOUIPATH)\bin;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> 126 | <AdditionalDependencies>utilities.lib;soui.lib;%(AdditionalDependencies)</AdditionalDependencies> 127 | <SubSystem>Windows</SubSystem> 128 | </Link> 129 | </ItemDefinitionGroup> 130 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> 131 | <ClCompile> 132 | <PrecompiledHeader>Use</PrecompiledHeader> 133 | <SuppressStartupBanner>true</SuppressStartupBanner> 134 | <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> 135 | <WarningLevel>Level3</WarningLevel> 136 | <AdditionalIncludeDirectories>$(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 137 | <PreprocessorDefinitions>WIN64;_WINDOWS;STRICT;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 138 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> 139 | <BrowseInformation>true</BrowseInformation> 140 | <Optimization>Disabled</Optimization> 141 | <DebugInformationFormat>EditAndContinue</DebugInformationFormat> 142 | </ClCompile> 143 | <Link> 144 | <GenerateDebugInformation>true</GenerateDebugInformation> 145 | <SuppressStartupBanner>true</SuppressStartupBanner> 146 | <AdditionalLibraryDirectories>$(SOUIPATH)\bin64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> 147 | <AdditionalDependencies>utilitiesd.lib;souid.lib;%(AdditionalDependencies)</AdditionalDependencies> 148 | <SubSystem>Windows</SubSystem> 149 | </Link> 150 | </ItemDefinitionGroup> 151 | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> 152 | <ClCompile> 153 | <PrecompiledHeader>Use</PrecompiledHeader> 154 | <SuppressStartupBanner>true</SuppressStartupBanner> 155 | <TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType> 156 | <WarningLevel>Level3</WarningLevel> 157 | <AdditionalIncludeDirectories>$(SOUIPATH)\config;$(SOUIPATH)\components;$(SOUIPATH)\SOUI\include;$(SOUIPATH)\utilities\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> 158 | <PreprocessorDefinitions>WIN64;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> 159 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> 160 | <WholeProgramOptimization>true</WholeProgramOptimization> 161 | </ClCompile> 162 | <Link> 163 | <GenerateDebugInformation>true</GenerateDebugInformation> 164 | <SuppressStartupBanner>true</SuppressStartupBanner> 165 | <AdditionalLibraryDirectories>$(SOUIPATH)\bin64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> 166 | <AdditionalDependencies>utilities.lib;soui.lib;%(AdditionalDependencies)</AdditionalDependencies> 167 | <SubSystem>Windows</SubSystem> 168 | </Link> 169 | </ItemDefinitionGroup> 170 | <ItemGroup> 171 | <Text Include="license.txt" /> 172 | <Text Include="readme.txt" /> 173 | </ItemGroup> 174 | <ItemGroup> 175 | <ClCompile Include="constrols\SWkeWebkit.cpp" /> 176 | <ClCompile Include="ECharts In Soui.cpp" /> 177 | <ClCompile Include="MainDlg.cpp" /> 178 | <ClCompile Include="stdafx.cpp"> 179 | <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader> 180 | <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> 181 | <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> 182 | <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> 183 | </ClCompile> 184 | </ItemGroup> 185 | <ItemGroup> 186 | <ResourceCompile Include="ECharts In Soui.rc" /> 187 | </ItemGroup> 188 | <ItemGroup> 189 | <ClInclude Include="constrols\SWkeWebkit.h" /> 190 | <ClInclude Include="MainDlg.h" /> 191 | <ClInclude Include="resource.h" /> 192 | <ClInclude Include="stdafx.h" /> 193 | </ItemGroup> 194 | <ItemGroup> 195 | <None Include="echarts\Demo1.htm"> 196 | <DeploymentContent>true</DeploymentContent> 197 | </None> 198 | <None Include="echarts\echarts.min.js" /> 199 | <None Include="res\soui_res.rc2" /> 200 | <CustomBuild Include="uires\uires.idx"> 201 | <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable</Command> 202 | <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Building SoUI Resource</Message> 203 | <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\res\soui_res.rc2;%(Outputs)</Outputs> 204 | <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable</Command> 205 | <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Building SoUI Resource</Message> 206 | <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\res\soui_res.rc2;%(Outputs)</Outputs> 207 | <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable</Command> 208 | <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Building SoUI Resource</Message> 209 | <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\res\soui_res.rc2;%(Outputs)</Outputs> 210 | <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"$(SOUIPATH)\tools\uiresbuilder.exe" -i "%(FullPath)" -p uires -r .\res\soui_res.rc2 -h .\res\resource.h idtable</Command> 211 | <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Building SoUI Resource</Message> 212 | <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\res\soui_res.rc2;%(Outputs)</Outputs> 213 | </CustomBuild> 214 | </ItemGroup> 215 | <ItemGroup> 216 | <Xml Include="uires\uidef\init.xml" /> 217 | <Xml Include="uires\values\color.xml" /> 218 | <Xml Include="uires\values\skin.xml" /> 219 | <Xml Include="uires\values\string.xml" /> 220 | <Xml Include="uires\xml\dlg_main.xml"> 221 | <SubType>Designer</SubType> 222 | </Xml> 223 | </ItemGroup> 224 | <ItemGroup> 225 | <Image Include="uires\image\soui.ico" /> 226 | </ItemGroup> 227 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 228 | <ImportGroup Label="ExtensionTargets"> 229 | </ImportGroup> 230 | </Project> -------------------------------------------------------------------------------- /ECharts In Soui/ECharts In Soui.vcxproj.filters: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 | <ItemGroup> 4 | <Filter Include="Source Files"> 5 | <UniqueIdentifier>{8d151f3f-a493-413e-b847-4ae31ab08555}</UniqueIdentifier> 6 | <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions> 7 | </Filter> 8 | <Filter Include="Header Files"> 9 | <UniqueIdentifier>{e8e8ce1a-99e2-425a-96f7-2189f9f97cea}</UniqueIdentifier> 10 | <Extensions>h;hpp;hxx;hm;inl;inc</Extensions> 11 | </Filter> 12 | <Filter Include="Resource Files"> 13 | <UniqueIdentifier>{350a786f-5ca1-46eb-a102-71cbe5fadd7b}</UniqueIdentifier> 14 | <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;jpg;jpeg;jpe;manifest</Extensions> 15 | </Filter> 16 | <Filter Include="SoUI Resouece"> 17 | <UniqueIdentifier>{740e8b3d-71b9-499f-a646-042057e4e1b4}</UniqueIdentifier> 18 | <Extensions>idx;xml;png;gif;jpg;ico;lua;bmp</Extensions> 19 | </Filter> 20 | </ItemGroup> 21 | <ItemGroup> 22 | <Text Include="license.txt" /> 23 | <Text Include="readme.txt" /> 24 | </ItemGroup> 25 | <ItemGroup> 26 | <ClCompile Include="ECharts In Soui.cpp"> 27 | <Filter>Source Files</Filter> 28 | </ClCompile> 29 | <ClCompile Include="MainDlg.cpp"> 30 | <Filter>Source Files</Filter> 31 | </ClCompile> 32 | <ClCompile Include="stdafx.cpp"> 33 | <Filter>Source Files</Filter> 34 | </ClCompile> 35 | <ClCompile Include="constrols\SWkeWebkit.cpp"> 36 | <Filter>Source Files</Filter> 37 | </ClCompile> 38 | </ItemGroup> 39 | <ItemGroup> 40 | <ResourceCompile Include="ECharts In Soui.rc"> 41 | <Filter>Resource Files</Filter> 42 | </ResourceCompile> 43 | </ItemGroup> 44 | <ItemGroup> 45 | <ClInclude Include="MainDlg.h"> 46 | <Filter>Header Files</Filter> 47 | </ClInclude> 48 | <ClInclude Include="resource.h"> 49 | <Filter>Header Files</Filter> 50 | </ClInclude> 51 | <ClInclude Include="stdafx.h"> 52 | <Filter>Header Files</Filter> 53 | </ClInclude> 54 | <ClInclude Include="constrols\SWkeWebkit.h"> 55 | <Filter>Header Files</Filter> 56 | </ClInclude> 57 | </ItemGroup> 58 | <ItemGroup> 59 | <None Include="res\soui_res.rc2"> 60 | <Filter>Resource Files</Filter> 61 | </None> 62 | <None Include="echarts\echarts.min.js" /> 63 | <None Include="echarts\Demo1.htm" /> 64 | </ItemGroup> 65 | <ItemGroup> 66 | <Xml Include="uires\uidef\init.xml"> 67 | <Filter>SoUI Resouece</Filter> 68 | </Xml> 69 | <Xml Include="uires\values\color.xml"> 70 | <Filter>SoUI Resouece</Filter> 71 | </Xml> 72 | <Xml Include="uires\values\skin.xml"> 73 | <Filter>SoUI Resouece</Filter> 74 | </Xml> 75 | <Xml Include="uires\values\string.xml"> 76 | <Filter>SoUI Resouece</Filter> 77 | </Xml> 78 | <Xml Include="uires\xml\dlg_main.xml"> 79 | <Filter>SoUI Resouece</Filter> 80 | </Xml> 81 | </ItemGroup> 82 | <ItemGroup> 83 | <Image Include="uires\image\soui.ico"> 84 | <Filter>SoUI Resouece</Filter> 85 | </Image> 86 | </ItemGroup> 87 | <ItemGroup> 88 | <CustomBuild Include="uires\uires.idx"> 89 | <Filter>SoUI Resouece</Filter> 90 | </CustomBuild> 91 | </ItemGroup> 92 | </Project> -------------------------------------------------------------------------------- /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 <wke.h> 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 | <?xml version="1.0" encoding="utf-8"?> 2 | <UIDEF> 3 | <font face="宋体" size="15"/> 4 | 5 | <string src="values:string" /> 6 | <skin src="values:skin"/> 7 | <color src="values:color"/> 8 | 9 | 10 | <style> 11 | <class name="normalbtn" font="" colorText="#385e8b" colorTextDisable="#91a7c0" textMode="0x25" cursor="hand" margin-x="0"/> 12 | <class name="cls_btn_weblink" cursor="hand" colorText="#1e78d5" colorTextHover="#1e78d5" font="italic:1" fontHover="underline:1,italic:1" /> 13 | </style> 14 | 15 | <objattr> 16 | </objattr> 17 | </UIDEF> -------------------------------------------------------------------------------- /ECharts In Soui/uires/uires.idx: -------------------------------------------------------------------------------- 1 | <resource> 2 | <UIDEF> 3 | <file name="XML_INIT" path="uidef\init.xml"/> 4 | </UIDEF> 5 | <LAYOUT> 6 | <file name="XML_MAINWND" path="xml\dlg_main.xml"/> 7 | </LAYOUT> 8 | 9 | <values> 10 | <file name="string" path="values\string.xml"/> 11 | <file name="color" path="values\color.xml"/> 12 | <file name="skin" path="values\skin.xml"/> 13 | </values> 14 | 15 | <IMG> 16 | </IMG> 17 | <ICON> 18 | <file name="ICON_LOGO" path="image\soui.ico"/> 19 | </ICON> 20 | </resource> -------------------------------------------------------------------------------- /ECharts In Soui/uires/values/color.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | 3 | <color> 4 | <red value="rgb(255,0,0)"/> 5 | <green value="rgb(0,255,0)"/> 6 | <blue value="rgb(0,0,255)"/> 7 | <white value="rgb(255,255,255)"/> 8 | <gray value="#808080"/> 9 | </color> 10 | -------------------------------------------------------------------------------- /ECharts In Soui/uires/values/skin.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | 3 | <skin> 4 | <imglist name="skin_traymenu_icons" src="img:traymenu_icons" states="9"/> 5 | </skin> 6 | -------------------------------------------------------------------------------- /ECharts In Soui/uires/values/string.xml: -------------------------------------------------------------------------------- 1 | <?xml version="1.0" encoding="utf-8"?> 2 | <string> 3 | <title value="ECharts In Soui"/> 4 | <ver value="1.0"/> 5 | </string> 6 | -------------------------------------------------------------------------------- /ECharts In Soui/uires/xml/dlg_main.xml: -------------------------------------------------------------------------------- 1 | <SOUI name="mainWindow" title="@string/title" bigIcon="ICON_LOGO:32" smallIcon="ICON_LOGO:16" width="600" height="400" margin="20,5,5,5" resizable="1" wndType="appMain" 2 | appWnd="1" 3 | translucent="1" 4 | > 5 | <root skin="_skin.sys.wnd.bkgnd" cache="1"> 6 | <caption pos="0,0,-0,30" show="1" font="adding:0"> 7 | <icon pos="10,8" src="ICON_LOGO:16"/> 8 | <text pos="29,9">@string/title</text> 9 | <imgbtn name="btn_close" skin="_skin.sys.btn.close" pos="-45,0" tip="close" animate="1"/> 10 | <imgbtn name="btn_max" skin="_skin.sys.btn.maximize" pos="-83,0" animate="1" /> 11 | <imgbtn name="btn_restore" skin="_skin.sys.btn.restore" pos="-83,0" show="0" animate="1" /> 12 | <imgbtn name="btn_min" skin="_skin.sys.btn.minimize" pos="-121,0" animate="1" /> 13 | </caption> 14 | <window pos="5,[2,-5,-5"> 15 | <wkeWebkit name="wke_test" pos="10,10,-10,-10" url="http://www.baidu.com"></wkeWebkit> 16 | </window> 17 | </root> 18 | </SOUI> 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 --------------------------------------------------------------------------------