view: Merge 3 C source files and a header file into one file.

This commit is contained in:
André Hentschel 2011-07-25 23:52:01 +02:00 committed by Alexandre Julliard
parent ca22457d7b
commit c243e19075
5 changed files with 140 additions and 232 deletions

View File

@ -3,9 +3,7 @@ APPMODE = -mwindows
IMPORTS = comdlg32 user32 gdi32
C_SRCS = \
init.c \
view.c \
winmain.c
view.c
RC_SRCS = \
Cs.rc \

View File

@ -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"

View File

@ -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 <windows.h>
#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;
}

View File

@ -20,13 +20,31 @@
#include <windowsx.h>
#include "resource.h"
#include "globals.h"
#include <stdio.h>
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;
}

View File

@ -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 <windows.h> /* 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;
}