[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_fi
From: |
Richard Wilbur |
Subject: |
Re: [Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_final-2083-g223b921 |
Date: |
Fri, 30 May 2014 12:42:18 -0600 |
On Fri, May 30, 2014 at 6:30 AM, Bastiaan Jacques <address@hidden> wrote:
> On Fri, 30 May 2014, Richard Wilbur wrote:
>
>>> drawLineTo(std::int32_t dx, std::int32_t dy)
>>> {
>>> - m_edges.push_back(Edge(dx, dy, dx, dy));
>>> + m_edges.emplace_back(dx, dy, dx, dy);
>>> }
>>
[...]
> Yes, obviously the idea is that only the terminating point of the line
> is specified and the origin has been previously defined. This works just
> like cairo_line_to(), for example. Because the definition of an Edge in
> Gnash implies that every line is a curve, the control point must be
> stored. It would probably be more elegant to store the control point
> only for actual curves; patches are welcome.
So (dx, dy) are not differentials in x and y but the coordinates of
the new point? If they were differentials I would expect to store
something like
new_x = dx + current_x;
new_y = dy + current_y;
m_edges.emplace_back(new_x, new_y, new_x, new_y);
You mention an Edge as storing the curve's control point. Is that in
addition to the end point? If so, is that the way we tell that this
is a straight line instead of an actual curve?
Richard