Mercurial > octave
view libinterp/corefcn/oct-procbuf.h @ 18958:c9f960441513
Overhaul FLTK plotting and printing
* gl2ps-renderer.cc: Force execution of GL commands before gl2psEndPage to
avoid missing primitives in output. Enable error output of gl2ps,
check return value of gl2psBeginPage for error.
* __init_fltk__.cc:
Avoid redraw of the OpenGL and the plot window if not needed.
Let FLTK do the resizing of the canvas, the menubar and the statusbar.
This was done by creating a resize_dummy and set this as resizable
for the plot_window group. Previously this was done inside draw().
Avoid timing issues with fltk_maxtime (removed) and other hacks with
multiple Fl::check and redraw () calls. You can use flush and glFlush
if you really need to force a immediate redraw.
Remove print_mode in draw () and print directly without waiting that
FLTK flushes its buffers. This fixes bug #42458 and #40215
Manually placement of the toolbar is only done once when hiding or
showing the menubar. (update_toolbar_position)
set(gcf, "position", [x, y, w, h]) is now handled by
figure::properties::ID_POSITION which calls update_position
* __add_default_menu__.m: Remove now unneeded hacks for the menubar.
author | Andreas Weber <andy.weber.aw@gmail.com> |
---|---|
date | Sat, 26 Jul 2014 10:09:48 +0200 |
parents | ebb3ef964372 |
children | 4197fc428c7d |
line wrap: on
line source
/* Copyright (C) 1996-2013 John W. Eaton This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave 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 General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ // This class is based on the procbuf class from libg++, written by // Per Bothner, Copyright (C) 1993 Free Software Foundation. #if !defined (octave_oct_procbuf_h) #define octave_oct_procbuf_h 1 #include <sys/types.h> #include "c-file-ptr-stream.h" class octave_procbuf : public c_file_ptr_buf { public: octave_procbuf (void) : c_file_ptr_buf (0), wstatus (-1), open_p (false), proc_pid (-1), next (0) { } octave_procbuf (const char *command, int mode) : c_file_ptr_buf (0), wstatus (-1), open_p (false), proc_pid (-1), next (0) { open (command, mode); } ~octave_procbuf (void) { close (); } octave_procbuf *open (const char *command, int mode); octave_procbuf *close (void); int wait_status (void) const { return wstatus; } bool is_open (void) const { return open_p; } pid_t pid (void) const { return proc_pid; } protected: int wstatus; bool open_p; pid_t proc_pid; octave_procbuf *next; private: // No copying! octave_procbuf (const octave_procbuf&); octave_procbuf& operator = (const octave_procbuf&); }; extern void symbols_of_oct_procbuf (void); #endif