Author: khornicek
Date: Thu Jan 19 18:15:49 2012
New Revision: 55012

URL: http://svn.reactos.org/svn/reactos?rev=55012&view=rev
Log:
[WINED3DCFG]
Add a simple control panel applet for WineD3D runtime configuration.

Added:
    trunk/reactos/dll/cpl/wined3dcfg/   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/CMakeLists.txt   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/general.c   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/lang/   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/lang/en-US.rc   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/resource.h   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/resources/   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/resources/wined3dcfg.ico   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/rsrc.rc   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.c   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.h   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rc   (with props)
    trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.spec   (with props)
Modified:
    trunk/reactos/dll/cpl/   (props changed)
    trunk/reactos/dll/cpl/CMakeLists.txt
    trunk/reactos/dll/cpl/cpl.rbuild

Propchange: trunk/reactos/dll/cpl/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Thu Jan 19 18:15:49 2012
@@ -1,7 +1,8 @@
-GNUmakefile
-*.vcproj
-*.user
 *.cbp
 *.ncb
+*.sln
 *.suo
-*.sln
+*.user
+*.vcproj
+GNUmakefile
+wined3dcfg

Modified: trunk/reactos/dll/cpl/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/CMakeLists.txt?rev=55012&r1=55011&r2=55012&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/dll/cpl/CMakeLists.txt [iso-8859-1] Thu Jan 19 18:15:49 2012
@@ -18,3 +18,4 @@
 add_subdirectory(telephon)
 add_subdirectory(timedate)
 add_subdirectory(usrmgr)
+add_subdirectory(wined3dcfg)

Modified: trunk/reactos/dll/cpl/cpl.rbuild
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/cpl.rbuild?rev=55012&r1=55011&r2=55012&view=diff
==============================================================================
--- trunk/reactos/dll/cpl/cpl.rbuild [iso-8859-1] (original)
+++ trunk/reactos/dll/cpl/cpl.rbuild [iso-8859-1] Thu Jan 19 18:15:49 2012
@@ -55,4 +55,7 @@
 <directory name="usrmgr">
        <xi:include href="usrmgr/usrmgr.rbuild" />
 </directory>
+<directory name="wined3dcfg">
+       <xi:include href="wined3dcfg/wined3dcfg.rbuild" />
+</directory>
 </group>

Propchange: trunk/reactos/dll/cpl/wined3dcfg/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Thu Jan 19 18:15:49 2012
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)

Propchange: trunk/reactos/dll/cpl/wined3dcfg/
------------------------------------------------------------------------------
    bugtraq:message = See issue #%BUGID% for more details.

Propchange: trunk/reactos/dll/cpl/wined3dcfg/
------------------------------------------------------------------------------
    bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: trunk/reactos/dll/cpl/wined3dcfg/
------------------------------------------------------------------------------
    tsvn:logminsize = 10

