Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 17211) +++ trunk/src/Makefile.dep (revision 17212) @@ -359,7 +359,7 @@ ../src_3rd/puplug/libs.h ../src_3rd/puplug/error.h stub_draw.h \ ../src_plugins/draw_fab/draw_fab_conf.h conf.h pcb-printf.h \ ../src_3rd/liblihata/lihata.h list_conf.h conf.h conf_core.h macro.h \ - obj_pstk_inlines.h data.h thermal.h obj_text_draw.h \ + obj_pstk_inlines.h data.h thermal.h hid_inlines.h obj_text_draw.h \ ../src_plugins/draw_fab/draw_fab_conf_fields.h ../src_plugins/draw_fontsel/draw_fontsel.o: \ ../src_plugins/draw_fontsel/draw_fontsel.c ../config.h board.h \ @@ -605,7 +605,8 @@ ../src_3rd/puplug/libs.h ../src_3rd/puplug/error.h hid_helper.h \ compat_misc.h safe_fs.h conf.h pcb-printf.h \ ../src_3rd/liblihata/lihata.h list_conf.h macro.h hid.h hid_nogui.h \ - hid_draw_helpers.h hid_init.h hid_attrib.h hid_flags.h conf_core.h + hid_draw_helpers.h hid_init.h hid_attrib.h hid_flags.h hid_inlines.h \ + conf_core.h ../src_plugins/export_ipcd356/ipcd356.o: \ ../src_plugins/export_ipcd356/ipcd356.c ../config.h board.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h attrib.h \ @@ -5452,10 +5453,10 @@ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h draw.h \ draw_wireframe.h search.h rats.h netlist.h route_style.h hid_actions.h \ - compat_misc.h compat_nls.h find.h undo.h ../src_3rd/libuundo/uundo.h \ - undo_old.h event.h action_helper.h macro.h grid.h obj_line_draw.h \ - obj_arc_draw.h obj_text_draw.h obj_pstk_draw.h obj_arc_ui.h \ - obj_subc_parent.h tool.h + hid_inlines.h compat_misc.h compat_nls.h find.h undo.h \ + ../src_3rd/libuundo/uundo.h undo_old.h event.h action_helper.h macro.h \ + grid.h obj_line_draw.h obj_arc_draw.h obj_text_draw.h obj_pstk_draw.h \ + obj_arc_ui.h obj_subc_parent.h tool.h data.o: data.c ../config.h board.h global_typedefs.h pcb_bool.h unit.h \ vtroutestyle.h attrib.h ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h layer.h globalconst.h \ @@ -5494,9 +5495,9 @@ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h draw.h rotate.h \ - compat_misc.h stub_draw.h layer_ui.h obj_pstk_draw.h obj_line_draw.h \ - obj_arc_draw.h obj_rat_draw.h obj_poly_draw.h obj_text_draw.h \ - obj_subc_parent.h draw_composite.c draw_ly_spec.c + compat_misc.h stub_draw.h layer_ui.h hid_inlines.h obj_pstk_draw.h \ + obj_line_draw.h obj_arc_draw.h obj_rat_draw.h obj_poly_draw.h \ + obj_text_draw.h obj_subc_parent.h draw_composite.c draw_ly_spec.c error.o: error.c ../config.h data.h globalconst.h global_typedefs.h \ pcb_bool.h unit.h layer.h attrib.h obj_arc_list.h obj_common.h flag.h \ data_parent.h obj_arc.h ../src_3rd/genlist/gendlist.h \ @@ -5759,7 +5760,7 @@ ../src_3rd/genht/htip.h box.h math_helper.h move.h misc_util.h \ ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h layer_grp.h polygon.h rtree.h \ - ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h + ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h hid_inlines.h hid_extents.o: hid_extents.c ../config.h board.h global_typedefs.h \ pcb_bool.h unit.h vtroutestyle.h attrib.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -6108,8 +6109,9 @@ ../src_3rd/genvector/vtp0.h vtpadstack.h obj_pstk_shape.h polygon.h \ vtpadstack_t.h undo.h ../src_3rd/libuundo/uundo.h undo_old.h rotate.h \ compat_misc.h conf_core.h conf.h pcb-printf.h \ - ../src_3rd/liblihata/lihata.h list_conf.h draw_wireframe.h obj_arc_op.h \ - operation.h obj_subc_parent.h obj_hash.h draw.h obj_arc_draw.h + ../src_3rd/liblihata/lihata.h list_conf.h draw_wireframe.h hid_inlines.h \ + obj_arc_op.h operation.h obj_subc_parent.h obj_hash.h draw.h \ + obj_arc_draw.h obj_arc_list.o: obj_arc_list.c obj_arc_list.h obj_common.h flag.h \ globalconst.h ../config.h attrib.h global_typedefs.h pcb_bool.h unit.h \ data_parent.h obj_arc.h ../src_3rd/genlist/gendlist.h \ @@ -6164,9 +6166,9 @@ ../src_3rd/genvector/vtp0.h vtpadstack.h obj_pstk_shape.h polygon.h \ vtpadstack_t.h search.h rats.h netlist.h route_style.h conf_core.h \ conf.h pcb-printf.h ../src_3rd/liblihata/lihata.h list_conf.h \ - compat_nls.h compat_misc.h rotate.h obj_line_op.h operation.h \ - obj_subc_parent.h obj_hash.h draw.h draw_wireframe.h obj_line_draw.h \ - obj_rat_draw.h obj_pstk_draw.h \ + compat_nls.h compat_misc.h rotate.h hid_inlines.h obj_line_op.h \ + operation.h obj_subc_parent.h obj_hash.h draw.h draw_wireframe.h \ + obj_line_draw.h obj_rat_draw.h obj_pstk_draw.h \ ../src_plugins/lib_compat_help/pstk_compat.h obj_pstk.h obj_line_drcenf.o: obj_line_drcenf.c ../config.h conf_core.h conf.h \ global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -6224,7 +6226,7 @@ ../src_3rd/genvector/vtp0.h vtpadstack.h obj_pstk_shape.h polygon.h \ vtpadstack_t.h compat_nls.h undo.h ../src_3rd/libuundo/uundo.h \ undo_old.h polygon_offs.h rotate.h compat_misc.h search.h rats.h \ - netlist.h route_style.h conf_core.h conf.h pcb-printf.h \ + netlist.h route_style.h hid_inlines.h conf_core.h conf.h pcb-printf.h \ ../src_3rd/liblihata/lihata.h list_conf.h obj_poly_op.h operation.h \ obj_poly_draw.h obj_subc_parent.h obj_hash.h draw.h obj_poly_list.o: obj_poly_list.c obj_poly_list.h obj_poly.h ../config.h \ @@ -6254,7 +6256,8 @@ draw.h draw_wireframe.h obj_pstk_draw.h obj_pstk_inlines.h thermal.h \ obj_pstk_op.h operation.h obj_subc_parent.h obj_hash.h compat_misc.h \ search.h rats.h netlist.h route_style.h undo.h \ - ../src_3rd/libuundo/uundo.h undo_old.h event.h obj_pstk_op.c rotate.h + ../src_3rd/libuundo/uundo.h undo_old.h event.h hid_inlines.h \ + obj_pstk_op.c rotate.h obj_pstk_act.o: obj_pstk_act.c ../config.h obj_pstk.h \ ../src_3rd/genlist/gendlist.h ../src_3rd/genvector/vtp0.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -6323,7 +6326,7 @@ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ ../src_3rd/genvector/vtp0.h vtpadstack.h obj_pstk_shape.h polygon.h \ vtpadstack_t.h conf_core.h conf.h pcb-printf.h \ - ../src_3rd/liblihata/lihata.h list_conf.h undo.h \ + ../src_3rd/liblihata/lihata.h list_conf.h hid_inlines.h undo.h \ ../src_3rd/libuundo/uundo.h undo_old.h obj_line_draw.h obj_rat_op.h \ operation.h draw.h obj_rat_draw.h rats.h netlist.h route_style.h obj_rat_list.o: obj_rat_list.c obj_rat_list.h obj_rat.h \ @@ -7233,8 +7236,8 @@ obj_line.h obj_poly_list.h obj_poly.h polyarea.h obj_text_list.h \ obj_text.h font.h ../src_3rd/genht/htip.h box.h math_helper.h move.h \ misc_util.h layer_grp.h library.h rats_patch.h change.h compat_nls.h \ - data.h crosshair.h vtonpoint.h hid.h error.h drc.h route.h buffer.h \ - obj_rat_list.h obj_rat.h obj_subc_list.h obj_subc.h \ + hid_inlines.h hid.h error.h drc.h data.h crosshair.h vtonpoint.h route.h \ + buffer.h obj_rat_list.h obj_rat.h obj_subc_list.h obj_subc.h \ ../src_3rd/libminuid/libminuid.h rtree.h \ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ Index: trunk/src/crosshair.c =================================================================== --- trunk/src/crosshair.c (revision 17211) +++ trunk/src/crosshair.c (revision 17212) @@ -38,6 +38,7 @@ #include "search.h" #include "polygon.h" #include "hid_actions.h" +#include "hid_inlines.h" #include "compat_misc.h" #include "compat_nls.h" #include "vtonpoint.h" Index: trunk/src/draw.c =================================================================== --- trunk/src/draw.c (revision 17211) +++ trunk/src/draw.c (revision 17212) @@ -41,6 +41,7 @@ #include "rtree.h" #include "stub_draw.h" #include "layer_ui.h" +#include "hid_inlines.h" #include "obj_pstk_draw.h" #include "obj_line_draw.h" Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 17211) +++ trunk/src/hid.h (revision 17212) @@ -638,38 +638,4 @@ void pcb_hid_actions_init(void); void pcb_hid_actions_uninit(void); -PCB_INLINE pcb_hid_gc_t pcb_hid_make_gc(void) -{ - pcb_hid_gc_t res; - pcb_core_gc_t *hc; - res = pcb_gui->make_gc(); - hc = (pcb_core_gc_t *)res; /* assumes first field is pcb_core_gc_t */ - hc->width = PCB_MAX_COORD; - hc->cap = pcb_cap_invalid; - return res; -} - -PCB_INLINE void pcb_hid_destroy_gc(pcb_hid_gc_t gc) -{ - pcb_gui->destroy_gc(gc); -} - -PCB_INLINE void pcb_hid_set_line_cap(pcb_hid_gc_t gc, pcb_cap_style_t style) -{ - pcb_core_gc_t *hc = (pcb_core_gc_t *)gc; - if (hc->cap != style) { - hc->cap = style; - pcb_gui->set_line_cap(gc, style); - } -} - -PCB_INLINE void pcb_hid_set_line_width(pcb_hid_gc_t gc, pcb_coord_t width) -{ - pcb_core_gc_t *hc = (pcb_core_gc_t *)gc; - if (hc->width != width) { - hc->width = width; - pcb_gui->set_line_width(gc, width); - } -} - #endif Index: trunk/src/hid_draw_helpers.c =================================================================== --- trunk/src/hid_draw_helpers.c (revision 17211) +++ trunk/src/hid_draw_helpers.c (revision 17212) @@ -2,6 +2,7 @@ #include "hid.h" #include "polygon.h" #include "obj_poly.h" +#include "hid_inlines.h" static void fill_contour(pcb_hid_gc_t gc, pcb_pline_t * pl) { Index: trunk/src/hid_inlines.h =================================================================== --- trunk/src/hid_inlines.h (nonexistent) +++ trunk/src/hid_inlines.h (revision 17212) @@ -0,0 +1,66 @@ +/* + * COPYRIGHT + * + * pcb-rnd, interactive printed circuit board design + * Copyright (C) 2018 Tibor 'Igor2' Palinkas + * + * 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 program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Contact: + * Project page: http://repo.hu/projects/pcb-rnd + * lead developer: email to pcb-rnd (at) igor2.repo.hu + * mailing list: pcb-rnd (at) list.repo.hu (send "subscribe") + */ + +#ifndef PCB_HID_INLINES +#define PCB_HID_INLINES + +#include "hid.h" + +PCB_INLINE pcb_hid_gc_t pcb_hid_make_gc(void) +{ + pcb_hid_gc_t res; + pcb_core_gc_t *hc; + res = pcb_gui->make_gc(); + hc = (pcb_core_gc_t *)res; /* assumes first field is pcb_core_gc_t */ + hc->width = PCB_MAX_COORD; + hc->cap = pcb_cap_invalid; + return res; +} + +PCB_INLINE void pcb_hid_destroy_gc(pcb_hid_gc_t gc) +{ + pcb_gui->destroy_gc(gc); +} + +PCB_INLINE void pcb_hid_set_line_cap(pcb_hid_gc_t gc, pcb_cap_style_t style) +{ + pcb_core_gc_t *hc = (pcb_core_gc_t *)gc; + if (hc->cap != style) { + hc->cap = style; + pcb_gui->set_line_cap(gc, style); + } +} + +PCB_INLINE void pcb_hid_set_line_width(pcb_hid_gc_t gc, pcb_coord_t width) +{ + pcb_core_gc_t *hc = (pcb_core_gc_t *)gc; + if (hc->width != width) { + hc->width = width; + pcb_gui->set_line_width(gc, width); + } +} + +#endif Index: trunk/src/obj_arc.c =================================================================== --- trunk/src/obj_arc.c (revision 17211) +++ trunk/src/obj_arc.c (revision 17212) @@ -40,6 +40,7 @@ #include "conf_core.h" #include "compat_misc.h" #include "draw_wireframe.h" +#include "hid_inlines.h" #include "obj_arc.h" #include "obj_arc_op.h" Index: trunk/src/obj_line.c =================================================================== --- trunk/src/obj_line.c (revision 17211) +++ trunk/src/obj_line.c (revision 17212) @@ -40,6 +40,7 @@ #include "compat_nls.h" #include "compat_misc.h" #include "rotate.h" +#include "hid_inlines.h" #include "obj_line.h" #include "obj_line_op.h" Index: trunk/src/obj_poly.c =================================================================== --- trunk/src/obj_poly.c (revision 17211) +++ trunk/src/obj_poly.c (revision 17212) @@ -39,6 +39,7 @@ #include "polygon_offs.h" #include "rotate.h" #include "search.h" +#include "hid_inlines.h" #include "conf_core.h" Index: trunk/src/obj_pstk.c =================================================================== --- trunk/src/obj_pstk.c (revision 17211) +++ trunk/src/obj_pstk.c (revision 17212) @@ -47,6 +47,7 @@ #include "undo.h" #include "vtpadstack.h" #include "event.h" +#include "hid_inlines.h" #define SQR(o) ((o)*(o)) Index: trunk/src/obj_rat.c =================================================================== --- trunk/src/obj_rat.c (revision 17211) +++ trunk/src/obj_rat.c (revision 17212) @@ -30,6 +30,7 @@ #include "board.h" #include "data.h" #include "conf_core.h" +#include "hid_inlines.h" #include "undo.h" #include "rtree.h" Index: trunk/src/tool_via.c =================================================================== --- trunk/src/tool_via.c (revision 17211) +++ trunk/src/tool_via.c (revision 17212) @@ -39,6 +39,7 @@ #include "board.h" #include "change.h" #include "compat_nls.h" +#include "hid_inlines.h" #include "data.h" #include "draw.h" #include "tool.h" Index: trunk/src_plugins/draw_fab/draw_fab.c =================================================================== --- trunk/src_plugins/draw_fab/draw_fab.c (revision 17211) +++ trunk/src_plugins/draw_fab/draw_fab.c (revision 17212) @@ -43,6 +43,7 @@ #include "conf_core.h" #include "macro.h" #include "obj_pstk_inlines.h" +#include "hid_inlines.h" #include "obj_text_draw.h" Index: trunk/src_plugins/export_gerber/gerber.c =================================================================== --- trunk/src_plugins/export_gerber/gerber.c (revision 17211) +++ trunk/src_plugins/export_gerber/gerber.c (revision 17212) @@ -31,6 +31,7 @@ #include "hid_init.h" #include "hid_attrib.h" #include "hid_flags.h" +#include "hid_inlines.h" #include "conf_core.h" const char *gerber_cookie = "gerber HID";