diff --git a/rosapps/welcome/autorun.rc b/rosapps/welcome/autorun.rc deleted file mode 100644 index 472fac9cfaa..00000000000 --- a/rosapps/welcome/autorun.rc +++ /dev/null @@ -1,92 +0,0 @@ - -#include "resource.h" - - -/* Bitmaps */ - -IDB_TITLEBITMAP BITMAP DISCARDABLE "res/title.bmp" -IDB_DEFAULTTOPICBITMAP BITMAP DISCARDABLE "res/default.bmp" - -IDB_TOPICBITMAP0 BITMAP DISCARDABLE "res/topic0.bmp" -IDB_TOPICBITMAP1 BITMAP DISCARDABLE "res/topic1.bmp" -IDB_TOPICBITMAP2 BITMAP DISCARDABLE "res/topic2.bmp" -//IDB_TOPICBITMAP3 BITMAP DISCARDABLE "res/topic3.bmp" -//IDB_TOPICBITMAP4 BITMAP DISCARDABLE "res/topic4.bmp" -//IDB_TOPICBITMAP5 BITMAP DISCARDABLE "res/topic5.bmp" -//IDB_TOPICBITMAP6 BITMAP DISCARDABLE "res/topic6.bmp" -//IDB_TOPICBITMAP7 BITMAP DISCARDABLE "res/topic7.bmp" -//IDB_TOPICBITMAP8 BITMAP DISCARDABLE "res/topic8.bmp" -//IDB_TOPICBITMAP9 BITMAP DISCARDABLE "res/topic9.bmp" - - -/* String Tables */ - -/* Default settings */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_APPTITLE "ReactOS 0.0.20 - Installation CD" - IDS_DEFAULTTOPICTITLE "ReactOS" - IDS_DEFAULTTOPICDESC "The new Operating System for computer users who do not want to obey to the Monopoly.\n\nClick a topic on the left." -// IDS_CHECKTEXT "&Show this dialog again" -// IDS_CLOSETEXT "E&xit" -END - -/* Topic buttons */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICBUTTON0 "&Install ReactOS" - IDS_TOPICBUTTON1 "Install ReactOS &Components" - IDS_TOPICBUTTON2 "Online &Registration" - IDS_TOPICBUTTON3 "&Browse this CD" - IDS_TOPICBUTTON4 "E&xit" -// IDS_TOPICBUTTON5 "Empty Topic 5" -// IDS_TOPICBUTTON6 "Empty Topic 6" -// IDS_TOPICBUTTON7 "Empty Topic 7" -// IDS_TOPICBUTTON8 "Empty Topic 8" -// IDS_TOPICBUTTON9 "Empty Topic 9" -END - -/* Topic titles */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICTITLE0 "Install ReactOS" - IDS_TOPICTITLE1 "Install ReactOS Components" - IDS_TOPICTITLE2 "Online Registration" - IDS_TOPICTITLE3 "Browse this CD" - IDS_TOPICTITLE4 "Exit" -// IDS_TOPICTITLE5 "Empty Topic Title 5" -// IDS_TOPICTITLE6 "Empty Topic Title 6" -// IDS_TOPICTITLE7 "Empty Topic Title 7" -// IDS_TOPICTITLE8 "Empty Topic Title 8" -// IDS_TOPICTITLE9 "Empty Topic Title 9" -END - -/* Topic descriptions */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICDESC0 "Install ReactOS on this computer.\nYou can either update an existing installation or create a new one." - IDS_TOPICDESC1 "Customize ReactOS by installing optional applications and components." - IDS_TOPICDESC2 "Register ReactOS now!\n\nBy registering ReactOS you will gain a lot of additional benefits, like unsolicited product information, incompetent hotline services and huge amounts of third-party junk mail." - IDS_TOPICDESC3 "Browse the CD to find only a few files, no applications, incomplete documentation and no readme files." - IDS_TOPICDESC4 "Click to exit this application." -// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here." -// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here." -// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here." -// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here." -// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here." -END - -/* Topic actions */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICACTION0 "setup32.exe" - IDS_TOPICACTION1 "sysocmgr.exe" - IDS_TOPICACTION2 "signup.exe" - IDS_TOPICACTION3 "explorer.exe" -// IDS_TOPICACTION4 "..." -// IDS_TOPICACTION5 "..." -// IDS_TOPICACTION6 "..." -// IDS_TOPICACTION7 "..." -// IDS_TOPICACTION8 "..." -// IDS_TOPICACTION9 "..." -END diff --git a/rosapps/welcome/res/default.bmp b/rosapps/welcome/res/default.bmp deleted file mode 100644 index 4b7a7e292c1..00000000000 Binary files a/rosapps/welcome/res/default.bmp and /dev/null differ diff --git a/rosapps/welcome/res/title.bmp b/rosapps/welcome/res/title.bmp deleted file mode 100644 index bc175d6fbcd..00000000000 Binary files a/rosapps/welcome/res/title.bmp and /dev/null differ diff --git a/rosapps/welcome/res/topic0.bmp b/rosapps/welcome/res/topic0.bmp deleted file mode 100644 index cb1392d4aea..00000000000 Binary files a/rosapps/welcome/res/topic0.bmp and /dev/null differ diff --git a/rosapps/welcome/res/topic1.bmp b/rosapps/welcome/res/topic1.bmp deleted file mode 100644 index 5caa2b096f0..00000000000 Binary files a/rosapps/welcome/res/topic1.bmp and /dev/null differ diff --git a/rosapps/welcome/res/topic2.bmp b/rosapps/welcome/res/topic2.bmp deleted file mode 100644 index 76b1b60e4b2..00000000000 Binary files a/rosapps/welcome/res/topic2.bmp and /dev/null differ diff --git a/rosapps/welcome/resource.h b/rosapps/welcome/resource.h deleted file mode 100644 index b8d40f5d8cb..00000000000 --- a/rosapps/welcome/resource.h +++ /dev/null @@ -1,83 +0,0 @@ - -#define IDS_APPTITLE 1000 -#define IDS_DEFAULTTOPICTITLE 1001 -#define IDS_DEFAULTTOPICDESC 1002 -#define IDS_FONTNAME 1003 -#define IDS_CHECKTEXT 1004 -#define IDS_CLOSETEXT 1005 - -#define IDS_TOPICBUTTON0 1010 -#define IDS_TOPICBUTTON1 1011 -#define IDS_TOPICBUTTON2 1012 -#define IDS_TOPICBUTTON3 1013 -#define IDS_TOPICBUTTON4 1014 -#define IDS_TOPICBUTTON5 1015 -#define IDS_TOPICBUTTON6 1016 -#define IDS_TOPICBUTTON7 1017 -#define IDS_TOPICBUTTON8 1018 -#define IDS_TOPICBUTTON9 1019 - -#define IDS_TOPICTITLE0 1020 -#define IDS_TOPICTITLE1 1021 -#define IDS_TOPICTITLE2 1022 -#define IDS_TOPICTITLE3 1023 -#define IDS_TOPICTITLE4 1024 -#define IDS_TOPICTITLE5 1025 -#define IDS_TOPICTITLE6 1026 -#define IDS_TOPICTITLE7 1027 -#define IDS_TOPICTITLE8 1028 -#define IDS_TOPICTITLE9 1029 - -#define IDS_TOPICDESC0 1030 -#define IDS_TOPICDESC1 1031 -#define IDS_TOPICDESC2 1032 -#define IDS_TOPICDESC3 1033 -#define IDS_TOPICDESC4 1034 -#define IDS_TOPICDESC5 1035 -#define IDS_TOPICDESC6 1036 -#define IDS_TOPICDESC7 1037 -#define IDS_TOPICDESC8 1038 -#define IDS_TOPICDESC9 1039 - -#define IDS_TOPICACTION0 1040 -#define IDS_TOPICACTION1 1041 -#define IDS_TOPICACTION2 1042 -#define IDS_TOPICACTION3 1043 -#define IDS_TOPICACTION4 1044 -#define IDS_TOPICACTION5 1045 -#define IDS_TOPICACTION6 1046 -#define IDS_TOPICACTION7 1047 -#define IDS_TOPICACTION8 1048 -#define IDS_TOPICACTION9 1049 - -#define IDS_TOPICOPTION0 1050 -#define IDS_TOPICOPTION1 1051 -#define IDS_TOPICOPTION2 1052 -#define IDS_TOPICOPTION3 1053 -#define IDS_TOPICOPTION4 1054 -#define IDS_TOPICOPTION5 1055 -#define IDS_TOPICOPTION6 1056 -#define IDS_TOPICOPTION7 1057 -#define IDS_TOPICOPTION8 1058 -#define IDS_TOPICOPTION9 1059 - - -/* Bitmaps */ -#define IDB_TITLEBITMAP 101 -#define IDB_DEFAULTTOPICBITMAP 102 - -#define IDB_TOPICBITMAP0 110 -#define IDB_TOPICBITMAP1 111 -#define IDB_TOPICBITMAP2 112 -#define IDB_TOPICBITMAP3 113 -#define IDB_TOPICBITMAP4 114 -#define IDB_TOPICBITMAP5 115 -#define IDB_TOPICBITMAP6 116 -#define IDB_TOPICBITMAP7 117 -#define IDB_TOPICBITMAP8 118 -#define IDB_TOPICBITMAP9 119 - - -#define IDC_CLOSEBUTTON 2000 -#define IDC_CHECKBUTTON 2001 - diff --git a/rosapps/welcome/welcome.c b/rosapps/welcome/welcome.c deleted file mode 100644 index 6202033058b..00000000000 --- a/rosapps/welcome/welcome.c +++ /dev/null @@ -1,790 +0,0 @@ -/* - * ReactOS applications - * Copyright (C) 2001, 2002 ReactOS Team - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ -/* $Id$ - * - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS welcome/autorun application - * FILE: welcome/welcome.c - * PROGRAMMERS: Eric Kohl (ekohl@rz-online.de) - */ - -#include -#include -#include - -#include "resource.h" - - - -#define LIGHT_BLUE 0x00F0CAA6 -#define DARK_BLUE 0x00996633 - - - -/* GLOBALS ******************************************************************/ - -TCHAR szFrameClass [] = "WelcomeWindowClass"; -TCHAR szAppTitle [80]; - -HINSTANCE hInstance; - -HWND hwndMain = 0; -HWND hwndDefaultTopic = 0; - -HBITMAP hTitleBitmap = 0; -HDC hdcDisplay=0; -HDC hdcMem = 0; - -int nTopic = -1; -int nDefaultTopic = -1; - -ULONG ulInnerWidth = 480; -ULONG ulInnerHeight = 360; - -HBITMAP hDefaultTopicBitmap; -HBITMAP hTopicBitmap[10]; -HWND hwndTopicButton[10]; -HWND hwndCloseButton; -HWND hwndCheckButton; - - -HFONT hfontTopicButton; -HFONT hfontTopicTitle; -HFONT hfontTopicDescription; -HFONT hfontCheckButton; - -HFONT hfontBannerTitle; - -HBRUSH hbrLightBlue; -HBRUSH hbrDarkBlue; -HBRUSH hbrRightPanel; - -RECT rcTitlePanel; -RECT rcLeftPanel; -RECT rcRightPanel; - -WNDPROC fnOldBtn; - - -LRESULT CALLBACK -MainWndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); - - -/* FUNCTIONS ****************************************************************/ - -int WINAPI -WinMain(HINSTANCE hInst, - HINSTANCE hPrevInstance, - LPSTR lpszCmdLine, - int nCmdShow) -{ - WNDCLASSEX wndclass; - MSG msg; - int xPos; - int yPos; - int xWidth; - int yHeight; - RECT rcWindow; - DWORD dwStyle = WS_OVERLAPPED | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU | WS_VISIBLE; - - hInstance = hInst; - - /* Register the window class */ - wndclass.style = CS_OWNDC; - wndclass.lpfnWndProc = (WNDPROC)MainWndProc; - wndclass.cbClsExtra = 0; - wndclass.cbWndExtra = 0; - wndclass.hInstance = hInstance; - wndclass.hIcon = 0; - wndclass.hCursor = LoadCursor (NULL, IDC_ARROW); - wndclass.hbrBackground = 0; - wndclass.lpszMenuName = NULL; - wndclass.lpszClassName = szFrameClass; - - wndclass.cbSize = sizeof(WNDCLASSEX); - wndclass.hIconSm = 0; - - RegisterClassEx(&wndclass); - - rcWindow.top = 0; - rcWindow.bottom = ulInnerHeight - 1; - rcWindow.left = 0; - rcWindow.right = ulInnerWidth - 1; - - AdjustWindowRect(&rcWindow, - dwStyle, - FALSE); - xWidth = rcWindow.right - rcWindow.left; - yHeight = rcWindow.bottom - rcWindow.top; - - xPos = (GetSystemMetrics(SM_CXSCREEN) - xWidth) / 2; - yPos = (GetSystemMetrics(SM_CYSCREEN) - yHeight) / 2; - - rcTitlePanel.top = 0; - rcTitlePanel.bottom = 93; - rcTitlePanel.left = 0; - rcTitlePanel.right = ulInnerWidth - 1; - - rcLeftPanel.top = rcTitlePanel.bottom; - rcLeftPanel.bottom = ulInnerHeight - 1; - rcLeftPanel.left = 0; - rcLeftPanel.right = ulInnerWidth / 3; - - rcRightPanel.top = rcLeftPanel.top; - rcRightPanel.bottom = rcLeftPanel.bottom; - rcRightPanel.left = rcLeftPanel.right; - rcRightPanel.right = ulInnerWidth - 1; - - if (!LoadString(hInstance, (UINT)MAKEINTRESOURCE(IDS_APPTITLE), szAppTitle, 80)) - _tcscpy(szAppTitle, TEXT("ReactOS Welcome")); - - /* Create main window */ - hwndMain = CreateWindow(szFrameClass, - szAppTitle, - dwStyle, - xPos, - yPos, - xWidth, - yHeight, - 0, - 0, - hInstance, - NULL); - - ShowWindow(hwndMain, nCmdShow); - UpdateWindow(hwndMain); - - while (GetMessage(&msg, NULL, 0, 0) != FALSE) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - - return(msg.wParam); -} - - -LRESULT CALLBACK -ButtonSubclassWndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - LONG i; - - if (uMsg == WM_MOUSEMOVE) - { - i = GetWindowLong(hWnd, GWL_ID); - if (nTopic != i) - { - nTopic = i; - SetFocus(hWnd); - InvalidateRect(hwndMain, NULL, TRUE); - } - } - - return(CallWindowProc(fnOldBtn, hWnd, uMsg, wParam, lParam)); -} - - -static BOOL -RunApplication(int nTopic) -{ - PROCESS_INFORMATION ProcessInfo; - STARTUPINFO StartupInfo; - CHAR AppName[256]; - CHAR CurrentDir[256]; - int nLength; - - InvalidateRect(hwndMain, NULL, TRUE); - - GetCurrentDirectory(256, CurrentDir); - - nLength = LoadString(hInstance, IDS_TOPICACTION0 + nTopic, AppName, 256); - if (nLength == 0) - return(FALSE); - - if (stricmp(AppName, "explorer.exe") == 0) - { - strcat(AppName, " "); - strcat(AppName, CurrentDir); - } - - memset(&StartupInfo, 0, sizeof(STARTUPINFO)); - StartupInfo.cb = sizeof(STARTUPINFO); - StartupInfo.lpTitle = "Test"; - StartupInfo.dwFlags = STARTF_USESHOWWINDOW; - StartupInfo.wShowWindow = SW_SHOWNORMAL; - - CreateProcess(NULL, AppName, NULL, NULL, FALSE, CREATE_NEW_CONSOLE,NULL, - CurrentDir, - &StartupInfo, - &ProcessInfo); - - CloseHandle(ProcessInfo.hProcess); - CloseHandle(ProcessInfo.hThread); - - return(TRUE); -} - -static VOID -SubclassButton(HWND hWnd) -{ - fnOldBtn = (WNDPROC)SetWindowLong(hWnd, GWL_WNDPROC, (LPARAM)ButtonSubclassWndProc); -} - - -static DWORD -GetButtonHeight(HDC hDC, - HFONT hFont, - PSZ szText, - DWORD dwWidth) -{ - HFONT hOldFont; - RECT rect; - - rect.left = 0; - rect.right = dwWidth - 20; - rect.top = 0; - rect.bottom = 25; - - hOldFont = SelectObject(hDC, hFont); - DrawText(hDC, szText, -1, &rect, DT_TOP | DT_CALCRECT | DT_WORDBREAK); - SelectObject(hDC, hOldFont); - - return(rect.bottom-rect.top + 14); -} - - -static LRESULT -OnCreate(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - char szText[80]; - int i,nLength; - DWORD dwTop; - DWORD dwHeight = 0; - - hbrLightBlue = CreateSolidBrush (LIGHT_BLUE); - hbrDarkBlue = CreateSolidBrush(DARK_BLUE); - hbrRightPanel = CreateSolidBrush (0x00FFFFFF); - - /* Banner fonts */ - hfontBannerTitle = CreateFont(-30,0,0,0,FW_BOLD, - FALSE,FALSE,FALSE,ANSI_CHARSET, - OUT_DEFAULT_PRECIS, - CLIP_DEFAULT_PRECIS, - DEFAULT_QUALITY, - FF_DONTCARE, - "Arial"); - - hfontTopicTitle = CreateFont(-18,0,0,0,FW_NORMAL, - FALSE,FALSE,FALSE,ANSI_CHARSET, - OUT_DEFAULT_PRECIS, - CLIP_DEFAULT_PRECIS, - DEFAULT_QUALITY, - FF_DONTCARE, - "Arial"); - - - hfontTopicDescription = CreateFont(-11,0,0,0,FW_THIN, - FALSE,FALSE,FALSE,ANSI_CHARSET, - OUT_DEFAULT_PRECIS, - CLIP_DEFAULT_PRECIS, - DEFAULT_QUALITY, - FF_DONTCARE, - "Arial"); - - hfontTopicButton = CreateFont(-11,0,0,0,FW_BOLD, - FALSE,FALSE,FALSE,ANSI_CHARSET, - OUT_DEFAULT_PRECIS, - CLIP_DEFAULT_PRECIS, - DEFAULT_QUALITY, - FF_DONTCARE, - "Arial"); - - /* Load bitmaps */ - hTitleBitmap = LoadBitmap (hInstance, MAKEINTRESOURCE(IDB_TITLEBITMAP)); - hDefaultTopicBitmap = LoadBitmap (hInstance, MAKEINTRESOURCE(IDB_DEFAULTTOPICBITMAP)); - for (i=0;i < 10; i++) - { - hTopicBitmap[i] = LoadBitmap (hInstance, MAKEINTRESOURCE(IDB_TOPICBITMAP0+i)); - } - - hdcDisplay = CreateDC ("DISPLAY", NULL, NULL, NULL); - hdcMem = CreateCompatibleDC (hdcDisplay); - - /* load and create buttons */ - dwTop = rcLeftPanel.top; - for (i=0;i < 10; i++) - { - nLength = LoadString(hInstance, IDS_TOPICBUTTON0+i,szText,80); - if (nLength > 0) - { - dwHeight = GetButtonHeight(hdcMem, - hfontTopicButton, - szText, - rcLeftPanel.right - rcLeftPanel.left); - - hwndTopicButton[i] = CreateWindow("BUTTON", - szText, - WS_CHILDWINDOW | WS_VISIBLE | WS_TABSTOP | BS_MULTILINE | BS_OWNERDRAW, - rcLeftPanel.left, - dwTop, - rcLeftPanel.right - rcLeftPanel.left, - dwHeight, - hWnd, - (HMENU)i, - hInstance, - NULL); - hwndDefaultTopic = hwndTopicButton[i]; - nDefaultTopic = i; - SubclassButton(hwndTopicButton[i]); - SendMessage(hwndTopicButton[i], WM_SETFONT, (WPARAM)hfontTopicButton, MAKELPARAM(TRUE,0)); - } - else - { - hwndTopicButton[i] = 0; - } - - dwTop += dwHeight; - } - - /* Create exit button */ - nLength = LoadString(hInstance, IDS_CLOSETEXT, szText, 80); - if (nLength > 0) - { - hwndCloseButton = CreateWindow("BUTTON", - szText, - WS_VISIBLE | WS_CHILD | BS_FLAT, - rcRightPanel.right - 10 - 57, - rcRightPanel.bottom - 10 - 21, - 57, - 21, - hWnd, - (HMENU)IDC_CLOSEBUTTON, - hInstance, - NULL); - hwndDefaultTopic = 0; - nDefaultTopic = -1; - SendMessage(hwndCloseButton, WM_SETFONT, (WPARAM)hfontTopicButton, MAKELPARAM(TRUE,0)); - } - else - { - hwndCloseButton = 0; - } - - /* Create checkbox */ - nLength = LoadString(hInstance, IDS_CHECKTEXT,szText,80); - if (nLength > 0) - { - hfontCheckButton = CreateFont(-10,0,0,0,FW_THIN,FALSE,FALSE,FALSE,ANSI_CHARSET, - OUT_DEFAULT_PRECIS, - CLIP_DEFAULT_PRECIS, - DEFAULT_QUALITY, - FF_DONTCARE, - "Tahoma"); - - hwndCheckButton = CreateWindow("BUTTON", - szText, - WS_VISIBLE | WS_CHILD | BS_AUTOCHECKBOX, - rcLeftPanel.left + 8, - rcLeftPanel.bottom - 8 - 13, - rcLeftPanel.right - rcLeftPanel.left - 16, - 13, - hWnd, - (HMENU)IDC_CHECKBUTTON, - hInstance, - NULL); - SendMessage(hwndCheckButton, WM_SETFONT, (WPARAM)hfontCheckButton, MAKELPARAM(TRUE,0)); - } - else - { - hwndCheckButton = 0; - hfontCheckButton = 0; - } - - return 0; -} - - -static LRESULT -OnCommand(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - if (LOWORD(wParam) == IDC_CLOSEBUTTON) - { - DestroyWindow(hWnd); - } - else if ((LOWORD(wParam) < 10)) - { - if (RunApplication(LOWORD(wParam)) == FALSE) - { - DestroyWindow(hWnd); - } - } - return 0; -} - - -static VOID -PaintBanner(HDC hdc, LPRECT rcPanel) -{ - HBRUSH hOldBrush; - HFONT hOldFont; - RECT rcTitle; - -#if 0 - /* banner bitmap */ - hOldBitmap = SelectObject(hdcMem, hTitleBitmap); - BitBlt(hdc, - rcPanel->left, - rcPanel->top, - rcPanel->right, - rcPanel->bottom - 3, - hdcMem, 0, 0, SRCCOPY); - SelectObject(hdc, hOldBitmap); -#endif - - /* white background */ - hOldBrush = SelectObject(hdc, hbrRightPanel); - PatBlt(hdc, - rcPanel->left, - rcPanel->top, - rcPanel->right - rcPanel->left, - rcPanel->bottom - 3, - PATCOPY); - - hOldFont = SelectObject (hdc, hfontBannerTitle); - SetTextColor(hdc, 0x00000000); - - rcTitle.top = 5; - rcTitle.left = 15; - DrawText(hdc, "ReactOS 0.0.20", -1, - &rcTitle, DT_TOP | DT_CALCRECT); - - DrawText(hdc, "ReactOS 0.0.20", -1, - &rcTitle, DT_TOP); - - SelectObject(hdc, hOldFont); - - /* dark blue line */ - hOldBrush = SelectObject(hdc, hbrDarkBlue); - PatBlt(hdc, - rcPanel->left, - rcPanel->bottom - 3, - rcPanel->right - rcPanel->left, - 3, - PATCOPY); - - SelectObject(hdc, hOldBrush); -} - - -static LRESULT -OnPaint(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - HDC hdc; - PAINTSTRUCT ps; - HBITMAP hOldBitmap = 0; - HBRUSH hOldBrush; - HFONT hOldFont; - RECT rcTitle, rcDescription; - TCHAR szTopicTitle[80]; - TCHAR szTopicDesc[256]; - int nLength; - BITMAP bmpInfo; - - hdc = BeginPaint(hWnd, &ps); - - /* Banner panel */ - PaintBanner(hdc, &rcTitlePanel); - - /* Left panel */ - hOldBrush = SelectObject (hdc, hbrLightBlue); - PatBlt(hdc, - rcLeftPanel.left, - rcLeftPanel.top, - rcLeftPanel.right - rcLeftPanel.left, - rcLeftPanel.bottom - rcLeftPanel.top, - PATCOPY); - - /* Right panel */ - SelectObject (hdc, hbrRightPanel); - PatBlt(hdc, - rcRightPanel.left, - rcRightPanel.top, - rcRightPanel.right - rcRightPanel.left, - rcRightPanel.bottom - rcRightPanel.top, - PATCOPY); - - /* Draw topic bitmap */ - if ((nTopic == -1) && (hDefaultTopicBitmap != 0)) - { - GetObject(hDefaultTopicBitmap, sizeof(BITMAP), &bmpInfo); - hOldBitmap = SelectObject (hdcMem, hDefaultTopicBitmap); - BitBlt(hdc, - rcRightPanel.right - bmpInfo.bmWidth, - rcRightPanel.bottom - bmpInfo.bmHeight, - bmpInfo.bmWidth, - bmpInfo.bmHeight, - hdcMem, - 0, - 0, - SRCCOPY); - } - else if (hTopicBitmap[nTopic] != 0) - { - GetObject(hTopicBitmap[nTopic], sizeof(BITMAP), &bmpInfo); - hOldBitmap = SelectObject (hdcMem, hTopicBitmap[nTopic]); - BitBlt(hdc, - rcRightPanel.right - bmpInfo.bmWidth, - rcRightPanel.bottom - bmpInfo.bmHeight, - bmpInfo.bmWidth, - bmpInfo.bmHeight, - hdcMem, - 0, - 0, - SRCCOPY); - } - - if (nTopic == -1) - { - nLength = LoadString(hInstance, IDS_DEFAULTTOPICTITLE, szTopicTitle, 80); - } - else - { - nLength = LoadString(hInstance, IDS_TOPICTITLE0 + nTopic, szTopicTitle, 80); - if (nLength == 0) - nLength = LoadString(hInstance, IDS_DEFAULTTOPICTITLE, szTopicTitle, 80); - } - - if (nTopic == -1) - { - nLength = LoadString(hInstance, IDS_DEFAULTTOPICDESC, szTopicDesc, 256); - } - else - { - nLength = LoadString(hInstance, IDS_TOPICDESC0 + nTopic, szTopicDesc, 256); - if (nLength == 0) - nLength = LoadString(hInstance, IDS_DEFAULTTOPICDESC, szTopicDesc, 256); - } - - SetBkMode(hdc, TRANSPARENT); - - /* Draw topic title */ - rcTitle.left = rcRightPanel.left + 12; - rcTitle.right = rcRightPanel.right - 8; - rcTitle.top = rcRightPanel.top + 8; - rcTitle.bottom = rcTitle.top + 57; - hOldFont = SelectObject(hdc, hfontTopicTitle); - DrawText(hdc, szTopicTitle, -1, &rcTitle, DT_TOP | DT_CALCRECT); - - SetTextColor(hdc, DARK_BLUE); - DrawText(hdc, szTopicTitle, -1, &rcTitle, DT_TOP); - - /* Draw topic description */ - rcDescription.left = rcRightPanel.left + 12; - rcDescription.right = rcRightPanel.right - 8; - rcDescription.top = rcTitle.bottom + 8; - rcDescription.bottom = rcRightPanel.bottom - 20; - - SelectObject(hdc, hfontTopicDescription); - SetTextColor(hdc, 0x00000000); - DrawText(hdc, szTopicDesc, -1, &rcDescription, DT_TOP | DT_WORDBREAK); - - SetBkMode(hdc, OPAQUE); - SelectObject(hdc, hOldFont); - - SelectObject (hdcMem, hOldBrush); - SelectObject (hdcMem, hOldBitmap); - - EndPaint(hWnd, &ps); - return 0; -} - - -static LRESULT -OnDrawItem(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - LPDRAWITEMSTRUCT lpDis = (LPDRAWITEMSTRUCT)lParam; - HPEN hPen, hOldPen; - HBRUSH hOldBrush; - CHAR szText[80]; - int iBkMode; - - if (lpDis->hwndItem == hwndCloseButton) - { - DrawFrameControl(lpDis->hDC, - &lpDis->rcItem, - DFC_BUTTON, - DFCS_BUTTONPUSH | DFCS_FLAT); - } - else - { - if (lpDis->CtlID == (ULONG)nTopic) - hOldBrush = SelectObject(lpDis->hDC, hbrRightPanel); - else - hOldBrush = SelectObject(lpDis->hDC, hbrLightBlue); - PatBlt(lpDis->hDC, - lpDis->rcItem.left, - lpDis->rcItem.top, - lpDis->rcItem.right, - lpDis->rcItem.bottom, - PATCOPY); - SelectObject(lpDis->hDC, hOldBrush); - - hPen = CreatePen(PS_SOLID, 0, DARK_BLUE); - hOldPen = SelectObject(lpDis->hDC, hPen); - MoveToEx(lpDis->hDC, lpDis->rcItem.left, lpDis->rcItem.bottom-1, NULL); - LineTo(lpDis->hDC, lpDis->rcItem.right, lpDis->rcItem.bottom-1); - SelectObject(lpDis->hDC, hOldPen); - DeleteObject(hPen); - - InflateRect(&lpDis->rcItem, -10, -4); - OffsetRect(&lpDis->rcItem, 0, 1); - GetWindowText(lpDis->hwndItem, szText, 80); - SetTextColor(lpDis->hDC, 0x00000000); - iBkMode = SetBkMode(lpDis->hDC, TRANSPARENT); - DrawText(lpDis->hDC, szText, -1, &lpDis->rcItem, DT_TOP | DT_LEFT | DT_WORDBREAK); - SetBkMode(lpDis->hDC, iBkMode); - } - - return 0; -} - - -static LRESULT -OnMouseMove(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - if (nTopic != -1) - { - nTopic = -1; - SetFocus(hWnd); - InvalidateRect(hwndMain, NULL, TRUE); - } - - return 0; -} - - -static LRESULT -OnCtlColorStatic(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - if ((HWND)lParam == hwndCheckButton) - { - SetBkColor((HDC)wParam, LIGHT_BLUE); - return((LRESULT)hbrLightBlue); - } - - return 0; -} - - -static LRESULT -OnActivate(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - nTopic = -1; - InvalidateRect(hwndMain, NULL, TRUE); - - return(0); -} - - -static LRESULT -OnDestroy(HWND hWnd, WPARAM wParam, LPARAM lParam) -{ - int i; - - for (i=0;i<10;i++) - { - if (hwndTopicButton[i] != 0) - DestroyWindow(hwndTopicButton[i]); - } - - if (hwndCloseButton != 0) - DestroyWindow(hwndCloseButton); - - if (hwndCheckButton != 0) - DestroyWindow(hwndCheckButton); - - DeleteDC(hdcMem); - DeleteDC(hdcDisplay); - - /* delete bitmaps */ - DeleteObject(hDefaultTopicBitmap); - DeleteObject(hTitleBitmap); - for (i=0;i<10;i++) - { - if (hTopicBitmap[i] != 0) - DeleteObject(hTopicBitmap[i]); - } - - DeleteObject(hfontTopicTitle); - DeleteObject(hfontTopicDescription); - DeleteObject(hfontTopicButton); - - DeleteObject(hfontBannerTitle); - - - if (hfontCheckButton != 0) - DeleteObject(hfontCheckButton); - - DeleteObject(hbrLightBlue); - DeleteObject(hbrDarkBlue); - DeleteObject(hbrRightPanel); - - return 0; -} - - -LRESULT CALLBACK -MainWndProc(HWND hWnd, - UINT uMsg, - WPARAM wParam, - LPARAM lParam) -{ - switch(uMsg) - { - case WM_CREATE: - return(OnCreate(hWnd, wParam, lParam)); - - case WM_COMMAND: - return(OnCommand(hWnd, wParam, lParam)); - - case WM_ACTIVATE: - return(OnActivate(hWnd, wParam, lParam)); - - case WM_PAINT: - return(OnPaint(hWnd, wParam, lParam)); - - case WM_DRAWITEM: - return(OnDrawItem(hWnd, wParam, lParam)); - - case WM_CTLCOLORSTATIC: - return(OnCtlColorStatic(hWnd, wParam, lParam)); - - case WM_MOUSEMOVE: - return(OnMouseMove(hWnd, wParam, lParam)); - - case WM_DESTROY: - OnDestroy(hWnd, wParam, lParam); - PostQuitMessage(0); - return(0); - } - - return(DefWindowProc(hWnd, uMsg, wParam, lParam)); -} - -/* EOF */ diff --git a/rosapps/welcome/welcome.rbuild b/rosapps/welcome/welcome.rbuild deleted file mode 100644 index dfd2abc8096..00000000000 --- a/rosapps/welcome/welcome.rbuild +++ /dev/null @@ -1,23 +0,0 @@ - - . - - 0x0501 - 0x0501 - kernel32 - user32 - gdi32 - welcome.c - welcome.rc - - - - . - - 0x0501 - 0x0501 - kernel32 - user32 - gdi32 - welcome.c - welcome.rc - diff --git a/rosapps/welcome/welcome.rc b/rosapps/welcome/welcome.rc deleted file mode 100644 index b1c82255eee..00000000000 --- a/rosapps/welcome/welcome.rc +++ /dev/null @@ -1,93 +0,0 @@ - -#include "resource.h" - - -/* Bitmaps */ - -IDB_TITLEBITMAP BITMAP DISCARDABLE "res/title.bmp" -IDB_DEFAULTTOPICBITMAP BITMAP DISCARDABLE "res/default.bmp" - -IDB_TOPICBITMAP0 BITMAP DISCARDABLE "res/topic0.bmp" -IDB_TOPICBITMAP1 BITMAP DISCARDABLE "res/topic1.bmp" -IDB_TOPICBITMAP2 BITMAP DISCARDABLE "res/topic2.bmp" -//IDB_TOPICBITMAP3 BITMAP DISCARDABLE "res/topic3.bmp" -//IDB_TOPICBITMAP4 BITMAP DISCARDABLE "res/topic4.bmp" -//IDB_TOPICBITMAP5 BITMAP DISCARDABLE "res/topic5.bmp" -//IDB_TOPICBITMAP6 BITMAP DISCARDABLE "res/topic6.bmp" -//IDB_TOPICBITMAP7 BITMAP DISCARDABLE "res/topic7.bmp" -//IDB_TOPICBITMAP8 BITMAP DISCARDABLE "res/topic8.bmp" -//IDB_TOPICBITMAP9 BITMAP DISCARDABLE "res/topic9.bmp" - - -/* String Tables */ - -/* Default settings */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_APPTITLE "ReactOS 0.0.20 - Welcome" - IDS_DEFAULTTOPICTITLE "ReactOS" - IDS_DEFAULTTOPICDESC "The new Operating System for computer users who do not want to obey to the Monopoly.\n\nClick a topic on the left." - IDS_CHECKTEXT "Show this dialog again" - IDS_CLOSETEXT "Exit" -END - -/* Topic buttons */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICBUTTON0 "Online Registration" - IDS_TOPICBUTTON1 "Install ReactOS Components" - IDS_TOPICBUTTON2 "Browse this CD" -// IDS_TOPICBUTTON4 "E&xit" -// IDS_TOPICBUTTON5 "Empty Topic 5" -// IDS_TOPICBUTTON6 "Empty Topic 6" -// IDS_TOPICBUTTON7 "Empty Topic 7" -// IDS_TOPICBUTTON8 "Empty Topic 8" -// IDS_TOPICBUTTON9 "Empty Topic 9" -END - -/* Topic titles */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICTITLE0 "Online Registration" - IDS_TOPICTITLE1 "Install ReactOS Components" - IDS_TOPICTITLE2 "Browse this CD" -// IDS_TOPICTITLE3 "Exit" -// IDS_TOPICTITLE4 "Empty Topic Title 4" -// IDS_TOPICTITLE5 "Empty Topic Title 5" -// IDS_TOPICTITLE6 "Empty Topic Title 6" -// IDS_TOPICTITLE7 "Empty Topic Title 7" -// IDS_TOPICTITLE8 "Empty Topic Title 8" -// IDS_TOPICTITLE9 "Empty Topic Title 9" -END - -/* Topic descriptions */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICDESC0 "Register your ReactOS now!\n\nWith registering your ReactOS you get a lot of additional benefits, like unsolicited product information, incompetent hotline services and huge amounts of third-party junk mail." - IDS_TOPICDESC1 "Customize your ReactOS by installing optional applications and components." - IDS_TOPICDESC2 "Browse the CD to find only a few files, no applications, incomplete documentation and no readme files." -// IDS_TOPICDESC3 "Click to exit this application." -// IDS_TOPICDESC4 "Topic description 4.\n\nDescribe topic 4 here." -// IDS_TOPICDESC5 "Topic description 5.\n\nDescribe topic 5 here." -// IDS_TOPICDESC6 "Topic description 6.\n\nDescribe topic 6 here." -// IDS_TOPICDESC7 "Topic description 7.\n\nDescribe topic 7 here." -// IDS_TOPICDESC8 "Topic description 8.\n\nDescribe topic 8 here." -// IDS_TOPICDESC9 "Topic description 9.\n\nDescribe topic 9 here." -END - -/* Topic actions */ -STRINGTABLE DISCARDABLE -BEGIN - IDS_TOPICACTION0 "signup.exe" - IDS_TOPICACTION1 "sysocmgr.exe" - IDS_TOPICACTION2 "explorer.exe" -// IDS_TOPICACTION3 "..." -// IDS_TOPICACTION4 "..." -// IDS_TOPICACTION5 "..." -// IDS_TOPICACTION6 "..." -// IDS_TOPICACTION7 "..." -// IDS_TOPICACTION8 "..." -// IDS_TOPICACTION9 "..." -END - -/* EOF */