Mercurial > dwindows
view winmain.c @ 771:5cca4ebcca9a
When destroying a spinbutton, destroy the correct window
Create a default boldfont for use in groupbox titles
Enable groupboxes to have their font changed
Enable groupboxes to have their color changed
Default font for groupbox text is default bold font
Implement dw_window_get_font()
Add stubs for dw_scrollbox_get_pos() and dw_scrollbox_get_range()
Fix bug with dw_text_new(); did not allow & in text content
Only call default window procedure from _rendproc if the user didn't handle the
message themselves
author | mhessling@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 19 Mar 2011 00:37:08 +0000 |
parents | bf42d08d72d7 |
children | 32b5fba0b00a |
line wrap: on
line source
/* Dynamic Windows stub file to allow Win32 applications * to use the main() entry point instead of WinMain(). */ #include <windows.h> #include <stdlib.h> #include <string.h> #include <stdio.h> #include <process.h> #ifndef NODW void Win32_Set_Instance(HINSTANCE hInstance); #endif char **_convertargs(int *count, char *start, HINSTANCE DWInstance) { char *tmp, *argstart, **argv; int loc = 0, inquotes = 0; (*count) = 1; tmp = start; /* Count the number of entries */ if(*start) { (*count)++; while(*tmp) { if(*tmp == '"' && inquotes) inquotes = 0; else if(*tmp == '"' && !inquotes) inquotes = 1; else if(*tmp == ' ' && !inquotes) { /* Push past any white space */ while(*(tmp+1) == ' ') tmp++; /* If we aren't at the end of the command * line increment the count. */ if(*(tmp+1)) (*count)++; } tmp++; } } argv = (char **)malloc(sizeof(char *) * ((*count)+1)); argv[0] = malloc(260); GetModuleFileName(DWInstance, argv[0], 260); argstart = tmp = start; if(*start) { loc = 1; while(*tmp) { if(*tmp == '"' && inquotes) { *tmp = 0; inquotes = 0; } else if(*tmp == '"' && !inquotes) { argstart = tmp+1; inquotes = 1; } else if(*tmp == ' ' && !inquotes) { *tmp = 0; argv[loc] = strdup(argstart); /* Push past any white space */ while(*(tmp+1) == ' ') tmp++; /* Move the start pointer */ argstart = tmp+1; /* If we aren't at the end of the command * line increment the count. */ if(*(tmp+1)) loc++; } tmp++; } if(*argstart) argv[loc] = strdup(argstart); } argv[loc+1] = NULL; return argv; } /* Ok this is a really big hack but what the hell ;) */ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { char **argv; int argc; #ifndef NODW Win32_Set_Instance(hInstance); #endif argv = _convertargs(&argc, lpCmdLine, hInstance); return main(argc, argv); }