summaryrefslogtreecommitdiffstats
path: root/fltk/fltk/run.h
diff options
context:
space:
mode:
Diffstat (limited to 'fltk/fltk/run.h')
-rw-r--r--fltk/fltk/run.h93
1 files changed, 93 insertions, 0 deletions
diff --git a/fltk/fltk/run.h b/fltk/fltk/run.h
new file mode 100644
index 0000000..cf545c1
--- /dev/null
+++ b/fltk/fltk/run.h
@@ -0,0 +1,93 @@
+// "$Id: run.h 6233 2008-09-14 07:54:06Z spitzak $"
+//
+// The basic fltk runtime. Every program needs to call this somewhere.
+// Copyright 1998-2006 by Bill Spitzak and others.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Library General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library 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
+// Library General Public License for more details.
+//
+// You should have received a copy of the GNU Library General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+// Please report all bugs and problems to "fltk-bugs@fltk.org".
+
+#ifndef fltk_run_h
+#define fltk_run_h
+
+#include "FL_API.h"
+#ifdef check
+# undef check
+#endif
+
+namespace fltk {
+
+/// \name fltk/run.h
+//@{
+
+FL_API void display(const char*);
+FL_API int arg(int, char**, int&);
+FL_API int args(int, char**, int&, int (*)(int,char**,int&) = 0);
+extern FL_API const char* const help;
+FL_API void args(int, char**);
+FL_API bool enable_tablet_events();
+
+FL_API int wait();
+FL_API int wait(float time);
+FL_API int check();
+FL_API int ready();
+FL_API int run();
+FL_API void flush();
+FL_API void redraw();
+extern FL_API int damage_;
+inline void damage(int d) {damage_ = d;}
+inline int damage() {return damage_;}
+
+/*! Type of function passed to add_timeout(), add_check(), and add_idle() */
+typedef void (*TimeoutHandler)(void*);
+
+FL_API double get_time_secs();
+
+FL_API void add_timeout(float t, TimeoutHandler, void* v = 0);
+FL_API void repeat_timeout(float t, TimeoutHandler,void* = 0);
+FL_API bool has_timeout(TimeoutHandler, void* = 0);
+FL_API void remove_timeout(TimeoutHandler, void* = 0);
+
+FL_API void add_check(TimeoutHandler, void* = 0);
+FL_API bool has_check(TimeoutHandler, void* = 0);
+FL_API void remove_check(TimeoutHandler, void* = 0);
+
+FL_API void add_idle(TimeoutHandler, void* = 0);
+FL_API bool has_idle(TimeoutHandler, void* = 0);
+FL_API void remove_idle(TimeoutHandler, void* = 0);
+
+// For back-compatability only:
+extern FL_API void (*idle)();
+inline void set_idle(void (*cb)()) {idle = cb;}
+
+/*! Type of function passed to add_fd() */
+typedef void (*FileHandler)(int fd, void*);
+enum {READ = 1, WRITE = 4, EXCEPT = 8};
+FL_API void add_fd(int fd, int when, FileHandler, void* =0);
+FL_API void add_fd(int fd, FileHandler, void* = 0);
+FL_API void remove_fd(int, int when = -1);
+
+FL_API void lock();
+FL_API void unlock();
+FL_API void awake(void* message = 0);
+FL_API void* thread_message();
+FL_API bool in_main_thread();
+
+//@}
+
+}
+
+#endif