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
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
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
- 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
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
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
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
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
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
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
**** 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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