summaryrefslogtreecommitdiff
path: root/src/Fl_Gl_Window.cxx
AgeCommit message (Collapse)Author
2008-09-13WP1 merged from my branch, WP2 reserved, todo list updated.Fabien Costantini
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6231 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-10Merging the UTF8 patch, consisting of O'ksi'd s original 1.1.6 patch and ↵Matthias Melcher
additions by Ian. PLEASE BE AWARE that the patch in its current incarnation is a regression in many aspects and further work is required before we can announce Unicode support. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-12-15Fl_Gl_Window::mode() needed to hide and show the window when toggling stereoMichael R Sweet
mode (STR #1846) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5998 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-12-15Add set_visible() for GL windows on Mac OS X (STR #1707)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5997 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-08-17New context_changed() function for OpenGL windows allowing efficient texture ↵Matthias Melcher
loading (str #1372) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5322 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-15More copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4748 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-14Fix resizing of Windows (STR #1139)Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4745 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-05-12Resizing of OpenGL subwindows was broken on OSX (STR #804)Michael R Sweet
Added a FPS indicator to the fractals demo for testing purposes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-28Fix MacOS X 10.4 compile issues.Michael R Sweet
configure.in: - 10.4 doesn't include libsupc++.a, so we need to use g++ when compiling. src/Fl_Help_View.cxx: - Fl_Help_View::format_table(): missing initialization of font and fsize. src/Fl_Text_Buffer.cxx: - Fl_Text_Buffer::remove_rectangle(): missing initialization of endOffset. src/Fl_Gl_Window.cxx: - Fl_Gl_Window::flush(): use 0xff instead of ~0 for clear_damage() call. test/keyboard.cxx: - Apparently unnamed structs are not supported by Apple's GCC 4.0... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4301 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16Update source file headers with STR web page.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-14Fix compiler warnings.Michael R Sweet
Use fl_yes and fl_no for the Forms emulation, instead of the hardcoded strings. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4283 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24Copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-09Quartz port:Matthias Melcher
- removed all #warning statemnets and explained caveats with regular // warning lines - made GL text rendering work again (may use wrong fonts since agl doesn't really support ATS) - removed horizontal jittering in Fl_Input_ caused by fractional text positions. Unfortunatly, this does not work for Fl_Text_Display, which not only jitters, but also became horendously slow due to the complex font rendering in Quartz) I will fix some of the speed issues in fl_measure this afternoon, and also improve on the 'innards' for rgb data rendering. After that, I will have to leave the Quartz port alone for a while due to lack of time. I suggest we make another rc in the next days. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-25Updated config stuff to allow for --enable-quartz ofr Mac OS X which inMatthias Melcher
turn defined USE_QUARTZ to 1 and defines __APPLE_QUARTZ__. If Quartz is not disabled, it will define __APPLE_QD__ for Quickdraw. I also replaced all relevand #ifdef __APPLE__ with #ifdef __APPLE_QD__ #elif defined(__APPLE_QUARTZ__). This does not affect the compile at this time and both version will generate the same Quickdraw code. I will start to replace all QD calls with Quartz calls for the remainder of the week until I can completely remove all QD calls from the Quartz branch. Thanks to Robert Smith for a great initial Quartz implementation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3782 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
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