Index: doc-rnd/TODO =================================================================== --- doc-rnd/TODO (revision 1409) +++ doc-rnd/TODO (revision 1410) @@ -9,7 +9,6 @@ - gpmi (and other buildins/plugins) not showing up in the about box CLEANUP #4 -- scconfig: detect libstroke - libstroke: zoom - cleanup/rewrite resources: - better tree structs with less hidden properties (minor change in the res format: always require key=val pairs) Index: scconfig/hooks.c =================================================================== --- scconfig/hooks.c (revision 1409) +++ scconfig/hooks.c (revision 1410) @@ -120,14 +120,23 @@ /* Runs when things should be detected for the target system */ int hook_detect_target() { - int want_gtk, want_glib = 0, want_gd; + int want_glib = 0, want_gtk, want_gd, want_stroke; - want_gtk = plug_is_enabled("hid_gtk"); - want_gd = plug_is_enabled("export_png") || plug_is_enabled("export_nelma") || plug_is_enabled("export_gcode"); + want_gtk = plug_is_enabled("hid_gtk"); + want_gd = plug_is_enabled("export_png") || plug_is_enabled("export_nelma") || plug_is_enabled("export_gcode"); + want_stroke = plug_is_enabled("stroke"); require("cc/fpic", 0, 1); require("fstools/mkdir", 0, 1); + if (want_stroke) { + require("libs/gui/libstroke/presents", 0, 0); + if (!istrue(get("libs/gui/libstroke/presents"))) { + report_repeat("WARNING: Since there's no libstroke found, disabling the stroke plugin...\n"); + hook_custom_arg("disable-stroke", NULL); + } + } + if (want_gtk) { require("libs/gui/gtk2/presents", 0, 0); if (!istrue(get("libs/gui/gtk2/presents"))) { Index: src/Makefile.dep =================================================================== --- src/Makefile.dep (revision 1409) +++ src/Makefile.dep (revision 1410) @@ -460,7 +460,8 @@ list_element.h libpcb_fp.h box.h misc.h ../src_3rd/genvector/gds_char.h \ mymem.h crosshair.h create.h data.h draw.h file.h error.h move.h \ pcb-printf.h polygon.h remove.h rtree.h rotate.h rubberband.h search.h \ - set.h undo.h action_helper.h compat_fs.h hid_actions.h hid_init.h + set.h undo.h action_helper.h compat_fs.h compat_misc.h hid_actions.h \ + hid_init.h move.o: move.c ../config.h ../config.manual.h ../config.auto.h global.h \ const.h ../globalconst.h ../config.h macro.h global_typedefs.h \ global_objs.h ../src_3rd/genlist/gendlist.h polyarea.h list_common.h \ @@ -1025,6 +1026,18 @@ list_element.h libpcb_fp.h data.h global.h action_helper.h change.h \ error.h undo.h misc.h ../src_3rd/genvector/gds_char.h mymem.h set.h \ plugins.h hid_actions.h pcb-printf.h dolists.h +../src_plugins/stroke/stroke.o: ../src_plugins/stroke/stroke.c \ + ../config.h ../config.manual.h ../config.auto.h global.h const.h \ + ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ + ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ + ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ + ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ + list_pad.h list_pin.h list_rat.h vtonpoint.h \ + ../src_3rd/genvector/genvector_impl.h \ + ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ + list_element.h libpcb_fp.h data.h global.h crosshair.h stub_stroke.h \ + rotate.h undo.h set.h error.h misc.h ../src_3rd/genvector/gds_char.h \ + mymem.h plugins.h ../src_plugins/report/report.o: ../src_plugins/report/report.c \ ../config.h ../config.manual.h ../config.auto.h \ ../src_plugins/report/report.h global.h const.h ../globalconst.h \ @@ -1712,15 +1725,3 @@ ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ list_element.h libpcb_fp.h data.h global.h action_helper.h change.h \ error.h undo.h plugins.h dolists.h -../src_plugins/stroke/stroke.o: ../src_plugins/stroke/stroke.c \ - ../config.h ../config.manual.h ../config.auto.h global.h const.h \ - ../globalconst.h ../config.h macro.h global_typedefs.h global_objs.h \ - ../src_3rd/genlist/gendlist.h polyarea.h list_common.h list_line.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h list_arc.h list_text.h list_poly.h \ - list_pad.h list_pin.h list_rat.h vtonpoint.h \ - ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h hid.h global_element.h \ - list_element.h libpcb_fp.h data.h global.h crosshair.h stub_stroke.h \ - rotate.h undo.h set.h error.h misc.h ../src_3rd/genvector/gds_char.h \ - mymem.h Index: src_plugins/stroke/Plug.tmpasm =================================================================== --- src_plugins/stroke/Plug.tmpasm (revision 1409) +++ src_plugins/stroke/Plug.tmpasm (revision 1410) @@ -2,6 +2,15 @@ put /local/pcb/mod/OBJS [@ $(PLUGDIR)/stroke/stroke.o @] switch /local/pcb/stroke/controls + case {disable} end; + default + put /local/pcb/mod/LDFLAGS libs/gui/libstroke/ldflags + put /local/pcb/mod/CFLAGS libs/gui/libstroke/cflags + end +end + + +switch /local/pcb/stroke/controls case {buildin} include /local/pcb/tmpasm/buildin; end; case {plugin} include /local/pcb/tmpasm/plugin; end; case {disable} include /local/pcb/tmpasm/disable; end; Index: src_plugins/stroke/README =================================================================== --- src_plugins/stroke/README (revision 1409) +++ src_plugins/stroke/README (revision 1410) @@ -2,4 +2,4 @@ #state: partially works (doesn't work with lesstif; works with the gtk hid, but there's no zoom bindings) #default: disabled -#ldefault: requires libstroke installed + Index: src_plugins/stroke/stroke.c =================================================================== --- src_plugins/stroke/stroke.c (revision 1409) +++ src_plugins/stroke/stroke.c (revision 1410) @@ -26,6 +26,7 @@ */ #include "config.h" +#include #include "global.h" #include "data.h" #include "crosshair.h" @@ -35,11 +36,9 @@ #include "set.h" #include "error.h" #include "misc.h" +#include "plugins.h" void FinishStroke(void); -extern void stroke_init(void); -extern void stroke_record(int x, int y); -extern int stroke_trans(char *s); BoxType StrokeBox;