void ghost_line_redraw(Eina_List *data, double x, double y) { XY *xy; Evas *e; Drawing *d; double x1, y1, x2, y2; if (!data) return; e = shell->evas; d = drawing; if (!d) return; xy = (XY *) eina_list_last(data)->data; x1 = w2s_x(xy->x); y1 = w2s_y(xy->y); x2 = w2s_x(x); y2 = w2s_y(y); evas_object_show(o_line); evas_object_line_xy_set(o_line, x1, y1, x2, y2); }
QPointF TOSMWidget::w2s_p(QPointF p) { return QPointF(w2s_x(p.x()), w2s_y(p.y())); }
void _create_tiled_line(Line * line) { int flag, sign = 1; Eina_List *list = NULL, *l, *lo; Evas *e; Evas_Object *o; Drawing *d; float x, y, dx, dy, len; double x1, y1, x2, y2; XY *xy; d = drawing; dx = line->x2 - line->x1; if (dx == 0) dx = 1e-40; /* ok for 1200 dpi? */ sign = fabs(dx) / dx; dy = line->y2 - line->y1; len = hypot(dx, dy); flag = linestyle_get_odd(); list = linestyle_get_points(len, line->line_scale); ENGY_ASSERT(list); trans_rotate(list, atan(-dy / dx) + M_PI * (sign - 1) / 2); trans_move(list, line->x1, line->y1); e = shell->evas; lo = line->list; for (l = list->next; l; l = l->next) { XY *a, *b; a = (XY *) l->prev->data; b = (XY *) l->data; flag = !flag; if (flag) { if (!lo || !lo->data) { o = _line_item(e, line->thickness * shell->context.show_thickness * d->scale); evas_object_layer_set(o, 10); evas_object_pass_events_set(o, 1); line->list = eina_list_append(line->list, o); lo = eina_list_last(line->list); } o = lo->data; lo = lo->next; x1 = w2s_x(a->x); y1 = w2s_y(a->y); x2 = w2s_x(b->x); y2 = w2s_y(b->y); if (line->flags & FLAG_VISIBLE) { evas_object_color_set(o, line->color.red*line->color.alpha/255, line->color.green*line->color.alpha/255, line->color.blue*line->color.alpha/255, line->color.alpha); } else { evas_object_color_set(o, 0, 0, 0, 0); } if (line->flags & FLAG_SELECTED) evas_object_color_set(o, ALPHA5, ALPHA5/5, ALPHA5/5, ALPHA5); if (line->flags & FLAG_DELETED) evas_object_color_set(o, 0, 0, 0, 0); _line_item_xy(e, o, x1, y1, x2, y2, line->thickness * shell->context.show_thickness * d->scale); evas_object_show(o); } } for (l = list; l; l = l->next) FREE(l->data); list = eina_list_free(list); }
void TOSMWidget::drawLine(QPainter &painter, QLineF line) { painter.drawLine(w2s_x(line.x1()), w2s_y(line.y1()), w2s_x(line.x2()), w2s_y(line.y2())); }