ReactOS  0.4.15-dev-3723-g8d70159
main.cpp
Go to the documentation of this file.
1 /*
2  * PROJECT: PAINT for ReactOS
3  * LICENSE: LGPL
4  * FILE: base/applications/mspaint/main.cpp
5  * PURPOSE: Initializing everything
6  * PROGRAMMERS: Benedikt Freisen
7  */
8 
9 /* INCLUDES *********************************************************/
10 
11 #include "precomp.h"
12 
13 /* FUNCTIONS ********************************************************/
14 
17 
19 
21 
27 
29 
31 
33 BOOL askBeforeEnlarging = FALSE; // TODO: initialize from registry
34 
41 
47 
49 
51 
56 int fileHPPM = 2834;
57 int fileVPPM = 2834;
59 
62 
82 
83 // get file name extension from filter string
84 static BOOL
86 {
87  LPTSTR pchExt = pExt;
88  *pchExt = 0;
89 
90  DWORD nIndex = 1;
91  for (LPCTSTR pch = pOFN->lpstrFilter; *pch; ++nIndex)
92  {
93  pch += lstrlen(pch) + 1;
94  if (pOFN->nFilterIndex == nIndex)
95  {
96  for (++pch; *pch && *pch != _T(';'); ++pch)
97  {
98  *pchExt++ = *pch;
99  }
100  *pchExt = 0;
101  CharLower(pExt);
102  return TRUE;
103  }
104  pch += lstrlen(pch) + 1;
105  }
106  return FALSE;
107 }
108 
109 // Hook procedure for OPENFILENAME to change the file name extension
110 static UINT_PTR APIENTRY
112 {
113  HWND hParent;
114  OFNOTIFY *pon;
115  switch (uMsg)
116  {
117  case WM_NOTIFY:
118  pon = (OFNOTIFY *)lParam;
119  if (pon->hdr.code == CDN_TYPECHANGE)
120  {
121  hParent = GetParent(hwnd);
124  LPTSTR pchTitle = _tcsrchr(Path, _T('\\'));
125  if (pchTitle == NULL)
126  pchTitle = _tcsrchr(Path, _T('/'));
127 
128  LPTSTR pch = _tcsrchr((pchTitle ? pchTitle : Path), _T('.'));
129  if (pch && pchTitle)
130  {
131  pchTitle++;
132  *pch = 0;
133  FileExtFromFilter(pch, pchTitle, pon->lpOFN);
134  SendMessage(hParent, CDM_SETCONTROLTEXT, 0x047c, (LPARAM)pchTitle);
135  lstrcpyn(pon->lpOFN->lpstrFile, Path, pon->lpOFN->nMaxFile);
136  }
137  }
138  break;
139  }
140  return 0;
141 }
142 
143 /* entry point */
144 
145 int WINAPI
146 _tWinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPTSTR lpszArgument, int nFunsterStil)
147 {
148  HWND hwnd; /* This is the handle for our window */
149  MSG messages; /* Here messages to the application are saved */
150 
151  HMENU menu;
152  HACCEL haccel;
153 
154  TCHAR sfnFilename[1000];
155  TCHAR sfnFiletitle[256];
156  TCHAR ofnFilename[1000];
157  TCHAR ofnFiletitle[256];
158  TCHAR miniaturetitle[100];
159  static COLORREF custColors[16] = {
160  0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff,
161  0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff, 0xffffff
162  };
163 
164  /* init font for text tool */
165  ZeroMemory(&lfTextFont, sizeof(lfTextFont));
166  lfTextFont.lfHeight = 0;
170 
171  hProgInstance = hThisInstance;
172 
173  /* initialize common controls library */
175  iccx.dwSize = sizeof(iccx);
177  InitCommonControlsEx(&iccx);
178 
180  CPath pathFileName(filepathname);
181  pathFileName.StripPath();
182  CString strTitle;
183  strTitle.Format(IDS_WINDOWTITLE, (LPCTSTR)pathFileName);
184  LoadString(hThisInstance, IDS_MINIATURETITLE, miniaturetitle, _countof(miniaturetitle));
185 
186  /* load settings from registry */
190 
191  /* create main window */
192  RECT mainWindowPos = {0, 0, 544, 375}; // FIXME: use equivalent of CW_USEDEFAULT for position
193  hwnd = mainWindow.Create(HWND_DESKTOP, mainWindowPos, strTitle, WS_OVERLAPPEDWINDOW);
194 
195  RECT fullscreenWindowPos = {0, 0, 100, 100};
196  fullscreenWindow.Create(HWND_DESKTOP, fullscreenWindowPos, NULL, WS_POPUPWINDOW | WS_MAXIMIZE);
197 
201  miniature.Create(hwnd, miniaturePos, miniaturetitle,
203  miniature.ShowWindow(showMiniature ? SW_SHOW : SW_HIDE);
204 
205  /* loading and setting the window menu from resource */
206  menu = LoadMenu(hThisInstance, MAKEINTRESOURCE(ID_MENU));
207  SetMenu(hwnd, menu);
208  haccel = LoadAccelerators(hThisInstance, MAKEINTRESOURCE(800));
209 
210  /* preloading the draw transparent/nontransparent icons for later use */
213  hTranspIcon =
215 
216  hCurFill = LoadIcon(hThisInstance, MAKEINTRESOURCE(IDC_FILL));
217  hCurColor = LoadIcon(hThisInstance, MAKEINTRESOURCE(IDC_COLOR));
218  hCurZoom = LoadIcon(hThisInstance, MAKEINTRESOURCE(IDC_ZOOM));
219  hCurPen = LoadIcon(hThisInstance, MAKEINTRESOURCE(IDC_PEN));
221 
222  CreateWindowEx(0, _T("STATIC"), NULL, WS_CHILD | WS_VISIBLE | SS_ETCHEDHORZ, 0, 0, 5000, 2, hwnd, NULL,
223  hThisInstance, NULL);
224 
225  RECT toolBoxContainerPos = {2, 2, 2 + 52, 2 + 350};
226  toolBoxContainer.Create(hwnd, toolBoxContainerPos, NULL, WS_CHILD | WS_VISIBLE);
227  /* creating the tool settings child window */
228  RECT toolSettingsWindowPos = {5, 208, 5 + 42, 208 + 140};
229  toolSettingsWindow.Create(toolBoxContainer.m_hWnd, toolSettingsWindowPos, NULL, WS_CHILD | WS_VISIBLE);
230 
231  /* creating the palette child window */
232  RECT paletteWindowPos = {56, 9, 56 + 255, 9 + 32};
233  paletteWindow.Create(hwnd, paletteWindowPos, NULL, WS_CHILD | WS_VISIBLE);
234 
235  /* creating the scroll box */
236  RECT scrollboxWindowPos = {56, 49, 56 + 472, 49 + 248};
237  scrollboxWindow.Create(hwnd, scrollboxWindowPos, NULL,
239 
240  /* creating the status bar */
241  hStatusBar =
243  NULL, hThisInstance, NULL);
245 
246  RECT scrlClientWindowPos = {0, 0, 0 + 500, 0 + 500};
247  scrlClientWindow.Create(scrollboxWindow.m_hWnd, scrlClientWindowPos, NULL, WS_CHILD | WS_VISIBLE);
248 
249  /* create selection window (initially hidden) */
250  RECT selectionWindowPos = {350, 0, 350 + 100, 0 + 100};
251  selectionWindow.Create(scrlClientWindow.m_hWnd, selectionWindowPos, NULL, WS_CHILD | BS_OWNERDRAW);
252 
253  /* creating the window inside the scroll box, on which the image in hDrawingDC's bitmap is drawn */
255  imageArea.Create(scrlClientWindow.m_hWnd, imageAreaPos, NULL, WS_CHILD | WS_VISIBLE);
256 
257  if (__argc >= 2)
258  {
260  }
261 
263 
264  /* initializing the CHOOSECOLOR structure for use with ChooseColor */
268  choosecolor.rgbResult = 0x00ffffff;
269  choosecolor.lpCustColors = custColors;
270 
271  /* initializing the OPENFILENAME structure for use with GetOpenFileName and GetSaveFileName */
272  ofnFilename[0] = 0;
273  CString strImporters;
274  CSimpleArray<GUID> aguidFileTypesI;
275  CString strAllPictureFiles;
276  strAllPictureFiles.LoadString(hThisInstance, IDS_ALLPICTUREFILES);
277  CImage::GetImporterFilterString(strImporters, aguidFileTypesI, strAllPictureFiles, CImage::excludeDefaultLoad, _T('\0'));
278 // CAtlStringW strAllFiles;
279 // strAllFiles.LoadString(hThisInstance, IDS_ALLFILES);
280 // strImporters = strAllFiles + CAtlStringW(_T("|*.*|")).Replace('|', '\0') + strImporters;
281  ZeroMemory(&ofn, sizeof(OPENFILENAME));
282  ofn.lStructSize = sizeof(OPENFILENAME);
283  ofn.hwndOwner = hwnd;
284  ofn.hInstance = hThisInstance;
285  ofn.lpstrFilter = strImporters;
286  ofn.lpstrFile = ofnFilename;
287  ofn.nMaxFile = _countof(ofnFilename);
288  ofn.lpstrFileTitle = ofnFiletitle;
289  ofn.nMaxFileTitle = _countof(ofnFiletitle);
291  ofn.lpstrDefExt = L"png";
292 
293  CopyMemory(sfnFilename, filepathname, sizeof(filepathname));
294  CString strExporters;
295  CSimpleArray<GUID> aguidFileTypesE;
296  CImage::GetExporterFilterString(strExporters, aguidFileTypesE, NULL, CImage::excludeDefaultSave, _T('\0'));
297  ZeroMemory(&sfn, sizeof(OPENFILENAME));
298  sfn.lStructSize = sizeof(OPENFILENAME);
299  sfn.hwndOwner = hwnd;
300  sfn.hInstance = hThisInstance;
301  sfn.lpstrFilter = strExporters;
302  sfn.lpstrFile = sfnFilename;
303  sfn.nMaxFile = _countof(sfnFilename);
304  sfn.lpstrFileTitle = sfnFiletitle;
305  sfn.nMaxFileTitle = _countof(sfnFiletitle);
308  sfn.lpstrDefExt = L"png";
309  // Choose PNG
310  for (INT i = 0; i < aguidFileTypesE.GetSize(); ++i)
311  {
312  if (aguidFileTypesE[i] == Gdiplus::ImageFormatPNG)
313  {
314  sfn.nFilterIndex = i + 1;
315  break;
316  }
317  }
318 
319  /* creating the size boxes */
320  RECT sizeboxPos = {0, 0, GRIP_SIZE, GRIP_SIZE};
321  sizeboxLeftTop.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
322  sizeboxCenterTop.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
323  sizeboxRightTop.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
324  sizeboxLeftCenter.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
325  sizeboxRightCenter.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
326  sizeboxLeftBottom.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
327  sizeboxCenterBottom.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
328  sizeboxRightBottom.Create(scrlClientWindow.m_hWnd, sizeboxPos, NULL, WS_CHILD | WS_VISIBLE);
329  /* placing the size boxes around the image */
331 
332  /* by moving the window, the things in WM_SIZE are done */
334 
335  /* Make the window visible on the screen */
336  ShowWindow (hwnd, nFunsterStil);
337 
338  /* inform the system, that the main window accepts dropped files */
340 
341  /* Run the message loop. It will run until GetMessage() returns 0 */
342  while (GetMessage(&messages, NULL, 0, 0))
343  {
344  if (fontsDialog.IsWindow() && IsDialogMessage(fontsDialog, &messages))
345  continue;
346 
348 
349  /* Translate virtual-key messages into character messages */
351  /* Send message to WindowProcedure */
353  }
354 
355  /* write back settings to registry */
360 
361  /* The program return-value is 0 - The value that PostQuitMessage() gave */
362  return messages.wParam;
363 }
#define WS_GROUP
Definition: pedump.c:633
#define ID_MENU
Definition: resource.h:32
#define OFN_EXPLORER
Definition: commdlg.h:104
#define WS_POPUPWINDOW
Definition: pedump.c:638
DWORD ThumbXPos
Definition: registry.h:25
#define WS_THICKFRAME
Definition: pedump.c:630
int textToolTextMaxLen
Definition: main.cpp:26
#define TranslateAccelerator
Definition: winuser.h:5840
#define IDC_FILL
Definition: resource.h:21
#define MAKEINTRESOURCE
Definition: winuser.h:591
#define DispatchMessage
Definition: winuser.h:5745
#define IDC_ZOOM
Definition: resource.h:16
#define BS_OWNERDRAW
Definition: pedump.c:661
BOOL WINAPI TranslateMessage(_In_ const MSG *)
static HICON
Definition: imagelist.c:84
const CHAR * LPCTSTR
Definition: xmlstorage.h:193
CToolSettingsWindow toolSettingsWindow
Definition: main.cpp:67
#define IMAGE_ICON
Definition: winuser.h:212
SelectionModel selectionModel
Definition: main.cpp:20
DWORD ThumbHeight
Definition: registry.h:23
HCURSOR hCurFill
Definition: main.cpp:42
LPSTR lpstrFileTitle
Definition: commdlg.h:338
HWND hwndOwner
Definition: commdlg.h:330
#define TRUE
Definition: types.h:120
#define SW_HIDE
Definition: winuser.h:762
CHOOSECOLORA CHOOSECOLOR
Definition: commdlg.h:654
ImageModel imageModel
Definition: main.cpp:32
#define IDC_AIRBRUSH
Definition: resource.h:25
#define WS_EX_PALETTEWINDOW
Definition: winuser.h:399
HWND Create(HWND hWndParent, _U_RECT rect=NULL, LPCTSTR szWindowName=NULL, DWORD dwStyle=0, DWORD dwExStyle=0, _U_MENUorID MenuOrID=0U, LPVOID lpCreateParam=NULL)
Definition: atlwin.h:1700
OPENFILENAME ofn
Definition: main.cpp:37
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
PaletteModel paletteModel
Definition: main.cpp:28
void StripPath()
Definition: atlpath.h:348
void WINAPI DragAcceptFiles(HWND hWnd, BOOL b)
Definition: shellole.c:522
SYSTEMTIME fileTime
Definition: main.cpp:58
CSizeboxWindow sizeboxRightCenter
Definition: main.cpp:77
HCURSOR hCurColor
Definition: main.cpp:43
int fileVPPM
Definition: main.cpp:57
#define ZeroMemory
Definition: winbase.h:1664
LPCSTR lpstrDefExt
Definition: commdlg.h:345
void __cdecl Format(UINT nFormatID,...)
Definition: cstringt.h:753
BYTE lfCharSet
Definition: dimm.idl:50
LPTSTR textToolText
Definition: main.cpp:25
UINT_PTR WPARAM
Definition: windef.h:207
HCURSOR hCurPen
Definition: main.cpp:45
#define __targv
Definition: tchar.h:504
#define WS_CHILD
Definition: pedump.c:617
#define IDI_TRANSPARENT
Definition: resource.h:18
HICON HCURSOR
Definition: windef.h:299
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define IsDialogMessage
Definition: winuser.h:5789
#define DEFAULT_CHARSET
Definition: wingdi.h:384
#define STATUSCLASSNAME
Definition: commctrl.h:1939
#define IDS_DEFAULTFILENAME
Definition: resource.h:185
COLORREF rgbResult
Definition: commdlg.h:242
int32_t INT
Definition: typedefs.h:58
WPARAM wParam
Definition: combotst.c:138
CHAR * LPTSTR
Definition: xmlstorage.h:192
#define pch(ap)
Definition: match.c:418
DWORD nMaxFile
Definition: commdlg.h:337
static UINT_PTR APIENTRY OFNHookProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
Definition: main.cpp:111
CSizeboxWindow sizeboxCenterBottom
Definition: main.cpp:79
DWORD BMPHeight
Definition: registry.h:17
void Crop(int nWidth, int nHeight, int nOffsetX=0, int nOffsetY=0)
Definition: history.cpp:129
CToolBox toolBoxContainer
Definition: main.cpp:66
UINT code
Definition: winuser.h:3139
CPaletteWindow paletteWindow
Definition: main.cpp:68
CHOOSECOLOR choosecolor
Definition: main.cpp:36
HWND hwndEditCtl
Definition: main.cpp:24
CSizeboxWindow sizeboxLeftBottom
Definition: main.cpp:78
#define LoadAccelerators
Definition: winuser.h:5790
#define L(x)
Definition: ntvdm.h:50
CFullscreenWindow fullscreenWindow
Definition: main.cpp:64
LPOFNHOOKPROC lpfnHook
Definition: commdlg.h:347
#define FALSE
Definition: types.h:117
void ClearHistory(void)
Definition: history.cpp:107
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
LONG lfHeight
Definition: dimm.idl:42
#define OFN_ENABLEHOOK
Definition: commdlg.h:99
#define CreateWindowEx
Definition: winuser.h:5735
ToolsModel toolsModel
Definition: main.cpp:18
POINT start
Definition: main.cpp:15
LONG lfWeight
Definition: dimm.idl:46
LONG_PTR LPARAM
Definition: windef.h:208
HFONT hfontTextFont
Definition: main.cpp:23
DWORD ShowThumbnail
Definition: registry.h:21
#define ICC_USEREX_CLASSES
Definition: commctrl.h:68
CSizeboxWindow sizeboxRightTop
Definition: main.cpp:75
HINSTANCE hInstance
Definition: commdlg.h:331
OPENFILENAMEA OPENFILENAME
Definition: commdlg.h:657
#define SW_SHOW
Definition: winuser.h:769
HWND hStatusBar
Definition: main.cpp:35
static BOOL FileExtFromFilter(LPTSTR pExt, LPCTSTR pTitle, OPENFILENAME *pOFN)
Definition: main.cpp:85
HICON hTranspIcon
Definition: main.cpp:40
BOOL SetWindowPlacement(const WINDOWPLACEMENT *lpwndpl)
Definition: atlwin.h:1248
WINDOWPLACEMENT WindowPlacement
Definition: registry.h:28
int GetWidth() const
Definition: history.cpp:199
#define WS_CAPTION
Definition: pedump.c:624
LPOPENFILENAMEA lpOFN
Definition: commdlg.h:407
char TCHAR
Definition: xmlstorage.h:189
CMiniatureWindow miniature
Definition: main.cpp:65
CMainWindow mainWindow
Definition: main.cpp:63
#define ICC_BAR_CLASSES
Definition: commctrl.h:60
HCURSOR hCurAirbrush
Definition: main.cpp:46
#define SS_ETCHEDHORZ
Definition: winuser.h:343
#define _T(x)
Definition: vfdio.h:22
DWORD BMPWidth
Definition: registry.h:18
RegistrySettings registrySettings
Definition: main.cpp:30
#define WS_OVERLAPPED
Definition: pedump.c:615
#define IDC_PEN
Definition: resource.h:24
NMHDR hdr
Definition: commdlg.h:406
#define SBARS_SIZEGRIP
Definition: commctrl.h:1923
#define WM_SIZE
Definition: winuser.h:1598
HINSTANCE hProgInstance
Definition: main.cpp:50
BOOL WINAPI SetMenu(_In_ HWND, _In_opt_ HMENU)
DWORD COLORREF
Definition: windef.h:300
#define _countof(array)
Definition: sndvol32.h:68
#define CDM_GETFILEPATH
Definition: commdlg.h:44
TCHAR filepathname[1000]
Definition: main.cpp:52
DWORD ThumbWidth
Definition: registry.h:24
#define MAX_PATH
Definition: compat.h:34
DWORD lStructSize
Definition: commdlg.h:329
#define WINAPI
Definition: msvc.h:6
BOOL askBeforeEnlarging
Definition: main.cpp:33
#define CopyMemory
Definition: winbase.h:1662
unsigned long DWORD
Definition: ntddk_ex.h:95
CSelectionWindow selectionWindow
Definition: main.cpp:71
POINT last
Definition: main.cpp:16
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
#define IDS_ALLPICTUREFILES
Definition: resource.h:206
BOOL showMiniature
Definition: main.cpp:61
CSizeboxWindow sizeboxRightBottom
Definition: main.cpp:80
#define WS_HSCROLL
Definition: pedump.c:628
BOOL isAFile
Definition: main.cpp:53
#define IDS_WINDOWTITLE
Definition: resource.h:180
#define IDI_NONTRANSPARENT
Definition: resource.h:19
#define GRIP_SIZE
Definition: common.h:13
BOOL WINAPI InitCommonControlsEx(const INITCOMMONCONTROLSEX *lpInitCtrls)
Definition: commctrl.c:893
HWND Create()
Definition: gui.cpp:744
CSizeboxWindow sizeboxCenterTop
Definition: main.cpp:74
#define OFN_HIDEREADONLY
Definition: commdlg.h:107
HWND m_hWnd
Definition: atlwin.h:267
DWORD ThumbYPos
Definition: registry.h:26
int fileHPPM
Definition: main.cpp:56
#define CDN_TYPECHANGE
Definition: commdlg.h:39
BOOL showGrid
Definition: main.cpp:60
HWND WINAPI GetParent(_In_ HWND)
#define lstrlen
Definition: winbase.h:3734
DWORD lStructSize
Definition: commdlg.h:239
PRTL_UNICODE_STRING_BUFFER Path
BOOL imageSaved
Definition: main.cpp:54
CTextEditWindow textEditWindow
Definition: main.cpp:81
#define WS_EX_CLIENTEDGE
Definition: winuser.h:384
#define LoadMenu
Definition: winuser.h:5797
int GetHeight() const
Definition: history.cpp:204
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define CDM_SETCONTROLTEXT
Definition: commdlg.h:47
LPSTR lpstrFile
Definition: commdlg.h:336
CFontsDialog fontsDialog
Definition: dialogs.cpp:22
int fileSize
Definition: main.cpp:55
#define OFN_OVERWRITEPROMPT
Definition: commdlg.h:116
HICON hNontranspIcon
Definition: main.cpp:39
HBITMAP DoLoadImageFile(HWND hwnd, LPCTSTR name, BOOL fIsMainFile)
Definition: dib.cpp:159
HCURSOR hCurZoom
Definition: main.cpp:44
LPCSTR lpstrFilter
Definition: commdlg.h:332
#define HWND_DESKTOP
Definition: winuser.h:1199
OPENFILENAME sfn
Definition: main.cpp:38
HWND hwndOwner
Definition: commdlg.h:240
#define CreateFontIndirect
Definition: wingdi.h:4444
unsigned int UINT
Definition: ndis.h:50
#define NULL
Definition: types.h:112
#define WS_VSCROLL
Definition: pedump.c:627
#define GetMessage
Definition: winuser.h:5770
LOGFONT lfTextFont
Definition: main.cpp:22
#define FW_NORMAL
Definition: wingdi.h:373
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
_CRTIMP int __argc
Definition: getargs.c:21
#define SendMessage
Definition: winuser.h:5823
_TCHAR * _tcsrchr(const _TCHAR *s, _XINT c)
Definition: tcsrchr.h:4
CImgAreaWindow imageArea
Definition: main.cpp:72
#define CharLower
Definition: winuser.h:5717
#define WS_OVERLAPPEDWINDOW
Definition: pedump.c:637
LRESULT SendMessage(UINT message, WPARAM wParam=0, LPARAM lParam=0)
Definition: atlwin.h:1082
#define IDS_MINIATURETITLE
Definition: resource.h:186
BOOL LoadString(_In_ UINT nID)
Definition: cstringt.h:591
HWND hToolBtn[16]
Definition: main.cpp:48
CSizeboxWindow sizeboxLeftTop
Definition: main.cpp:73
#define ICC_STANDARD_CLASSES
Definition: commctrl.h:73
#define LoadImage
Definition: winuser.h:5795
int WINAPI _tWinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPTSTR lpszArgument, int nFunsterStil)
Definition: main.cpp:146
#define LoadIcon
Definition: winuser.h:5793
DWORD nFilterIndex
Definition: commdlg.h:335
#define IDC_COLOR
Definition: resource.h:22
#define SB_SETMINHEIGHT
Definition: commctrl.h:1957
CScrollboxWindow scrlClientWindow
Definition: main.cpp:70
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4022
#define LR_DEFAULTCOLOR
Definition: winuser.h:1081
#define WS_VISIBLE
Definition: pedump.c:620
#define WS_SYSMENU
Definition: pedump.c:629
CSizeboxWindow sizeboxLeftCenter
Definition: main.cpp:76
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
LPARAM lParam
Definition: combotst.c:139
COLORREF * lpCustColors
Definition: commdlg.h:243
#define LoadString
Definition: winuser.h:5799
#define WM_NOTIFY
Definition: richedit.h:61
#define APIENTRY
Definition: api.h:79
#define lstrcpyn
Definition: winbase.h:3733
DWORD nMaxFileTitle
Definition: commdlg.h:339
CScrollboxWindow scrollboxWindow
Definition: main.cpp:69
#define WS_MAXIMIZE
Definition: pedump.c:623
DWORD Flags
Definition: commdlg.h:342