Added: trunk/reactos/dll/cpl/wined3dcfg/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/CMakeLists.txt?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/CMakeLists.txt (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/CMakeLists.txt [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,22 @@
+
+set_rc_compiler()
+
+spec2def(wined3dcfg.cpl wined3dcfg.spec)
+
+add_library(wined3dcfg SHARED
+    wined3dcfg.c
+    general.c
+    wined3dcfg.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/wined3dcfg.def)
+
+set_module_type(wined3dcfg cpl UNICODE)
+
+add_importlibs(wined3dcfg
+    msvcrt
+    user32
+    comctl32
+    advapi32
+    kernel32)
+
+add_pch(wined3dcfg wined3dcfg.h)
+add_cd_file(TARGET wined3dcfg DESTINATION reactos/system32 FOR all)

Propchange: trunk/reactos/dll/cpl/wined3dcfg/CMakeLists.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/reactos/dll/cpl/wined3dcfg/general.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/general.c?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/general.c (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/general.c [iso-8859-1] Thu Jan 19 18:15:49 
2012
@@ -1,0 +1,163 @@
+#include "wined3dcfg.h"
+
+static LONG ReadSetting(HKEY hKey, PWCHAR szKey, PWCHAR szBuffer, DWORD dwSize)
+{
+    return RegQueryValueExW(hKey, szKey, NULL, NULL, (LPBYTE)szBuffer, 
&dwSize);
+}
+
+static VOID SaveSetting(HKEY hKey, PWCHAR szKey, PWCHAR szState)
+{
+    RegSetValueExW(hKey, szKey, 0, REG_SZ, (LPBYTE)szState, (wcslen(szState) + 
1) * sizeof(WCHAR));
+}
+
+static VOID InitSettings(HWND hWndDlg)
+{
+    HKEY hKey;
+    WCHAR szBuffer[MAX_KEY_LENGTH];
+    DWORD dwSize = MAX_KEY_LENGTH;
+
+    if (RegOpenKeyExW(HKEY_CURRENT_USER,
+                      KEY_WINE,
+                      0,
+                      KEY_READ,
+                      &hKey) != ERROR_SUCCESS)
+    {
+        return;
+    }
+
+    if(ReadSetting(hKey, KEY_GLSL, szBuffer, dwSize) == ERROR_SUCCESS)
+        CheckDlgButton(hWndDlg, IDC_GLSL, (wcscmp(VALUE_DISABLED, szBuffer) != 
0) ? BST_CHECKED : BST_UNCHECKED);
+
+    if(ReadSetting(hKey, KEY_MULTISAMPLING, szBuffer, dwSize) == ERROR_SUCCESS)
+        CheckDlgButton(hWndDlg, IDC_MULTISAMPLING, (wcscmp(VALUE_ENABLED, 
szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
+
+    if(ReadSetting(hKey, KEY_PIXELSHADERS, szBuffer, dwSize) == ERROR_SUCCESS)
+        CheckDlgButton(hWndDlg, IDC_PIXELSHADERS, (wcscmp(VALUE_ENABLED, 
szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
+
+    if(ReadSetting(hKey, KEY_STRICTDRAWORDERING, szBuffer, dwSize) == 
ERROR_SUCCESS)
+        CheckDlgButton(hWndDlg, IDC_STRICTDRAWORDERING, (wcscmp(VALUE_ENABLED, 
szBuffer) == 0) ? BST_CHECKED : BST_UNCHECKED);
+
+    if(ReadSetting(hKey, KEY_VERTEXSHADERS, szBuffer, dwSize) == ERROR_SUCCESS)
+        CheckDlgButton(hWndDlg, IDC_VERTEXSHADERS, (wcscmp(VALUE_NONE, 
szBuffer) != 0) ? BST_CHECKED : BST_UNCHECKED);
+
+    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_ADDSTRING, 0, 
(LPARAM)VALUE_FBO);
+    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_ADDSTRING, 0, 
(LPARAM)VALUE_BACKBUFFER);
+
+    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETITEMDATA, ITEM_FBO, 
(LPARAM)ITEM_FBO);
+    SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETITEMDATA, 
ITEM_BACKBUFFER, (LPARAM)ITEM_BACKBUFFER);
+
+    if(ReadSetting(hKey, KEY_OFFSCREEN, szBuffer, dwSize) == ERROR_SUCCESS && 
!wcscmp(VALUE_BACKBUFFER, szBuffer))
+        SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETCURSEL, 1, 0);
+    else
+        SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_SETCURSEL, 0, 0);
+
+    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, 
(LPARAM)VALUE_READTEX);
+    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, 
(LPARAM)VALUE_READDRAW);
+    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_ADDSTRING, 0, 
(LPARAM)VALUE_DISABLED);
+
+    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, 
(WPARAM)ITEM_READTEX, (LPARAM)ITEM_READTEX);
+    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, 
(WPARAM)ITEM_READDRAW, (LPARAM)ITEM_READDRAW);
+    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETITEMDATA, 
(WPARAM)ITEM_DISABLED, (LPARAM)ITEM_DISABLED);
+
+    SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 0, 0);
+
+    if(ReadSetting(hKey, KEY_LOCKING, szBuffer, dwSize) == ERROR_SUCCESS)
+    {
+        if(!wcscmp(VALUE_READDRAW, szBuffer))
+            SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 1, 0);
+        else if(!wcscmp(VALUE_DISABLED, szBuffer))
+            SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_SETCURSEL, 2, 0);
+    }
+
+    RegCloseKey(hKey);
+}
+
+static VOID WriteSettings(HWND hWndDlg)
+{
+    HKEY hKey;
+    INT iCurSel;
+
+    if (RegOpenKeyExW(HKEY_CURRENT_USER,
+                      KEY_WINE,
+                      0,
+                      KEY_WRITE,
+                      &hKey) != ERROR_SUCCESS)
+    {
+        return;
+    }
+
+    SaveSetting(hKey, KEY_GLSL, (IsDlgButtonChecked(hWndDlg, IDC_GLSL) == 
BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
+    SaveSetting(hKey, KEY_MULTISAMPLING, (IsDlgButtonChecked(hWndDlg, 
IDC_MULTISAMPLING) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
+    SaveSetting(hKey, KEY_PIXELSHADERS, (IsDlgButtonChecked(hWndDlg, 
IDC_PIXELSHADERS) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
+    SaveSetting(hKey, KEY_STRICTDRAWORDERING, (IsDlgButtonChecked(hWndDlg, 
IDC_STRICTDRAWORDERING) == BST_CHECKED) ? VALUE_ENABLED : VALUE_DISABLED);
+    SaveSetting(hKey, KEY_VERTEXSHADERS, (IsDlgButtonChecked(hWndDlg, 
IDC_VERTEXSHADERS) == BST_CHECKED) ? VALUE_ENABLED : VALUE_NONE);
+
+    iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_LOCKING, CB_GETCURSEL, 0, 
0);
+
+    if(iCurSel != CB_ERR)
+    {
+        iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_LOCKING, 
CB_GETITEMDATA, (WPARAM)iCurSel, 0);
+
+        if(iCurSel == ITEM_READDRAW)
+            SaveSetting(hKey, KEY_LOCKING, VALUE_READDRAW);
+        else if(iCurSel == ITEM_DISABLED)
+            SaveSetting(hKey, KEY_LOCKING, VALUE_DISABLED);
+        else
+            SaveSetting(hKey, KEY_LOCKING, VALUE_READTEX);
+    }
+
+    iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, CB_GETCURSEL, 
0, 0);
+
+    if(iCurSel != CB_ERR)
+    {
+        iCurSel = (INT)SendDlgItemMessageW(hWndDlg, IDC_OFFSCREEN, 
CB_GETITEMDATA, (WPARAM)iCurSel, 0);
+
+        if(iCurSel == ITEM_BACKBUFFER)
+            SaveSetting(hKey, KEY_OFFSCREEN, VALUE_BACKBUFFER);
+        else
+            SaveSetting(hKey, KEY_OFFSCREEN, VALUE_FBO);
+    }
+
+    RegCloseKey(hKey);
+}
+
+
+INT_PTR CALLBACK GeneralPageProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, 
LPARAM lParam)
+{
+    LPPSHNOTIFY lppsn;
+
+    switch (uMsg)
+    {
+        case WM_INITDIALOG:
+            InitSettings(hWndDlg);
+            return TRUE;
+
+        case WM_COMMAND:
+            switch (LOWORD(wParam))
+            {
+                case IDC_GLSL:
+                case IDC_LOCKING:
+                case IDC_MULTISAMPLING:
+                case IDC_OFFSCREEN:
+                case IDC_PIXELSHADERS:
+                case IDC_STRICTDRAWORDERING:
+                case IDC_VERTEXSHADERS:
+                    PropSheet_Changed(GetParent(hWndDlg), hWndDlg);
+                    break;
+                default:
+                    break;
+            }
+            break;
+
+        case WM_NOTIFY:
+            lppsn = (LPPSHNOTIFY)lParam;
+            if (lppsn->hdr.code == PSN_APPLY)
+            {
+                WriteSettings(hWndDlg);
+                return TRUE;
+            }
+            break;
+    }
+
+    return FALSE;
+}

Propchange: trunk/reactos/dll/cpl/wined3dcfg/general.c
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/reactos/dll/cpl/wined3dcfg/lang/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Thu Jan 19 18:15:49 2012
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)

Propchange: trunk/reactos/dll/cpl/wined3dcfg/lang/
------------------------------------------------------------------------------
    bugtraq:message = See issue #%BUGID% for more details.

Propchange: trunk/reactos/dll/cpl/wined3dcfg/lang/
------------------------------------------------------------------------------
    bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: trunk/reactos/dll/cpl/wined3dcfg/lang/
------------------------------------------------------------------------------
    tsvn:logminsize = 10

Added: trunk/reactos/dll/cpl/wined3dcfg/lang/en-US.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/lang/en-US.rc?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/lang/en-US.rc (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/lang/en-US.rc [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,27 @@
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+
+IDD_PROPPAGEGENERAL DIALOGEX 0, 0, 246, 228
+STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION
+CAPTION "General"
+FONT 8, "MS Shell Dlg"
+BEGIN
+    ICON IDI_CPLICON, IDI_CPLICON, 8, 5, 21, 20
+    GROUPBOX "Shaders", -1, 5, 35, 230, 65
+    AUTOCHECKBOX "Enable &GLSL", IDC_GLSL, 15, 50, 150, 10
+    AUTOCHECKBOX "Enable &pixel shaders", IDC_PIXELSHADERS, 15, 65, 150, 10
+    AUTOCHECKBOX "Enable &Vertex shaders", IDC_VERTEXSHADERS, 15, 80, 150, 10
+    GROUPBOX "Rendering", -1, 5, 110, 230, 85
+    AUTOCHECKBOX "Force &multisampling", IDC_MULTISAMPLING, 15, 125, 150, 10
+    AUTOCHECKBOX "Force &strict draw ordering", IDC_STRICTDRAWORDERING, 15, 
140, 150, 10
+    LTEXT "Offscreen rendering:", -1, 15, 157, 80, 10
+    COMBOBOX IDC_OFFSCREEN, 95, 155, 90, 50, WS_TABSTOP | WS_VSCROLL | 
CBS_DROPDOWNLIST
+    LTEXT "Render target locking:", -1, 15, 175, 72, 10, SS_LEFT
+    COMBOBOX IDC_LOCKING, 95, 173, 90, 50, WS_TABSTOP | WS_VSCROLL | 
CBS_DROPDOWNLIST
+END
+
+
+STRINGTABLE
+BEGIN
+    IDS_CPLNAME "WineD3D"
+    IDS_CPLDESCRIPTION "Configures WineD3D runtime settings."
+END

Propchange: trunk/reactos/dll/cpl/wined3dcfg/lang/en-US.rc
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/reactos/dll/cpl/wined3dcfg/resource.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/resource.h?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/resource.h (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/resource.h [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,23 @@
+#pragma once
+
+/* Icons */
+#define IDI_CPLICON                1
+
+/* Dialogs */
+#define IDD_PROPPAGEGENERAL        100
+
+/* Controls */
+#define IDC_PIXELSHADERS           1001
+#define IDC_GLSL                   1002
+#define IDC_VERTEXSHADERS          1003
+#define IDC_MULTISAMPLING          1004
+#define IDC_STRICTDRAWORDERING     1005
+#define IDC_OFFSCREEN              1006
+#define IDC_LOCKING                1007
+
+
+/* Strings */
+#define IDS_CPLNAME                10000
+#define IDS_CPLDESCRIPTION         10001
+
+/* EOF */

Propchange: trunk/reactos/dll/cpl/wined3dcfg/resource.h
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/reactos/dll/cpl/wined3dcfg/resources/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Thu Jan 19 18:15:49 2012
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)

Propchange: trunk/reactos/dll/cpl/wined3dcfg/resources/
------------------------------------------------------------------------------
    bugtraq:message = See issue #%BUGID% for more details.

Propchange: trunk/reactos/dll/cpl/wined3dcfg/resources/
------------------------------------------------------------------------------
    bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: trunk/reactos/dll/cpl/wined3dcfg/resources/
------------------------------------------------------------------------------
    tsvn:logminsize = 10

Added: trunk/reactos/dll/cpl/wined3dcfg/resources/wined3dcfg.ico
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/resources/wined3dcfg.ico?rev=55012&view=auto
==============================================================================
Binary file - no diff available.

Propchange: trunk/reactos/dll/cpl/wined3dcfg/resources/wined3dcfg.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: trunk/reactos/dll/cpl/wined3dcfg/rsrc.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/rsrc.rc?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/rsrc.rc (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/rsrc.rc [iso-8859-1] Thu Jan 19 18:15:49 
2012
@@ -1,0 +1,6 @@
+#include <windows.h>
+#include "resource.h"
+
+// UTF-8
+#pragma code_page(65001)
+#include "lang/en-US.rc"

Propchange: trunk/reactos/dll/cpl/wined3dcfg/rsrc.rc
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.c?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.c (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.c [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,77 @@
+#include "wined3dcfg.h"
+
+HINSTANCE hApplet = 0;
+
+LONG CALLBACK AppletInit(HWND hWnd)
+{
+    PROPSHEETPAGEW psp;
+    PROPSHEETHEADERW psh;
+    WCHAR szCaption[1024];
+
+    LoadStringW(hApplet, IDS_CPLNAME, szCaption, sizeof(szCaption) / 
sizeof(WCHAR));
+
+    ZeroMemory(&psp, sizeof(PROPSHEETPAGE));
+    psp.dwSize = sizeof(PROPSHEETPAGE);
+    psp.dwFlags = PSP_DEFAULT;
+    psp.hInstance = hApplet;
+    psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGEGENERAL);
+    psp.pfnDlgProc = GeneralPageProc;
+
+    ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
+    psh.dwSize = sizeof(PROPSHEETHEADER);
+    psh.dwFlags =  PSH_PROPSHEETPAGE;
+    psh.hwndParent = hWnd;
+    psh.hInstance = hApplet;
+    psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDI_CPLICON));
+    psh.pszCaption = szCaption;
+    psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
+    psh.nStartPage = 0;
+    psh.ppsp = &psp;
+
+    return (LONG)(PropertySheet(&psh) != -1);
+}
+
+LONG CALLBACK CPlApplet(HWND hWnd, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
+{
+    switch (uMsg)
+    {
+        case CPL_INIT:
+            return TRUE;
+
+        case CPL_GETCOUNT:
+            return 1;
+
+        case CPL_INQUIRE:
+            {
+                CPLINFO *CPlInfo = (CPLINFO*)lParam2;
+                CPlInfo->lData = 0;
+                CPlInfo->idIcon = IDI_CPLICON;
+                CPlInfo->idInfo = IDS_CPLDESCRIPTION;
+                CPlInfo->idName = IDS_CPLNAME;
+            }
+            break;
+
+        case CPL_DBLCLK:
+            AppletInit(hWnd);
+            break;
+    }
+
+    return FALSE;
+}
+
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD dwReason, LPVOID lpvReserved)
+{
+    UNREFERENCED_PARAMETER(lpvReserved);
+
+    switch (dwReason)
+    {
+        case DLL_PROCESS_ATTACH:
+        case DLL_THREAD_ATTACH:
+            hApplet = hinstDLL;
+            break;
+    }
+
+  return TRUE;
+}
+

Propchange: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.c
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.h?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.h (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.h [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,37 @@
+#include <windows.h>
+#include <commctrl.h>
+#include <cpl.h>
+#include <stdio.h>
+#include <initguid.h>
+#include <debug.h>
+
+#include "resource.h"
+
+#define MAX_KEY_LENGTH 256
+
+#define ITEM_FBO                  0
+#define ITEM_BACKBUFFER           1
+
+#define ITEM_READTEX              0
+#define ITEM_READDRAW             1
+#define ITEM_DISABLED             2
+
+#define VALUE_READTEX              L"readtex"
+#define VALUE_READDRAW             L"readdraw"
+#define VALUE_ENABLED              L"enabled"
+#define VALUE_DISABLED             L"disabled"
+#define VALUE_NONE                 L"none"
+#define VALUE_BACKBUFFER           L"backbuffer"
+#define VALUE_FBO                  L"fbo"
+
+#define KEY_WINE                  L"Software\\Wine\\Direct3D"
+
+#define KEY_GLSL                  L"UseGLSL"
+#define KEY_VERTEXSHADERS         L"VertexShaderMode"
+#define KEY_PIXELSHADERS          L"PixelShaderMode"
+#define KEY_STRICTDRAWORDERING    L"StrictDrawOrdering"
+#define KEY_OFFSCREEN             L"OffscreenRenderingMode"
+#define KEY_MULTISAMPLING         L"Multisampling"
+#define KEY_LOCKING               L"RenderTargetLockMode"
+
+INT_PTR CALLBACK GeneralPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, 
LPARAM lParam);

Propchange: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.h
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,14 @@
+<?xml version="1.0"?>
+<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
+<module name="wined3dcfg" type="win32dll" extension=".cpl" 
installbase="system32" installname="wined3dcfg.cpl" crt="msvcrt" unicode="yes">
+       <importlibrary definition="wined3dcfg.spec" />
+       <include base="wined3dcfg">.</include>
+       <library>user32</library>
+       <library>comctl32</library>
+       <library>advapi32</library>
+       <library>kernel32</library>
+       <file>wined3dcfg.c</file>
+       <file>general.c</file>
+       <file>wined3dcfg.rc</file>
+       <pch>wined3dcfg.h</pch>
+</module>

Propchange: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rbuild
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rc?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rc (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rc [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,15 @@
+#include <windows.h>
+#include "resource.h"
+
+LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
+
+#define REACTOS_VERSION_DLL
+#define REACTOS_STR_FILE_DESCRIPTION    "ReactOS WineD3D Configuration Control 
Panel\0"
+#define REACTOS_STR_INTERNAL_NAME       "WineD3Dcfg\0"
+#define REACTOS_STR_ORIGINAL_FILENAME   "WineD3Dcfg.cpl\0"
+#include <reactos/version.rc>
+
+/* Icons */
+IDI_CPLICON         ICON "resources/wined3dcfg.ico"
+
+#include "rsrc.rc"

Propchange: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.rc
------------------------------------------------------------------------------
    svn:eol-style = native

Added: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.spec
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.spec?rev=55012&view=auto
==============================================================================
--- trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.spec (added)
+++ trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.spec [iso-8859-1] Thu Jan 19 
18:15:49 2012
@@ -1,0 +1,2 @@
+@ stdcall CPlApplet(ptr long ptr ptr)
+

Propchange: trunk/reactos/dll/cpl/wined3dcfg/wined3dcfg.spec
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to