1 /*[ 2 * Copyright 1986 - 1993, 1998, 2004 Thomas Williams, Colin Kelley 3 * 4 * Permission to use, copy, and distribute this software and its 5 * documentation for any purpose with or without fee is hereby granted, 6 * provided that the above copyright notice appear in all copies and 7 * that both that copyright notice and this permission notice appear 8 * in supporting documentation. 9 * 10 * Permission to modify the software is granted, but not the right to 11 * distribute the complete modified source code. Modifications are to 12 * be distributed as patches to the released version. Permission to 13 * distribute binaries produced by compiling modified sources is granted, 14 * provided you 15 * 1. distribute the corresponding source modifications from the 16 * released version in the form of a patch file along with the binaries, 17 * 2. add special version identification to distinguish your version 18 * in addition to the base release version number, 19 * 3. provide your name and address as the primary contact for the 20 * support of your modified version, and 21 * 4. retain our contact information in regard to use of the base 22 * software. 23 * Permission to distribute the released version of the source code along 24 * with corresponding source modifications in the form of a patch file is 25 * granted with same provisions 2 through 4 for binary distributions. 26 * 27 * This software is provided "as is" without express or implied warranty 28 * to the extent permitted by applicable law. 29 ]*/ 30 31 #ifndef __GNUPLOTAPP_H__ 32 #define __GNUPLOTAPP_H__ 33 34 extern const char *APP_SIGNATURE; 35 36 #define MAX_WINDOWS 10 37 38 typedef struct plot_struct { 39 BWindow *window; 40 // GPBixmap *pixmap; 41 unsigned int posn_flags; 42 int x, y; 43 unsigned int width, height; /* window size */ 44 unsigned int px, py; /* pointsize */ 45 int ncommands, max_commands; 46 char **commands; 47 } plot_struct; 48 49 class GPApp : public BApplication { 50 public: 51 GPApp(); 52 virtual void ReadyToRun(void); 53 virtual void MessageReceived(BMessage *message); 54 virtual void RefsReceived(BMessage *message); 55 56 private: 57 int32 window_count; 58 int32 next_untitled_number; 59 void prepare_plot(plot_struct *plot, int term_number); 60 void store_command(char *buffer, plot_struct *plot); 61 void display(plot_struct *plot); 62 int32 io_task(plot_struct *data); 63 int32 io_loop(void *data); 64 thread_id io_thread; 65 // BFilePanel *openPanel; 66 }; 67 #endif 68