summaryrefslogtreecommitdiff
path: root/src/GsWidget.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/GsWidget.H')
-rw-r--r--src/GsWidget.H22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/GsWidget.H b/src/GsWidget.H
index 99ef08a..659bc69 100644
--- a/src/GsWidget.H
+++ b/src/GsWidget.H
@@ -34,8 +34,11 @@
#include <FL/Fl_Window.H>
#include <FL/x.H>
+#include "PostscriptDSC.H"
class GsWidget : public Fl_Widget {
+private:
+ PostscriptDSC *dsc;
int gs_win;
Atom atoms[5];
pid_t gs_pid;
@@ -43,6 +46,7 @@ class GsWidget : public Fl_Widget {
int in_fd, reload_needed;
int zoom_percent;
int initial_width, initial_height;
+ int feeding;
protected:
int page;
@@ -56,26 +60,38 @@ public:
GsWidget(int X,int Y,int W, int H);
~GsWidget();
-
- int load(char *f);
+
+ int open_file(char *f);
+
+ int open_file(int fd);
+
+ int load();
- int load(int fd);
+ int load_page(int p);
int reload();
int next();
+ int prev();
+
int handleX11(int ev);
int zoom(int p);
int get_page();
+ int get_pages();
+
private:
void setProps();
+
+ void exec_gs();
void kill_gs();
+ int fd_copy(int to, int from, size_t len);
+
bool gs_active();
};
#endif