From c243e19075631158b70a6d803750bbf651ce76c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Mon, 25 Jul 2011 23:52:01 +0200 Subject: [PATCH] view: Merge 3 C source files and a header file into one file. --- programs/view/Makefile.in | 4 +- programs/view/globals.h | 53 -------------- programs/view/init.c | 100 -------------------------- programs/view/view.c | 148 +++++++++++++++++++++++++++++++++++--- programs/view/winmain.c | 67 ----------------- 5 files changed, 140 insertions(+), 232 deletions(-) delete mode 100644 programs/view/globals.h delete mode 100644 programs/view/init.c delete mode 100644 programs/view/winmain.c diff --git a/programs/view/Makefile.in b/programs/view/Makefile.in index 42bf981282f..1be6ca3430c 100644 --- a/programs/view/Makefile.in +++ b/programs/view/Makefile.in @@ -3,9 +3,7 @@ APPMODE = -mwindows IMPORTS = comdlg32 user32 gdi32 C_SRCS = \ - init.c \ - view.c \ - winmain.c + view.c RC_SRCS = \ Cs.rc \ diff --git a/programs/view/globals.h b/programs/view/globals.h deleted file mode 100644 index b00ffc57070..00000000000 --- a/programs/view/globals.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 1998 Douglas Ridgway - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -/* for SMALL_RECT */ -#include "wincon.h" -#include "resource.h" - -/* Add global function prototypes here */ - -BOOL InitApplication(HINSTANCE); -BOOL InitInstance(HINSTANCE, int); -BOOL CenterWindow(HWND, HWND); - -/* Add new callback function prototypes here */ - -LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); - -/* Global variable declarations */ - -extern HINSTANCE hInst; /* The current instance handle */ -extern char szAppName[]; /* The name of this application */ -extern char szTitle[]; /* The title bar text */ - - -#include "pshpack1.h" -typedef struct -{ - DWORD key; - WORD hmf; - SMALL_RECT bbox; - WORD inch; - DWORD reserved; - WORD checksum; -} APMFILEHEADER; - -#define APMHEADER_KEY 0x9AC6CDD7l - -#include "poppack.h" diff --git a/programs/view/init.c b/programs/view/init.c deleted file mode 100644 index 3d0ce9fca5f..00000000000 --- a/programs/view/init.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 1998 Douglas Ridgway - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include -#include "globals.h" -#include "resource.h" - -/* global variables */ - -HINSTANCE hInst; -char szAppName[5] = "View"; -char szTitle[80]; - -BOOL InitApplication(HINSTANCE hInstance) -{ - WNDCLASSEX wc; - - /* Load the application description strings */ - LoadString(hInstance, IDS_DESCRIPTION, szTitle, sizeof(szTitle)); - - /* Fill in window class structure with parameters that describe the - main window */ - - wc.cbSize = sizeof(WNDCLASSEX); - - /* Load small icon image */ - wc.hIconSm = LoadImage(hInstance, - MAKEINTRESOURCEA(IDI_APPICON), - IMAGE_ICON, - 16, 16, - 0); - - wc.style = CS_HREDRAW | CS_VREDRAW; /* Class style(s) */ - wc.lpfnWndProc = WndProc; /* Window Procedure */ - wc.cbClsExtra = 0; /* No per-class extra data */ - wc.cbWndExtra = 0; /* No per-window extra data */ - wc.hInstance = hInstance; /* Owner of this class */ - wc.hIcon = LoadIcon(hInstance, szAppName); /* Icon name from .rc */ - wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* Cursor */ - wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); /* Default color */ - wc.lpszMenuName = szAppName; /* Menu name from .rc */ - wc.lpszClassName = szAppName; /* Name to register as */ - - /* Register the window class and return FALSE if unsuccessful */ - - if (!RegisterClassEx(&wc)) - { - if (!RegisterClass((LPWNDCLASS)&wc.style)) - return FALSE; - } - - /* Call module specific initialization functions here */ - - return TRUE; -} - -BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) -{ - HWND hwnd; - - /* Save the instance handle in a global variable for later use */ - hInst = hInstance; - - /* Create main window */ - hwnd = CreateWindow(szAppName, /* See RegisterClass() call */ - szTitle, /* window title */ - WS_OVERLAPPEDWINDOW, /* Window style */ - CW_USEDEFAULT, 0, /* positioning */ - CW_USEDEFAULT, 0, /* size */ - NULL, /* Overlapped has no parent */ - NULL, /* Use the window class menu */ - hInstance, - NULL); - - if (!hwnd) - return FALSE; - - /* Call module specific instance initialization functions here */ - - /* show the window, and paint it for the first time */ - ShowWindow(hwnd, nCmdShow); - UpdateWindow(hwnd); - - return TRUE; -} diff --git a/programs/view/view.c b/programs/view/view.c index aba4c7950cc..e26620900ee 100644 --- a/programs/view/view.c +++ b/programs/view/view.c @@ -20,13 +20,31 @@ #include #include "resource.h" -#include "globals.h" #include -HMETAFILE hmf; -int deltax = 0, deltay = 0; -int width = 0, height = 0; -BOOL isAldus; +static HINSTANCE hInst; +static char szAppName[5] = "View"; +static char szTitle[80]; + +static HMETAFILE hmf; +static int deltax = 0, deltay = 0; +static int width = 0, height = 0; +static BOOL isAldus; + +#include "pshpack1.h" +typedef struct +{ + DWORD key; + WORD hmf; + SMALL_RECT bbox; + WORD inch; + DWORD reserved; + WORD checksum; +} APMFILEHEADER; +#include "poppack.h" + +#define APMHEADER_KEY 0x9AC6CDD7l + static BOOL FileOpen(HWND hWnd, char *fn, int fnsz) { @@ -123,10 +141,7 @@ static HMETAFILE GetPlaceableMetaFile( HWND hwnd, LPCSTR szFileName ) } -LRESULT CALLBACK WndProc(HWND hwnd, - UINT uMessage, - WPARAM wparam, - LPARAM lparam) +static LRESULT CALLBACK WndProc(HWND hwnd, UINT uMessage, WPARAM wparam, LPARAM lparam) { switch (uMessage) { @@ -213,3 +228,118 @@ LRESULT CALLBACK WndProc(HWND hwnd, } return 0; } + +static BOOL InitApplication(HINSTANCE hInstance) +{ + WNDCLASSEX wc; + + /* Load the application description strings */ + LoadString(hInstance, IDS_DESCRIPTION, szTitle, sizeof(szTitle)); + + /* Fill in window class structure with parameters that describe the + main window */ + + wc.cbSize = sizeof(WNDCLASSEX); + + /* Load small icon image */ + wc.hIconSm = LoadImage(hInstance, MAKEINTRESOURCEA(IDI_APPICON), IMAGE_ICON, 16, 16, 0); + + wc.style = CS_HREDRAW | CS_VREDRAW; /* Class style(s) */ + wc.lpfnWndProc = WndProc; /* Window Procedure */ + wc.cbClsExtra = 0; /* No per-class extra data */ + wc.cbWndExtra = 0; /* No per-window extra data */ + wc.hInstance = hInstance; /* Owner of this class */ + wc.hIcon = LoadIcon(hInstance, szAppName); /* Icon name from .rc */ + wc.hCursor = LoadCursor(NULL, IDC_ARROW); /* Cursor */ + wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); /* Default color */ + wc.lpszMenuName = szAppName; /* Menu name from .rc */ + wc.lpszClassName = szAppName; /* Name to register as */ + + /* Register the window class and return FALSE if unsuccessful */ + + if (!RegisterClassEx(&wc)) + { + if (!RegisterClass((LPWNDCLASS)&wc.style)) + return FALSE; + } + + /* Call module specific initialization functions here */ + + return TRUE; +} + +static BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + HWND hwnd; + + /* Save the instance handle in a global variable for later use */ + hInst = hInstance; + + /* Create main window */ + hwnd = CreateWindow(szAppName, /* See RegisterClass() call */ + szTitle, /* window title */ + WS_OVERLAPPEDWINDOW, /* Window style */ + CW_USEDEFAULT, 0, /* positioning */ + CW_USEDEFAULT, 0, /* size */ + NULL, /* Overlapped has no parent */ + NULL, /* Use the window class menu */ + hInstance, + NULL); + + if (!hwnd) + return FALSE; + + /* Call module specific instance initialization functions here */ + + /* show the window, and paint it for the first time */ + ShowWindow(hwnd, nCmdShow); + UpdateWindow(hwnd); + + return TRUE; +} + +int APIENTRY WinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPSTR lpCmdLine, + int nCmdShow) +{ + MSG msg; + HANDLE hAccelTable; + + /* Other instances of app running? */ + if (!hPrevInstance) + { + /* stuff to be done once */ + if (!InitApplication(hInstance)) + { + return FALSE; /* exit */ + } + } + + /* stuff to be done every time */ + if (!InitInstance(hInstance, nCmdShow)) + { + return FALSE; + } + + hAccelTable = LoadAccelerators(hInstance, szAppName); + + /* Main loop */ + /* Acquire and dispatch messages until a WM_QUIT message is received */ + while (GetMessage(&msg, NULL, 0, 0)) + { + /* Add other Translation functions (for modeless dialogs + and/or MDI windows) here. */ + + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + /* Add module specific instance free/delete functions here */ + + /* Returns the value from PostQuitMessage */ + return msg.wParam; +} diff --git a/programs/view/winmain.c b/programs/view/winmain.c deleted file mode 100644 index 0d0c01115e3..00000000000 --- a/programs/view/winmain.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 1998 Douglas Ridgway - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - */ - -#include /* required for all Windows applications */ -#include "globals.h" /* prototypes specific to this application */ - - -int APIENTRY WinMain(HINSTANCE hInstance, - HINSTANCE hPrevInstance, - LPSTR lpCmdLine, - int nCmdShow) -{ - MSG msg; - HANDLE hAccelTable; - - /* Other instances of app running? */ - if (!hPrevInstance) - { - /* stuff to be done once */ - if (!InitApplication(hInstance)) - { - return FALSE; /* exit */ - } - } - - /* stuff to be done every time */ - if (!InitInstance(hInstance, nCmdShow)) - { - return FALSE; - } - - hAccelTable = LoadAccelerators(hInstance, szAppName); - - /* Main loop */ - /* Acquire and dispatch messages until a WM_QUIT message is received */ - while (GetMessage(&msg, NULL, 0, 0)) - { - /* Add other Translation functions (for modeless dialogs - and/or MDI windows) here. */ - - if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } - - /* Add module specific instance free/delete functions here */ - - /* Returns the value from PostQuitMessage */ - return msg.wParam; -}