From 50a00beb9598747a3c396088fd4ad311cb6cdf39 Mon Sep 17 00:00:00 2001 From: Johannes Hofmann Date: Sat, 11 Aug 2007 22:27:55 +0200 Subject: don't export duplicates --- examples/Makefile | 24 ++++++++++++++++------ examples/gipfel2html | 56 +++++++++++++++++++++++++++++++++++++++------------- src/GipfelWidget.cxx | 2 +- src/gipfel.cxx | 12 ++++++----- 4 files changed, 68 insertions(+), 26 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 7c26813..a863f23 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -2,21 +2,27 @@ images := $(wildcard *.jpg) slides := $(addprefix gipfelweb/slides/, $(images)) thumbs := $(addprefix gipfelweb/thumbs/, $(images)) positions := $(addprefix gipfelweb/gipfel/, $(addsuffix .pos, $(basename $(images)))) -dumps := $(addprefix gipfelweb/gipfel/, $(addsuffix .gipf, $(basename $(images)))) +imgpos := $(addprefix gipfelweb/gipfel/, $(addsuffix .imgs, $(basename $(images)))) +hillpos := $(addprefix gipfelweb/gipfel/, $(addsuffix .hills, $(basename $(images)))) html := $(addprefix gipfelweb/, $(addsuffix .html, $(basename $(images)))) +htmlhills := $(addprefix gipfelweb/hills/, $(addsuffix .html, $(basename $(images)))) all: echo "make gipfelweb - create a HTML based we of gipfel oriented" echo "images in the current directory." -gipfelweb: dirs $(slides) $(thumbs) $(dumps) $(html) +gipfelweb: dirs $(slides) $(thumbs) $(imgpos) $(hillpos) $(html) $(htmlhills) clean: + rm -rf gipfelweb/gipfel + +clobber: rm -rf gipfelweb dirs: mkdir -p gipfelweb/slides mkdir -p gipfelweb/thumbs + mkdir -p gipfelweb/hills mkdir -p gipfelweb/gipfel gipfelweb/slides/%.jpg: %.jpg @@ -28,11 +34,17 @@ gipfelweb/thumbs/%.jpg: %.jpg gipfelweb/gipfel/%.pos: %.jpg gipfel -p $< > $@ -gipfelweb/gipfel/%.gipf: gipfelweb/slides/%.jpg gipfelweb/gipfel/index.gipfel - gipfel -v 0.02 -e gipfelweb/gipfel/index.gipfel $< > $@ +gipfelweb/gipfel/%.imgs: gipfelweb/slides/%.jpg gipfelweb/gipfel/index.gipfel + gipfel -V 0.05 -e gipfelweb/gipfel/index.gipfel $< > $@ + +gipfelweb/gipfel/%.hills: gipfelweb/slides/%.jpg + gipfel -V 0.05 -E $< > $@ gipfelweb/gipfel/index.gipfel: $(positions) cat $(positions) > gipfelweb/gipfel/index.gipfel -gipfelweb/%.html: gipfelweb/slides/%.jpg gipfelweb/gipfel/%.gipf $(thumbs) - gipfel2html $* > $@ +gipfelweb/%.html: gipfelweb/slides/%.jpg gipfelweb/gipfel/%.imgs $(thumbs) + gipfel2html images $* > $@ + +gipfelweb/hills/%.html: gipfelweb/slides/%.jpg gipfelweb/gipfel/%.hills + gipfel2html hills $* > $@ diff --git a/examples/gipfel2html b/examples/gipfel2html index e8912d9..f66b456 100755 --- a/examples/gipfel2html +++ b/examples/gipfel2html @@ -1,8 +1,17 @@ #!/bin/sh +MODE="$1" +FILE="$2" + +if [ "$MODE" = "images" ]; then + DATAFILE="gipfelweb/gipfel/${FILE}.imgs" +else + DATAFILE="gipfelweb/gipfel/${FILE}.hills" +fi + TITLE="" -if [ -e "$1.title" ]; then - TITLE=`cat $1.title` +if [ -e "${FILE}.title" ]; then + TITLE=`cat ${FILE}.title` fi cat << EOF @@ -16,18 +25,24 @@ cat << EOF #gipfel li:hover span {visibility: visible;} EOF +IFS=" " i=0 -grep -v "^#" gipfelweb/gipfel/${1}.gipf | \ +grep -v "^#" ${DATAFILE} | \ while read name height x y dist flags dummy; do if [ "${flags}" = "HIDDEN" ]; then continue fi - thumb_w=`identify -format %w gipfelweb/thumbs/${name}` - thumb_h=`identify -format %h gipfelweb/thumbs/${name}` + if [ "$MODE" = "images" ]; then + thumb_w=`identify -format %w gipfelweb/thumbs/${name}` + thumb_h=`identify -format %h gipfelweb/thumbs/${name}` - echo "#id_${i} {left:$((${x} - 10 / 2))px; top: $((${y} - 6 / 2))px; width: 10px; height: 6px;}" - echo "#id_${i}:hover {width: ${thumb_w}px; height: ${thumb_h}px; background: url(thumbs/${name});}" + echo "#id_${i} {left:$((${x} - 10 / 2))px; top: $((${y} - 6 / 2))px; width: 10px; height: 6px;}" + echo "#id_${i}:hover {width: ${thumb_w}px; height: ${thumb_h}px; background: url(thumbs/${name});}" + else + echo "#id_${i} {left:$((${x} - 4 / 2))px; top: $((${y} - 4 / 2))px; width: 4px; height: 4px;}" + echo "#id_${i}:hover {width: 200px; height: 20px;}" + fi i=$((${i} + 1)) done @@ -54,6 +69,12 @@ EOF echo "

