Index: trunk/src/plugins/io_easyeda/read.c =================================================================== --- trunk/src/plugins/io_easyeda/read.c (revision 10635) +++ trunk/src/plugins/io_easyeda/read.c (revision 10636) @@ -334,6 +334,32 @@ return 0; } +/* Create a symbol that represents a dummy image: rectangle with X in diagonals + and the text "Image" */ +static csch_cgrp_t *easyeda_mkimage_sym(read_ctx_t *ctx, csch_cgrp_t *parent, gdom_node_t *nd, double x, double y, double w, double h) +{ + csch_source_arg_t *src; + csch_cgrp_t *sym; + csch_text_t *txt; + + /* create symbol */ + sym = csch_cgrp_alloc(ctx->sheet, parent, csch_oid_new(ctx->sheet, parent)); + src = easyeda_attrib_src_c(ctx, nd, NULL); + csch_cobj_attrib_set(ctx->sheet, sym, CSCH_ATP_HARDWIRED, "role", "symbol", src); + + csch_alien_mkline(&ctx->alien, sym, x, y, x+w, y, "sym-decor"); + csch_alien_mkline(&ctx->alien, sym, x+w, y, x+w, y+h, "sym-decor"); + csch_alien_mkline(&ctx->alien, sym, x+w, y+h, x, y+h, "sym-decor"); + csch_alien_mkline(&ctx->alien, sym, x, y+h, x, y, "sym-decor"); + csch_alien_mkline(&ctx->alien, sym, x, y, x+w, y+h, "sym-decor"); + csch_alien_mkline(&ctx->alien, sym, x+w, y, x, y+h, "sym-decor"); + + txt = (csch_text_t *)csch_alien_mktext(&ctx->alien, sym, x+w/2, y+h/2, "sym-decor"); + txt->text = rnd_strdup("Image"); + + return sym; +} + #include "read_hi_std.c" #include "read_hi_pro.c" Index: trunk/src/plugins/io_easyeda/read_hi_std.c =================================================================== --- trunk/src/plugins/io_easyeda/read_hi_std.c (revision 10635) +++ trunk/src/plugins/io_easyeda/read_hi_std.c (revision 10636) @@ -526,12 +526,9 @@ return 0; } - static int easystd_parse_image_common(read_ctx_t *ctx, csch_cgrp_t *parent, gdom_node_t *nd) { - csch_source_arg_t *src; csch_cgrp_t *sym; - csch_text_t *txt; double x, y, w, h; HASH_GET_DOUBLE(x, nd, easy_x, return -1); @@ -539,21 +536,8 @@ HASH_GET_DOUBLE(w, nd, easy_width, return -1); HASH_GET_DOUBLE(h, nd, easy_height, return -1); - /* create symbol */ - sym = csch_cgrp_alloc(ctx->sheet, parent, csch_oid_new(ctx->sheet, parent)); - src = easyeda_attrib_src_c(ctx, nd, NULL); - csch_cobj_attrib_set(ctx->sheet, sym, CSCH_ATP_HARDWIRED, "role", "symbol", src); + sym = easyeda_mkimage_sym(ctx, parent, nd, x, y, w, h); - csch_alien_mkline(&ctx->alien, sym, x, y, x+w, y, "sym-decor"); - csch_alien_mkline(&ctx->alien, sym, x+w, y, x+w, y+h, "sym-decor"); - csch_alien_mkline(&ctx->alien, sym, x+w, y+h, x, y+h, "sym-decor"); - csch_alien_mkline(&ctx->alien, sym, x, y+h, x, y, "sym-decor"); - csch_alien_mkline(&ctx->alien, sym, x, y, x+w, y+h, "sym-decor"); - csch_alien_mkline(&ctx->alien, sym, x+w, y, x, y+h, "sym-decor"); - - txt = (csch_text_t *)csch_alien_mktext(&ctx->alien, sym, x+w/2, y+h/2, "sym-decor"); - txt->text = rnd_strdup("Image"); - easyeda_apply_lock(ctx, nd, &sym->hdr); return 0;