summaryrefslogtreecommitdiff
path: root/src/Fl_Gl_Window.cxx
AgeCommit message (Collapse)Author
2004-04-11Copyright updates and prep for 1.1.5rc1.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-03-31Fix OpenGL resize bug some more - still have an outstanding issue withMichael R Sweet
the parent window not setting its xywh members until after the children have resized... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2960 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-03-31Possible fix for OpenGL bus errors on OSX.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30Copyright update for 1.1.3 release (not quite yet, but soon...)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-14Fix OpenGL resize bug.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2904 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-12-04OSX fixes for GLUT/GL window classes.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2859 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-11-15Fix OpenGL resize bug under OSX.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2843 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-10-15Preliminary OpenGL single-buffering fix.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2676 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-08-09More shadow variable changes...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2567 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-05-25Clean up string includes.Michael R Sweet
Fix Fl_Shared_Image::add_handler() and friends. Fix Fl_PNM_Image loader. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2260 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-04-11Make Fl_Output a subclass of Fl_Input, and add input_type and readonlyMichael R Sweet
methods/constants to support Fl_Output as a special case of Fl_Input (you can do everything but change the text in Fl_Output...) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2073 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-03cleaned up src/Fl_mac.cxx, fixed Fl::wait(0.0), fixed Cmd-Q handlingMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1905 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-01-01Copyright updates...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-21Get rid of CR's in some files...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1887 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-19MacOS: added opaque window resizing,Matthias Melcher
all events except Mac menus are now handled using Carbon, window activation fixed, GL_SWAP_TYPE default changed to make gl_overlay work. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1874 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-18- Mac: greatly improved OpenGL support, some window management,Matthias Melcher
soem little bugs, better source comments git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1872 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-11Multiple fixes from Sebastien.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-06Implemeted 95% of all Mac OS X support. Makefiles still need modifications.Matthias Melcher
Almost all test applications run out of the box (->Makefile). See more information in README.mac . Changes: - message handling - access to opaque port structures - image, bitmap, pixmap support - most OpenGL stuff - window styles git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-12-04Some Win32 drivers would draw into wrong buffersMatthias Melcher
after OpenGL mode change. After changing from single- to doublebuffered OpenGL, glClear would write into the FRONbuffer and swap_buffers would not send a glFlush(). (nVidia GeForce2 MX/MX 400, 2560x1024 pixel, 16bit) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1805 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-11-27Preliminary commit of my MacOS X work.Michael R Sweet
**** THIS CODE COMPILES BUT DOES NOT WORK. **** TODO: fix event handling - getting blank windows, etc. TODO: re-port OpenGL code. TODO: add support for images with alpha. TODO: add support for more then just beeps in fl_beep(). TODO: other stuff I'm sure... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-07-18Does not blink the OpenGl cursor on NT except when a gl overlay is being ↵Bill Spitzak
done, should make display faster when a cursor is set git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1482 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-03-14Replaced remaining _WIN32 symbols with WIN32Bill Spitzak
Stuff from work: Removed reference to unused GL/glu.h header file, which is missing on some Linux systems. Fl_Gl_Window has a new method to allow you to get and set the context: void Fl_Gl_Window::context(void*, int destroy = 0) void* Fl_Gl_Window::context() const; Return or set a pointer to the GLContext that this window is using. This is a system-dependent structure, but it is portable to copy the context from one window to another. You can also set it to NULL, which will force FLTK to recreate the context the next time make_current() is called, this is useful for getting around bugs in OpenGL implementations. If destroy_flag is true the context will be destroyed by fltk when the window is destroyed, or when the mode() is changed, or the next time context(x) is called. Some cleanup of Fl_Gl_Choice to move most of the system dependent #ifdefs into Fl_Gl_Choice.cxx. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1413 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2001-01-22Copyright 2001.Michael R Sweet
FLTK 1.0.11. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1356 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-12Fl_Gl_Window does not set drawbuffer(BACKBUFFER) for single-bufferedBill Spitzak
windows. Fl_Input::replace(...) correctly updates the display if the replaced region does not include the mark, point, or selected region. Added Fl::add_check(...), Fl::remove_check, and Fl::has_check. These are similar to idle callbacks but are only called just before it waits for new events. They can be used to watch for changes in global state and respond to them. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1347 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-12-06APIENTRY doesn't need to be used for the font pointers in glut.HMichael R Sweet
APIENTRY should appear between the return type and function name. WIN32 is defined by MSVC++, not _WIN32. Updated the sources to work with both. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1343 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-09-15Fl_Gl_Window with an overlay on X always resized any child windows evenBill Spitzak
if you turned resizable() off because it turned it back on to resize the overlay window. This patch avoids changing resizable(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1301 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-07-07Buttons with box(FL_NO_BOX) did not draw. Apparently they did inBill Spitzak
older versions of fltk, I restored this. (bug 108771) Removed 8-bit colormap drawing code that was not doing anything in fl_draw_image due to Mike's changes. I also made fl_color(r,g,b) actually allocate the requested color rather than the nearest fltk color-cube color (this is only done for the first color that maps to a given entry in the fltk color cube), the result is that pixmaps with a small number of colors are drawn much more accurately. The resulting code seems to produce better images and is a good deal smaller! Fixed makeinclude.in so CFLAGS are used for c source code instead of CXXFLAGS. (bug 108694) Better fix for gif files suggested by pauly (bug 108770) Performance of Fl_Gl_Window may be improved on some types of OpenGL implementations, in particular MESA or other software emulators, by setting the GL_SWAP_TYPE environment variable. This variable declares what is in the back buffer after you do a swapbuffers. setenv GL_SWAP_TYPE COPY This indicates that the back buffer is copied to the front buffer, and still contains it's old data. This is true of many hardware implementations. Setting this will speed up emulation of overlays, and widgets that can do partial update can take advantage of this as damage() will not be cleared to -1. setenv GL_SWAP_TYPE NODAMAGE This indicates that nothing changes the back buffer except drawing into it. This is true of MESA and Win32 software emulation and perhaps some hardware emulation on systems with lots of memory. All other values for GL_SWAP_TYPE, and not setting the variable, cause fltk to assumme that the back buffer must be completely redrawn after a swap. This is easily tested by running the gl_overlay demo program and seeing if the display is correct when you drag another window over it or if you drag the window off the screen and back on. You have to exit and run the program again for it to see any changes to the environment variable. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-10Made sure all draw()s were protected and all handle()s were public. (MostCarl E. Thompson
were already.) Looks like I forgot to commit those changes to eliminate Mesa dependancy in the code. Here it is. Carl git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-10More fixes to the OpenGL overlay code on win32. This now seems toBill Spitzak
work quite reliably on several different pieces of hardware. Apparently doing SetLayerPaletteEntries with a palette larger than the overlay size caused the drivers to screw up in unpredictable ways. Also SwapBuffers swapped both the overlay and main window, which is not what fltk's interface wanted, this was easy to fix however. Patch for full scrollbars so that clicking on them does not move anything. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1188 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-05OK, now version 1.0.9Michael R Sweet
Updated email addresses to point to fltk.org domain... Updated README and CHANGES files accordingly. Updated makeinclude and Makefile files to put -L../lib before the LDFLAGS/GLDFLAGS to avoid problem reported by Alexander. documentation/Makefile wasn't including makeinclude. Updated FLUID about window to show version 1.0.9. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-06-03Fixes for 1.0.8 I found:Bill Spitzak
Fixed hardware overlays. The problem was the new fl_clipped() code, which tests against the current window size. The hardware overlay code did not set the current window when drawing the overlay. I needed hardware overlay for DD's code, I'm not sure if these fixes are good enough to enable this in our general release. Hardware overlay still only works on SGI Irix. Some patches to turn off the MSVC++ -Oa (assumme no aliasing) optimization flag. Suprisingly this only broke a few parts of fltk, or at least these are the only ones I found. Does not unmap child windows when the main window is iconized. This reduces flashing when the window is deiconized. Fl::key() is set to zero by all events except key down/up. This will allow you to reliably test if an event or callback was produced by a keystroke. Fixes the bug posted about stopping Escape from closing the window. User defined cursors on OpenGL windows slowed down NT a *LOT*. Some attempts to fix this by turning off the cursor while drawing the window. Filename completion in the file chooser works better on NT. Typing TAB fixes the case of everything you typed to match the shortest name that can be completed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-04-25Updated copyright notices for all of the 1.0.x files.Michael R Sweet
Updated the configure script for *BSD and GCC 2.95 (-fno-exceptions) Added install rule to documentation directory. Dumped old packages directory; added traditional RPM spec file and EPM list file (that replace all of the packages stuff) The FLUID man page is now "fluid.1" for the formatted page and "fluid.man" for the non-formatted page, since only IRIX uses pack'd formatted man pages. Whew! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-04-07More fixes to the NT OpenGL overlaysBill Spitzak
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1058 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-03-24OpenGL overlays now work on NT. Tested on several different cards.Bill Spitzak
They work best on 8-bit overlays like the SGI 320 has. On cards with fewer bits you get only a few colors, really only FL_BLACK, FL_RED, and FL_WHITE are guaranteed to work. This could be improved but would mean copying the ugly X colormap allocation code. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1048 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-03-18OpenGL overlays now work on NT!Bill Spitzak
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1044 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-03-05Moved FL_LEFT_MOUSE, FL_MIDDLE_MOUSE, and FL_RIGHT_MOUSE from forms.h toBill Spitzak
Enumerations.H so they are available to any fltk programs. More fixes to the fake-overlay code in Fl_Gl_Window (it did not work on Win32 when there were 2 different-sized windows) Fix to Fl_compose to not quote the Delete key fixed to allow the right- control key to still be the compose prefix and to allow it to quote control characters. OSF1 used the same parameters for scandir as SGI and unlike Linux and apparently most other Unix's fl_ask, message, etc windows are resizable, which is useful if you use them to display arbitrary output from a program. On Win32 non_modal (but not modal) windows have close and size boxes, as per popular demand at Digital Domain. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1028 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2000-01-12Fixed the gl_overlay demo (and gl overlays in general) when they areBill Spitzak
faked with no hardware and the window is resized. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@984 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-12-19Stuff that didn't get into 1.0.7:Bill Spitzak
Fix for Borland or other platforms where GLint != int. Fixed browser scrollbars so they work if browser is inside a scroll (it did not update their position to match where they were drawn) Fl_Output (and non-focused Fl_Input) now scroll in response to position() calls from the program to show the position. In addition I cleaned up the horizontal scrolling of Fl_Input to be less screwy, it now never scrolls if the text actually fits in the widget. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@959 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-10-14These are some (hopefully minor) changes we keep needing to edit intoBill Spitzak
each new version of fltk for use at Digital Domain. These were found by running a diff between 1.0.6 and our inhouse version. 1. WinMain is moved to the fl_call_main.c file so that it can easily be conditionally-compiled out (code copied from fltk 2.0, not tested!) 2. Fl_win32 ignores the value of window->xclass(). This seemed to cause problems when windows had different xclass() in the same app and did not have any useful effect on windows. This value is changed to set the icon of the app on X. 3. sgi pragmas added to x.H to turn off warnings from their broken xlib header files. Please tell me if this causes any sgi compilers to complain, we should add more stuff to the #ifdef to stop that. 4. Fl_Gl_Window::ortho() changed so that text and images are not erased if the origin is off the left/bottom of the window. 5. Small change to Fl_Input so that a click that gives it the focus also selects all the text. This is more windoze-like and it seems the users really like it. Note also that we had to set USE_XDBE to zero to get things to work on the newest Irix machines. I give up, Xdbe has been nothing but an impossible and confusing mess and it is obvious that the X servers are not testing it and thus it is suffering from software rot so it is unlikely to work anywhere in the future. Not sure if we want to switch it off in the official version, though. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@774 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-09-16Fixed some WIN32 bugs found in 1.0.5:Bill Spitzak
FL_MOUSELEAVE had an extra underscore call to toupper() removed const char* cast added to fl_draw_pixmap Change to Fl_Gl_Window that did not get in in time for 1.0.5, it caches the current gl context and does not call glXMakeCurrent (wglMakeCurrent on WIN32) if not needed. This distinctly speeds up Mesa, Irix, and Windows opengl, although I am stumped why such a test is not built into those libraries already. If you use other code that sets the current OpenGL context fltk will get confused because it does not know it changed. To fix such programs you must call fl_no_gl_context() to clear the cache. There is a report that this causes the fractals demo to crash on some Linux and Irix machines, although I can't reproduce it. I suspect the problem is the fractals demo and not fltk, but this change may be making it more likely to fail. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-08-09It crashed when a group with exactly 1 child was deleted.Bill Spitzak
Overlay on a single buffered Fl_Gl_Window is faked more accurately when there is no overlay hardware. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-03-18Changes from Luis Ibanez to make it compile under Borland.Bill Spitzak
Includes a real bug that was in Fl_Gl_Window.c (#if WIN32) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@437 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1999-01-07Yay, change all copyright notices to be 1998-1999.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/trunk@201 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-11-09Whoops - put WIN32 stuff in with the X stuff...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/trunk@78 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-11-08Backed out WIN32 color palette changes for OpenGL - caused too muchMichael R Sweet
flashing... git-svn-id: file:///fltk/svn/fltk/trunk@76 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-11-08More OpenGL under Windows changes - now keep track of window type andMichael R Sweet
select the corresponding color palette... git-svn-id: file:///fltk/svn/fltk/trunk@74 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-11-08Added 8-bit palette for OpenGL (3:3:2 RGB). This should fix all of theMichael R Sweet
OpenGL colormap problems... git-svn-id: file:///fltk/svn/fltk/trunk@73 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-10-21Fixed all the frigging file headings - was missing a $ in the Id string.Michael R Sweet
Applied some damage bit fixes from Bill Spitzak. git-svn-id: file:///fltk/svn/fltk/trunk@28 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-10-19The great heading change - now use standard LGPL header with CVS tags.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/trunk@19 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
1998-10-19Added Gustavo's damage() update - now use symbolic constants for all values!Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/trunk@18 ea41ed52-d2ee-0310-a9c1-e6b18d33e121