├── 3d_demo ├── 3d_demo.cpp ├── 3d_demo.rc ├── 3d_demo.sln ├── 3d_demo.vcproj ├── Dui3DPreview.cpp ├── Dui3DPreview.h ├── MainDlg.cpp ├── MainDlg.h ├── ReadMe.txt ├── UIHander.cpp ├── UIHander.h ├── duires │ ├── 3d_demo.ico │ ├── name2id.xml │ ├── res.h │ ├── winres.h │ ├── winres.h.ts │ ├── winres.rc2 │ └── winres.rc2.ts ├── resource.h ├── skin │ ├── image │ │ ├── btn_sys_close.png │ │ ├── btn_wnd_checkbox.png │ │ ├── btn_wnd_radio.png │ │ ├── check.png │ │ ├── dlg_bg_frame.png │ │ ├── focus_checkbox.png │ │ ├── focus_radio.png │ │ ├── mini_progress_bar.png │ │ ├── mini_progress_bg.png │ │ ├── scrollbar.bmp │ │ ├── slider.png │ │ └── test.png │ ├── index.xml │ └── xml │ │ ├── dlg_main.xml │ │ ├── dlg_msgbox.xml │ │ └── init.xml ├── stdafx.cpp └── stdafx.h ├── DUIEngine ├── DUIEngine.2008.sln ├── DUIEngine.vcproj ├── ReadMe.txt ├── dependencies │ └── pugixml │ │ ├── pugiconfig.hpp │ │ ├── pugixml.cpp │ │ ├── pugixml.hpp │ │ └── readme.txt ├── dllmain.cpp ├── include │ ├── Accelerator.h │ ├── DUISingleton.h │ ├── DuiActiveX.h │ ├── DuiAttrCrack.h │ ├── DuiCSS.h │ ├── DuiCalendar.h │ ├── DuiCaption.h │ ├── DuiComboBox.h │ ├── DuiContainer.h │ ├── DuiDateTimeEdit.h │ ├── DuiDef.h │ ├── DuiDefaultLogger.h │ ├── DuiDropDownList.h │ ├── DuiEventSet.h │ ├── DuiEventSubscriber.h │ ├── DuiFrameDropTarget.h │ ├── DuiHeaderCtrl.h │ ├── DuiHotKeyCtrl.h │ ├── DuiImgBase.h │ ├── DuiImgDecoder_Def.h │ ├── DuiListCtrl.h │ ├── DuiLogger.h │ ├── DuiMenu.h │ ├── DuiMessageBox.h │ ├── DuiRichEdit.h │ ├── DuiScriptModule.h │ ├── DuiSingletonMap.h │ ├── DuiSkinBase.h │ ├── DuiSkinPool.h │ ├── DuiSliderBar.h │ ├── DuiSplitWnd.h │ ├── DuiSystem.h │ ├── DuiThreadActiveWndManager.h │ ├── DuiTime.h │ ├── DuiTimerEx.h │ ├── DuiTipCtrl.h │ ├── DuiTreeCtrl.h │ ├── DuiUtilities.h │ ├── DuiWindowManager.h │ ├── DuiWndFactoryManager.h │ ├── FocusManager.h │ ├── GradientFillHelper.h │ ├── MemDC.h │ ├── MenuWndHook.h │ ├── SimpleWnd.h │ ├── activex │ │ ├── DuiBStr.h │ │ ├── flash10t.tlh │ │ ├── flash10t.tli │ │ ├── wmp.tlh │ │ └── wmp.tli │ ├── atl.mini │ │ ├── atldef.h │ │ └── duicomcli.h │ ├── auto_reset.h │ ├── duiItempanel.h │ ├── duicolor.h │ ├── duictrls.h │ ├── duifontpool.h │ ├── duiframe.h │ ├── duihostwnd.h │ ├── duiimage.h │ ├── duiimgpool.h │ ├── duiitembox.h │ ├── duilistbox.h │ ├── duilistboxex.h │ ├── duimsgcracker.h │ ├── duimsgfilter.h │ ├── duiobject.h │ ├── duirealwnd.h │ ├── duiref.h │ ├── duires.h │ ├── duiresprovider.h │ ├── duiresproviderbase.h │ ├── duiscrollbar.h │ ├── duiskin.h │ ├── duistd.h │ ├── duistringpool.h │ ├── duitreebox.h │ ├── duiwnd.h │ ├── duiwndcmnctrl.h │ ├── duiwnddlgfile.h │ ├── duiwndnotify.h │ ├── duiwndpanel.h │ ├── duiwndstyle.h │ ├── duiwndtabctrl.h │ ├── gdialpha.h │ ├── mybuffer.h │ ├── stree.hpp │ └── wtl.mini │ │ ├── duicoll.h │ │ ├── duicrack.h │ │ ├── duigdi.h │ │ ├── duimisc.h │ │ ├── duistr.h │ │ ├── strcpcvt.h │ │ └── tstring.h ├── license.txt └── src │ ├── Accelerator.cpp │ ├── DuiActiveX.cpp │ ├── DuiCSS.cpp │ ├── DuiCalendar.cpp │ ├── DuiCaption.cpp │ ├── DuiComboBox.cpp │ ├── DuiDateTimeEdit.cpp │ ├── DuiDropDownList.cpp │ ├── DuiEventSet.cpp │ ├── DuiFrameDropTarget.cpp │ ├── DuiHeaderCtrl.cpp │ ├── DuiHotKeyCtrl.cpp │ ├── DuiImgDecoder_Def.cpp │ ├── DuiListCtrl.cpp │ ├── DuiLogger.cpp │ ├── DuiMenu.cpp │ ├── DuiMessageBox.cpp │ ├── DuiRichEdit.cpp │ ├── DuiSkinBase.cpp │ ├── DuiSkinPool.cpp │ ├── DuiSliderBar.cpp │ ├── DuiSplitWnd.cpp │ ├── DuiSystem.cpp │ ├── DuiThreadActiveWndManager.cpp │ ├── DuiTimerEx.cpp │ ├── DuiTipCtrl.cpp │ ├── DuiTreeCtrl.cpp │ ├── DuiUtilities.cpp │ ├── DuiWindowManager.cpp │ ├── DuiWndFactoryManager.cpp │ ├── FocusManager.cpp │ ├── GradientFillHelper.cpp │ ├── MemDC.cpp │ ├── MenuWndHook.cpp │ ├── SimpleWnd.cpp │ ├── activex │ ├── DuiAxContainer.cpp │ ├── DuiAxContainer.h │ ├── DuiAxUtil.h │ └── DuiBStr.cpp │ ├── duiDefaultLogger.cpp │ ├── duiItempanel.cpp │ ├── duicolor.cpp │ ├── duifontpool.cpp │ ├── duiframe.cpp │ ├── duihostwnd.cpp │ ├── duiimage.cpp │ ├── duiimgpool.cpp │ ├── duiitembox.cpp │ ├── duilistbox.cpp │ ├── duilistboxex.cpp │ ├── duirealwnd.cpp │ ├── duiresprovider.cpp │ ├── duiscrollbar.cpp │ ├── duiskin.cpp │ ├── duistd.cpp │ ├── duistringpool.cpp │ ├── duitreebox.cpp │ ├── duiwnd.cpp │ ├── duiwndcmnctrl.cpp │ ├── duiwndpanel.cpp │ ├── duiwndstyle.cpp │ ├── duiwndtabctrl.cpp │ └── gdialpha.cpp ├── bin ├── Dui-Demo.exe └── def_skin.zip ├── controls.extend └── readme.txt ├── doc ├── DUI引擎属性文档.docx ├── 从Bkwin到DUIEngine快速入门[ 网友'一言'友情提供].docx ├── 使用说明.txt └── 更新历史.txt ├── dui_demo ├── Dui-Demo.vcproj ├── DuiSkinGif.cpp ├── DuiSkinGif.h ├── MainDlg.cpp ├── MainDlg.h ├── ResModeSelDlg.cpp ├── ResModeSelDlg.h ├── UIHander.cpp ├── UIHander.h ├── dui-demo.cpp ├── dui-demo.rc ├── dui_demo.2008.sln ├── duires │ ├── name2id.xml │ ├── res.h │ ├── resmode.zip │ ├── winres.h │ └── winres.rc2 ├── index.xml ├── layout │ ├── def_objattr.xml │ ├── def_skin.xml │ ├── def_string.xml │ ├── def_style.xml │ ├── dlg_main.xml │ ├── dlg_msgbox.xml │ ├── init.xml │ └── menu_test.xml ├── lua │ └── test.lua ├── resource.h ├── skinole │ ├── ImageOle.cpp │ └── ImageOle.h ├── skins │ ├── TreeCheckBox.png │ ├── TreeIcon.png │ ├── TreeToggle.png │ ├── bk_shadow.png │ ├── btn_normal_yellow.png │ ├── btn_sys_close.png │ ├── btn_sys_maximize.png │ ├── btn_sys_minimize.png │ ├── btn_sys_restore.png │ ├── btn_wnd_checkbox.png │ ├── btn_wnd_radio.png │ ├── check.png │ ├── dlg_bg_frame.png │ ├── dropbtn.png │ ├── face0.gif │ ├── focus_checkbox.png │ ├── focus_radio.png │ ├── icon2.png │ ├── icon3.png │ ├── icons.png │ ├── img_dlg_big_frame.png │ ├── img_edit_border.png │ ├── img_logo.ico │ ├── img_menu_bg.png │ ├── main_dlg_body.png │ ├── menu_split_horz.png │ ├── menuborder.png │ ├── menuskin.png │ ├── mini_progress_bar.png │ ├── mini_progress_bg.png │ ├── scrollbar.bmp │ ├── scrollbar.png │ ├── slider.png │ ├── solve.bmp │ ├── split_horz.png │ ├── split_vert.png │ ├── tab_common.png │ ├── vscrollbar.png │ ├── webbtn_back.png │ ├── webbtn_forward.png │ └── webbtn_refresh.png ├── stdafx.cpp ├── stdafx.h ├── wtlhelper │ └── whwindow.h └── zipskin │ ├── DuiResProviderZip.cpp │ ├── DuiResProviderZip.h │ ├── ZipArchive.h │ └── zipArchive.cpp ├── image3d ├── 3dTransform.h ├── 3dlib.cpp ├── 3dlib.h ├── 3dmatrix.cpp ├── 3dmatrix.h ├── 3dtransform.cpp ├── PerspectiveTransform.h ├── ReadMe.txt ├── image3d.sln ├── image3d.vcproj ├── stdafx.cpp └── stdafx.h ├── lib ├── DUIEngine.lib ├── DUIEngine_d.lib ├── zlib.lib └── zlib_d.lib ├── residbuilder ├── ReadMe.txt ├── XGetopt.cpp ├── XGetopt.h ├── residbuilder.cpp ├── residbuilder.sln ├── residbuilder.vcproj ├── stdafx.cpp └── stdafx.h ├── samples ├── DuiHttpDown.zip ├── ani_demo.zip ├── childduiwnd.zip ├── iectrl.wtl.zip ├── mfc.demo.zip └── 说明.txt ├── scriptModule └── luaScriptModule │ ├── lib │ ├── lua.lib │ ├── luaScriptModule.lib │ ├── luaScriptModule_d.lib │ └── lua_d.lib │ ├── lua-5.1 │ ├── ReadMe.txt │ ├── dllmain.c │ ├── lapi.c │ ├── lapi.h │ ├── lauxlib.c │ ├── lauxlib.h │ ├── lbaselib.c │ ├── lcode.c │ ├── lcode.h │ ├── ldblib.c │ ├── ldebug.c │ ├── ldebug.h │ ├── ldo.c │ ├── ldo.h │ ├── ldump.c │ ├── lfunc.c │ ├── lfunc.h │ ├── lgc.c │ ├── lgc.h │ ├── linit.c │ ├── liolib.c │ ├── llex.c │ ├── llex.h │ ├── llimits.h │ ├── lmathlib.c │ ├── lmem.c │ ├── lmem.h │ ├── loadlib.c │ ├── lobject.c │ ├── lobject.h │ ├── lopcodes.c │ ├── lopcodes.h │ ├── loslib.c │ ├── lparser.c │ ├── lparser.h │ ├── lstate.c │ ├── lstate.h │ ├── lstring.c │ ├── lstring.h │ ├── lstrlib.c │ ├── ltable.c │ ├── ltable.h │ ├── ltablib.c │ ├── ltm.c │ ├── ltm.h │ ├── lua.c │ ├── lua.h │ ├── lua.sln │ ├── lua.vcproj │ ├── luac.c │ ├── luaconf.h │ ├── lualib.h │ ├── lundump.c │ ├── lundump.h │ ├── lvm.c │ ├── lvm.h │ ├── lzio.c │ ├── lzio.h │ ├── print.c │ ├── stdafx.cpp │ └── version.c │ ├── luaScriptModule.sln │ └── luaScriptModule │ ├── ReadMe.txt │ ├── exports │ ├── DuiBasic.h │ ├── DuiEngine.cpp │ ├── DuiMessageBox.h │ ├── DuiResProvider.h │ ├── DuiScriptModule.h │ ├── DuiSystem.h │ ├── DuiThreadActiveWndMgr.h │ └── DuiWindow.h │ ├── luaScriptModule.cpp │ ├── luaScriptModule.h │ ├── luaScriptModule.vcproj │ ├── lua_duiengine.cpp │ ├── lua_tinker.cpp │ ├── lua_tinker.h │ ├── package │ ├── DuiImgBase.pkg │ ├── DuiLogger.pkg │ ├── DuiMessageBox.pkg │ ├── DuiNotify.pkg │ ├── DuiResProviderBase.pkg │ ├── DuiScriptModule.pkg │ ├── DuiSystem.pkg │ ├── DuiThreadActiveWndMgr.pkg │ ├── DuiWindow.pkg │ ├── basic.pkg │ ├── build.bat │ └── duiengine.pkg │ ├── require.h │ ├── stdafx.cpp │ └── stdafx.h ├── template ├── MainDlg.cpp ├── MainDlg.h ├── ReadMe.txt ├── UIHander.cpp ├── UIHander.h ├── dui-demo.cpp ├── dui-demo.rc ├── duires │ ├── dui-demo.ico │ ├── name2id.xml │ ├── res.h │ ├── winres.h │ └── winres.rc2 ├── resource.h ├── skin │ ├── image │ │ ├── btn_sys_close.png │ │ ├── btn_wnd_checkbox.png │ │ ├── btn_wnd_radio.png │ │ ├── check.png │ │ ├── dlg_bg_frame.png │ │ ├── focus_checkbox.png │ │ ├── focus_radio.png │ │ └── scrollbar.bmp │ ├── index.xml │ └── xml │ │ ├── def_objattr.xml │ │ ├── def_skin.xml │ │ ├── def_string.xml │ │ ├── def_style.xml │ │ └── dlg_main.xml ├── stdafx.cpp ├── stdafx.h ├── template.sln └── template.vcproj ├── tool └── residbuilder.exe ├── wizard.setup ├── MainDlg.h ├── res │ └── wizard.setup.ico ├── resource.h ├── stdafx.cpp ├── stdafx.h ├── wizard.setup.cpp ├── wizard.setup.h ├── wizard.setup.rc ├── wizard.setup.sln └── wizard.setup.vcproj ├── wizard ├── DuiEngineWizard.ico ├── DuiEngineWizard.vsdir ├── DuiEngineWizard │ ├── 2052 │ │ ├── Images │ │ │ ├── DottedHori.gif │ │ │ ├── DottedVert.gif │ │ │ └── spacer.gif │ │ └── NewStyles.css │ ├── HTML │ │ └── 2052 │ │ │ └── default.htm │ ├── Images │ │ └── DuiEngineWizard.gif │ └── Templates │ │ └── 2052 │ │ ├── MainDlg.cpp │ │ ├── MainDlg.h │ │ ├── ReadMe.txt │ │ ├── Templates.inf │ │ ├── UIHander.cpp │ │ ├── UIHander.h │ │ ├── dui-demo.cpp │ │ ├── dui-demo.rc │ │ ├── duires │ │ ├── dui-demo.ico │ │ ├── name2id.xml │ │ ├── res.h │ │ ├── winres.h │ │ └── winres.rc2 │ │ ├── resource.h │ │ ├── skin │ │ ├── image │ │ │ ├── btn_sys_close.png │ │ │ ├── btn_wnd_checkbox.png │ │ │ ├── btn_wnd_radio.png │ │ │ ├── check.png │ │ │ ├── dlg_bg_frame.png │ │ │ ├── focus_checkbox.png │ │ │ ├── focus_radio.png │ │ │ └── scrollbar.bmp │ │ ├── index.xml │ │ └── xml │ │ │ ├── dlg_main.xml │ │ │ ├── dlg_msgbox.xml │ │ │ └── init.xml │ │ ├── stdafx.cpp │ │ └── stdafx.h ├── DuiEngineWizard2005.vsz ├── DuiEngineWizard2008.vsz ├── DuiEngineWizard2010.vsz ├── DuiEngineWizard2012.vsz ├── scripts │ ├── vs2008 │ │ └── default.js │ └── vs2012 │ │ └── default.js └── wizard.setup.exe └── zlib ├── ChangeLog ├── FAQ ├── README ├── adler32.c ├── algorithm.txt ├── compress.c ├── crc32.c ├── crc32.h ├── deflate.c ├── deflate.h ├── gzio.c ├── infback.c ├── inffast.c ├── inffast.h ├── inffixed.h ├── inflate.c ├── inflate.h ├── inftrees.c ├── inftrees.h ├── trees.c ├── trees.h ├── uncompr.c ├── zconf.h ├── zconf.in.h ├── zlib.dsp ├── zlib.dsw ├── zlib.h ├── zlib.sln ├── zlib.vcproj ├── zutil.c └── zutil.h /3d_demo/3d_demo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/3d_demo.cpp -------------------------------------------------------------------------------- /3d_demo/3d_demo.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/3d_demo.rc -------------------------------------------------------------------------------- /3d_demo/3d_demo.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "3d_demo", "3d_demo.vcproj", "{FF65FE45-DEC8-4B2F-8034-C9C53924852F}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug_LIB|Win32 = Debug_LIB|Win32 9 | Debug|Win32 = Debug|Win32 10 | Release_LIB|Win32 = Release_LIB|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Debug_LIB|Win32.ActiveCfg = Debug|Win32 15 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Debug_LIB|Win32.Build.0 = Debug|Win32 16 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Debug|Win32.Build.0 = Debug|Win32 18 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Release_LIB|Win32.ActiveCfg = Release|Win32 19 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Release_LIB|Win32.Build.0 = Release|Win32 20 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Release|Win32.ActiveCfg = Release|Win32 21 | {FF65FE45-DEC8-4B2F-8034-C9C53924852F}.Release|Win32.Build.0 = Release|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /3d_demo/Dui3DPreview.cpp: -------------------------------------------------------------------------------- 1 | #include "StdAfx.h" 2 | #include "Dui3DPreview.h" 3 | 4 | #ifdef _DEBUG 5 | #pragma comment(lib,"../image3d/debug_lib/image3d.lib") 6 | #else 7 | #pragma comment(lib,"../image3d/release_lib/image3d.lib") 8 | #endif 9 | 10 | namespace DuiEngine 11 | { 12 | 13 | CDui3DPreview::CDui3DPreview(void):m_pImage(NULL),m_hBmpOrig(NULL),m_hBmpTrans(NULL) 14 | { 15 | memset(&m_3dparam,0,sizeof(m_3dparam)); 16 | } 17 | 18 | CDui3DPreview::~CDui3DPreview(void) 19 | { 20 | if(m_hBmpOrig) DeleteObject(m_hBmpOrig); 21 | if(m_hBmpTrans) DeleteObject(m_hBmpTrans); 22 | } 23 | 24 | int DuiEngine::CDui3DPreview::OnCreate( LPVOID ) 25 | { 26 | __super::OnCreate(NULL); 27 | 28 | return 0; 29 | } 30 | 31 | void CDui3DPreview::OnSize( UINT nType, CSize size ) 32 | { 33 | if(m_hBmpOrig) DeleteObject(m_hBmpOrig); 34 | if(m_hBmpTrans) DeleteObject(m_hBmpTrans); 35 | 36 | HDC hdc=GetDC(NULL); 37 | m_hBmpOrig=CGdiAlpha::CreateBitmap32(hdc,size.cx,size.cy,NULL,0); 38 | if(m_pImage) 39 | { 40 | CMemDC memdc(hdc,m_hBmpOrig); 41 | m_pImage->Draw(memdc.m_hDC,CRect(0,0,size.cx,size.cy),0); 42 | } 43 | 44 | m_hBmpTrans=CGdiAlpha::CreateBitmap32(hdc,size.cx,size.cy,NULL,0); 45 | ReleaseDC(NULL,hdc); 46 | Update(); 47 | } 48 | 49 | void CDui3DPreview::OnPaint( CDCHandle dc ) 50 | { 51 | if(!m_pImage) return; 52 | CMemDC memdc(dc,m_hBmpTrans); 53 | CRect rcClient; 54 | GetClient(&rcClient); 55 | BLENDFUNCTION bf={AC_SRC_OVER,0,255,AC_SRC_ALPHA}; 56 | AlphaBlend(dc,rcClient.left,rcClient.top,rcClient.Width(),rcClient.Height(),memdc,0,0,rcClient.Width(),rcClient.Height(),bf); 57 | } 58 | 59 | void CDui3DPreview::Update() 60 | { 61 | C3DTransform image3d; 62 | BITMAP bmSour,bmDest; 63 | GetObject(m_hBmpOrig,sizeof(BITMAP),&bmSour); 64 | GetObject(m_hBmpTrans,sizeof(BITMAP),&bmDest); 65 | image3d.SetImage((LPBYTE)bmSour.bmBits,(LPBYTE)bmDest.bmBits,bmSour.bmWidth,bmSour.bmHeight,bmSour.bmBitsPixel); 66 | image3d.Render(m_3dparam); 67 | NotifyInvalidate(); 68 | } 69 | } -------------------------------------------------------------------------------- /3d_demo/Dui3DPreview.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "../image3d/3dTransform.h" 4 | using namespace IMAGE3D; 5 | 6 | namespace DuiEngine 7 | { 8 | 9 | class CDui3DPreview : 10 | public CDuiWindow 11 | { 12 | DUIOBJ_DECLARE_CLASS_NAME(CDui3DPreview, "image3dprev") 13 | public: 14 | CDui3DPreview(void); 15 | ~CDui3DPreview(void); 16 | 17 | PARAM3DTRANSFORM & Get3dParam(){return m_3dparam;} 18 | 19 | void Update(); 20 | 21 | DUIWIN_DECLARE_ATTRIBUTES_BEGIN() 22 | DUIWIN_SKIN_ATTRIBUTE("image", m_pImage,TRUE) 23 | DUIWIN_INT_ATTRIBUTE("rotate-x", m_3dparam.nRotateX,TRUE) 24 | DUIWIN_INT_ATTRIBUTE("rotate-y", m_3dparam.nRotateY,TRUE) 25 | DUIWIN_INT_ATTRIBUTE("rotate-z", m_3dparam.nRotateZ,TRUE) 26 | DUIWIN_INT_ATTRIBUTE("offset-z", m_3dparam.nOffsetZ,TRUE) 27 | DUIWIN_DECLARE_ATTRIBUTES_END() 28 | protected: 29 | void OnSize(UINT nType, CSize size); 30 | void OnPaint(CDCHandle dc); 31 | int OnCreate(LPVOID); 32 | 33 | DUIWIN_BEGIN_MSG_MAP() 34 | MSG_WM_SIZE(OnSize) 35 | MSG_WM_PAINT(OnPaint) 36 | MSG_WM_CREATE(OnCreate) 37 | DUIWIN_END_MSG_MAP() 38 | 39 | CDuiSkinBase *m_pImage; 40 | HBITMAP m_hBmpOrig; 41 | HBITMAP m_hBmpTrans; 42 | 43 | PARAM3DTRANSFORM m_3dparam; 44 | }; 45 | 46 | } -------------------------------------------------------------------------------- /3d_demo/MainDlg.cpp: -------------------------------------------------------------------------------- 1 | // MainDlg.cpp : implementation of the CMainDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | #include "MainDlg.h" 7 | #include "UIHander.h" 8 | 9 | CMainDlg::CMainDlg() : CDuiHostWnd(IDR_DUI_MAIN_DIALOG) 10 | { 11 | m_pUiHandler = new CUIHander(this); 12 | } 13 | 14 | CMainDlg::~CMainDlg() 15 | { 16 | delete m_pUiHandler; 17 | } 18 | -------------------------------------------------------------------------------- /3d_demo/MainDlg.h: -------------------------------------------------------------------------------- 1 | // MainDlg.h : interface of the CMainDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | #pragma once 5 | 6 | #include "UIHander.h" 7 | 8 | class CMainDlg : public CDuiHostWnd 9 | { 10 | public: 11 | CMainDlg(); 12 | ~CMainDlg(); 13 | 14 | void OnClose() 15 | { 16 | EndDialog(IDCANCEL); 17 | } 18 | 19 | protected: 20 | 21 | DUI_NOTIFY_MAP(IDC_RICHVIEW_WIN) 22 | DUI_NOTIFY_ID_COMMAND(1, OnClose) 23 | DUI_NOTIFY_MAP_END() 24 | 25 | BEGIN_MSG_MAP_EX(CMainDlg) 26 | MSG_WM_CLOSE(OnClose) 27 | MSG_DUI_NOTIFY(IDC_RICHVIEW_WIN) 28 | CHAIN_MSG_MAP_MEMBER((*m_pUiHandler)) 29 | CHAIN_MSG_MAP(CDuiHostWnd) 30 | REFLECT_NOTIFICATIONS_EX() 31 | END_MSG_MAP() 32 | 33 | private: 34 | CUIHander * m_pUiHandler; 35 | }; 36 | -------------------------------------------------------------------------------- /3d_demo/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/ReadMe.txt -------------------------------------------------------------------------------- /3d_demo/UIHander.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/UIHander.cpp -------------------------------------------------------------------------------- /3d_demo/UIHander.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CMainDlg; 4 | 5 | class CUIHander 6 | { 7 | public: 8 | CUIHander(CMainDlg *pMainDlg); 9 | ~CUIHander(void); 10 | 11 | protected: 12 | LRESULT OnInitDialog(HWND hWnd, LPARAM lParam); 13 | 14 | void OnMsgBtnClick(); 15 | 16 | LRESULT OnSlider_RolateX(LPNMHDR pNmhdr); 17 | LRESULT OnSlider_RolateY(LPNMHDR pNmhdr); 18 | LRESULT OnSlider_RolateZ(LPNMHDR pNmhdr); 19 | LRESULT OnSlider_OffsetZ(LPNMHDR pNmhdr); 20 | 21 | BEGIN_MSG_MAP_EX(CUIHander) 22 | MSG_DUI_NOTIFY(IDC_RICHVIEW_WIN) 23 | MSG_WM_INITDIALOG(OnInitDialog) 24 | END_MSG_MAP() 25 | 26 | DUI_NOTIFY_MAP(IDC_RICHVIEW_WIN) 27 | DUI_NOTIFY_HANDLER(slider_rotatex,DUINM_SLIDER,OnSlider_RolateX) 28 | DUI_NOTIFY_HANDLER(slider_rotatey,DUINM_SLIDER,OnSlider_RolateY) 29 | DUI_NOTIFY_HANDLER(slider_rotatez,DUINM_SLIDER,OnSlider_RolateZ) 30 | DUI_NOTIFY_HANDLER(slider_offsetz,DUINM_SLIDER,OnSlider_OffsetZ) 31 | DUI_NOTIFY_MAP_END() 32 | private: 33 | CMainDlg * m_pMainDlg; 34 | }; 35 | -------------------------------------------------------------------------------- /3d_demo/duires/3d_demo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/duires/3d_demo.ico -------------------------------------------------------------------------------- /3d_demo/duires/name2id.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /3d_demo/duires/res.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/duires/res.h -------------------------------------------------------------------------------- /3d_demo/duires/winres.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | /*<---------------------------RES_BUILDER:begin-----------------------------------*/ 5 | #define maindlg 65537 6 | #define btn_close 1 7 | #define btn_msgbox 65538 8 | #define image3dprev 65540 9 | #define slider_rotatex 65541 10 | #define slider_rotatey 65542 11 | #define slider_rotatez 65543 12 | #define slider_offsetz 65544 13 | /*----------------------------RES_BUILDER:end------------------------------------->*/ 14 | -------------------------------------------------------------------------------- /3d_demo/duires/winres.h.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/duires/winres.h.ts -------------------------------------------------------------------------------- /3d_demo/duires/winres.rc2: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define __DUIRES_RC 3 | #include "duires.h" 4 | 5 | #pragma message("include winres.rc2") 6 | 7 | /*<---------------------------RES_BUILDER:begin-----------------------------------*/ 8 | DEFINE_XML(IDR_DUI_INIT, 100, "skin\\xml\\init.xml") 9 | DEFINE_XML(IDR_DUI_MSGBOX, 101, "skin\\xml\\dlg_msgbox.xml") 10 | DEFINE_XML(IDR_DUI_MAIN_DIALOG, 200, "skin\\xml\\dlg_main.xml") 11 | DEFINE_IMGX(IDP_MAIN_DLG_FRAME, 1, "skin\\image\\dlg_bg_frame.png") 12 | DEFINE_IMGX(IDP_BTN_WND_CHECKBOX, 51, "skin\\image\\btn_wnd_checkbox.png") 13 | DEFINE_IMGX(IDP_BTN_WND_RADIO, 52, "skin\\image\\btn_wnd_radio.png") 14 | DEFINE_IMGX(IDP_FOCUS_CHECK, 53, "skin\\image\\focus_checkbox.png") 15 | DEFINE_IMGX(IDP_FOCUS_RADIO, 54, "skin\\image\\focus_radio.png") 16 | DEFINE_IMGX(IDP_BTN_SYS_CLOSE, 80, "skin\\image\\btn_sys_close.png") 17 | DEFINE_IMGX(IDP_SCROLL, 104, "skin\\image\\scrollbar.bmp") 18 | DEFINE_IMGX(IDP_IMAGE_TEST, 200, "skin\\image\\test.png") 19 | DEFINE_IMGX(IDP_SLIDETHUMB, 505, "skin\\image\\slider.png") 20 | DEFINE_IMGX(IDP_PROG_BAR, 506, "skin\\image\\mini_progress_bar.png") 21 | DEFINE_IMGX(IDP_PROG_BG, 507, "skin\\image\\mini_progress_bg.png") 22 | /*----------------------------RES_BUILDER:end------------------------------------->*/ 23 | -------------------------------------------------------------------------------- /3d_demo/duires/winres.rc2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/duires/winres.rc2.ts -------------------------------------------------------------------------------- /3d_demo/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by dui-demo.rc 4 | // 5 | #define IDR_NAME2ID 112 6 | #define IDI_MAINWND 113 7 | 8 | // Next default values for new objects 9 | // 10 | #ifdef APSTUDIO_INVOKED 11 | #ifndef APSTUDIO_READONLY_SYMBOLS 12 | #define _APS_NEXT_RESOURCE_VALUE 113 13 | #define _APS_NEXT_COMMAND_VALUE 40037 14 | #define _APS_NEXT_CONTROL_VALUE 1000 15 | #define _APS_NEXT_SYMED_VALUE 101 16 | #endif 17 | #endif 18 | -------------------------------------------------------------------------------- /3d_demo/skin/image/btn_sys_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/btn_sys_close.png -------------------------------------------------------------------------------- /3d_demo/skin/image/btn_wnd_checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/btn_wnd_checkbox.png -------------------------------------------------------------------------------- /3d_demo/skin/image/btn_wnd_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/btn_wnd_radio.png -------------------------------------------------------------------------------- /3d_demo/skin/image/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/check.png -------------------------------------------------------------------------------- /3d_demo/skin/image/dlg_bg_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/dlg_bg_frame.png -------------------------------------------------------------------------------- /3d_demo/skin/image/focus_checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/focus_checkbox.png -------------------------------------------------------------------------------- /3d_demo/skin/image/focus_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/focus_radio.png -------------------------------------------------------------------------------- /3d_demo/skin/image/mini_progress_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/mini_progress_bar.png -------------------------------------------------------------------------------- /3d_demo/skin/image/mini_progress_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/mini_progress_bg.png -------------------------------------------------------------------------------- /3d_demo/skin/image/scrollbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/scrollbar.bmp -------------------------------------------------------------------------------- /3d_demo/skin/image/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/slider.png -------------------------------------------------------------------------------- /3d_demo/skin/image/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/skin/image/test.png -------------------------------------------------------------------------------- /3d_demo/skin/index.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /3d_demo/skin/xml/dlg_main.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | %str1% ver:%str2% 6 | 7 | 8 | 9 | rotate param 10 | 11 | 12 | 13 | rorate-x: 14 | 15 | 16 | 17 | rorate-y: 18 | 19 | 20 | 21 | 22 | 23 | rorate-z: 24 | 25 | 26 | 27 | offset-z: 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /3d_demo/skin/xml/dlg_msgbox.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | title 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /3d_demo/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 | -------------------------------------------------------------------------------- /3d_demo/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/3d_demo/stdafx.h -------------------------------------------------------------------------------- /DUIEngine/DUIEngine.2008.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DUIEngine", "DUIEngine.vcproj", "{569DE3F2-641F-4CDB-B401-3C731312E844}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug_Dll|Win32 = Debug_Dll|Win32 9 | Debug|Win32 = Debug|Win32 10 | Release_Dll|Win32 = Release_Dll|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Debug_Dll|Win32.ActiveCfg = Debug_Dll|Win32 15 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Debug_Dll|Win32.Build.0 = Debug_Dll|Win32 16 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Debug|Win32.ActiveCfg = DEBUG|Win32 17 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Debug|Win32.Build.0 = DEBUG|Win32 18 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Release_Dll|Win32.ActiveCfg = Release_Dll|Win32 19 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Release_Dll|Win32.Build.0 = Release_Dll|Win32 20 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Release|Win32.ActiveCfg = RELEASE|Win32 21 | {569DE3F2-641F-4CDB-B401-3C731312E844}.Release|Win32.Build.0 = RELEASE|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /DUIEngine/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/ReadMe.txt -------------------------------------------------------------------------------- /DUIEngine/dllmain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/dllmain.cpp -------------------------------------------------------------------------------- /DUIEngine/include/Accelerator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/Accelerator.h -------------------------------------------------------------------------------- /DUIEngine/include/DUISingleton.h: -------------------------------------------------------------------------------- 1 | /*********************************************************************** 2 | filename: DUISingleton.h 3 | created: 25/8/2012 4 | 5 | purpose: Singleton Base Class 6 | *************************************************************************/ 7 | 8 | #pragma once 9 | 10 | #include 11 | 12 | namespace DuiEngine 13 | { 14 | 15 | template class Singleton 16 | { 17 | protected: 18 | static T* ms_Singleton; 19 | 20 | public: 21 | Singleton( void ) 22 | { 23 | assert( !ms_Singleton ); 24 | ms_Singleton = static_cast(this); 25 | } 26 | virtual ~Singleton( void ) 27 | { 28 | assert( ms_Singleton ); 29 | ms_Singleton = 0; 30 | } 31 | static T& getSingleton( void ) 32 | { 33 | assert( ms_Singleton ); 34 | return ( *ms_Singleton ); 35 | } 36 | static T* getSingletonPtr( void ) 37 | { 38 | return ( ms_Singleton ); 39 | } 40 | 41 | private: 42 | Singleton& operator=(const Singleton&) 43 | { 44 | return *this; 45 | } 46 | Singleton(const Singleton&) {} 47 | }; 48 | 49 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/DuiCSS.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "DuiSingletonMap.h" 4 | namespace DuiEngine 5 | { 6 | 7 | class DUI_EXP DuiCSS :public DuiSingletonMap 8 | { 9 | public: 10 | DuiCSS() 11 | { 12 | } 13 | virtual ~DuiCSS() 14 | { 15 | } 16 | 17 | BOOL Init(UINT uXmlID); 18 | BOOL Init(pugi::xml_node xmlNode); 19 | 20 | pugi::xml_node GetDefAttribute(LPCSTR pszClassName); 21 | protected: 22 | void BuildClassAttribute(pugi::xml_node & xmlNode, LPCSTR pszClassName); 23 | LPCSTR GetBaseClassName(LPCSTR pszClassName); 24 | 25 | pugi::xml_document m_xmlRoot; 26 | }; 27 | 28 | }//namespace DuiEngine 29 | 30 | -------------------------------------------------------------------------------- /DUIEngine/include/DuiCalendar.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiCalendar.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiCaption.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "duiwnd.h" 3 | 4 | namespace DuiEngine 5 | { 6 | class CDuiCaption : 7 | public CDuiWindow 8 | { 9 | DUIOBJ_DECLARE_CLASS_NAME(CDuiCaption, "caption") 10 | public: 11 | CDuiCaption(void); 12 | virtual ~CDuiCaption(void); 13 | 14 | protected: 15 | void OnLButtonDown(UINT nFlags, CPoint point); 16 | void OnLButtonDblClk(UINT nFlags, CPoint point); 17 | 18 | DUIWIN_BEGIN_MSG_MAP() 19 | MSG_WM_LBUTTONDOWN(OnLButtonDown) 20 | MSG_WM_LBUTTONDBLCLK(OnLButtonDblClk) 21 | DUIWIN_END_MSG_MAP() 22 | }; 23 | } 24 | -------------------------------------------------------------------------------- /DUIEngine/include/DuiContainer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace DuiEngine 5 | { 6 | 7 | class DUI_EXP CDuiContainer 8 | { 9 | friend class CDuiWindow; 10 | public: 11 | virtual BOOL RegisterDragDrop(HDUIWND hDuiWnd,IDropTarget *pDropTarget)=NULL; 12 | 13 | virtual BOOL RevokeDragDrop(HDUIWND hDuiWnd)=NULL; 14 | 15 | virtual LRESULT OnDuiNotify(LPNMHDR pHdr)=NULL; 16 | 17 | virtual HWND GetHostHwnd()=NULL; 18 | 19 | virtual BOOL IsTranslucent()=NULL; 20 | 21 | virtual CRect GetContainerRect()=NULL; 22 | 23 | virtual HDC OnGetDuiDC(const CRect & rc,DWORD gdcFlags)=NULL; 24 | 25 | virtual void OnReleaseDuiDC(HDC hdc,const CRect &rc,DWORD gdcFlags)=NULL; 26 | 27 | virtual void OnRedraw(const CRect &rc)=NULL; 28 | 29 | virtual HDUIWND GetDuiCapture()=NULL; 30 | 31 | virtual BOOL OnReleaseDuiCapture()=NULL; 32 | 33 | virtual HDUIWND OnSetDuiCapture(HDUIWND hDuiWnd)=NULL; 34 | 35 | virtual void OnSetDuiFocus(HDUIWND hDuiWnd)=NULL; 36 | 37 | virtual HDUIWND GetDuiHover()=NULL; 38 | 39 | virtual HDUIWND GetDuiFocus()=NULL; 40 | 41 | virtual BOOL DuiCreateCaret(HBITMAP hBmp,int nWidth,int nHeight)=NULL; 42 | 43 | virtual BOOL DuiShowCaret(BOOL bShow)=NULL; 44 | 45 | virtual BOOL DuiSetCaretPos(int x,int y)=NULL; 46 | 47 | virtual BOOL DuiUpdateWindow()=NULL; 48 | }; 49 | 50 | 51 | }//namespace DuiEngine 52 | 53 | -------------------------------------------------------------------------------- /DUIEngine/include/DuiDef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiDef.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiFrameDropTarget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "wtl.mini\duicoll.h" 3 | #include "duiwnd.h" 4 | 5 | namespace DuiEngine{ 6 | 7 | class CDuiFrame; 8 | class CDuiFrameDropTarget : public IDropTarget 9 | { 10 | public: 11 | CDuiFrameDropTarget(CDuiFrame * pFrame); 12 | ~CDuiFrameDropTarget(void); 13 | 14 | BOOL RegisterDragDrop(HDUIWND hDuiWnd,IDropTarget *pDropTarget); 15 | BOOL RevokeDragDrop(HDUIWND hDuiWnd); 16 | 17 | 18 | ////////////////////////////////////////////////////////////////////////// 19 | // IUnknown 20 | virtual HRESULT STDMETHODCALLTYPE QueryInterface( 21 | /* [in] */ REFIID riid, 22 | /* [iid_is][out] */ __RPC__deref_out void __RPC_FAR *__RPC_FAR *ppvObject); 23 | 24 | virtual ULONG STDMETHODCALLTYPE AddRef( void){return 1;} 25 | 26 | virtual ULONG STDMETHODCALLTYPE Release( void) {return 1;} 27 | 28 | ////////////////////////////////////////////////////////////////////////// 29 | // IDropTarget 30 | 31 | virtual HRESULT STDMETHODCALLTYPE DragEnter( 32 | /* [unique][in] */ __RPC__in_opt IDataObject *pDataObj, 33 | /* [in] */ DWORD grfKeyState, 34 | /* [in] */ POINTL pt, 35 | /* [out][in] */ __RPC__inout DWORD *pdwEffect); 36 | 37 | virtual HRESULT STDMETHODCALLTYPE DragOver( 38 | /* [in] */ DWORD grfKeyState, 39 | /* [in] */ POINTL pt, 40 | /* [out][in] */ __RPC__inout DWORD *pdwEffect); 41 | 42 | virtual HRESULT STDMETHODCALLTYPE DragLeave( void); 43 | 44 | virtual HRESULT STDMETHODCALLTYPE Drop( 45 | /* [unique][in] */ __RPC__in_opt IDataObject *pDataObj, 46 | /* [in] */ DWORD grfKeyState, 47 | /* [in] */ POINTL pt, 48 | /* [out][in] */ __RPC__inout DWORD *pdwEffect); 49 | 50 | protected: 51 | POINT PointL2FrameClient(const POINTL & pt); 52 | 53 | CDuiFrame *m_pDuiFrame; 54 | 55 | typedef CDuiMap DTMAP; 56 | DTMAP m_mapDropTarget; 57 | 58 | IDataObject *m_pDataObj; 59 | HDUIWND m_hDuiHover; 60 | }; 61 | 62 | } 63 | -------------------------------------------------------------------------------- /DUIEngine/include/DuiHeaderCtrl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiHeaderCtrl.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiHotKeyCtrl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiHotKeyCtrl.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiImgBase.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "duiref.h" 4 | 5 | namespace DuiEngine 6 | { 7 | 8 | class DUI_EXP CDuiImgBase : public CDuiRef 9 | { 10 | public: 11 | virtual BOOL LoadFromResource(HINSTANCE hInst,LPCTSTR pszType,UINT uID)=NULL; 12 | virtual BOOL LoadFromFile(LPCTSTR pszPath)=NULL; 13 | virtual BOOL LoadFromMemory(LPVOID pBuf,DWORD dwSize)=NULL; 14 | 15 | virtual BOOL GetImageSize(SIZE & sz)=NULL; 16 | virtual int GetWidth()=NULL; 17 | virtual int GetHeight()=NULL; 18 | virtual BOOL IsEmpty() 19 | { 20 | return TRUE; 21 | } 22 | virtual BOOL BitBlt(HDC hdc,int x,int y,int nWid,int nHei,int xSrc,int ySrc,BYTE byAlpha=0xFF)=NULL; 23 | virtual BOOL StretchBlt(HDC hdc,int x,int y,int nWid,int nHei,int xSrc,int ySrc,int nWidSrc,int nHeiSrc,BYTE byAlpha=0xFF)=NULL; 24 | virtual BOOL TileBlt(HDC hdc,int x,int y,int nWid,int nHei,int xSrc,int ySrc,int nWidSrc,int nHeiSrc,BYTE byAlpha=0xFF)=NULL; 25 | virtual void SetAttributes(pugi::xml_node xmlNode) {} 26 | }; 27 | 28 | 29 | class DUI_EXP CDuiImgDecoder 30 | { 31 | public: 32 | virtual CDuiImgBase * CreateDuiImage(LPCTSTR pszType)=NULL; 33 | 34 | virtual void DestoryDuiImage(CDuiImgBase* pImg)=NULL; 35 | 36 | virtual LPCTSTR GetSupportTypes()= NULL; 37 | }; 38 | } -------------------------------------------------------------------------------- /DUIEngine/include/DuiImgDecoder_Def.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "DuiImgBase.h" 4 | #include "duiimage.h" 5 | 6 | namespace DuiEngine 7 | { 8 | 9 | class DUI_EXP CDuiImgDecoder_Def 10 | :public CDuiImgDecoder 11 | { 12 | public: 13 | CDuiImgDecoder_Def(void); 14 | ~CDuiImgDecoder_Def(void); 15 | 16 | virtual CDuiImgBase* CreateDuiImage(LPCTSTR pszType); 17 | virtual void DestoryDuiImage(CDuiImgBase* pImg); 18 | virtual LPCTSTR GetSupportTypes() 19 | { 20 | return _T("BMP\0IMGX\0"); 21 | } 22 | }; 23 | 24 | }//end of namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/DuiListCtrl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiListCtrl.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiMenu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiMenu.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiMessageBox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiMessageBox.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiRichEdit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiRichEdit.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiSkinBase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiSkinBase.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiSliderBar.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // CDuiSliderBar 3 | // Author: Huang Jianxiong 4 | // date: 2013/2/17 5 | ////////////////////////////////////////////////////////////////////////// 6 | #pragma once 7 | 8 | #include "duiwndcmnctrl.h" 9 | 10 | namespace DuiEngine 11 | { 12 | 13 | class DUI_EXP CDuiSliderBar : public CDuiProgress 14 | { 15 | DUIOBJ_DECLARE_CLASS_NAME(CDuiSliderBar, "sliderbar") 16 | 17 | public: 18 | CDuiSliderBar(); 19 | ~CDuiSliderBar(); 20 | 21 | enum 22 | { 23 | SC_RAIL, 24 | SC_SELECT, 25 | SC_THUMB, 26 | }; 27 | 28 | public: 29 | int HitTest(CPoint pt); 30 | 31 | protected: 32 | BOOL m_bDrag; 33 | CPoint m_ptDrag; 34 | int m_nDragValue; 35 | int m_uHtPrev; 36 | 37 | CDuiSkinBase * m_pSkinThumb; 38 | 39 | protected: 40 | LRESULT NotifySbCode(UINT uCode, int nPos); 41 | 42 | virtual CSize GetDesiredSize(LPRECT pRcContainer); 43 | 44 | CRect GetPartRect(UINT uSBCode); 45 | 46 | void OnPaint(CDCHandle dc); 47 | void OnLButtonUp(UINT nFlags, CPoint point); 48 | void OnLButtonDown(UINT nFlags, CPoint point); 49 | void OnMouseMove(UINT nFlags, CPoint point); 50 | void OnMouseLeave(); 51 | 52 | 53 | DUIWIN_BEGIN_MSG_MAP() 54 | MSG_WM_LBUTTONDOWN(OnLButtonDown) 55 | MSG_WM_LBUTTONUP(OnLButtonUp) 56 | MSG_WM_MOUSEMOVE(OnMouseMove) 57 | MSG_WM_MOUSELEAVE(OnMouseLeave) 58 | MSG_WM_PAINT(OnPaint) 59 | DUIWIN_END_MSG_MAP() 60 | 61 | DUIWIN_DECLARE_ATTRIBUTES_BEGIN() 62 | DUIWIN_SKIN_ATTRIBUTE("thumbskin", m_pSkinThumb, FALSE) 63 | DUIWIN_DECLARE_ATTRIBUTES_END() 64 | }; 65 | 66 | template 67 | void DUI_SWAP(T &a,T &b) 68 | { 69 | T t=a; 70 | a=b; 71 | b=t; 72 | } 73 | 74 | } 75 | -------------------------------------------------------------------------------- /DUIEngine/include/DuiSystem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiSystem.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiThreadActiveWndManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "DuiSingletonMap.h" 4 | 5 | namespace DuiEngine 6 | { 7 | 8 | class DUI_EXP DuiThreadActiveWndManager: public DuiSingletonMap 9 | { 10 | public: 11 | DuiThreadActiveWndManager(); 12 | 13 | virtual ~DuiThreadActiveWndManager(); 14 | 15 | static HWND SetActive(HWND hWnd); 16 | 17 | static HWND GetActive(); 18 | 19 | static void EnterPaintLock(); 20 | 21 | static void LeavePaintLock(); 22 | 23 | protected: 24 | HWND _SetActive(HWND hWnd); 25 | HWND _GetActive(); 26 | 27 | protected: 28 | 29 | CRITICAL_SECTION m_lockMapActive; 30 | CRITICAL_SECTION m_lockRepaint; 31 | }; 32 | 33 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/DuiTimerEx.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "DuiWindowManager.h" 4 | #include "DuiSingletonMap.h" 5 | 6 | namespace DuiEngine 7 | { 8 | 9 | typedef struct tagTIMERINFO 10 | { 11 | HDUIWND hDuiWnd; 12 | UINT_PTR uTimerID; 13 | } TIMERINFO; 14 | 15 | 16 | class DUI_EXP CDuiTimerEx:public DuiSingletonMap 17 | { 18 | public: 19 | static BOOL SetTimer(HDUIWND hDuiWnd,UINT_PTR uTimerID,UINT nElapse) 20 | { 21 | return getSingleton()._SetTimer(hDuiWnd,uTimerID,nElapse); 22 | } 23 | 24 | static void KillTimer(HDUIWND hDuiWnd,UINT_PTR uTimerID) 25 | { 26 | getSingleton()._KillTimer(hDuiWnd,uTimerID); 27 | } 28 | 29 | static void KillTimer(HDUIWND hDuiWnd) 30 | { 31 | getSingleton()._KillTimer(hDuiWnd); 32 | } 33 | protected: 34 | BOOL _SetTimer(HDUIWND hDuiWnd,UINT_PTR uTimerID,UINT nElapse); 35 | 36 | void _KillTimer(HDUIWND hDuiWnd,UINT_PTR uTimerID); 37 | 38 | void _KillTimer(HDUIWND hDuiWnd); 39 | 40 | static VOID CALLBACK _TimerProc(HWND hwnd, 41 | UINT uMsg, 42 | UINT_PTR idEvent, 43 | DWORD dwTime 44 | ); 45 | }; 46 | 47 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/DuiTipCtrl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "SimpleWnd.h" 3 | 4 | namespace DuiEngine 5 | { 6 | 7 | class CDuiTipCtrl : public CSimpleWnd 8 | { 9 | public: 10 | CDuiTipCtrl(void); 11 | virtual ~CDuiTipCtrl(void); 12 | 13 | BOOL Create(HWND hOwner); 14 | 15 | void RelayEvent(const MSG *pMsg); 16 | void UpdateTip(CRect rc,LPCTSTR pszTip,BOOL bText=TRUE); 17 | void SetDelayTime(DWORD dwType,UINT iTime); 18 | 19 | void ShowTip(BOOL bShow); 20 | 21 | DWORD m_dwHostID; 22 | protected: 23 | void OnTimer(UINT_PTR idEvent); 24 | void OnPaint(CDCHandle dc); 25 | 26 | BEGIN_MSG_MAP_EX(CDuiTipCtrl) 27 | MSG_WM_PAINT(OnPaint) 28 | MSG_WM_TIMER(OnTimer) 29 | REFLECT_NOTIFICATIONS_EX() 30 | END_MSG_MAP() 31 | 32 | protected: 33 | int m_nDelay; 34 | int m_nShowSpan; 35 | CDuiStringT m_strTip; 36 | BOOL m_bTextTip; 37 | BOOL m_bSetDelayTimer; 38 | CRect m_rcTarget; 39 | CFont m_font; 40 | }; 41 | 42 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/DuiTreeCtrl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiTreeCtrl.h -------------------------------------------------------------------------------- /DUIEngine/include/DuiUtilities.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace DuiEngine 6 | { 7 | void DUI_EXP DuiHiMetricToPixel(const SIZEL * lpSizeInHiMetric, LPSIZEL lpSizeInPix); 8 | void DUI_EXP DuiPixelToHiMetric(const SIZEL * lpSizeInPix, LPSIZEL lpSizeInHiMetric); 9 | void DUI_EXP DuiTrace(LPCTSTR pstrFormat, ...); 10 | }//end of namespace DuiEngine 11 | 12 | #define DUITRACE DuiTrace 13 | #define DUIASSERT(x) assert(x) 14 | #define DUIASSERT_NE(a,b) DUIASSERT(a!=b) 15 | 16 | #ifdef _DUI_DISABLE_NO_VTABLE 17 | #define DUI_NO_VTABLE 18 | #else 19 | #define DUI_NO_VTABLE __declspec(novtable) 20 | #endif -------------------------------------------------------------------------------- /DUIEngine/include/DuiWindowManager.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // CDuiWindow Handle Manager 3 | ////////////////////////////////////////////////////////////////////////// 4 | 5 | #pragma once 6 | #include "DuiSingletonMap.h" 7 | 8 | namespace DuiEngine 9 | { 10 | 11 | class CDuiWindow; 12 | // DuiWindow Handle 13 | typedef DWORD HDUIWND; 14 | 15 | class DUI_EXP DuiWindowManager :public DuiSingletonMap 16 | { 17 | public: 18 | 19 | DuiWindowManager(); 20 | 21 | ~DuiWindowManager(); 22 | 23 | // Get DuiWindow pointer from handle 24 | static CDuiWindow* GetWindow(HDUIWND hDuiWnd); 25 | 26 | // Specify a handle to a DuiWindow 27 | static HDUIWND NewWindow(CDuiWindow *pDuiWnd); 28 | 29 | // Destroy DuiWindow 30 | static BOOL DestroyWindow(HDUIWND hDuiWnd); 31 | protected: 32 | 33 | CRITICAL_SECTION m_lockWndMap; 34 | 35 | HDUIWND m_hNextWnd; 36 | }; 37 | 38 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/DuiWndFactoryManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/DuiWndFactoryManager.h -------------------------------------------------------------------------------- /DUIEngine/include/GradientFillHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DuiEngine 4 | { 5 | 6 | typedef struct _FRG_PARAM 7 | { 8 | LONG lOffset; 9 | COLORREF crColor; 10 | } FRG_PARAM; 11 | 12 | DUI_EXP void GradientFillRectV(HDC hdc, CRect &rcFill, FRG_PARAM params[], int nCount); 13 | DUI_EXP void GradientFillRectH(HDC hdc, CRect &rcFill, FRG_PARAM params[], int nCount); 14 | 15 | DUI_EXP void GradientFillRectV(HDC hdc, CRect &rcFill, COLORREF crTop, COLORREF crBottom); 16 | 17 | DUI_EXP void GradientFillRectH(HDC hdc, CRect &rcFill, COLORREF crLeft, COLORREF crRight); 18 | 19 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/MemDC.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DuiEngine 4 | { 5 | 6 | class CMemDC : public CDC 7 | { 8 | public: 9 | CMemDC(); 10 | CMemDC(HDC hdc, const CRect & rc); 11 | CMemDC(HDC hdc, HBITMAP hBmp); 12 | ~CMemDC(void); 13 | 14 | HBITMAP SelectBitmap(HBITMAP hBmp); 15 | BOOL HasBitmap() 16 | { 17 | return m_bHasBitmap; 18 | } 19 | 20 | void SetBitmapOwner(BOOL bOwner) 21 | { 22 | m_bBmpOwner=bOwner; 23 | } 24 | BOOL IsBitmapOwner(){return m_bBmpOwner;} 25 | protected: 26 | HBITMAP m_hOldBmp; 27 | BOOL m_bBmpOwner; 28 | BOOL m_bHasBitmap; 29 | }; 30 | 31 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/MenuWndHook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/MenuWndHook.h -------------------------------------------------------------------------------- /DUIEngine/include/SimpleWnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/SimpleWnd.h -------------------------------------------------------------------------------- /DUIEngine/include/atl.mini/atldef.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define HIMETRIC_PER_INCH 2540 4 | #define MAP_PIX_TO_LOGHIM(x,ppli) MulDiv(HIMETRIC_PER_INCH, (x), (ppli)) 5 | #define MAP_LOGHIM_TO_PIX(x,ppli) MulDiv((ppli), (x), HIMETRIC_PER_INCH) 6 | 7 | #ifndef ATLTRACENOTIMPL 8 | #define ATLENSURE_THROW(a,b) 9 | #endif 10 | 11 | #ifndef ATLTRACENOTIMPL 12 | #define ATLTRACENOTIMPL(funcname) return E_NOTIMPL 13 | #endif 14 | 15 | #ifndef ATLASSERT 16 | #define ATLASSERT DUIASSERT 17 | #endif // ATLASSERT 18 | 19 | #ifndef ATLASSUME 20 | #define ATLASSUME(expr) do { ATLASSERT(expr); __analysis_assume(!!(expr)); } while(0) 21 | #endif // ATLASSUME 22 | 23 | #ifndef ATL_NO_VTABLE 24 | #define ATL_NO_VTABLE __declspec(novtable) 25 | #endif 26 | -------------------------------------------------------------------------------- /DUIEngine/include/auto_reset.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __base_auto_reset_h__ 3 | #define __base_auto_reset_h__ 4 | 5 | #pragma once 6 | 7 | #include "DuiDef.h" 8 | 9 | // AutoReset<> is useful for setting a variable to a new value only within a 10 | // particular scope. An AutoReset<> object resets a variable to its original 11 | // value upon destruction, making it an alternative to writing "var = false;" 12 | // or "var = old_val;" at all of a block's exit points. 13 | // 14 | // This should be obvious, but note that an AutoReset<> instance should have a 15 | // shorter lifetime than its scoped_variable, to prevent invalid memory writes 16 | // when the AutoReset<> object is destroyed. 17 | template 18 | class AutoReset 19 | { 20 | public: 21 | AutoReset(T* scoped_variable, T new_value) 22 | : scoped_variable_(scoped_variable), 23 | original_value_(*scoped_variable) 24 | { 25 | *scoped_variable_ = new_value; 26 | } 27 | 28 | ~AutoReset() { *scoped_variable_ = original_value_; } 29 | 30 | private: 31 | T* scoped_variable_; 32 | T original_value_; 33 | 34 | DISALLOW_COPY_AND_ASSIGN(AutoReset); 35 | }; 36 | 37 | #endif //__base_auto_reset_h__ -------------------------------------------------------------------------------- /DUIEngine/include/duiItempanel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiItempanel.h -------------------------------------------------------------------------------- /DUIEngine/include/duicolor.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // File Name: bkcolor.h 3 | // Description: HLS & RGB processor 4 | // Creator: Zhang Xiaoxuan 5 | // Version: 2009.6.10 - 1.0 - Create 6 | ////////////////////////////////////////////////////////////////////////// 7 | 8 | #pragma once 9 | 10 | namespace DuiEngine 11 | { 12 | 13 | class DUI_EXP DuiColor 14 | { 15 | typedef enum 16 | { 17 | Red, 18 | Green, 19 | Blue 20 | }; 21 | 22 | public: 23 | 24 | unsigned char red; 25 | unsigned char green; 26 | unsigned char blue; 27 | 28 | double lightness, saturation, hue; 29 | 30 | DuiColor(); 31 | 32 | DuiColor(double h, double l, double s); 33 | 34 | DuiColor (BYTE r, BYTE g, BYTE b); 35 | 36 | DuiColor(COLORREF color); 37 | 38 | // lightness [0..1] 39 | // saturation [0..1] 40 | // hue [0..360) 41 | void ToHLS(void); 42 | 43 | void ToRGB(void); 44 | 45 | operator COLORREF() const throw(); 46 | 47 | private: 48 | 49 | unsigned char _Value(double m1, double m2, double h); 50 | }; 51 | 52 | 53 | }//end of namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/duictrls.h: -------------------------------------------------------------------------------- 1 | #include "duiwndpanel.h" 2 | #include "duiwndtabctrl.h" 3 | #include "duiwndcmnctrl.h" 4 | #include "duiwnddlgfile.h" 5 | #include "duiscrollbar.h" 6 | #include "duilistbox.h" 7 | #include "duirealwnd.h" 8 | #include "duiitembox.h" 9 | #include "duitreebox.h" 10 | #include "DuiTreeCtrl.h" 11 | #include "DuiRichEdit.h" 12 | #include "DuiSplitWnd.h" 13 | #include "DuiComboBox.h" 14 | #include "DuiHotKeyCtrl.h" 15 | #include "DuiCaption.h" 16 | #include "DuiSliderBar.h" 17 | #include "DuiDateTimeEdit.h" 18 | #include "DuiCalendar.h" 19 | #include "DuiHeaderCtrl.h" 20 | #include "DuiListCtrl.h" 21 | #include "DuiActiveX.h" -------------------------------------------------------------------------------- /DUIEngine/include/duiframe.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // Class Name: CDuiFrame 3 | // Description: A DuiWindow Frame. 4 | // Creator: Huang Jianxiong 5 | // Version: 2011.9.1 - 1.0 - Create 6 | ////////////////////////////////////////////////////////////////////////// 7 | 8 | #pragma once 9 | 10 | #include "duiwndpanel.h" 11 | #include "DuiFrameDropTarget.h" 12 | #include "FocusManager.h" 13 | 14 | namespace DuiEngine 15 | { 16 | 17 | class DUI_EXP CDuiFrame : public CDuiPanel 18 | , public CDuiContainer 19 | { 20 | public: 21 | CDuiFrame(); 22 | 23 | virtual BOOL RegisterDragDrop(HDUIWND hDuiWnd,IDropTarget *pDropTarget); 24 | 25 | virtual BOOL RevokeDragDrop(HDUIWND hDuiWnd); 26 | 27 | IDropTarget * GetDropTarget(){return &m_dropTarget;} 28 | 29 | CFocusManager * GetFocusManager() {return &m_focusMgr;} 30 | 31 | virtual LRESULT DoFrameEvent(UINT uMsg,WPARAM wParam,LPARAM lParam); 32 | 33 | 34 | virtual BOOL OnReleaseDuiCapture(); 35 | 36 | virtual HDUIWND OnSetDuiCapture(HDUIWND hDuiWnd); 37 | virtual void OnSetDuiFocus(HDUIWND hDuiWnd); 38 | 39 | virtual HDUIWND GetDuiCapture(); 40 | 41 | virtual HDUIWND GetDuiFocus(); 42 | 43 | virtual HDUIWND GetDuiHover(); 44 | 45 | protected: 46 | virtual void OnFrameMouseMove(UINT uFlag,CPoint pt); 47 | 48 | virtual void OnFrameMouseLeave(); 49 | 50 | 51 | virtual BOOL OnFrameSetCursor(const CPoint &pt); 52 | 53 | virtual void OnFrameMouseEvent(UINT uMsg,WPARAM wParam,LPARAM lParam); 54 | 55 | virtual void OnFrameKeyEvent(UINT uMsg,WPARAM wParam,LPARAM lParam); 56 | 57 | virtual void OnFrameKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); 58 | 59 | virtual void OnActivate(UINT nState); 60 | 61 | protected: 62 | HDUIWND m_hCapture; 63 | HDUIWND m_hHover; 64 | BOOL m_bNcHover; 65 | 66 | CFocusManager m_focusMgr; 67 | 68 | CDuiFrameDropTarget m_dropTarget; 69 | }; 70 | 71 | }//namespace DuiEngine 72 | 73 | -------------------------------------------------------------------------------- /DUIEngine/include/duihostwnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duihostwnd.h -------------------------------------------------------------------------------- /DUIEngine/include/duiimgpool.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // Class Name: DuiImgPool 3 | // Description: Image Pool 4 | // Creator: Huang Jianxiong 5 | // Version: 2012.8.24 - 1.0 - Create 6 | ////////////////////////////////////////////////////////////////////////// 7 | 8 | #pragma once 9 | #include "duiimgbase.h" 10 | #include "duiresproviderbase.h" 11 | #include "DuiSingletonMap.h" 12 | 13 | namespace DuiEngine 14 | { 15 | 16 | typedef CDuiImgBase * CDuiImgBasePtr; 17 | class DUI_EXP DuiImgPool:public DuiSingletonMap 18 | { 19 | public: 20 | DuiImgPool(); 21 | virtual ~DuiImgPool(); 22 | 23 | CDuiImgBase * GetImage(UINT uResID,LPCTSTR pszType=NULL); 24 | 25 | protected: 26 | static void OnImageRemoved(const CDuiImgBasePtr & obj) 27 | { 28 | obj->Release(); 29 | } 30 | }; 31 | 32 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/duiitembox.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // Class Name: CDuiItemBox 3 | // Description: Items Container 4 | // Creator: huangjianxiong 5 | // Version: 2011.7.8 - 1.0 - Create 6 | ////////////////////////////////////////////////////////////////////////// 7 | 8 | 9 | #pragma once 10 | #include "duiwndpanel.h" 11 | 12 | namespace DuiEngine 13 | { 14 | 15 | class DUI_EXP CDuiItemBox 16 | : public CDuiScrollView 17 | { 18 | DUIOBJ_DECLARE_CLASS_NAME(CDuiItemBox, "itembox") 19 | public: 20 | CDuiItemBox(); 21 | virtual ~CDuiItemBox() {} 22 | 23 | CDuiPanel* InsertItem(LPCWSTR pszXml,int iItem=-1,BOOL bEnsureVisible=FALSE); 24 | 25 | BOOL RemoveItem(UINT iItem); 26 | 27 | BOOL RemoveItem(CDuiWindow * pChild); 28 | 29 | BOOL SetNewPosition(CDuiWindow * pChild, DWORD nPos, BOOL bEnsureVisible = TRUE); 30 | 31 | void RemoveAllItems(); 32 | 33 | int GetItemCount(); 34 | 35 | void PageUp(); 36 | 37 | void PageDown(); 38 | 39 | void EnsureVisible(CDuiWindow *pItem); 40 | 41 | int GetItemPos(CDuiWindow * lpCurItem); 42 | 43 | protected: 44 | int m_nItemWid,m_nItemHei; 45 | int m_nSepWid,m_nSepHei; 46 | 47 | void UpdateScroll(); 48 | CRect GetItemRect(int iItem); 49 | 50 | void BringWindowAfter(CDuiWindow * pChild, CDuiWindow * pInsertAfter); 51 | 52 | void OnSize(UINT nType, CSize size); 53 | 54 | virtual void UpdateChildrenPosition(){}//leave it empty 55 | 56 | void ReLayout(); 57 | virtual BOOL OnScroll(BOOL bVertical,UINT uCode,int nPos); 58 | 59 | virtual int GetScrollLineSize(BOOL bVertical); 60 | 61 | virtual BOOL LoadChildren(pugi::xml_node xmlNode); 62 | 63 | DUIWIN_DECLARE_ATTRIBUTES_BEGIN() 64 | DUIWIN_INT_ATTRIBUTE("itemwid", m_nItemWid, TRUE) 65 | DUIWIN_INT_ATTRIBUTE("itemhei", m_nItemHei, TRUE) 66 | DUIWIN_INT_ATTRIBUTE("sepwid", m_nSepWid, TRUE) 67 | DUIWIN_INT_ATTRIBUTE("sephei", m_nSepHei, TRUE) 68 | DUIWIN_DECLARE_ATTRIBUTES_END() 69 | 70 | DUIWIN_BEGIN_MSG_MAP() 71 | MSG_WM_SIZE(OnSize) 72 | DUIWIN_END_MSG_MAP() 73 | 74 | }; 75 | 76 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/duilistbox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duilistbox.h -------------------------------------------------------------------------------- /DUIEngine/include/duilistboxex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duilistboxex.h -------------------------------------------------------------------------------- /DUIEngine/include/duimsgcracker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duimsgcracker.h -------------------------------------------------------------------------------- /DUIEngine/include/duimsgfilter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DuiEngine 4 | { 5 | 6 | #define UM_MSGFILTER (WM_USER+200) //wparam: 1-register,0-unregister lparam: CMessageFilter * 7 | 8 | class DUI_EXP CDuiMessageFilter 9 | { 10 | public: 11 | virtual BOOL PreTranslateMessage(MSG* pMsg)=NULL; 12 | 13 | void MsgFilterRegister(HWND hHost) 14 | { 15 | ::SendMessage(hHost,UM_MSGFILTER,1,(LPARAM)this); 16 | } 17 | 18 | void MsgFilterUnregister(HWND hHost) 19 | { 20 | ::SendMessage(hHost,UM_MSGFILTER,0,(LPARAM)this); 21 | } 22 | }; 23 | 24 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/duiobject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiobject.h -------------------------------------------------------------------------------- /DUIEngine/include/duiref.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DuiEngine 4 | { 5 | 6 | class DUI_EXP CDuiRef 7 | { 8 | public: 9 | CDuiRef():m_nRef(1) 10 | { 11 | } 12 | 13 | ~CDuiRef() 14 | { 15 | 16 | } 17 | 18 | int AddRef() 19 | { 20 | return ++m_nRef; 21 | } 22 | 23 | void Release() 24 | { 25 | --m_nRef; 26 | if(m_nRef==0) 27 | { 28 | OnFinalRelease(); 29 | } 30 | } 31 | 32 | protected: 33 | virtual void OnFinalRelease()=NULL; 34 | 35 | int m_nRef; 36 | }; 37 | 38 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/duires.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duires.h -------------------------------------------------------------------------------- /DUIEngine/include/duiresprovider.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // File Name: duiresprovider.h 3 | // Description: Resource Provider 4 | ////////////////////////////////////////////////////////////////////////// 5 | 6 | #pragma once 7 | 8 | #include "duiresproviderbase.h" 9 | 10 | namespace DuiEngine 11 | { 12 | 13 | 14 | class DUI_EXP DuiResProviderPE:public DuiResProviderBase 15 | { 16 | public: 17 | DuiResProviderPE(HINSTANCE hInst,CDuiImgDecoder *pImgDecoder=NULL); 18 | HBITMAP LoadBitmap(LPCTSTR strType,UINT uID); 19 | HICON LoadIcon(LPCTSTR strType,UINT uID,int cx=0,int cy=0); 20 | CDuiImgBase * LoadImage(LPCTSTR strType,UINT uID); 21 | size_t GetRawBufferSize(LPCTSTR strType,UINT uID); 22 | BOOL GetRawBuffer(LPCTSTR strType,UINT uID,LPVOID pBuf,size_t size); 23 | BOOL HasResource(LPCTSTR strType,UINT uID); 24 | 25 | protected: 26 | HRSRC MyFindResource(LPCTSTR strType, UINT uID ); 27 | HINSTANCE m_hResInst; 28 | }; 29 | 30 | class DUI_EXP DuiResProviderFiles:public DuiResProviderBase 31 | { 32 | public: 33 | 34 | DuiResProviderFiles(CDuiImgDecoder *pImgDecoder=NULL); 35 | 36 | BOOL HasResource(LPCTSTR strType,UINT uID); 37 | HBITMAP LoadBitmap(LPCTSTR strType,UINT uID); 38 | HICON LoadIcon(LPCTSTR strType,UINT uID,int cx=0,int cy=0); 39 | CDuiImgBase * LoadImage(LPCTSTR strType,UINT uID); 40 | size_t GetRawBufferSize(LPCTSTR strType,UINT uID); 41 | BOOL GetRawBuffer(LPCTSTR strType,UINT uID,LPVOID pBuf,size_t size); 42 | 43 | BOOL Init(LPCTSTR pszPath); 44 | protected: 45 | CDuiStringT GetRes( LPCTSTR strType,UINT uID ); 46 | 47 | CDuiStringT m_strPath; 48 | CDuiMap m_mapFiles; 49 | }; 50 | 51 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/duiresproviderbase.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiresproviderbase.h -------------------------------------------------------------------------------- /DUIEngine/include/duiskin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiskin.h -------------------------------------------------------------------------------- /DUIEngine/include/duistd.h: -------------------------------------------------------------------------------- 1 | #include "duidef.h" 2 | 3 | #ifdef DLL_DUI 4 | # ifdef DUIENGINE_EXPORTS 5 | # pragma message("dll export") 6 | # define DUI_EXP __declspec(dllexport) 7 | # else 8 | # define DUI_EXP __declspec(dllimport) 9 | # endif // DUIENGINE_EXPORTS 10 | #else 11 | #define DUI_EXP 12 | #endif 13 | 14 | 15 | # pragma warning(disable:4661) 16 | # pragma warning(disable:4251) 17 | # pragma warning(disable:4100) //unreferenced formal parameter 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | //export pugixml interface 27 | #include "../dependencies/pugixml/pugixml.hpp" 28 | 29 | #include "DuiUtilities.h" 30 | 31 | #ifdef USING_ATL 32 | #define _COLL_NS ATL 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #define CDuiComPtr CComPtr 41 | #define CDuiComQIPtr CComQIPtr 42 | 43 | #include "wtl.mini/duicrack.h" 44 | #define CDuiArray CAtlArray 45 | #define CDuiList CAtlList 46 | #define CDuiMap CAtlMap 47 | #define CDuiStringA CAtlStringA 48 | #define CDuiStringW CAtlStringW 49 | #define CDuiStringT CAtlString 50 | #define DUI_CA2A CA2A 51 | #define DUI_CA2W CA2W 52 | #define DUI_CW2A CW2A 53 | #define DUI_CA2T CA2T 54 | #define DUI_CW2T CW2T 55 | #define DUI_CT2A CT2A 56 | #define DUI_CT2W CT2W 57 | #else//ATL_FREE 58 | #define _WTYPES_NS DuiEngine 59 | #define _COLL_NS DuiEngine 60 | #include "wtl.mini/duicrack.h" 61 | #include "wtl.mini/duimisc.h" 62 | #include "wtl.mini/duigdi.h" 63 | // #include "wtl.mini/duistr.h" 64 | #include "wtl.mini/tstring.h" 65 | #include "wtl.mini/strcpcvt.h" 66 | #include "wtl.mini/duicoll.h" 67 | #include "atl.mini/atldef.h" 68 | #include "atl.mini/duicomcli.h" 69 | 70 | #endif//USING_ATL 71 | 72 | 73 | #include "DuiAttrCrack.h" 74 | 75 | #pragma comment(lib,"Msimg32.lib") 76 | #pragma comment(lib,"shlwapi.lib") -------------------------------------------------------------------------------- /DUIEngine/include/duistringpool.h: -------------------------------------------------------------------------------- 1 | ////////////////////////////////////////////////////////////////////////// 2 | // File Name: bkstringpool.h 3 | // Description: String Pool 4 | // Creator: Zhang Xiaoxuan 5 | // Version: 2009.5.13 - 1.0 - Create 6 | // 2012.8.28 - 2.0 huang jianxiogn 7 | ////////////////////////////////////////////////////////////////////////// 8 | 9 | #pragma once 10 | #include "DuiSingletonMap.h" 11 | 12 | namespace DuiEngine 13 | { 14 | 15 | class DUI_EXP DuiStringPool :public DuiSingletonMap 16 | { 17 | public: 18 | BOOL BuildString(CDuiStringT &strContainer); 19 | BOOL Init(UINT uResID); 20 | BOOL Init(pugi::xml_node xmlNode); 21 | LPCTSTR Get(UINT uID); 22 | protected: 23 | CDuiStringT m_strTmp; 24 | }; 25 | 26 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/include/duitreebox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duitreebox.h -------------------------------------------------------------------------------- /DUIEngine/include/duiwnd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiwnd.h -------------------------------------------------------------------------------- /DUIEngine/include/duiwndcmnctrl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiwndcmnctrl.h -------------------------------------------------------------------------------- /DUIEngine/include/duiwnddlgfile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiwnddlgfile.h -------------------------------------------------------------------------------- /DUIEngine/include/duiwndnotify.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiwndnotify.h -------------------------------------------------------------------------------- /DUIEngine/include/duiwndpanel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiwndpanel.h -------------------------------------------------------------------------------- /DUIEngine/include/duiwndstyle.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/duiwndstyle.h -------------------------------------------------------------------------------- /DUIEngine/include/gdialpha.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/gdialpha.h -------------------------------------------------------------------------------- /DUIEngine/include/mybuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/mybuffer.h -------------------------------------------------------------------------------- /DUIEngine/include/stree.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/include/stree.hpp -------------------------------------------------------------------------------- /DUIEngine/license.txt: -------------------------------------------------------------------------------- 1 | DuiEngine License 2 | 3 | The MIT License (MIT) 4 | Copyright (c) 5 | 6 | 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: 7 | 8 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 9 | 10 | 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. 11 | 12 | 13 | -------------------------------------------------------------------------------- /DUIEngine/src/Accelerator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/Accelerator.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiActiveX.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiActiveX.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiCSS.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiCSS.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiCalendar.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiCalendar.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiCaption.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | #include "DuiCaption.h" 3 | 4 | namespace DuiEngine 5 | { 6 | 7 | CDuiCaption::CDuiCaption(void) 8 | { 9 | } 10 | 11 | CDuiCaption::~CDuiCaption(void) 12 | { 13 | } 14 | 15 | void CDuiCaption::OnLButtonDown( UINT nFlags, CPoint point ) 16 | { 17 | HWND hHost=GetContainer()->GetHostHwnd(); 18 | if (WS_MAXIMIZE == (GetWindowLong(hHost,GWL_STYLE) & WS_MAXIMIZE)) return; 19 | ::SendMessage(hHost,WM_SYSCOMMAND, SC_MOVE | HTCAPTION,0); 20 | } 21 | 22 | void CDuiCaption::OnLButtonDblClk( UINT nFlags, CPoint point ) 23 | { 24 | HWND hHost=GetContainer()->GetHostHwnd(); 25 | 26 | if (GetWindowLong(hHost,GWL_STYLE) & WS_THICKFRAME) 27 | { 28 | if (WS_MAXIMIZE == (GetWindowLong(hHost,GWL_STYLE) & WS_MAXIMIZE)) 29 | SendMessage(hHost,WM_SYSCOMMAND, SC_RESTORE | HTCAPTION,0); 30 | else 31 | SendMessage(hHost,WM_SYSCOMMAND, SC_MAXIMIZE | HTCAPTION,0); 32 | } 33 | } 34 | 35 | 36 | }//namespace DuiEngine 37 | 38 | -------------------------------------------------------------------------------- /DUIEngine/src/DuiComboBox.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiComboBox.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiHeaderCtrl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiHeaderCtrl.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiImgDecoder_Def.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | #include "DuiImgDecoder_Def.h" 3 | 4 | #pragma warning(disable:4996) 5 | 6 | namespace DuiEngine 7 | { 8 | 9 | CDuiImgDecoder_Def::CDuiImgDecoder_Def(void) 10 | { 11 | CDuiImgX::GdiplusStartup(); 12 | } 13 | 14 | CDuiImgDecoder_Def::~CDuiImgDecoder_Def(void) 15 | { 16 | CDuiImgX::GdiplusShutdown(); 17 | } 18 | 19 | 20 | DuiEngine::CDuiImgBase* CDuiImgDecoder_Def::CreateDuiImage( LPCTSTR pszType ) 21 | { 22 | if(_tcsicmp(pszType,_T("bmp"))==0) return new CDuiBitmap; 23 | else if(_tcsicmp(pszType,_T("imgx"))==0) return new CDuiImgX; 24 | else return NULL; 25 | } 26 | 27 | void CDuiImgDecoder_Def::DestoryDuiImage( CDuiImgBase* pImg ) 28 | { 29 | pImg->Release(); 30 | } 31 | 32 | 33 | }//end of namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/src/DuiListCtrl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiListCtrl.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiMenu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiMenu.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiMessageBox.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiMessageBox.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiRichEdit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiRichEdit.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiSkinBase.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiSkinBase.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiSliderBar.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiSliderBar.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiSplitWnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiSplitWnd.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiThreadActiveWndManager.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | #include "DuiThreadActiveWndManager.h" 3 | 4 | namespace DuiEngine 5 | { 6 | 7 | 8 | ////////////////////////////////////////////////////////////////////////// 9 | // DuiThreadActiveWndManager 10 | ////////////////////////////////////////////////////////////////////////// 11 | template<> DuiThreadActiveWndManager* Singleton::ms_Singleton = NULL; 12 | 13 | DuiThreadActiveWndManager::DuiThreadActiveWndManager() 14 | { 15 | ::InitializeCriticalSection(&m_lockRepaint); 16 | ::InitializeCriticalSection(&m_lockMapActive); 17 | } 18 | 19 | DuiThreadActiveWndManager::~DuiThreadActiveWndManager() 20 | { 21 | ::DeleteCriticalSection(&m_lockRepaint); 22 | ::DeleteCriticalSection(&m_lockMapActive); 23 | } 24 | 25 | HWND DuiThreadActiveWndManager::SetActive(HWND hWnd) 26 | { 27 | return getSingleton()._SetActive(hWnd); 28 | } 29 | 30 | HWND DuiThreadActiveWndManager::GetActive() 31 | { 32 | return getSingleton()._GetActive(); 33 | } 34 | 35 | void DuiThreadActiveWndManager::EnterPaintLock() 36 | { 37 | ::EnterCriticalSection(&getSingleton().m_lockRepaint); 38 | } 39 | 40 | void DuiThreadActiveWndManager::LeavePaintLock() 41 | { 42 | ::LeaveCriticalSection(&getSingleton().m_lockRepaint); 43 | } 44 | 45 | HWND DuiThreadActiveWndManager::_SetActive(HWND hWnd) 46 | { 47 | ::EnterCriticalSection(&m_lockMapActive); 48 | HWND hWndLastActive = _GetActive(); 49 | SetKeyObject(::GetCurrentThreadId(),hWnd); 50 | ::LeaveCriticalSection(&m_lockMapActive); 51 | return hWndLastActive; 52 | } 53 | 54 | HWND DuiThreadActiveWndManager::_GetActive() 55 | { 56 | ::EnterCriticalSection(&m_lockMapActive); 57 | HWND hWndAct = NULL; 58 | GetKeyObject(::GetCurrentThreadId(),hWndAct); 59 | ::LeaveCriticalSection(&m_lockMapActive); 60 | return hWndAct; 61 | } 62 | 63 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/src/DuiTimerEx.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | #include "DuiTimerEx.h" 3 | #include "duiwnd.h" 4 | 5 | namespace DuiEngine 6 | { 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////// 10 | // CDuiTimerEx 11 | ////////////////////////////////////////////////////////////////////////// 12 | template<> CDuiTimerEx * Singleton::ms_Singleton=0; 13 | 14 | BOOL CDuiTimerEx::_SetTimer( HDUIWND hDuiWnd,UINT_PTR uTimerID,UINT nElapse ) 15 | { 16 | _KillTimer(hDuiWnd,uTimerID); 17 | UINT_PTR idEvent=::SetTimer(NULL,uTimerID,nElapse,_TimerProc); 18 | if(idEvent==0) return FALSE; 19 | TIMERINFO ti= {hDuiWnd,uTimerID}; 20 | (*m_mapNamedObj)[idEvent]=ti; 21 | return TRUE; 22 | } 23 | 24 | void CDuiTimerEx::_KillTimer( HDUIWND hDuiWnd,UINT_PTR uTimerID ) 25 | { 26 | POSITION pos=m_mapNamedObj->GetStartPosition(); 27 | while(pos) 28 | { 29 | CDuiMap::CPair *p=m_mapNamedObj->GetNext(pos); 30 | if(p->m_value.hDuiWnd==hDuiWnd && p->m_value.uTimerID==uTimerID) 31 | { 32 | ::KillTimer(NULL,p->m_key); 33 | m_mapNamedObj->RemoveAtPos((POSITION)p); 34 | break; 35 | } 36 | } 37 | } 38 | 39 | void CDuiTimerEx::_KillTimer( HDUIWND hDuiWnd ) 40 | { 41 | POSITION pos=m_mapNamedObj->GetStartPosition(); 42 | while(pos) 43 | { 44 | CDuiMap::CPair *p=m_mapNamedObj->GetNext(pos); 45 | if(p->m_value.hDuiWnd==hDuiWnd) 46 | { 47 | ::KillTimer(NULL,p->m_key); 48 | m_mapNamedObj->RemoveAtPos((POSITION)p); 49 | } 50 | } 51 | } 52 | 53 | 54 | VOID CALLBACK CDuiTimerEx::_TimerProc( HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime ) 55 | { 56 | TIMERINFO ti; 57 | if(getSingleton().GetKeyObject(idEvent,ti)) 58 | { 59 | CDuiWindow *pDuiWnd=DuiWindowManager::GetWindow(ti.hDuiWnd); 60 | if(pDuiWnd) pDuiWnd->DuiSendMessage(UM_DUI_TIMEREX,ti.uTimerID); 61 | } 62 | } 63 | 64 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/src/DuiTipCtrl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiTipCtrl.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiTreeCtrl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/DuiTreeCtrl.cpp -------------------------------------------------------------------------------- /DUIEngine/src/DuiUtilities.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | #include "DuiUtilities.h" 3 | 4 | namespace DuiEngine 5 | { 6 | #define HIMETRIC_PER_INCH 2540 7 | #define MAP_PIX_TO_LOGHIM(x,ppli) MulDiv(HIMETRIC_PER_INCH, (x), (ppli)) 8 | #define MAP_LOGHIM_TO_PIX(x,ppli) MulDiv((ppli), (x), HIMETRIC_PER_INCH) 9 | 10 | void DuiHiMetricToPixel(const SIZEL * lpSizeInHiMetric, LPSIZEL lpSizeInPix) 11 | { 12 | int nPixelsPerInchX; // Pixels per logical inch along width 13 | int nPixelsPerInchY; // Pixels per logical inch along height 14 | 15 | HDC hDCScreen = GetDC(NULL); 16 | nPixelsPerInchX = GetDeviceCaps(hDCScreen, LOGPIXELSX); 17 | nPixelsPerInchY = GetDeviceCaps(hDCScreen, LOGPIXELSY); 18 | ReleaseDC(NULL, hDCScreen); 19 | 20 | lpSizeInPix->cx = MAP_LOGHIM_TO_PIX(lpSizeInHiMetric->cx, nPixelsPerInchX); 21 | lpSizeInPix->cy = MAP_LOGHIM_TO_PIX(lpSizeInHiMetric->cy, nPixelsPerInchY); 22 | } 23 | 24 | void DuiPixelToHiMetric(const SIZEL * lpSizeInPix, LPSIZEL lpSizeInHiMetric) 25 | { 26 | int nPixelsPerInchX; // Pixels per logical inch along width 27 | int nPixelsPerInchY; // Pixels per logical inch along height 28 | 29 | HDC hDCScreen = GetDC(NULL); 30 | nPixelsPerInchX = GetDeviceCaps(hDCScreen, LOGPIXELSX); 31 | nPixelsPerInchY = GetDeviceCaps(hDCScreen, LOGPIXELSY); 32 | ReleaseDC(NULL, hDCScreen); 33 | 34 | lpSizeInHiMetric->cx = MAP_PIX_TO_LOGHIM(lpSizeInPix->cx, nPixelsPerInchX); 35 | lpSizeInHiMetric->cy = MAP_PIX_TO_LOGHIM(lpSizeInPix->cy, nPixelsPerInchY); 36 | } 37 | 38 | void DUI_EXP DuiTrace(LPCTSTR pstrFormat, ...) 39 | { 40 | #ifdef _DEBUG 41 | TCHAR szBuffer[300] = { 0 }; 42 | va_list args; 43 | va_start(args, pstrFormat); 44 | ::wvnsprintf(szBuffer, ARRAYSIZE(szBuffer)-1, pstrFormat, args); 45 | _tcscat(szBuffer, _T("\n")); 46 | va_end(args); 47 | ::OutputDebugString(szBuffer); 48 | #endif 49 | } 50 | 51 | }//end of namespace DuiEngine 52 | -------------------------------------------------------------------------------- /DUIEngine/src/DuiWindowManager.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | #include "DuiWindowManager.h" 3 | #include "DuiTimerEx.h" 4 | 5 | namespace DuiEngine 6 | { 7 | 8 | ////////////////////////////////////////////////////////////////////////// 9 | template<> DuiWindowManager* Singleton::ms_Singleton=0; 10 | 11 | 12 | DuiWindowManager::DuiWindowManager() 13 | : m_hNextWnd(NULL) 14 | { 15 | ::InitializeCriticalSection(&m_lockWndMap); 16 | } 17 | 18 | DuiWindowManager::~DuiWindowManager() 19 | { 20 | ::DeleteCriticalSection(&m_lockWndMap); 21 | } 22 | 23 | // Get DuiWindow pointer from handle 24 | CDuiWindow* DuiWindowManager::GetWindow(HDUIWND hDuiWnd) 25 | { 26 | if(!hDuiWnd) return NULL; 27 | CDuiWindow *pRet=NULL; 28 | ::EnterCriticalSection(&getSingleton().m_lockWndMap); 29 | 30 | getSingleton().GetKeyObject(hDuiWnd,pRet); 31 | ::LeaveCriticalSection(&getSingleton().m_lockWndMap); 32 | return pRet; 33 | } 34 | 35 | // Specify a handle to a DuiWindow 36 | HDUIWND DuiWindowManager::NewWindow(CDuiWindow *pDuiWnd) 37 | { 38 | DUIASSERT(pDuiWnd); 39 | ::EnterCriticalSection(&getSingleton().m_lockWndMap); 40 | 41 | HDUIWND hDuiWndNext = ++ getSingleton().m_hNextWnd; 42 | getSingleton().AddKeyObject(hDuiWndNext,pDuiWnd); 43 | ::LeaveCriticalSection(&getSingleton().m_lockWndMap); 44 | 45 | return hDuiWndNext; 46 | } 47 | 48 | // Destroy DuiWindow 49 | BOOL DuiWindowManager::DestroyWindow(HDUIWND hDuiWnd) 50 | { 51 | ::EnterCriticalSection(&getSingleton().m_lockWndMap); 52 | 53 | BOOL bRet=getSingleton().RemoveKeyObject(hDuiWnd); 54 | CDuiTimerEx::KillTimer(hDuiWnd); 55 | 56 | ::LeaveCriticalSection(&getSingleton().m_lockWndMap); 57 | 58 | return bRet; 59 | } 60 | 61 | }//namespace DuiEngine -------------------------------------------------------------------------------- /DUIEngine/src/MemDC.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | #include "MemDC.h" 3 | namespace DuiEngine 4 | { 5 | 6 | CMemDC::CMemDC() 7 | :m_bBmpOwner(FALSE) 8 | ,m_bHasBitmap(FALSE) 9 | { 10 | } 11 | 12 | CMemDC::CMemDC( HDC hdc, const CRect & rc ) 13 | :m_bBmpOwner(TRUE) 14 | ,m_bHasBitmap(TRUE) 15 | { 16 | CreateCompatibleDC(hdc); 17 | DUIASSERT(m_hDC != NULL); 18 | HBITMAP hBmp=CreateCompatibleBitmap(hdc,rc.Width(),rc.Height()); 19 | m_hOldBmp=SelectBitmap(hBmp); 20 | SetViewportOrg(-rc.left, -rc.top); 21 | } 22 | 23 | CMemDC::CMemDC( HDC hdc,HBITMAP hBmp) 24 | :m_bBmpOwner(FALSE) 25 | ,m_bHasBitmap(TRUE) 26 | { 27 | CreateCompatibleDC(hdc); 28 | DUIASSERT(m_hDC != NULL); 29 | if(hBmp) 30 | m_hOldBmp=__super::SelectBitmap(hBmp); 31 | else 32 | m_hOldBmp=NULL; 33 | SetViewportOrg(0,0); 34 | } 35 | 36 | CMemDC::~CMemDC(void) 37 | { 38 | if(m_hDC && m_hOldBmp) 39 | { 40 | HBITMAP hBmp=SelectBitmap(m_hOldBmp); 41 | if(m_bBmpOwner) DeleteObject(hBmp); 42 | } 43 | } 44 | 45 | HBITMAP CMemDC::SelectBitmap( HBITMAP hBmp ) 46 | { 47 | if(hBmp) 48 | { 49 | m_hOldBmp=__super::SelectBitmap(hBmp); 50 | m_bBmpOwner=FALSE; 51 | m_bHasBitmap=TRUE; 52 | SetViewportOrg(0,0); 53 | return m_hOldBmp; 54 | } 55 | else if(m_bHasBitmap) 56 | { 57 | HBITMAP hBmp=__super::SelectBitmap(m_hOldBmp); 58 | m_hOldBmp=NULL; 59 | m_bBmpOwner=FALSE; 60 | m_bHasBitmap=FALSE; 61 | return hBmp; 62 | } 63 | else 64 | { 65 | return NULL; 66 | } 67 | } 68 | 69 | }//namespace DuiEngine 70 | -------------------------------------------------------------------------------- /DUIEngine/src/MenuWndHook.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/MenuWndHook.cpp -------------------------------------------------------------------------------- /DUIEngine/src/SimpleWnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/SimpleWnd.cpp -------------------------------------------------------------------------------- /DUIEngine/src/activex/DuiBStr.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | 3 | #include "activex/DuiBStr.h" 4 | // #include "activex/DuiComPtr.h" 5 | 6 | namespace DuiEngine 7 | { 8 | CDuiBStr::CDuiBStr(const char16* non_bstr) 9 | : bstr_(SysAllocString(non_bstr)) {} 10 | 11 | CDuiBStr::~CDuiBStr() 12 | { 13 | SysFreeString(bstr_); 14 | } 15 | 16 | void CDuiBStr::Reset(BSTR bstr) 17 | { 18 | if(bstr != bstr_) 19 | { 20 | // if |bstr_| is NULL, SysFreeString does nothing. 21 | SysFreeString(bstr_); 22 | bstr_ = bstr; 23 | } 24 | } 25 | 26 | BSTR CDuiBStr::Release() 27 | { 28 | BSTR bstr = bstr_; 29 | bstr_ = NULL; 30 | return bstr; 31 | } 32 | 33 | void CDuiBStr::Swap(CDuiBStr& bstr2) 34 | { 35 | BSTR tmp = bstr_; 36 | bstr_ = bstr2.bstr_; 37 | bstr2.bstr_ = tmp; 38 | } 39 | 40 | BSTR* CDuiBStr::Receive() 41 | { 42 | return &bstr_; 43 | } 44 | 45 | BSTR CDuiBStr::Allocate(const char16* str) 46 | { 47 | Reset(SysAllocString(str)); 48 | return bstr_; 49 | } 50 | 51 | BSTR CDuiBStr::AllocateBytes(size_t bytes) 52 | { 53 | Reset(SysAllocStringByteLen(NULL, static_cast(bytes))); 54 | return bstr_; 55 | } 56 | 57 | void CDuiBStr::SetByteLen(size_t bytes) 58 | { 59 | uint32* data = reinterpret_cast(bstr_); 60 | data[-1] = static_cast(bytes); 61 | } 62 | 63 | size_t CDuiBStr::Length() const 64 | { 65 | return SysStringLen(bstr_); 66 | } 67 | 68 | size_t CDuiBStr::ByteLength() const 69 | { 70 | return SysStringByteLen(bstr_); 71 | } 72 | 73 | } //namespace base -------------------------------------------------------------------------------- /DUIEngine/src/duiItempanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiItempanel.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duifontpool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duifontpool.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiframe.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiframe.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duihostwnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duihostwnd.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiimage.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiimage.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiimgpool.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiimgpool.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duilistbox.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duilistbox.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duilistboxex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duilistboxex.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duirealwnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duirealwnd.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiscrollbar.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiscrollbar.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiskin.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiskin.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duistd.cpp: -------------------------------------------------------------------------------- 1 | #include "duistd.h" 2 | 3 | -------------------------------------------------------------------------------- /DUIEngine/src/duitreebox.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duitreebox.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiwnd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiwnd.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiwndcmnctrl.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiwndcmnctrl.cpp -------------------------------------------------------------------------------- /DUIEngine/src/duiwndpanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/duiwndpanel.cpp -------------------------------------------------------------------------------- /DUIEngine/src/gdialpha.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/DUIEngine/src/gdialpha.cpp -------------------------------------------------------------------------------- /bin/Dui-Demo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/bin/Dui-Demo.exe -------------------------------------------------------------------------------- /bin/def_skin.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/bin/def_skin.zip -------------------------------------------------------------------------------- /controls.extend/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/controls.extend/readme.txt -------------------------------------------------------------------------------- /doc/DUI引擎属性文档.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/doc/DUI引擎属性文档.docx -------------------------------------------------------------------------------- /doc/从Bkwin到DUIEngine快速入门[ 网友'一言'友情提供].docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/doc/从Bkwin到DUIEngine快速入门[ 网友'一言'友情提供].docx -------------------------------------------------------------------------------- /doc/使用说明.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/doc/使用说明.txt -------------------------------------------------------------------------------- /doc/更新历史.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/doc/更新历史.txt -------------------------------------------------------------------------------- /dui_demo/DuiSkinGif.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/DuiSkinGif.h -------------------------------------------------------------------------------- /dui_demo/MainDlg.cpp: -------------------------------------------------------------------------------- 1 | // MainDlg.cpp : implementation of the CMainDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | #include "MainDlg.h" 7 | #include "UIHander.h" 8 | 9 | 10 | 11 | #include 12 | #pragma comment(lib,"dwmapi.lib") 13 | 14 | CMainDlg::CMainDlg() : CDuiHostWnd(IDR_DUI_MAIN_DIALOG) 15 | { 16 | m_pUiHandler = new CUIHander(this); 17 | m_bLayoutInited=FALSE; 18 | } 19 | 20 | CMainDlg::~CMainDlg() 21 | { 22 | delete m_pUiHandler; 23 | } 24 | 25 | int CMainDlg::OnCreate( LPCREATESTRUCT lpCreateStruct ) 26 | { 27 | // MARGINS mar = {5,5,30,5}; 28 | // DwmExtendFrameIntoClientArea ( m_hWnd, &mar ); 29 | SetMsgHandled(FALSE); 30 | return 0; 31 | } 32 | 33 | void CMainDlg::OnShowWindow( BOOL bShow, UINT nStatus ) 34 | { 35 | if(bShow) 36 | { 37 | AnimateHostWindow(200,AW_CENTER); 38 | } 39 | } 40 | 41 | -------------------------------------------------------------------------------- /dui_demo/MainDlg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/MainDlg.h -------------------------------------------------------------------------------- /dui_demo/ResModeSelDlg.cpp: -------------------------------------------------------------------------------- 1 | #include "StdAfx.h" 2 | #include "ResModeSelDlg.h" 3 | 4 | CResModeSelDlg::CResModeSelDlg(void):CDuiHostWnd(105),m_nMode(0) 5 | { 6 | } 7 | 8 | CResModeSelDlg::~CResModeSelDlg(void) 9 | { 10 | } 11 | -------------------------------------------------------------------------------- /dui_demo/ResModeSelDlg.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CResModeSelDlg : 4 | public CDuiHostWnd 5 | { 6 | public: 7 | CResModeSelDlg(void); 8 | ~CResModeSelDlg(void); 9 | 10 | void OnOK() 11 | { 12 | m_nMode=((CDuiTabCtrl*)FindChildByCmdID(200))->GetCurSel(); 13 | EndDialog(IDOK); 14 | } 15 | 16 | int m_nMode; 17 | 18 | DUI_NOTIFY_MAP(IDC_RICHVIEW_WIN) 19 | DUI_NOTIFY_ID_COMMAND(1, OnOK) 20 | DUI_NOTIFY_MAP_END() 21 | 22 | BEGIN_MSG_MAP_EX(CMainDlg) 23 | MSG_WM_CREATE(OnCreate) 24 | MSG_WM_CLOSE(OnClose) 25 | MSG_DUI_NOTIFY(IDC_RICHVIEW_WIN) 26 | CHAIN_MSG_MAP(CDuiHostWnd) 27 | REFLECT_NOTIFICATIONS_EX() 28 | END_MSG_MAP() 29 | }; 30 | -------------------------------------------------------------------------------- /dui_demo/UIHander.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/UIHander.cpp -------------------------------------------------------------------------------- /dui_demo/UIHander.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/UIHander.h -------------------------------------------------------------------------------- /dui_demo/dui-demo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/dui-demo.cpp -------------------------------------------------------------------------------- /dui_demo/dui-demo.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/dui-demo.rc -------------------------------------------------------------------------------- /dui_demo/duires/name2id.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /dui_demo/duires/res.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/duires/res.h -------------------------------------------------------------------------------- /dui_demo/duires/resmode.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/duires/resmode.zip -------------------------------------------------------------------------------- /dui_demo/duires/winres.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/duires/winres.h -------------------------------------------------------------------------------- /dui_demo/layout/def_objattr.xml: -------------------------------------------------------------------------------- 1 | 2 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /dui_demo/layout/menu_test.xml: -------------------------------------------------------------------------------- 1 |  2 | 导出配置 3 | 导入配置 4 | 检查更新 5 | 更新日志 6 | 7 | 帮助与反馈 8 | 访问官网 9 | 帮助指南 10 | 错误提交 11 | 关于魔盒 12 | 13 | 14 | 退出 15 | -------------------------------------------------------------------------------- /dui_demo/lua/test.lua: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/lua/test.lua -------------------------------------------------------------------------------- /dui_demo/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by dui-demo.rc 4 | // 5 | #define IDR_XML1 111 6 | #define IDR_XML21 112 7 | #define IDR_NAME2ID 112 8 | #define IDR_ZIP1 113 9 | #define IDR_ZIP_MODESEL 113 10 | 11 | // Next default values for new objects 12 | // 13 | #ifdef APSTUDIO_INVOKED 14 | #ifndef APSTUDIO_READONLY_SYMBOLS 15 | #define _APS_NEXT_RESOURCE_VALUE 114 16 | #define _APS_NEXT_COMMAND_VALUE 40037 17 | #define _APS_NEXT_CONTROL_VALUE 1000 18 | #define _APS_NEXT_SYMED_VALUE 101 19 | #endif 20 | #endif 21 | -------------------------------------------------------------------------------- /dui_demo/skinole/ImageOle.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skinole/ImageOle.cpp -------------------------------------------------------------------------------- /dui_demo/skinole/ImageOle.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skinole/ImageOle.h -------------------------------------------------------------------------------- /dui_demo/skins/TreeCheckBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/TreeCheckBox.png -------------------------------------------------------------------------------- /dui_demo/skins/TreeIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/TreeIcon.png -------------------------------------------------------------------------------- /dui_demo/skins/TreeToggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/TreeToggle.png -------------------------------------------------------------------------------- /dui_demo/skins/bk_shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/bk_shadow.png -------------------------------------------------------------------------------- /dui_demo/skins/btn_normal_yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/btn_normal_yellow.png -------------------------------------------------------------------------------- /dui_demo/skins/btn_sys_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/btn_sys_close.png -------------------------------------------------------------------------------- /dui_demo/skins/btn_sys_maximize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/btn_sys_maximize.png -------------------------------------------------------------------------------- /dui_demo/skins/btn_sys_minimize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/btn_sys_minimize.png -------------------------------------------------------------------------------- /dui_demo/skins/btn_sys_restore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/btn_sys_restore.png -------------------------------------------------------------------------------- /dui_demo/skins/btn_wnd_checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/btn_wnd_checkbox.png -------------------------------------------------------------------------------- /dui_demo/skins/btn_wnd_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/btn_wnd_radio.png -------------------------------------------------------------------------------- /dui_demo/skins/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/check.png -------------------------------------------------------------------------------- /dui_demo/skins/dlg_bg_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/dlg_bg_frame.png -------------------------------------------------------------------------------- /dui_demo/skins/dropbtn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/dropbtn.png -------------------------------------------------------------------------------- /dui_demo/skins/face0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/face0.gif -------------------------------------------------------------------------------- /dui_demo/skins/focus_checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/focus_checkbox.png -------------------------------------------------------------------------------- /dui_demo/skins/focus_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/focus_radio.png -------------------------------------------------------------------------------- /dui_demo/skins/icon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/icon2.png -------------------------------------------------------------------------------- /dui_demo/skins/icon3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/icon3.png -------------------------------------------------------------------------------- /dui_demo/skins/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/icons.png -------------------------------------------------------------------------------- /dui_demo/skins/img_dlg_big_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/img_dlg_big_frame.png -------------------------------------------------------------------------------- /dui_demo/skins/img_edit_border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/img_edit_border.png -------------------------------------------------------------------------------- /dui_demo/skins/img_logo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/img_logo.ico -------------------------------------------------------------------------------- /dui_demo/skins/img_menu_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/img_menu_bg.png -------------------------------------------------------------------------------- /dui_demo/skins/main_dlg_body.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/main_dlg_body.png -------------------------------------------------------------------------------- /dui_demo/skins/menu_split_horz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/menu_split_horz.png -------------------------------------------------------------------------------- /dui_demo/skins/menuborder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/menuborder.png -------------------------------------------------------------------------------- /dui_demo/skins/menuskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/menuskin.png -------------------------------------------------------------------------------- /dui_demo/skins/mini_progress_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/mini_progress_bar.png -------------------------------------------------------------------------------- /dui_demo/skins/mini_progress_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/mini_progress_bg.png -------------------------------------------------------------------------------- /dui_demo/skins/scrollbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/scrollbar.bmp -------------------------------------------------------------------------------- /dui_demo/skins/scrollbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/scrollbar.png -------------------------------------------------------------------------------- /dui_demo/skins/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/slider.png -------------------------------------------------------------------------------- /dui_demo/skins/solve.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/solve.bmp -------------------------------------------------------------------------------- /dui_demo/skins/split_horz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/split_horz.png -------------------------------------------------------------------------------- /dui_demo/skins/split_vert.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/split_vert.png -------------------------------------------------------------------------------- /dui_demo/skins/tab_common.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/tab_common.png -------------------------------------------------------------------------------- /dui_demo/skins/vscrollbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/vscrollbar.png -------------------------------------------------------------------------------- /dui_demo/skins/webbtn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/webbtn_back.png -------------------------------------------------------------------------------- /dui_demo/skins/webbtn_forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/webbtn_forward.png -------------------------------------------------------------------------------- /dui_demo/skins/webbtn_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/skins/webbtn_refresh.png -------------------------------------------------------------------------------- /dui_demo/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 | -------------------------------------------------------------------------------- /dui_demo/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/stdafx.h -------------------------------------------------------------------------------- /dui_demo/wtlhelper/whwindow.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | template 5 | class CWHRoundRectFrameHelper 6 | { 7 | protected: 8 | 9 | SIZE m_sizeWnd; 10 | 11 | void OnSize(UINT nType, CSize size) 12 | { 13 | T *pT = static_cast(this); 14 | 15 | if (nType == SIZE_MINIMIZED) 16 | return; 17 | 18 | if (size == m_sizeWnd) 19 | return; 20 | 21 | CRect rcWindow, rcClient; 22 | CRgn rgnWindow, rgnMinus, rgnAdd; 23 | 24 | pT->GetWindowRect(rcWindow); 25 | pT->GetClientRect(rcClient); 26 | pT->ClientToScreen(rcClient); 27 | 28 | rcClient.OffsetRect(- rcWindow.TopLeft()); 29 | 30 | rgnWindow.CreateRectRgn(rcClient.left, rcClient.top + 2, rcClient.right, rcClient.bottom - 2); 31 | rgnAdd.CreateRectRgn(rcClient.left + 2, rcClient.top, rcClient.right - 2, rcClient.top + 1); 32 | rgnWindow.CombineRgn(rgnAdd, RGN_OR); 33 | rgnAdd.OffsetRgn(0, rcClient.Height() - 1); 34 | rgnWindow.CombineRgn(rgnAdd, RGN_OR); 35 | rgnAdd.SetRectRgn(rcClient.left + 1, rcClient.top + 1, rcClient.right - 1, rcClient.top + 2); 36 | rgnWindow.CombineRgn(rgnAdd, RGN_OR); 37 | rgnAdd.OffsetRgn(0, rcClient.Height() - 3); 38 | rgnWindow.CombineRgn(rgnAdd, RGN_OR); 39 | pT->SetWindowRgn(rgnWindow); 40 | pT->SetMsgHandled(FALSE); 41 | m_sizeWnd = size; 42 | } 43 | 44 | public: 45 | 46 | BOOL ProcessWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT& lResult, DWORD dwMsgMapID = 0) 47 | { 48 | BOOL bHandled = TRUE; 49 | 50 | switch(dwMsgMapID) 51 | { 52 | case 0: 53 | if (uMsg == WM_SIZE) 54 | { 55 | OnSize((UINT)wParam, _WTYPES_NS::CSize(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))); 56 | lResult = 0; 57 | } 58 | break; 59 | } 60 | return FALSE; 61 | } 62 | }; 63 | -------------------------------------------------------------------------------- /dui_demo/zipskin/DuiResProviderZip.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/dui_demo/zipskin/DuiResProviderZip.cpp -------------------------------------------------------------------------------- /dui_demo/zipskin/DuiResProviderZip.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef DUI_EXP 4 | #define DUI_EXP 5 | #endif 6 | 7 | #include "../../DUIEngine/include/duiresproviderbase.h" 8 | #include "../../DUIEngine/include/DuiImgBase.h" 9 | 10 | #include "ZipArchive.h" 11 | 12 | namespace DuiEngine{ 13 | 14 | class DuiResProviderBase; 15 | 16 | class DuiResProviderZip : public DuiResProviderBase 17 | { 18 | public: 19 | DuiResProviderZip(CDuiImgDecoder *pImgDecoder=NULL); 20 | ~DuiResProviderZip(void); 21 | 22 | HBITMAP LoadBitmap(LPCTSTR strType,UINT uID); 23 | HICON LoadIcon(LPCTSTR strType,UINT uID,int cx=0,int cy=0); 24 | CDuiImgBase * LoadImage(LPCTSTR strType,UINT uID); 25 | size_t GetRawBufferSize(LPCTSTR strType,UINT uID); 26 | BOOL GetRawBuffer(LPCTSTR strType,UINT uID,LPVOID pBuf,size_t size); 27 | BOOL HasResource(LPCTSTR strType,UINT uID); 28 | 29 | BOOL Init(LPCTSTR pszZipFile); 30 | BOOL Init(HINSTANCE hInst,UINT uID,LPCTSTR pszType=_T("ZIP")); 31 | protected: 32 | BOOL LoadSkin(); 33 | CDuiStringT GetFilePath(UINT uID,LPCTSTR pszType); 34 | CDuiMap m_mapFiles; 35 | 36 | CZipArchive m_zipFile; 37 | }; 38 | 39 | }//namespace DuiEngine 40 | -------------------------------------------------------------------------------- /image3d/3dTransform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/image3d/3dTransform.h -------------------------------------------------------------------------------- /image3d/3dlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/image3d/3dlib.h -------------------------------------------------------------------------------- /image3d/3dmatrix.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "3dlib.h" 3 | 4 | namespace IMAGE3D 5 | { 6 | // 4x4 matrix functions 7 | void Mat_Add_4X4(MATRIX_4_4_PTR ma, MATRIX_4_4_PTR mb, MATRIX_4_4_PTR msum); 8 | void Mat_Mul_4X4(MATRIX_4_4_PTR ma, MATRIX_4_4_PTR mb, MATRIX_4_4_PTR mprod); 9 | void Mat_Mul_1X4_4X4(MATRIX_1_4_PTR ma, MATRIX_4_4_PTR mb, MATRIX_1_4_PTR mprod); 10 | void Mat_Mul_VECTOR3D_4X4(VECTOR3D_PTR va, MATRIX_4_4_PTR mb, VECTOR3D_PTR vprod); 11 | void Mat_Mul_VECTOR3D_4X3(VECTOR3D_PTR va, MATRIX_4_3_PTR mb, VECTOR3D_PTR vprod); 12 | void Mat_Mul_VECTOR4D_4X4(VECTOR4D_PTR va, MATRIX_4_4_PTR mb, VECTOR4D_PTR vprod); 13 | void Mat_Mul_VECTOR4D_4X3(VECTOR4D_PTR va, MATRIX_4_4_PTR mb, VECTOR4D_PTR vprod); 14 | int Mat_Inverse_4X4(MATRIX_4_4_PTR m, MATRIX_4_4_PTR mi); 15 | void Mat_Init_4X4(MATRIX_4_4_PTR ma, 16 | float m00, float m01, float m02, float m03, 17 | float m10, float m11, float m12, float m13, 18 | float m20, float m21, float m22, float m23, 19 | float m30, float m31, float m32, float m33); 20 | } -------------------------------------------------------------------------------- /image3d/3dtransform.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/image3d/3dtransform.cpp -------------------------------------------------------------------------------- /image3d/PerspectiveTransform.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/image3d/PerspectiveTransform.h -------------------------------------------------------------------------------- /image3d/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/image3d/ReadMe.txt -------------------------------------------------------------------------------- /image3d/image3d.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "image3d", "image3d.vcproj", "{E4297462-6655-4BB7-9962-1750B55A5187}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug_LIB|Win32 = Debug_LIB|Win32 9 | Debug|Win32 = Debug|Win32 10 | Release_LIB|Win32 = Release_LIB|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {E4297462-6655-4BB7-9962-1750B55A5187}.Debug_LIB|Win32.ActiveCfg = Debug_LIB|Win32 15 | {E4297462-6655-4BB7-9962-1750B55A5187}.Debug_LIB|Win32.Build.0 = Debug_LIB|Win32 16 | {E4297462-6655-4BB7-9962-1750B55A5187}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {E4297462-6655-4BB7-9962-1750B55A5187}.Debug|Win32.Build.0 = Debug|Win32 18 | {E4297462-6655-4BB7-9962-1750B55A5187}.Release_LIB|Win32.ActiveCfg = Release_LIB|Win32 19 | {E4297462-6655-4BB7-9962-1750B55A5187}.Release_LIB|Win32.Build.0 = Release_LIB|Win32 20 | {E4297462-6655-4BB7-9962-1750B55A5187}.Release|Win32.ActiveCfg = Release|Win32 21 | {E4297462-6655-4BB7-9962-1750B55A5187}.Release|Win32.Build.0 = Release|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /image3d/stdafx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // image3d.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /image3d/stdafx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #ifndef WINVER // Specifies that the minimum required platform is Windows Vista. 9 | #define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows. 10 | #endif 11 | 12 | #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. 13 | #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. 14 | #endif 15 | 16 | #ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98. 17 | #define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. 18 | #endif 19 | 20 | #ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0. 21 | #define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE. 22 | #endif 23 | 24 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 25 | // Windows Header Files: 26 | #include 27 | 28 | 29 | 30 | // TODO: reference additional headers your program requires here 31 | -------------------------------------------------------------------------------- /lib/DUIEngine.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/lib/DUIEngine.lib -------------------------------------------------------------------------------- /lib/DUIEngine_d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/lib/DUIEngine_d.lib -------------------------------------------------------------------------------- /lib/zlib.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/lib/zlib.lib -------------------------------------------------------------------------------- /lib/zlib_d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/lib/zlib_d.lib -------------------------------------------------------------------------------- /residbuilder/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/residbuilder/ReadMe.txt -------------------------------------------------------------------------------- /residbuilder/XGetopt.h: -------------------------------------------------------------------------------- 1 | // XGetopt.h Version 1.2 2 | // 3 | // Author: Hans Dietrich 4 | // hdietrich2@hotmail.com 5 | // 6 | // This software is released into the public domain. 7 | // You are free to use it in any way you like. 8 | // 9 | // This software is provided "as is" with no expressed 10 | // or implied warranty. I accept no liability for any 11 | // damage or loss of business that this software may cause. 12 | // 13 | /////////////////////////////////////////////////////////////////////////////// 14 | 15 | #ifndef XGETOPT_H 16 | #define XGETOPT_H 17 | 18 | extern int optind, opterr; 19 | extern TCHAR *optarg; 20 | 21 | int getopt(int argc, TCHAR *argv[], TCHAR *optstring); 22 | 23 | #endif //XGETOPT_H 24 | -------------------------------------------------------------------------------- /residbuilder/residbuilder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/residbuilder/residbuilder.cpp -------------------------------------------------------------------------------- /residbuilder/residbuilder.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "residbuilder", "residbuilder.vcproj", "{DB204FBF-D26A-4839-B126-C85159829663}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {DB204FBF-D26A-4839-B126-C85159829663}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {DB204FBF-D26A-4839-B126-C85159829663}.Debug|Win32.Build.0 = Debug|Win32 14 | {DB204FBF-D26A-4839-B126-C85159829663}.Release|Win32.ActiveCfg = Release|Win32 15 | {DB204FBF-D26A-4839-B126-C85159829663}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /residbuilder/residbuilder.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/residbuilder/residbuilder.vcproj -------------------------------------------------------------------------------- /residbuilder/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/residbuilder/stdafx.cpp -------------------------------------------------------------------------------- /residbuilder/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/residbuilder/stdafx.h -------------------------------------------------------------------------------- /samples/DuiHttpDown.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/samples/DuiHttpDown.zip -------------------------------------------------------------------------------- /samples/ani_demo.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/samples/ani_demo.zip -------------------------------------------------------------------------------- /samples/childduiwnd.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/samples/childduiwnd.zip -------------------------------------------------------------------------------- /samples/iectrl.wtl.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/samples/iectrl.wtl.zip -------------------------------------------------------------------------------- /samples/mfc.demo.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/samples/mfc.demo.zip -------------------------------------------------------------------------------- /samples/说明.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/samples/说明.txt -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lib/lua.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/lib/lua.lib -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lib/luaScriptModule.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/lib/luaScriptModule.lib -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lib/luaScriptModule_d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/lib/luaScriptModule_d.lib -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lib/lua_d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/lib/lua_d.lib -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 动态链接库:lua 项目概述 3 | ======================================================================== 4 | 5 | 应用程序向导已为您创建了此 lua DLL。 6 | 7 | 本文件概要介绍组成 lua 应用程序的 8 | 的每个文件的内容。 9 | 10 | 11 | lua.vcproj 12 | 这是使用应用程序向导生成的 VC++ 项目的主项目文件, 13 | 其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 14 | 15 | lua.cpp 16 | 这是主 DLL 源文件。 17 | 18 | 此 DLL 在创建时不导出任何符号。因此,在生成此 DLL 时 19 | 将不会产生 .lib 文件。如果希望此项目 20 | 成为其他某个项目的项目依赖项,则需要 21 | 添加代码以从 DLL 导出某些符号, 22 | 以便产生一个导出库,或者,也可以在项目“属性页”对话框中的 23 | “链接器”文件夹中,将“常规”属性页上的 24 | “忽略输入库”属性设置为“是”。 25 | 26 | ///////////////////////////////////////////////////////////////////////////// 27 | 其他标准文件: 28 | 29 | StdAfx.h, StdAfx.cpp 30 | 这些文件用于生成名为 lua.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | 其他注释: 34 | 35 | 应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 36 | 37 | ///////////////////////////////////////////////////////////////////////////// -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/dllmain.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/lua-5.1/dllmain.c -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lapi.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lapi.h,v 2.2.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Auxiliary functions from Lua API 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lapi_h 8 | #define lapi_h 9 | 10 | 11 | #include "lobject.h" 12 | 13 | 14 | LUAI_FUNC void luaA_pushobject (lua_State *L, const TValue *o); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/ldebug.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ldebug.h,v 2.3.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Auxiliary functions from Debug Interface module 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef ldebug_h 8 | #define ldebug_h 9 | 10 | 11 | #include "lstate.h" 12 | 13 | 14 | #define pcRel(pc, p) (cast(int, (pc) - (p)->code) - 1) 15 | 16 | #define getline(f,pc) (((f)->lineinfo) ? (f)->lineinfo[pc] : 0) 17 | 18 | #define resethookcount(L) (L->hookcount = L->basehookcount) 19 | 20 | 21 | LUAI_FUNC void luaG_typeerror (lua_State *L, const TValue *o, 22 | const char *opname); 23 | LUAI_FUNC void luaG_concaterror (lua_State *L, StkId p1, StkId p2); 24 | LUAI_FUNC void luaG_aritherror (lua_State *L, const TValue *p1, 25 | const TValue *p2); 26 | LUAI_FUNC int luaG_ordererror (lua_State *L, const TValue *p1, 27 | const TValue *p2); 28 | LUAI_FUNC void luaG_runerror (lua_State *L, const char *fmt, ...); 29 | LUAI_FUNC void luaG_errormsg (lua_State *L); 30 | LUAI_FUNC int luaG_checkcode (const Proto *pt); 31 | LUAI_FUNC int luaG_checkopenop (Instruction i); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/ldo.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ldo.h,v 2.7.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Stack and Call structure of Lua 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef ldo_h 8 | #define ldo_h 9 | 10 | 11 | #include "lobject.h" 12 | #include "lstate.h" 13 | #include "lzio.h" 14 | 15 | 16 | #define luaD_checkstack(L,n) \ 17 | if ((char *)L->stack_last - (char *)L->top <= (n)*(int)sizeof(TValue)) \ 18 | luaD_growstack(L, n); \ 19 | else condhardstacktests(luaD_reallocstack(L, L->stacksize - EXTRA_STACK - 1)); 20 | 21 | 22 | #define incr_top(L) {luaD_checkstack(L,1); L->top++;} 23 | 24 | #define savestack(L,p) ((char *)(p) - (char *)L->stack) 25 | #define restorestack(L,n) ((TValue *)((char *)L->stack + (n))) 26 | 27 | #define saveci(L,p) ((char *)(p) - (char *)L->base_ci) 28 | #define restoreci(L,n) ((CallInfo *)((char *)L->base_ci + (n))) 29 | 30 | 31 | /* results from luaD_precall */ 32 | #define PCRLUA 0 /* initiated a call to a Lua function */ 33 | #define PCRC 1 /* did a call to a C function */ 34 | #define PCRYIELD 2 /* C funtion yielded */ 35 | 36 | 37 | /* type of protected functions, to be ran by `runprotected' */ 38 | typedef void (*Pfunc) (lua_State *L, void *ud); 39 | 40 | LUAI_FUNC int luaD_protectedparser (lua_State *L, ZIO *z, const char *name); 41 | LUAI_FUNC void luaD_callhook (lua_State *L, int event, int line); 42 | LUAI_FUNC int luaD_precall (lua_State *L, StkId func, int nresults); 43 | LUAI_FUNC void luaD_call (lua_State *L, StkId func, int nResults); 44 | LUAI_FUNC int luaD_pcall (lua_State *L, Pfunc func, void *u, 45 | ptrdiff_t oldtop, ptrdiff_t ef); 46 | LUAI_FUNC int luaD_poscall (lua_State *L, StkId firstResult); 47 | LUAI_FUNC void luaD_reallocCI (lua_State *L, int newsize); 48 | LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize); 49 | LUAI_FUNC void luaD_growstack (lua_State *L, int n); 50 | 51 | LUAI_FUNC void luaD_throw (lua_State *L, int errcode); 52 | LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud); 53 | 54 | LUAI_FUNC void luaD_seterrorobj (lua_State *L, int errcode, StkId oldtop); 55 | 56 | #endif 57 | 58 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lfunc.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lfunc.h,v 2.4.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Auxiliary functions to manipulate prototypes and closures 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lfunc_h 8 | #define lfunc_h 9 | 10 | 11 | #include "lobject.h" 12 | 13 | 14 | #define sizeCclosure(n) (cast(int, sizeof(CClosure)) + \ 15 | cast(int, sizeof(TValue)*((n)-1))) 16 | 17 | #define sizeLclosure(n) (cast(int, sizeof(LClosure)) + \ 18 | cast(int, sizeof(TValue *)*((n)-1))) 19 | 20 | 21 | LUAI_FUNC Proto *luaF_newproto (lua_State *L); 22 | LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems, Table *e); 23 | LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems, Table *e); 24 | LUAI_FUNC UpVal *luaF_newupval (lua_State *L); 25 | LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level); 26 | LUAI_FUNC void luaF_close (lua_State *L, StkId level); 27 | LUAI_FUNC void luaF_freeproto (lua_State *L, Proto *f); 28 | LUAI_FUNC void luaF_freeclosure (lua_State *L, Closure *c); 29 | LUAI_FUNC void luaF_freeupval (lua_State *L, UpVal *uv); 30 | LUAI_FUNC const char *luaF_getlocalname (const Proto *func, int local_number, 31 | int pc); 32 | 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/linit.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: linit.c,v 1.14.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Initialization of libraries for lua.c 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | 8 | #define linit_c 9 | #define LUA_LIB 10 | 11 | #include "lua.h" 12 | 13 | #include "lualib.h" 14 | #include "lauxlib.h" 15 | 16 | 17 | static const luaL_Reg lualibs[] = { 18 | {"", luaopen_base}, 19 | {LUA_LOADLIBNAME, luaopen_package}, 20 | {LUA_TABLIBNAME, luaopen_table}, 21 | {LUA_IOLIBNAME, luaopen_io}, 22 | {LUA_OSLIBNAME, luaopen_os}, 23 | {LUA_STRLIBNAME, luaopen_string}, 24 | {LUA_MATHLIBNAME, luaopen_math}, 25 | {LUA_DBLIBNAME, luaopen_debug}, 26 | {NULL, NULL} 27 | }; 28 | 29 | 30 | LUALIB_API void luaL_openlibs (lua_State *L) { 31 | const luaL_Reg *lib = lualibs; 32 | for (; lib->func; lib++) { 33 | lua_pushcfunction(L, lib->func); 34 | lua_pushstring(L, lib->name); 35 | lua_call(L, 1, 0); 36 | } 37 | } 38 | 39 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lmem.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lmem.h,v 1.31.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Interface to Memory Manager 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lmem_h 8 | #define lmem_h 9 | 10 | 11 | #include 12 | 13 | #include "llimits.h" 14 | #include "lua.h" 15 | 16 | #define MEMERRMSG "not enough memory" 17 | 18 | 19 | #define luaM_reallocv(L,b,on,n,e) \ 20 | ((cast(size_t, (n)+1) <= MAX_SIZET/(e)) ? /* +1 to avoid warnings */ \ 21 | luaM_realloc_(L, (b), (on)*(e), (n)*(e)) : \ 22 | luaM_toobig(L)) 23 | 24 | #define luaM_freemem(L, b, s) luaM_realloc_(L, (b), (s), 0) 25 | #define luaM_free(L, b) luaM_realloc_(L, (b), sizeof(*(b)), 0) 26 | #define luaM_freearray(L, b, n, t) luaM_reallocv(L, (b), n, 0, sizeof(t)) 27 | 28 | #define luaM_malloc(L,t) luaM_realloc_(L, NULL, 0, (t)) 29 | #define luaM_new(L,t) cast(t *, luaM_malloc(L, sizeof(t))) 30 | #define luaM_newvector(L,n,t) \ 31 | cast(t *, luaM_reallocv(L, NULL, 0, n, sizeof(t))) 32 | 33 | #define luaM_growvector(L,v,nelems,size,t,limit,e) \ 34 | if ((nelems)+1 > (size)) \ 35 | ((v)=cast(t *, luaM_growaux_(L,v,&(size),sizeof(t),limit,e))) 36 | 37 | #define luaM_reallocvector(L, v,oldn,n,t) \ 38 | ((v)=cast(t *, luaM_reallocv(L, v, oldn, n, sizeof(t)))) 39 | 40 | 41 | LUAI_FUNC void *luaM_realloc_ (lua_State *L, void *block, size_t oldsize, 42 | size_t size); 43 | LUAI_FUNC void *luaM_toobig (lua_State *L); 44 | LUAI_FUNC void *luaM_growaux_ (lua_State *L, void *block, int *size, 45 | size_t size_elem, int limit, 46 | const char *errormsg); 47 | 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lstring.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lstring.h,v 1.43.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** String table (keep all strings handled by Lua) 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lstring_h 8 | #define lstring_h 9 | 10 | 11 | #include "lgc.h" 12 | #include "lobject.h" 13 | #include "lstate.h" 14 | 15 | 16 | #define sizestring(s) (sizeof(union TString)+((s)->len+1)*sizeof(char)) 17 | 18 | #define sizeudata(u) (sizeof(union Udata)+(u)->len) 19 | 20 | #define luaS_new(L, s) (luaS_newlstr(L, s, strlen(s))) 21 | #define luaS_newliteral(L, s) (luaS_newlstr(L, "" s, \ 22 | (sizeof(s)/sizeof(char))-1)) 23 | 24 | #define luaS_fix(s) l_setbit((s)->tsv.marked, FIXEDBIT) 25 | 26 | LUAI_FUNC void luaS_resize (lua_State *L, int newsize); 27 | LUAI_FUNC Udata *luaS_newudata (lua_State *L, size_t s, Table *e); 28 | LUAI_FUNC TString *luaS_newlstr (lua_State *L, const char *str, size_t l); 29 | 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/ltable.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ltable.h,v 2.10.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Lua tables (hash) 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef ltable_h 8 | #define ltable_h 9 | 10 | #include "lobject.h" 11 | 12 | 13 | #define gnode(t,i) (&(t)->node[i]) 14 | #define gkey(n) (&(n)->i_key.nk) 15 | #define gval(n) (&(n)->i_val) 16 | #define gnext(n) ((n)->i_key.nk.next) 17 | 18 | #define key2tval(n) (&(n)->i_key.tvk) 19 | 20 | 21 | LUAI_FUNC const TValue *luaH_getnum (Table *t, int key); 22 | LUAI_FUNC TValue *luaH_setnum (lua_State *L, Table *t, int key); 23 | LUAI_FUNC const TValue *luaH_getstr (Table *t, TString *key); 24 | LUAI_FUNC TValue *luaH_setstr (lua_State *L, Table *t, TString *key); 25 | LUAI_FUNC const TValue *luaH_get (Table *t, const TValue *key); 26 | LUAI_FUNC TValue *luaH_set (lua_State *L, Table *t, const TValue *key); 27 | LUAI_FUNC Table *luaH_new (lua_State *L, int narray, int lnhash); 28 | LUAI_FUNC void luaH_resizearray (lua_State *L, Table *t, int nasize); 29 | LUAI_FUNC void luaH_free (lua_State *L, Table *t); 30 | LUAI_FUNC int luaH_next (lua_State *L, Table *t, StkId key); 31 | LUAI_FUNC int luaH_getn (Table *t); 32 | 33 | 34 | #if defined(LUA_DEBUG) 35 | LUAI_FUNC Node *luaH_mainposition (const Table *t, const TValue *key); 36 | LUAI_FUNC int luaH_isdummy (Node *n); 37 | #endif 38 | 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/ltm.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ltm.c,v 2.8.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Tag methods 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | 8 | #include 9 | 10 | #define ltm_c 11 | #define LUA_CORE 12 | 13 | #include "lua.h" 14 | 15 | #include "lobject.h" 16 | #include "lstate.h" 17 | #include "lstring.h" 18 | #include "ltable.h" 19 | #include "ltm.h" 20 | 21 | 22 | 23 | const char *const luaT_typenames[] = { 24 | "nil", "boolean", "userdata", "number", 25 | "string", "table", "function", "userdata", "thread", 26 | "proto", "upval" 27 | }; 28 | 29 | 30 | void luaT_init (lua_State *L) { 31 | static const char *const luaT_eventname[] = { /* ORDER TM */ 32 | "__index", "__newindex", 33 | "__gc", "__mode", "__eq", 34 | "__add", "__sub", "__mul", "__div", "__mod", 35 | "__pow", "__unm", "__len", "__lt", "__le", 36 | "__concat", "__call" 37 | }; 38 | int i; 39 | for (i=0; itmname[i] = luaS_new(L, luaT_eventname[i]); 41 | luaS_fix(G(L)->tmname[i]); /* never collect these names */ 42 | } 43 | } 44 | 45 | 46 | /* 47 | ** function to be used with macro "fasttm": optimized for absence of 48 | ** tag methods 49 | */ 50 | const TValue *luaT_gettm (Table *events, TMS event, TString *ename) { 51 | const TValue *tm = luaH_getstr(events, ename); 52 | lua_assert(event <= TM_EQ); 53 | if (ttisnil(tm)) { /* no tag method? */ 54 | events->flags |= cast_byte(1u<metatable; 66 | break; 67 | case LUA_TUSERDATA: 68 | mt = uvalue(o)->metatable; 69 | break; 70 | default: 71 | mt = G(L)->mt[ttype(o)]; 72 | } 73 | return (mt ? luaH_getstr(mt, G(L)->tmname[event]) : luaO_nilobject); 74 | } 75 | 76 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/ltm.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: ltm.h,v 2.6.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Tag methods 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef ltm_h 8 | #define ltm_h 9 | 10 | 11 | #include "lobject.h" 12 | 13 | 14 | /* 15 | * WARNING: if you change the order of this enumeration, 16 | * grep "ORDER TM" 17 | */ 18 | typedef enum { 19 | TM_INDEX, 20 | TM_NEWINDEX, 21 | TM_GC, 22 | TM_MODE, 23 | TM_EQ, /* last tag method with `fast' access */ 24 | TM_ADD, 25 | TM_SUB, 26 | TM_MUL, 27 | TM_DIV, 28 | TM_MOD, 29 | TM_POW, 30 | TM_UNM, 31 | TM_LEN, 32 | TM_LT, 33 | TM_LE, 34 | TM_CONCAT, 35 | TM_CALL, 36 | TM_N /* number of elements in the enum */ 37 | } TMS; 38 | 39 | 40 | 41 | #define gfasttm(g,et,e) ((et) == NULL ? NULL : \ 42 | ((et)->flags & (1u<<(e))) ? NULL : luaT_gettm(et, e, (g)->tmname[e])) 43 | 44 | #define fasttm(l,et,e) gfasttm(G(l), et, e) 45 | 46 | LUAI_DATA const char *const luaT_typenames[]; 47 | 48 | 49 | LUAI_FUNC const TValue *luaT_gettm (Table *events, TMS event, TString *ename); 50 | LUAI_FUNC const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, 51 | TMS event); 52 | LUAI_FUNC void luaT_init (lua_State *L); 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lua.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua", "lua.vcproj", "{D0B6AEA5-B4D7-4755-85E9-AD05796C437E}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug_DLL|Win32 = Debug_DLL|Win32 9 | Debug|Win32 = Debug|Win32 10 | Release_DLL|Win32 = Release_DLL|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Debug_DLL|Win32.ActiveCfg = Debug_DLL|Win32 15 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Debug_DLL|Win32.Build.0 = Debug_DLL|Win32 16 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Debug|Win32.Build.0 = Debug|Win32 18 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Release_DLL|Win32.ActiveCfg = Release_DLL|Win32 19 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Release_DLL|Win32.Build.0 = Release_DLL|Win32 20 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Release|Win32.ActiveCfg = Release|Win32 21 | {D0B6AEA5-B4D7-4755-85E9-AD05796C437E}.Release|Win32.Build.0 = Release|Win32 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lua.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/lua-5.1/lua.vcproj -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lualib.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lualib.h,v 1.36.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Lua standard libraries 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | 8 | #ifndef lualib_h 9 | #define lualib_h 10 | 11 | #include "lua.h" 12 | 13 | 14 | /* Key to file-handle type */ 15 | #define LUA_FILEHANDLE "FILE*" 16 | 17 | 18 | #define LUA_COLIBNAME "coroutine" 19 | LUALIB_API int (luaopen_base) (lua_State *L); 20 | 21 | #define LUA_TABLIBNAME "table" 22 | LUALIB_API int (luaopen_table) (lua_State *L); 23 | 24 | #define LUA_IOLIBNAME "io" 25 | LUALIB_API int (luaopen_io) (lua_State *L); 26 | 27 | #define LUA_OSLIBNAME "os" 28 | LUALIB_API int (luaopen_os) (lua_State *L); 29 | 30 | #define LUA_STRLIBNAME "string" 31 | LUALIB_API int (luaopen_string) (lua_State *L); 32 | 33 | #define LUA_MATHLIBNAME "math" 34 | LUALIB_API int (luaopen_math) (lua_State *L); 35 | 36 | #define LUA_DBLIBNAME "debug" 37 | LUALIB_API int (luaopen_debug) (lua_State *L); 38 | 39 | #define LUA_LOADLIBNAME "package" 40 | LUALIB_API int (luaopen_package) (lua_State *L); 41 | 42 | 43 | /* open all previous libraries */ 44 | LUALIB_API void (luaL_openlibs) (lua_State *L); 45 | 46 | 47 | 48 | #ifndef lua_assert 49 | #define lua_assert(x) ((void)0) 50 | #endif 51 | 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lundump.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lundump.h,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** load precompiled Lua chunks 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lundump_h 8 | #define lundump_h 9 | 10 | #include "lobject.h" 11 | #include "lzio.h" 12 | 13 | /* load one chunk; from lundump.c */ 14 | LUAI_FUNC Proto* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name); 15 | 16 | /* make header; from lundump.c */ 17 | LUAI_FUNC void luaU_header (char* h); 18 | 19 | /* dump one chunk; from ldump.c */ 20 | LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); 21 | 22 | #ifdef luac_c 23 | /* print one chunk; from print.c */ 24 | LUAI_FUNC void luaU_print (const Proto* f, int full); 25 | #endif 26 | 27 | /* for header of binary files -- this is Lua 5.1 */ 28 | #define LUAC_VERSION 0x51 29 | 30 | /* for header of binary files -- this is the official format */ 31 | #define LUAC_FORMAT 0 32 | 33 | /* size of header of binary files */ 34 | #define LUAC_HEADERSIZE 12 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lvm.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lvm.h,v 2.5.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Lua virtual machine 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | #ifndef lvm_h 8 | #define lvm_h 9 | 10 | 11 | #include "ldo.h" 12 | #include "lobject.h" 13 | #include "ltm.h" 14 | 15 | 16 | #define tostring(L,o) ((ttype(o) == LUA_TSTRING) || (luaV_tostring(L, o))) 17 | 18 | #define tonumber(o,n) (ttype(o) == LUA_TNUMBER || \ 19 | (((o) = luaV_tonumber(o,n)) != NULL)) 20 | 21 | #define equalobj(L,o1,o2) \ 22 | (ttype(o1) == ttype(o2) && luaV_equalval(L, o1, o2)) 23 | 24 | 25 | LUAI_FUNC int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r); 26 | LUAI_FUNC int luaV_equalval (lua_State *L, const TValue *t1, const TValue *t2); 27 | LUAI_FUNC const TValue *luaV_tonumber (const TValue *obj, TValue *n); 28 | LUAI_FUNC int luaV_tostring (lua_State *L, StkId obj); 29 | LUAI_FUNC void luaV_gettable (lua_State *L, const TValue *t, TValue *key, 30 | StkId val); 31 | LUAI_FUNC void luaV_settable (lua_State *L, const TValue *t, TValue *key, 32 | StkId val); 33 | LUAI_FUNC void luaV_execute (lua_State *L, int nexeccalls); 34 | LUAI_FUNC void luaV_concat (lua_State *L, int total, int last); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lzio.c: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lzio.c,v 1.31.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** a generic input stream interface 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | 8 | #include 9 | 10 | #define lzio_c 11 | #define LUA_CORE 12 | 13 | #include "lua.h" 14 | 15 | #include "llimits.h" 16 | #include "lmem.h" 17 | #include "lstate.h" 18 | #include "lzio.h" 19 | 20 | 21 | int luaZ_fill (ZIO *z) { 22 | size_t size; 23 | lua_State *L = z->L; 24 | const char *buff; 25 | lua_unlock(L); 26 | buff = z->reader(L, z->data, &size); 27 | lua_lock(L); 28 | if (buff == NULL || size == 0) return EOZ; 29 | z->n = size - 1; 30 | z->p = buff; 31 | return char2int(*(z->p++)); 32 | } 33 | 34 | 35 | int luaZ_lookahead (ZIO *z) { 36 | if (z->n == 0) { 37 | if (luaZ_fill(z) == EOZ) 38 | return EOZ; 39 | else { 40 | z->n++; /* luaZ_fill removed first byte; put back it */ 41 | z->p--; 42 | } 43 | } 44 | return char2int(*z->p); 45 | } 46 | 47 | 48 | void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, void *data) { 49 | z->L = L; 50 | z->reader = reader; 51 | z->data = data; 52 | z->n = 0; 53 | z->p = NULL; 54 | } 55 | 56 | 57 | /* --------------------------------------------------------------- read --- */ 58 | size_t luaZ_read (ZIO *z, void *b, size_t n) { 59 | while (n) { 60 | size_t m; 61 | if (luaZ_lookahead(z) == EOZ) 62 | return n; /* return number of missing bytes */ 63 | m = (n <= z->n) ? n : z->n; /* min. between n and z->n */ 64 | memcpy(b, z->p, m); 65 | z->n -= m; 66 | z->p += m; 67 | b = (char *)b + m; 68 | n -= m; 69 | } 70 | return 0; 71 | } 72 | 73 | /* ------------------------------------------------------------------------ */ 74 | char *luaZ_openspace (lua_State *L, Mbuffer *buff, size_t n) { 75 | if (n > buff->buffsize) { 76 | if (n < LUA_MINBUFFER) n = LUA_MINBUFFER; 77 | luaZ_resizebuffer(L, buff, n); 78 | } 79 | return buff->buffer; 80 | } 81 | 82 | 83 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/lzio.h: -------------------------------------------------------------------------------- 1 | /* 2 | ** $Id: lzio.h,v 1.21.1.1 2007/12/27 13:02:25 roberto Exp $ 3 | ** Buffered streams 4 | ** See Copyright Notice in lua.h 5 | */ 6 | 7 | 8 | #ifndef lzio_h 9 | #define lzio_h 10 | 11 | #include "lua.h" 12 | 13 | #include "lmem.h" 14 | 15 | 16 | #define EOZ (-1) /* end of stream */ 17 | 18 | typedef struct Zio ZIO; 19 | 20 | #define char2int(c) cast(int, cast(unsigned char, (c))) 21 | 22 | #define zgetc(z) (((z)->n--)>0 ? char2int(*(z)->p++) : luaZ_fill(z)) 23 | 24 | typedef struct Mbuffer { 25 | char *buffer; 26 | size_t n; 27 | size_t buffsize; 28 | } Mbuffer; 29 | 30 | #define luaZ_initbuffer(L, buff) ((buff)->buffer = NULL, (buff)->buffsize = 0) 31 | 32 | #define luaZ_buffer(buff) ((buff)->buffer) 33 | #define luaZ_sizebuffer(buff) ((buff)->buffsize) 34 | #define luaZ_bufflen(buff) ((buff)->n) 35 | 36 | #define luaZ_resetbuffer(buff) ((buff)->n = 0) 37 | 38 | 39 | #define luaZ_resizebuffer(L, buff, size) \ 40 | (luaM_reallocvector(L, (buff)->buffer, (buff)->buffsize, size, char), \ 41 | (buff)->buffsize = size) 42 | 43 | #define luaZ_freebuffer(L, buff) luaZ_resizebuffer(L, buff, 0) 44 | 45 | 46 | LUAI_FUNC char *luaZ_openspace (lua_State *L, Mbuffer *buff, size_t n); 47 | LUAI_FUNC void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, 48 | void *data); 49 | LUAI_FUNC size_t luaZ_read (ZIO* z, void* b, size_t n); /* read next n bytes */ 50 | LUAI_FUNC int luaZ_lookahead (ZIO *z); 51 | 52 | 53 | 54 | /* --------- Private Part ------------------ */ 55 | 56 | struct Zio { 57 | size_t n; /* bytes still unread */ 58 | const char *p; /* current position in buffer */ 59 | lua_Reader reader; 60 | void* data; /* additional data */ 61 | lua_State *L; /* Lua state (for reader) */ 62 | }; 63 | 64 | 65 | LUAI_FUNC int luaZ_fill (ZIO *z); 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/lua-5.1/stdafx.cpp -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/lua-5.1/version.c: -------------------------------------------------------------------------------- 1 | #define LUA_LIB 2 | 3 | #include "lua.h" 4 | 5 | LUA_API int lua_getvernum() 6 | { 7 | return LUA_VERSION_NUM; 8 | } 9 | 10 | LUA_API const char * lua_getverstring() 11 | { 12 | return LUA_VERSION; 13 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "luaScriptModule", "luaScriptModule\luaScriptModule.vcproj", "{04465481-0B5C-4191-B1D5-B5C02161EE91}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Release|Win32 = Release|Win32 10 | EndGlobalSection 11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 12 | {04465481-0B5C-4191-B1D5-B5C02161EE91}.Debug|Win32.ActiveCfg = Debug|Win32 13 | {04465481-0B5C-4191-B1D5-B5C02161EE91}.Debug|Win32.Build.0 = Debug|Win32 14 | {04465481-0B5C-4191-B1D5-B5C02161EE91}.Release|Win32.ActiveCfg = Release|Win32 15 | {04465481-0B5C-4191-B1D5-B5C02161EE91}.Release|Win32.Build.0 = Release|Win32 16 | EndGlobalSection 17 | GlobalSection(SolutionProperties) = preSolution 18 | HideSolutionNode = FALSE 19 | EndGlobalSection 20 | EndGlobal 21 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | 动态链接库:luaScriptModule 项目概述 3 | ======================================================================== 4 | 5 | 应用程序向导已为您创建了此 luaScriptModule DLL。 6 | 7 | 本文件概要介绍组成 luaScriptModule 应用程序的 8 | 的每个文件的内容。 9 | 10 | 11 | luaScriptModule.vcproj 12 | 这是使用应用程序向导生成的 VC++ 项目的主项目文件, 13 | 其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。 14 | 15 | luaScriptModule.cpp 16 | 这是主 DLL 源文件。 17 | 18 | ///////////////////////////////////////////////////////////////////////////// 19 | 其他标准文件: 20 | 21 | StdAfx.h, StdAfx.cpp 22 | 这些文件用于生成名为 luaScriptModule.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。 23 | 24 | ///////////////////////////////////////////////////////////////////////////// 25 | 其他注释: 26 | 27 | 应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。 28 | 29 | ///////////////////////////////////////////////////////////////////////////// -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/exports/DuiBasic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/exports/DuiBasic.h -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/exports/DuiEngine.cpp: -------------------------------------------------------------------------------- 1 | #include "stdafx.h" 2 | 3 | extern "C" 4 | { 5 | #include "../lua-5.1/lua.h" 6 | #include "../lua-5.1/lualib.h" 7 | #include "../lua-5.1/lauxlib.h" 8 | }; 9 | 10 | #include "../lua_tinker.h" 11 | 12 | using namespace DuiEngine; 13 | 14 | #include "DuiBasic.h" 15 | #include "DuiSystem.h" 16 | #include "DuiWindow.h" 17 | #include "DuiMessageBox.h" 18 | #include "DuiScriptModule.h" 19 | #include "DuiThreadActiveWndMgr.h" 20 | #include "DuiResProvider.h" 21 | 22 | BOOL DuiEngine_Export_Lua(lua_State *L) 23 | { 24 | lua_tinker::init(L); 25 | BOOL bRet=ExpLua_Basic(L); 26 | bRet=ExpLua_DuiSystem(L); 27 | bRet=ExpLua_DuiWindow(L); 28 | bRet=ExpLua_DuiMessageBox(L); 29 | bRet=ExpLua_DuiScriptModule(L); 30 | bRet=ExpLua_DuiThreadActiveWndMgr(L); 31 | bRet=ExpLua_DuiResProvider(L); 32 | 33 | return bRet; 34 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/exports/DuiMessageBox.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | BOOL ExpLua_DuiMessageBox(lua_State *L) 4 | { 5 | try{ 6 | lua_tinker::def(L,"DuiMessageBox",DuiMessageBox); 7 | return TRUE; 8 | }catch(...) 9 | { 10 | return FALSE; 11 | } 12 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/exports/DuiResProvider.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | BOOL ExpLua_DuiResProvider(lua_State *L) 4 | { 5 | try{ 6 | lua_tinker::class_add(L,"DuiResProviderBase"); 7 | lua_tinker::class_def(L,"HasResource",&DuiResProviderBase::HasResource); 8 | lua_tinker::class_def(L,"LoadIcon",&DuiResProviderBase::LoadIcon); 9 | lua_tinker::class_def(L,"LoadBitmap",&DuiResProviderBase::LoadBitmap); 10 | lua_tinker::class_def(L,"LoadImage",&DuiResProviderBase::LoadImage); 11 | lua_tinker::class_def(L,"GetRawBufferSize",&DuiResProviderBase::GetRawBufferSize); 12 | lua_tinker::class_def(L,"GetRawBuffer",&DuiResProviderBase::GetRawBuffer); 13 | lua_tinker::class_def(L,"GetImageDecoder",&DuiResProviderBase::GetImageDecoder); 14 | 15 | lua_tinker::class_add(L,"DuiResProviderPE"); 16 | lua_tinker::class_inh(L); 17 | lua_tinker::class_con(L,lua_tinker::constructor); 18 | 19 | lua_tinker::class_add(L,"DuiResProviderFiles"); 20 | lua_tinker::class_inh(L); 21 | lua_tinker::class_con(L,lua_tinker::constructor); 22 | lua_tinker::class_def(L,"Init",&DuiResProviderFiles::Init); 23 | 24 | return TRUE; 25 | }catch(...) 26 | { 27 | return FALSE; 28 | } 29 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/exports/DuiScriptModule.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | BOOL ExpLua_DuiScriptModule(lua_State *L) 4 | { 5 | try 6 | { 7 | lua_tinker::class_add(L,"IScriptModule"); 8 | lua_tinker::class_def(L,"GetScriptEngine",&IScriptModule::GetScriptEngine); 9 | lua_tinker::class_def(L,"loadScriptFile",&IScriptModule::loadScriptFile); 10 | lua_tinker::class_def(L,"loadScriptString",&IScriptModule::loadScriptString); 11 | lua_tinker::class_def(L,"executeScriptFile",&IScriptModule::executeScriptFile); 12 | lua_tinker::class_def(L,"executeString",&IScriptModule::executeString); 13 | lua_tinker::class_def(L,"executeScriptedEventHandler",&IScriptModule::executeScriptedEventHandler); 14 | lua_tinker::class_def(L,"getIdentifierString",&IScriptModule::getIdentifierString); 15 | lua_tinker::class_def(L,"subscribeEvent",&IScriptModule::subscribeEvent); 16 | 17 | return TRUE; 18 | }catch(...) 19 | { 20 | return FALSE; 21 | } 22 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/exports/DuiSystem.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | typedef 4 | void (DuiSystem::*FUN_LOGEVENT)(LPCTSTR , LoggingLevel level); 5 | 6 | 7 | BOOL ExpLua_DuiSystem(lua_State *L) 8 | { 9 | try{ 10 | lua_tinker::class_add(L,"DuiSystem"); 11 | lua_tinker::class_def(L,"GetInstance",&DuiSystem::GetInstance); 12 | lua_tinker::class_def(L,"SetResProvider",&DuiSystem::SetResProvider); 13 | lua_tinker::class_def(L,"GetResProvider",&DuiSystem::GetResProvider); 14 | lua_tinker::class_def(L,"SetLogger",&DuiSystem::SetLogger); 15 | lua_tinker::class_def(L,"GetLogger",&DuiSystem::GetLogger); 16 | lua_tinker::class_def(L,"logEvent",(FUN_LOGEVENT)&DuiSystem::logEvent); 17 | lua_tinker::class_def(L,"Name2ID",&DuiSystem::Name2ID); 18 | lua_tinker::class_def(L,"GetScriptModule",&DuiSystem::GetScriptModule); 19 | lua_tinker::class_def(L,"SetScriptModule",&DuiSystem::SetScriptModule); 20 | lua_tinker::def(L,"DuiSystem_getSingleton",&DuiSystem::getSingletonPtr); 21 | 22 | return TRUE; 23 | }catch(...) 24 | { 25 | return FALSE; 26 | } 27 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/exports/DuiThreadActiveWndMgr.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | BOOL ExpLua_DuiThreadActiveWndMgr(lua_State *L) 4 | { 5 | try{ 6 | lua_tinker::def(L,"DuiThreadActiveWndManager_SetActive",&DuiThreadActiveWndManager::SetActive); 7 | lua_tinker::def(L,"DuiThreadActiveWndManager_GetActive",&DuiThreadActiveWndManager::GetActive); 8 | 9 | return TRUE; 10 | }catch(...) 11 | { 12 | return FALSE; 13 | } 14 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/luaScriptModule.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/luaScriptModule.cpp -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/luaScriptModule.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/luaScriptModule.h -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/luaScriptModule.vcproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/luaScriptModule.vcproj -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/lua_tinker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/lua_tinker.h -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/DuiImgBase.pkg: -------------------------------------------------------------------------------- 1 | $#include 2 | 3 | class CDuiImgBase //: public CDuiRef 4 | { 5 | public: 6 | virtual BOOL LoadFromResource(HINSTANCE hInst,const char * pszType,UINT uID); 7 | virtual BOOL LoadFromFile(const char * pszPath); 8 | virtual BOOL LoadFromMemory(LPVOID pBuf,DWORD dwSize); 9 | 10 | virtual BOOL GetImageSize(SIZE & sz); 11 | virtual int GetWidth(); 12 | virtual int GetHeight(); 13 | virtual BOOL IsEmpty(); 14 | virtual BOOL BitBlt(HDC hdc,int x,int y,int nWid,int nHei,int xSrc,int ySrc,BYTE byAlpha=0xFF); 15 | virtual BOOL StretchBlt(HDC hdc,int x,int y,int nWid,int nHei,int xSrc,int ySrc,int nWidSrc,int nHeiSrc,BYTE byAlpha=0xFF); 16 | virtual BOOL TileBlt(HDC hdc,int x,int y,int nWid,int nHei,int xSrc,int ySrc,int nWidSrc,int nHeiSrc,BYTE byAlpha=0xFF); 17 | //virtual void SetAttributes(TiXmlElement *pTiXmlEle) {} 18 | }; 19 | 20 | class CDuiImgDecoder 21 | { 22 | public: 23 | virtual CDuiImgBase * CreateDuiImage(LPCSTR pszType); 24 | 25 | virtual void DestoryDuiImage(CDuiImgBase* pImg); 26 | 27 | virtual LPCSTR GetSupportTypes(); 28 | }; -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/DuiMessageBox.pkg: -------------------------------------------------------------------------------- 1 | 2 | int DuiMessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType=MB_OK); 3 | -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/DuiNotify.pkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/package/DuiNotify.pkg -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/DuiResProviderBase.pkg: -------------------------------------------------------------------------------- 1 | $#include 2 | 3 | class DuiResProviderBase 4 | { 5 | public: 6 | virtual BOOL HasResource(const char * strType,UINT uID); 7 | virtual HICON LoadIcon(const char * strType,UINT uID,int cx=0,int cy=0); 8 | virtual HBITMAP LoadBitmap(const char * strType,UINT uID); 9 | virtual CDuiImgBase * LoadImage(const char * strType,UINT uID); 10 | virtual size_t GetRawBufferSize(const char * strType,UINT uID); 11 | virtual BOOL GetRawBuffer(const char * strType,UINT uID,void * pBuf,size_t size); 12 | CDuiImgDecoder *GetImageDecoder(); 13 | }; -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/DuiSystem.pkg: -------------------------------------------------------------------------------- 1 | //DuiSystem 2 | $#include 3 | 4 | class DuiSystem //: public Singleton 5 | { 6 | HINSTANCE GetInstance(); 7 | 8 | DuiResProviderBase * SetResProvider(DuiResProviderBase *pNewResProvider); 9 | DuiResProviderBase * GetResProvider(); 10 | 11 | DuiLogger *SetLogger(DuiLogger *pLogger); 12 | DuiLogger * GetLogger(); 13 | 14 | void logEvent(LPCTSTR message, LoggingLevel level = Standard); 15 | 16 | UINT Name2ID(LPCSTR strName); 17 | 18 | size_t InitName2ID(UINT uXmlResID ,LPCSTR pszType=DUIRES_XML_TYPE); 19 | 20 | BOOL Init(UINT uXmlResID ,LPCSTR pszType=DUIRES_XML_TYPE); 21 | 22 | BOOL SetMsgBoxTemplate(UINT uXmlResID,LPCSTR pszType=DUIRES_XML_TYPE); 23 | 24 | IScriptModule * GetScriptModule(); 25 | 26 | IScriptModule * SetScriptModule(IScriptModule *pScriptModule); 27 | 28 | static DuiSystem* getSingletonPtr( void ); 29 | 30 | }; -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/DuiThreadActiveWndMgr.pkg: -------------------------------------------------------------------------------- 1 | class DuiThreadActiveWndManager: public DuiSingletonMap 2 | { 3 | static HWND SetActive(HWND hWnd); 4 | 5 | static HWND GetActive(); 6 | }; -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/DuiWindow.pkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/package/DuiWindow.pkg -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/basic.pkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/package/basic.pkg -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/build.bat: -------------------------------------------------------------------------------- 1 | ..\..\tolua++-1.0.93\bin\tolua++ -S -o ..\lua_duiengine.cpp duiengine.pkg 2 | pause -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/package/duiengine.pkg: -------------------------------------------------------------------------------- 1 | $#include "require.h" 2 | $#include 3 | 4 | $pfile "basic.pkg" 5 | 6 | namespace DuiEngine 7 | { 8 | $pfile "DuiImgBase.pkg" 9 | $pfile "DuiResProviderbase.pkg" 10 | $pfile "DuiLogger.pkg" 11 | $pfile "DuiScriptModule.pkg" 12 | $pfile "DuiSystem.pkg" 13 | $pfile "DuiWindow.pkg" 14 | $pfile "DuiMessageBox.pkg" 15 | #pfile "DuiThreadActivWndMgr.pkg" 16 | } -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/require.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define DLL_DUI 4 | typedef char * _cstring; 5 | typedef void * _userdata; 6 | #define __op_run operator() -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/stdafx.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/stdafx.cpp -------------------------------------------------------------------------------- /scriptModule/luaScriptModule/luaScriptModule/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/scriptModule/luaScriptModule/luaScriptModule/stdafx.h -------------------------------------------------------------------------------- /template/MainDlg.cpp: -------------------------------------------------------------------------------- 1 | // MainDlg.cpp : implementation of the CMainDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | 5 | #include "stdafx.h" 6 | #include "MainDlg.h" 7 | #include "UIHander.h" 8 | 9 | CMainDlg::CMainDlg() : CDuiHostWnd(IDR_DUI_MAIN_DIALOG) 10 | { 11 | m_pUiHandler = new CUIHander(this); 12 | } 13 | 14 | CMainDlg::~CMainDlg() 15 | { 16 | delete m_pUiHandler; 17 | } 18 | -------------------------------------------------------------------------------- /template/MainDlg.h: -------------------------------------------------------------------------------- 1 | // MainDlg.h : interface of the CMainDlg class 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | #pragma once 5 | 6 | #include "UIHander.h" 7 | 8 | class CMainDlg : public CDuiHostWnd 9 | { 10 | public: 11 | CMainDlg(); 12 | ~CMainDlg(); 13 | 14 | void OnClose() 15 | { 16 | EndDialog(IDCANCEL); 17 | } 18 | 19 | protected: 20 | 21 | DUI_NOTIFY_MAP(IDC_RICHVIEW_WIN) 22 | DUI_NOTIFY_ID_COMMAND(1, OnClose) 23 | DUI_NOTIFY_MAP_END() 24 | 25 | BEGIN_MSG_MAP_EX(CMainDlg) 26 | MSG_WM_CLOSE(OnClose) 27 | MSG_DUI_NOTIFY(IDC_RICHVIEW_WIN) 28 | CHAIN_MSG_MAP_MEMBER((*m_pUiHandler)) 29 | CHAIN_MSG_MAP(CDuiHostWnd) 30 | REFLECT_NOTIFICATIONS_EX() 31 | END_MSG_MAP() 32 | 33 | private: 34 | CUIHander * m_pUiHandler; 35 | }; 36 | -------------------------------------------------------------------------------- /template/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/ReadMe.txt -------------------------------------------------------------------------------- /template/UIHander.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/UIHander.cpp -------------------------------------------------------------------------------- /template/UIHander.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CMainDlg; 4 | 5 | class CUIHander 6 | { 7 | public: 8 | CUIHander(CMainDlg *pMainDlg); 9 | ~CUIHander(void); 10 | 11 | protected: 12 | LRESULT OnInitDialog(HWND hWnd, LPARAM lParam); 13 | 14 | BEGIN_MSG_MAP_EX(CUIHander) 15 | MSG_DUI_NOTIFY(IDC_RICHVIEW_WIN) 16 | MSG_WM_INITDIALOG(OnInitDialog) 17 | END_MSG_MAP() 18 | 19 | DUI_NOTIFY_MAP(IDC_RICHVIEW_WIN) 20 | DUI_NOTIFY_MAP_END() 21 | private: 22 | CMainDlg * m_pMainDlg; 23 | }; 24 | -------------------------------------------------------------------------------- /template/dui-demo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/dui-demo.cpp -------------------------------------------------------------------------------- /template/dui-demo.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/dui-demo.rc -------------------------------------------------------------------------------- /template/duires/dui-demo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/duires/dui-demo.ico -------------------------------------------------------------------------------- /template/duires/name2id.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /template/duires/res.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/duires/res.h -------------------------------------------------------------------------------- /template/duires/winres.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | /*<---------------------------RES_BUILDER:begin-----------------------------------*/ 4 | #define maindlg 65537 5 | #define close 1 6 | /*----------------------------RES_BUILDER:end------------------------------------->*/ 7 | -------------------------------------------------------------------------------- /template/duires/winres.rc2: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #define __DUIRES_RC 3 | #include "duires.h" 4 | 5 | #pragma message("include winres.rc2") 6 | 7 | 8 | /*<---------------------------RES_BUILDER:begin-----------------------------------*/ 9 | DEFINE_XML(IDR_DUI_SKIN_DEF, 100, "skin\\xml\\def_skin.xml") 10 | DEFINE_XML(IDR_DUI_STYLE_DEF, 101, "skin\\xml\\def_style.xml") 11 | DEFINE_XML(IDR_DUI_STRING_DEF, 102, "skin\\xml\\def_string.xml") 12 | DEFINE_XML(IDR_DUI_OBJATTR_DEF, 104, "skin\\xml\\def_objattr.xml") 13 | DEFINE_XML(IDR_DUI_MAIN_DIALOG, 105, "skin\\xml\\dlg_main.xml") 14 | DEFINE_IMGX(IDP_MAIN_DLG_FRAME, 1, "skin\\image\\dlg_bg_frame.png") 15 | DEFINE_IMGX(IDP_BTN_WND_CHECKBOX, 51, "skin\\image\\btn_wnd_checkbox.png") 16 | DEFINE_IMGX(IDP_BTN_WND_RADIO, 52, "skin\\image\\btn_wnd_radio.png") 17 | DEFINE_IMGX(IDP_FOCUS_CHECK, 53, "skin\\image\\focus_checkbox.png") 18 | DEFINE_IMGX(IDP_FOCUS_RADIO, 54, "skin\\image\\focus_radio.png") 19 | DEFINE_IMGX(IDP_BTN_SYS_CLOSE, 80, "skin\\image\\btn_sys_close.png") 20 | DEFINE_IMGX(IDP_SCROLL, 104, "skin\\image\\scrollbar.bmp") 21 | /*----------------------------RES_BUILDER:end------------------------------------->*/ 22 | -------------------------------------------------------------------------------- /template/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by dui-demo.rc 4 | // 5 | #define IDR_NAME2ID 112 6 | #define IDI_ICON1 113 7 | #define IDI_DUIDEMO 113 8 | 9 | // Next default values for new objects 10 | // 11 | #ifdef APSTUDIO_INVOKED 12 | #ifndef APSTUDIO_READONLY_SYMBOLS 13 | #define _APS_NEXT_RESOURCE_VALUE 114 14 | #define _APS_NEXT_COMMAND_VALUE 40037 15 | #define _APS_NEXT_CONTROL_VALUE 1000 16 | #define _APS_NEXT_SYMED_VALUE 101 17 | #endif 18 | #endif 19 | -------------------------------------------------------------------------------- /template/skin/image/btn_sys_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/btn_sys_close.png -------------------------------------------------------------------------------- /template/skin/image/btn_wnd_checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/btn_wnd_checkbox.png -------------------------------------------------------------------------------- /template/skin/image/btn_wnd_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/btn_wnd_radio.png -------------------------------------------------------------------------------- /template/skin/image/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/check.png -------------------------------------------------------------------------------- /template/skin/image/dlg_bg_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/dlg_bg_frame.png -------------------------------------------------------------------------------- /template/skin/image/focus_checkbox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/focus_checkbox.png -------------------------------------------------------------------------------- /template/skin/image/focus_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/focus_radio.png -------------------------------------------------------------------------------- /template/skin/image/scrollbar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/template/skin/image/scrollbar.bmp -------------------------------------------------------------------------------- /template/skin/index.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /template/skin/xml/def_objattr.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /wizard/DuiEngineWizard/Templates/2052/skin/xml/dlg_msgbox.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | title 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /wizard/DuiEngineWizard/Templates/2052/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 | -------------------------------------------------------------------------------- /wizard/DuiEngineWizard/Templates/2052/stdafx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/wizard/DuiEngineWizard/Templates/2052/stdafx.h -------------------------------------------------------------------------------- /wizard/DuiEngineWizard2005.vsz: -------------------------------------------------------------------------------- 1 | VSWIZARD 7.0 2 | Wizard=VsWizard.VsWizardEngine.8.0 3 | 4 | Param="WIZARD_NAME = DuiEngineWizard" 5 | Param="RELATIVE_PATH = vcprojects" 6 | Param="FALLBACK_LCID = 2052" -------------------------------------------------------------------------------- /wizard/DuiEngineWizard2008.vsz: -------------------------------------------------------------------------------- 1 | VSWIZARD 7.0 2 | Wizard=VsWizard.VsWizardEngine.9.0 3 | 4 | Param="WIZARD_NAME = DuiEngineWizard" 5 | Param="RELATIVE_PATH = vcprojects" 6 | Param="FALLBACK_LCID = 2052" -------------------------------------------------------------------------------- /wizard/DuiEngineWizard2010.vsz: -------------------------------------------------------------------------------- 1 | VSWIZARD 7.0 2 | Wizard=VsWizard.VsWizardEngine.10.0 3 | 4 | Param="WIZARD_NAME = DuiEngineWizard" 5 | Param="RELATIVE_PATH = vcprojects" 6 | Param="FALLBACK_LCID = 2052" -------------------------------------------------------------------------------- /wizard/DuiEngineWizard2012.vsz: -------------------------------------------------------------------------------- 1 | VSWIZARD 7.0 2 | Wizard=VsWizard.VsWizardEngine.11.0 3 | 4 | Param="WIZARD_NAME = DuiEngineWizard" 5 | Param="RELATIVE_PATH = vcprojects" 6 | Param="FALLBACK_LCID = 2052" -------------------------------------------------------------------------------- /wizard/scripts/vs2008/default.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/wizard/scripts/vs2008/default.js -------------------------------------------------------------------------------- /wizard/scripts/vs2012/default.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/wizard/scripts/vs2012/default.js -------------------------------------------------------------------------------- /wizard/wizard.setup.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/wizard/wizard.setup.exe -------------------------------------------------------------------------------- /zlib/ChangeLog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azunite/duiengine/5a32ba18987ab0fea36f71f0f47349a30de4e517/zlib/ChangeLog -------------------------------------------------------------------------------- /zlib/inffast.h: -------------------------------------------------------------------------------- 1 | /* inffast.h -- header to use inffast.c 2 | * Copyright (C) 1995-2003 Mark Adler 3 | * For conditions of distribution and use, see copyright notice in zlib.h 4 | */ 5 | 6 | /* WARNING: this file should *not* be used by applications. It is 7 | part of the implementation of the compression library and is 8 | subject to change. Applications should only use zlib.h. 9 | */ 10 | 11 | void inflate_fast OF((z_streamp strm, unsigned start)); 12 | -------------------------------------------------------------------------------- /zlib/zlib.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "zlib"=.\zlib.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /zlib/zlib.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual Studio 2008 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcproj", "{033A5B72-55E3-4D81-9A5E-B224B2896415}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Debug|Win32.Build.0 = Debug|Win32 16 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Debug|x64.ActiveCfg = Debug|x64 17 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Debug|x64.Build.0 = Debug|x64 18 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Release|Win32.ActiveCfg = Release|Win32 19 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Release|Win32.Build.0 = Release|Win32 20 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Release|x64.ActiveCfg = Release|x64 21 | {033A5B72-55E3-4D81-9A5E-B224B2896415}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | --------------------------------------------------------------------------------