$TITLE

" +if [ "$MODE" = "images" ]; then + echo "show hill names" +else + echo "back to gipfelweb" +fi + cat << EOF
@@ -62,22 +83,29 @@ cat << EOF
EOF -echo "" +if [ "$MODE" = "images" ]; then + echo "" +else + echo "" +fi i=0 -grep -v "^#" gipfelweb/gipfel/${1}.gipf | \ +grep -v "^#" ${DATAFILE} | \ while read name height x y dist flags dummy; do if [ "${flags}" = "HIDDEN" ]; then continue fi - THUMB_TITLE="${name%.jpg}" - if [ -e "${name%.jpg}.title" ]; then - THUMB_TITLE=`cat ${name%.jpg}.title` + if [ "$MODE" = "images" ]; then + THUMB_TITLE="${name%.jpg}" + if [ -e "${name%.jpg}.title" ]; then + THUMB_TITLE=`cat ${name%.jpg}.title` + fi + echo "
  • ${THUMB_TITLE} (${height}m)
  • " + else + echo "
  • ${name} (${height}m)
  • " fi - echo "
  • ${THUMB_TITLE} (${height}m)
  • " - i=$((${i} + 1)) done diff --git a/src/GipfelWidget.cxx b/src/GipfelWidget.cxx index e6bed3a..8590b5c 100644 --- a/src/GipfelWidget.cxx +++ b/src/GipfelWidget.cxx @@ -735,7 +735,7 @@ GipfelWidget::export_hills(const char *file, FILE *fp) { int _x = (int) rint(m->x) + w() / 2; int _y = (int) rint(m->y) + h() / 2; - if (file && !(m->flags & Hill::EXPORT)) { + if (m->flags & Hill::DUPLICATE || file && !(m->flags & Hill::EXPORT)) { continue; } diff --git a/src/gipfel.cxx b/src/gipfel.cxx index 50f2404..43f2ed5 100644 --- a/src/gipfel.cxx +++ b/src/gipfel.cxx @@ -264,7 +264,7 @@ void usage() { fprintf(stderr, "usage: gipfel [-v ] [-d ]\n" " [-s] [-j ] [-t ] [-h ]\n" - " [-e ] -p]\n" + " [-e ] [-E] [-p]\n" " []\n" " -v Set point from which the picture was taken.\n" " This must be a string that unambiguously \n" @@ -281,9 +281,8 @@ void usage() { " -j JPEG output file for Stitch mode.\n" " -t Output directory for TIFF images in Stitch mode.\n" " -p Export position of image to stdout.\n" - " -e Export positions of hills from on image\n" - " to stdout. Uses hills from default data file if\n" - " is omitted.\n" + " -e Export positions of hills from on image.\n" + " -E Export hills from default data file.\n" " JPEG file(s) to use.\n"); } @@ -428,7 +427,7 @@ int main(int argc, char** argv) { char *export_file = NULL; err = 0; - while ((c = getopt(argc, argv, ":?d:v:sw:h:j:t:u:br:4e:V:p")) != EOF) { + while ((c = getopt(argc, argv, ":?d:v:sw:h:j:t:u:br:4e:V:pE")) != EOF) { switch (c) { case '?': usage(); @@ -441,6 +440,9 @@ int main(int argc, char** argv) { export_flag++; export_file = optarg; break; + case 'E': + export_flag++; + break; case 'v': view_point = optarg; break; -- cgit v1.2.3