Skip to content
Snippets Groups Projects
partiview.H 2 KiB
Newer Older
teuben's avatar
teuben committed
#ifndef _PARTIVIEW_H
#define _PARTIVIEW_H

#ifdef WIN32
# include <windows.h>
#endif

slevy's avatar
 
slevy committed
#include "Hist.H"
#include "Fl_Log_Slider.H"
teuben's avatar
teuben committed
#include "partipanel.H"
#include "Gview.H"
teuben's avatar
teuben committed
#include "specks.h"
#include "partiviewc.h"

slevy's avatar
slevy committed
typedef struct subcam {
  char name[8];
  float azim, elev, roll;
  float nleft, right, ndown, up;
} Subcam;

teuben's avatar
teuben committed
struct _ppui {
  struct stuff *st;

  struct wfpath path;
  char *snapfmt;
  int snapfno;
  float censize;
slevy's avatar
slevy committed
  float pickrange;
teuben's avatar
teuben committed

slevy's avatar
 
slevy committed
  SClock *clk;		/* master data clock */
  SClock *camclock;	/* camera animation clock */
    int playing;
    int playevery;
    int playidling;
    float playspeed;
    int framebase;
    float playtimebase;
    int playloop;

  double timebasetime;

slevy's avatar
slevy committed
#define MAXSUBCAM  32
  Subcam sc[MAXSUBCAM];
  int subcam;
slevy's avatar
 
slevy committed

teuben's avatar
teuben committed
  Fl_Window* mainwin;

  class Fl_Tile* maintile;
  Fl_Group* topclump;
  Fl_Group* toprow;
  Fl_Pack*  objtogs;
  Fl_Group* objgroup;
  Fl_Menu_Button* more;
  Fl_Menu_Button* obj;
  Fl_Menu_Button* nav;
teuben's avatar
teuben committed
  Fl_Light_Button* point;
  Fl_Light_Button* poly;
  Fl_Light_Button* label;
  Fl_Light_Button* texture;
  Fl_Light_Button* box;
  Fl_Value_Slider* slum;

  Fl_Menu_Button* playmenu;

slevy's avatar
 
slevy committed
  Fl_Group* steprow;
  Fl_Button* step[2];
  Fl_Button* runstop[2];
  Fl_Input* timestep;
  Fl_Roller* jog;
  Fl_Button* settrip;
  Fl_Button* backtrip;
  Fl_Input* timebase;
  Fl_Log_Slider* stepspeed;
teuben's avatar
teuben committed

  Fl_Group* animrow;
  Fl_Button* rdata;
  Fl_Button* play;
  Fl_Counter* playframe;
  Fl_Value_Slider* playtime;

  Hist *cmdhist;
slevy's avatar
slevy committed
  HistInput *cmd;
teuben's avatar
teuben committed

  Fl_Gview* view;

  Fl_Window* hrdiagwin;
  Fl_Menu_Item* hrdiagon;
  Fl_Plot*  hrdiag;
teuben's avatar
teuben committed
};

struct parser {
  int (*parsefunc)( struct stuff **stp, int argc, char *argv[], void *etc );
  char *whose;			// name
  void *etc;			// client data
  struct parser *next;
};

extern struct parser *parsers;
teuben's avatar
teuben committed

extern struct _ppui  ppui;

extern void ppui_refresh( struct stuff * );
extern int specks_commandfmt( struct stuff **, const char *fmt, ... );

#endif /*_PARTIVIEW_H*/