summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile9
-rw-r--r--src/gipfel.cxx142
2 files changed, 150 insertions, 1 deletions
diff --git a/src/Makefile b/src/Makefile
index adcb519..5f7ab8d 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,5 +1,6 @@
CC=gcc
-CFLAGS=-g
+CPP=c++
+CFLAGS=-g -I/usr/X11R6/include
LDFLAGS=-g
OBJECTS=panorama.o
@@ -7,8 +8,14 @@ OBJECTS=panorama.o
%.o: %.c
$(CC) -c $(CFLAGS) $*.c
+%.o: %.cxx
+ $(CPP) -c $(CFLAGS) $*.c
+
panorama: $(OBJECTS)
$(CC) -o panorama $(OBJECTS) -lm
+flmountains: $(flmountains.o)
+ $(CPP) -o flmountains flmountains.o -L/usr/X11R6/lib -lm -lfltk -lfltk_images
+
clean:
rm -f panorama $(OBJECTS)
diff --git a/src/gipfel.cxx b/src/gipfel.cxx
new file mode 100644
index 0000000..70657f3
--- /dev/null
+++ b/src/gipfel.cxx
@@ -0,0 +1,142 @@
+//
+// "$Id: gipfel.cxx,v 1.1 2005/04/12 20:34:41 hofmann Exp $"
+//
+// flpsed program.
+//
+// Copyright 2004 by Johannes Hofmann
+//
+// This program 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 2 of the License, or (at your option) any later version.
+//
+// This program 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 this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+// USA.
+//
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <signal.h>
+
+#include <FL/Fl.H>
+#include <FL/Fl_Window.H>
+#include <FL/Fl_Scroll.H>
+#include <FL/Fl_File_Chooser.H>
+#include <FL/Fl_Input.H>
+#include <FL/Fl_Int_Input.H>
+#include <FL/Fl_Menu_Bar.H>
+#include <FL/Fl_Menu_Item.H>
+#include <FL/Fl_JPEG_Image.H>
+#include <FL/Fl_Shared_Image.H>
+
+
+char *filename;
+
+void open_cb() {
+ char *file = fl_file_chooser("Open File?", "*.ps", filename);
+ if(file != NULL) {
+
+ }
+}
+
+void about_cb() {
+ fl_message("flpsed -- a pseudo PostScript editor\n"
+ "(c) Johannes Hofmann 2004, 2005\n\n"
+ "PostScript is a registered trademark of Adobe Systems");
+}
+
+Fl_Menu_Item menuitems[] = {
+ { "&File", 0, 0, 0, FL_SUBMENU },
+ { "&Open File...", FL_CTRL + 'o', (Fl_Callback *)open_cb },
+ {0},
+ { 0 }
+};
+
+
+void usage() {
+ fprintf(stderr,
+ "usage: flpsed [-hbd] [-t <tag>=<value>] [<infile>] [<outfile>]\n"
+ " -h print this message\n"
+ " -b batch mode (no gui)\n"
+ " -d dump tags and values from a document\n"
+ " to stdout (this implies -b)\n"
+ " -t <tag>=<value> set text to <value> where tag is <tag>\n"
+ " <infile> optional input file; in batch mode if no\n"
+ " input file is given, input is read from stdin\n"
+ " <outfile> optional output file for batch mode; if no\n"
+ " output file is given, output is written to stdout\n");
+}
+
+
+int main(int argc, char** argv) {
+ char c, *sep, *tmp, **my_argv;
+ int err, bflag = 0, dflag = 0, my_argc;
+ Fl_Window *win;
+ Fl_Scroll *scroll;
+ Fl_Menu_Bar *m;
+
+ err = 0;
+ while ((c = getopt(argc, argv, "hdbt:")) != EOF) {
+ switch (c) {
+ case 'h':
+ usage();
+ exit(0);
+ break;
+ case 'b':
+ bflag = 1;
+ break;
+ case 'd':
+ dflag = 1;
+ break;
+ default:
+ err++;
+ }
+ }
+
+ if (err) {
+ usage();
+ exit(1);
+ }
+
+ my_argc = argc - optind;
+ my_argv = argv + optind;
+
+ fprintf(stderr, "%d %s\n", my_argc, my_argv[0]);
+ if (my_argc >= 1) {
+ filename = my_argv[0];
+ }
+
+ fl_register_images();
+ win = new Fl_Window(600,700);
+ m = new Fl_Menu_Bar(0, 0, 600, 30);
+ m->menu(menuitems);
+ scroll = new Fl_Scroll(0, 30, win->w(), win->h()-30);
+ fprintf(stderr, "%s\n", filename);
+
+ Fl_Image *img = new Fl_JPEG_Image(filename);
+ Fl_Box *b = new Fl_Box(0, 0, img->w(), img->h());
+ b->image(img);
+ scroll->end();
+
+
+ win->resizable(scroll);
+
+ win->end();
+ win->show(1, argv);
+
+ return Fl::run();
+}