diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_win32.cxx | 40 | ||||
| -rw-r--r-- | src/Makefile | 6 | ||||
| -rw-r--r-- | src/fl_call_main.c | 40 | ||||
| -rw-r--r-- | src/vsnprintf.c | 19 |
4 files changed, 67 insertions, 38 deletions
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx index bb7e1b415..81d57c0ba 100644 --- a/src/Fl_win32.cxx +++ b/src/Fl_win32.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_win32.cxx,v 1.33.2.2 1999/03/25 13:32:52 mike Exp $" +// "$Id: Fl_win32.cxx,v 1.33.2.3 1999/03/29 17:39:28 carl Exp $" // // WIN32-specific code for the Fast Light Tool Kit (FLTK). // @@ -335,7 +335,7 @@ extern HPALETTE fl_select_palette(void); // in fl_color_win32.C static Fl_Window* resize_bug_fix; -static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) +static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { static char buffer[2]; static int cnt=0; @@ -344,7 +344,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar if(cnt) { InvalidateRect(fl_window,0,FALSE); cnt = 0; - } else cnt = 1; + } else cnt = 1; } else if (uMsg == WM_PAINT) cnt = 0; fl_msg.message = uMsg; @@ -362,12 +362,12 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar return 0; case WM_PAINT: { - + // This might be a better alternative, where we fully ignore NT's // "facilities" for painting. MS expects applications to paint according // to a very restrictive paradigm, and this is the way I found of // working around it. In a sense, we are using WM_PAINT simply as an - // "exposure alert", like the X event. + // "exposure alert", like the X event. Fl_X *i = Fl_X::i(window); i->wait_for_expose = 0; @@ -501,7 +501,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar fl_GetDC(hWnd); if (fl_select_palette()) InvalidateRect(hWnd, NULL, FALSE); break; - + case WM_PALETTECHANGED: fl_GetDC(hWnd); if ((HWND)wParam != hWnd && fl_select_palette()) UpdateColors(fl_gc); @@ -526,7 +526,7 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar //////////////////////////////////////////////////////////////// // This function gets the dimensions of the top/left borders and // the title bar, if there is one, based on the FL_BORDER, FL_MODAL -// and FL_NONMODAL flags, and on the window's size range. +// and FL_NONMODAL flags, and on the window's size range. // It returns the following values: // // value | border | title bar @@ -547,7 +547,7 @@ int Fl_X::fake_X_wm(const Fl_Window* w,int &X,int &Y, int &bt,int &bx, int &by) bx = GetSystemMetrics(SM_CXFIXEDFRAME); by = GetSystemMetrics(SM_CYFIXEDFRAME); } - bt = GetSystemMetrics(SM_CYCAPTION); + bt = GetSystemMetrics(SM_CYCAPTION); } //The coordinates of the whole window, including non-client area xoff = bx; @@ -626,7 +626,7 @@ Fl_X* Fl_X::make(Fl_Window* w) { WNDCLASSEX wc; // Documentation states a device context consumes about 800 bytes - // of memory... so who cares? If 800 bytes per window is what it + // of memory... so who cares? If 800 bytes per window is what it // takes to speed things up, I'm game. //wc.style = CS_HREDRAW | CS_VREDRAW | CS_CLASSDC | CS_DBLCLKS; wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC | CS_DBLCLKS; @@ -730,7 +730,7 @@ Fl_X* Fl_X::make(Fl_Window* w) { w->redraw(); // force draw to happen // If we've captured the mouse, we dont want do activate any // other windows from the code, or we loose the capture. - ShowWindow(x->xid, fl_show_iconic ? SW_SHOWMINNOACTIVE : + ShowWindow(x->xid, fl_show_iconic ? SW_SHOWMINNOACTIVE : fl_capture? SW_SHOWNOACTIVATE : SW_SHOWNORMAL); fl_show_iconic = 0; fl_fix_focus(); @@ -763,17 +763,7 @@ HINSTANCE fl_display = 0; #ifndef FL_DLL -extern "C" { -#ifdef BORLAND -extern int _argc; -extern char **_argv; -extern FL_EXPORT int OwlMain(int, char *[]); -#else -extern int __argc; -extern char **__argv; -extern FL_EXPORT int main(int, char *[]); -#endif -}; +extern "C" int fl_call_main(); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { @@ -796,11 +786,7 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, #endif // _DEBUG // Run the standard main entry point function... -#ifdef BORLAND - return OwlMain(_argc, _argv); -#else - return main(__argc, __argv); -#endif + return fl_call_main(); } #endif /* !FL_DLL */ @@ -919,5 +905,5 @@ void Fl_Window::make_current() { } // -// End of "$Id: Fl_win32.cxx,v 1.33.2.2 1999/03/25 13:32:52 mike Exp $". +// End of "$Id: Fl_win32.cxx,v 1.33.2.3 1999/03/29 17:39:28 carl Exp $". // diff --git a/src/Makefile b/src/Makefile index 800211dba..df005933c 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile,v 1.18.2.6 1999/03/26 12:46:25 mike Exp $" +# "$Id: Makefile,v 1.18.2.7 1999/03/29 17:39:28 carl Exp $" # # Library makefile for the Fast Light Tool Kit (FLTK). # @@ -138,7 +138,7 @@ CPPFILES = \ glut_compatability.cxx \ glut_font.cxx -CFILES = scandir.c numericsort.c vsnprintf.c +CFILES = fl_call_main.c scandir.c numericsort.c vsnprintf.c CLEAN = @@ -209,5 +209,5 @@ install: $(LIBRARY) $(DSONAME) @-ln -s FL $(includedir)/Fl # -# End of "$Id: Makefile,v 1.18.2.6 1999/03/26 12:46:25 mike Exp $". +# End of "$Id: Makefile,v 1.18.2.7 1999/03/29 17:39:28 carl Exp $". # diff --git a/src/fl_call_main.c b/src/fl_call_main.c new file mode 100644 index 000000000..ee4c8c73d --- /dev/null +++ b/src/fl_call_main.c @@ -0,0 +1,40 @@ +/* + * "$Id: fl_call_main.c,v 1.1.2.1 1999/03/29 17:39:29 carl Exp $" + * + * Copyright 1998-1999 by Bill Spitzak and others. + * + * fl_call_main() calls main() for you Windows people. Needs to be done in C + * because Borland C++ won't let you call main() from C++. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + * + * Please report all bugs and problems to "fltk-bugs@easysw.com". + */ + +#if defined(WIN32) && !defined(FL_DLL) +extern int main(int, char *[]); +extern int __argc; +extern char **__argv; + +int fl_call_main() { + return main(__argc, __argv); +} +#endif + +/* + * End of "$Id: fl_call_main.c,v 1.1.2.1 1999/03/29 17:39:29 carl Exp $". + */ + diff --git a/src/vsnprintf.c b/src/vsnprintf.c index d3a89c040..b2996dcd9 100644 --- a/src/vsnprintf.c +++ b/src/vsnprintf.c @@ -1,5 +1,5 @@ /* - * "$Id: vsnprintf.c,v 1.3 1999/01/07 19:17:47 mike Exp $" + * "$Id: vsnprintf.c,v 1.3.2.1 1999/03/29 17:39:29 carl Exp $" * * vsnprintf() function for the Fast Light Tool Kit (FLTK). * @@ -43,9 +43,10 @@ #if !HAVE_VSNPRINTF -# ifdef __cplusplus -extern "C" -# endif +#ifdef __cplusplus +extern "C" { +#endif + int vsnprintf(char* str, size_t size, const char* fmt, va_list ap) { const char* e = str+size-1; char* p = str; @@ -114,9 +115,6 @@ int vsnprintf(char* str, size_t size, const char* fmt, va_list ap) { #if !HAVE_SNPRINTF -# ifdef __cplusplus -extern "C" -# endif int snprintf(char* str, size_t size, const char* fmt, ...) { int ret; va_list ap; @@ -126,8 +124,13 @@ int snprintf(char* str, size_t size, const char* fmt, ...) { return ret; } +#ifdef __cplusplus +} +#endif + #endif /* - * End of "$Id: vsnprintf.c,v 1.3 1999/01/07 19:17:47 mike Exp $". + * End of "$Id: vsnprintf.c,v 1.3.2.1 1999/03/29 17:39:29 carl Exp $". */ + |
