First commit

This commit is contained in:
jiajia_deng 2019-04-19 17:19:57 +08:00
commit 02c0f6e9bc
1147 changed files with 197860 additions and 0 deletions

14
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,14 @@
---
name: 缺陷反馈
about: 提供一个缺陷复现步骤帮助我们修复问题
---
<!-- 在提交这个反馈前请确保当前 issue 中没有相同的问题 -->
<!-- 请使用最新版本的代码确保你反馈的问题尚未修复 -->
## 问题现象
## 重现步骤
1.
2.

View File

@ -0,0 +1,8 @@
---
name: 功能建议
about: 提交任何好的建议帮助我们完善项目
---
<!-- 在提交这个反馈前请确保当前 issue 中没有相同的问题 -->
<!-- 描述你想要的功能 -->

344
.gitignore vendored Normal file
View File

@ -0,0 +1,344 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Bb]in/*.exe
[Bb]in/cef_temp
[Ll]ibs/
[Tt]mp/
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Oo]bj/
[Ll]og/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
**/wwwroot/lib/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# JetBrains Rider
.idea/
*.sln.iml
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 netease-im
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

55
README.md Normal file
View File

@ -0,0 +1,55 @@
# NIM Duilib
NIM Duilib 包含了一整套桌面软件的开发部件,与其说这是一个界面库,不如说它是一个开发框架。从原有 Duilib 基础上拓展了一些新的能力,并整合了 Google base 基础类库(线程、内存、闭包等)。您完全可以直接使用这个框架来开发任何你想要的桌面应用。
![GitHub](https://img.shields.io/badge/license-MIT-green.svg)
![Build status](https://ci.appveyor.com/api/projects/status/u29yl0j7pasopm3h/branch/master?svg=true)
[English](README_en-US.md)
## 特色
- 多国语言支持
- 通用样式支持
- DPI 缩放支持
- GIF 动画支持
- CEF 控件支持CEF 2623 支持 XP
- 触控设备支持Surface、Wacom
- 抽象渲染接口(为其他渲染引擎提供支持)
## 预览
![preview](docs/PREVIEW.png)
## 开始
克隆项目到你的磁盘中
```bash
git clone https://github.com/netease-im/NIM_Duilib_Framework
```
进入 `NIM_Duilib_Framework/samples` 目录,使用 Visual Studio 2013 Update 5 以上版本 IDE 打开 `samples.sln`,按下 F7 即可编译所有示例程序
## 文档
- [中文文档](docs/SUMMARY.md)
## 目录
├─`bin` 各个示例程序输出目录,包含预设的皮肤和语言文件以及 CEF 依赖
├─`docs` duilib 接口的说明文档
├─`libs` 静态库编译后的输出目录,包含预设的一些 CEF 组件静态库
├─`samples` 各类示例程序
├─`third_party` 第三方库,目前仅有 cef_control 有依赖
├─`toolkits`
│ ├─`base` 基础类库
│ ├─`duilib` duilib 核心代码,依赖 base 但不依赖 shared
│ ├─`shared` 包含一些工具的封装,如命令行解析、日志、路径处理等
│ ├─`ui_components` 基于 duilib 封装的常用组件库如 `msgbox`、`toast`、`cef_control` 等
## 交流
- 遇到问题:欢迎查看我们整理过的[中文文档](docs/SUMMARY.md)参考[示例程序](samples/README.md)来帮助你解决疑惑
- 提交缺陷:在确保使用最新版本依然存在问题时请尽量以简洁的语言描述清楚复现该问题的步骤并提交 issue
- 功能建议:如果你有什么好的想法或者提案,欢迎提交 issue 与我们交流

55
README_en-US.md Normal file
View File

@ -0,0 +1,55 @@
# NIM Duilib
NIM Duilib is a UI development framework for Windows, extend some new features based on the original [Duilib](https://github.com/duilib/duilib). Integrated Google base library with threads/memory/closures. You can use this framework to develop any desktop application you want.
![GitHub](https://img.shields.io/badge/license-MIT-green.svg)
![Build status](https://ci.appveyor.com/api/projects/status/u29yl0j7pasopm3h/branch/master?svg=true)
[中文介绍](README.md)
## Features
- Multi language support
- Global style support
- DPI scaling support
- GIF animation support
- CEF control supportbased on CEF 2623, support XP
- Touch device supportsurface, wacom
- Abstract rendering interface (support for other rendering engines)
## Preview
![preview](docs/PREVIEW.png)
## Start
Clone the repo into your disk.
```bash
git clone https://github.com/netease-im/NIM_Duilib_Framework
```
Enter the `NIM_Duilib_Framework/samples` directoryOpen `samples.sln` with Visual Studio 2013 Update 5 or higher press `F7` to compile all projects.
## Documentation
- [Docs](docs/SUMMARY.md)
## Structure
├─`bin` Samples output directoriesinclude skin and language files and CEF dependencies.
├─`docs` Documentation of Duilib.
├─`libs` Static library output directories, include CEF static library.
├─`samples` Samples of Duilib.
├─`third_party` Third party for CEF.
├─`toolkits`
│ ├─`base` Base libraries.
│ ├─`duilib` Duilib core, depend on base project.
│ ├─`shared` Utils, such as logs/string/path utils.
│ ├─`ui_components` UI components based on Duilib, such as `msgbox`,`toast`,`cef_control`
## Communication
- Question: Read the [Documentation](docs/SUMMARY.md) and [Samples code](samples/README.md) to help you.
- Report: File a bug in GitHub issues
- Suggestion: Request a new feature in Github issues.

0
bin/README.md Normal file
View File

29
bin/cef/LICENSE.txt Normal file
View File

@ -0,0 +1,29 @@
// Copyright (c) 2008-2014 Marshall A. Greenblatt. Portions Copyright (c)
// 2006-2009 Google Inc. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the name Chromium Embedded
// Framework nor the names of its contributors may be used to endorse
// or promote products derived from this software without specific prior
// written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

BIN
bin/cef/cef.pak Normal file

Binary file not shown.

BIN
bin/cef/cef_100_percent.pak Normal file

Binary file not shown.

BIN
bin/cef/cef_200_percent.pak Normal file

Binary file not shown.

BIN
bin/cef/cef_extensions.pak Normal file

Binary file not shown.

BIN
bin/cef/d3dcompiler_43.dll Normal file

Binary file not shown.

BIN
bin/cef/d3dcompiler_47.dll Normal file

Binary file not shown.

Binary file not shown.

0
bin/cef/dummy_cmd.exe Normal file
View File

BIN
bin/cef/icudtl.dat Normal file

Binary file not shown.

BIN
bin/cef/libEGL.dll Normal file

Binary file not shown.

BIN
bin/cef/libGLESv2.dll Normal file

Binary file not shown.

BIN
bin/cef/locales/am.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ar.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/bg.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/bn.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ca.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/cs.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/da.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/de.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/el.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/en-GB.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/en-US.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/es-419.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/es.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/et.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/fa.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/fi.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/fil.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/fr.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/gu.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/he.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/hi.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/hr.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/hu.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/id.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/it.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ja.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/kn.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ko.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/lt.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/lv.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ml.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/mr.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ms.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/nb.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/nl.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/pl.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/pt-BR.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/pt-PT.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ro.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ru.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/sk.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/sl.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/sr.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/sv.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/sw.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/ta.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/te.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/th.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/tr.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/uk.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/vi.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/zh-CN.pak Normal file

Binary file not shown.

BIN
bin/cef/locales/zh-TW.pak Normal file

Binary file not shown.

19123
bin/cef/natives_blob.bin Normal file

File diff suppressed because it is too large Load Diff

BIN
bin/cef/nim_libcef.dll Normal file

Binary file not shown.

BIN
bin/cef/snapshot_blob.bin Normal file

Binary file not shown.

BIN
bin/cef/widevinecdm.dll Normal file

Binary file not shown.

Binary file not shown.

BIN
bin/cef/wow_helper.exe Normal file

Binary file not shown.

BIN
bin/cef_x64/cef.pak Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

BIN
bin/cef_x64/icudtl.dat Normal file

Binary file not shown.

BIN
bin/cef_x64/libEGL.dll Normal file

Binary file not shown.

BIN
bin/cef_x64/libGLESv2.dll Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/am.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/ar.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/bg.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/bn.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/ca.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/cs.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/da.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/de.pak Normal file

Binary file not shown.

BIN
bin/cef_x64/locales/el.pak Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More