diff options
| author | Manolo Gouy <Manolo> | 2016-03-27 07:47:52 +0000 |
|---|---|---|
| committer | Manolo Gouy <Manolo> | 2016-03-27 07:47:52 +0000 |
| commit | 2fd4dde9f5d682898b7fc387bb364fff2febf8fb (patch) | |
| tree | 1d3ccbc3c7bea37356c6c54df8784d68c1f618a5 /src/Fl_Menu_Window.cxx | |
| parent | 5f14fc3e9b81d082966665209c4246cbdfee0005 (diff) | |
Rewrite Fl_Menu_Window class under the driver model.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11441 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Menu_Window.cxx')
| -rw-r--r-- | src/Fl_Menu_Window.cxx | 37 |
1 files changed, 3 insertions, 34 deletions
diff --git a/src/Fl_Menu_Window.cxx b/src/Fl_Menu_Window.cxx index 44098817b..fd0ec6ed0 100644 --- a/src/Fl_Menu_Window.cxx +++ b/src/Fl_Menu_Window.cxx @@ -23,52 +23,21 @@ // which are used so that clicks outside the program's windows // can be used to dismiss the menus. -#include <config.h> -#include <FL/Fl.H> -#include <FL/fl_draw.H> #include <FL/Fl_Menu_Window.H> #include <FL/Fl_Window_Driver.H> -// WIN32 note: HAVE_OVERLAY is false -#if HAVE_OVERLAY -#include <FL/x.H> -extern XVisualInfo *fl_overlay_visual; -extern uchar fl_overlay; // changes how fl_color(x) works -#endif - -#include <stdio.h> - void Fl_Menu_Window::show() { driver()->show_menu(); } void Fl_Menu_Window::flush() { if (!shown()) return; -#if HAVE_OVERLAY - if (!fl_overlay_visual || !overlay()) {Fl_Single_Window::flush(); return;} - Fl_X *myi = Fl_X::i(this); - fl_window = myi->xid; -# if defined(FLTK_USE_CAIRO) - // capture gc changes automatically to update the cairo context adequately - if(Fl::autolink_context()) Fl::cairo_make_current(fl_graphics_driver->gc()); -# endif - fl_overlay = 1; - fl_clip_region(myi->region); myi->region = 0; current_ = this; - draw(); - fl_overlay = 0; -#else - Fl_Single_Window::flush(); -#endif + driver()->flush_menu(); } -/** Erases the window, does nothing if HAVE_OVERLAY is not defined config.h */ +/** Erases the window, does nothing if HAVE_OVERLAY is not defined in config.h */ void Fl_Menu_Window::erase() { -#if HAVE_OVERLAY - if (!shown()) return; -//XSetForeground(fl_display, gc, 0); -//XFillRectangle(fl_display, fl_xid(this), gc, 0, 0, w(), h()); - XClearWindow(fl_display, fl_xid(this)); -#endif + driver()->erase_menu(); } // Fix the colormap flashing on Maximum Impact Graphics by erasing the |
