[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/styles.cpp server/styles...
From: |
Udo Giacomozzi |
Subject: |
[Gnash-commit] gnash ChangeLog server/styles.cpp server/styles... |
Date: |
Fri, 02 May 2008 15:19:13 +0000 |
CVSROOT: /cvsroot/gnash
Module name: gnash
Changes by: Udo Giacomozzi <udog> 08/05/02 15:19:12
Modified files:
. : ChangeLog
server : styles.cpp styles.h
backend : render_handler_agg.cpp
Log message:
* server/style.{cpp,h}: fixed default constructor
* backend/render_handler_agg.cpp: implement cap and join styles
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6476&r2=1.6477
http://cvs.savannah.gnu.org/viewcvs/gnash/server/styles.cpp?cvsroot=gnash&r1=1.40&r2=1.41
http://cvs.savannah.gnu.org/viewcvs/gnash/server/styles.h?cvsroot=gnash&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/gnash/backend/render_handler_agg.cpp?cvsroot=gnash&r1=1.138&r2=1.139
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/gnash/gnash/ChangeLog,v
retrieving revision 1.6476
retrieving revision 1.6477
diff -u -b -r1.6476 -r1.6477
--- ChangeLog 2 May 2008 14:53:42 -0000 1.6476
+++ ChangeLog 2 May 2008 15:19:09 -0000 1.6477
@@ -1,3 +1,8 @@
+2008-05-02 Udo Giacomozzi <address@hidden>
+
+ * server/style.{cpp,h}: fixed default constructor
+ * backend/render_handler_agg.cpp: implement cap and join styles
+
2008-05-02 Sandro Santilli <address@hidden>
* gui/Player.cpp, gui/gui.h: have dump-gnash really use the
Index: server/styles.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/server/styles.cpp,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -b -r1.40 -r1.41
--- server/styles.cpp 2 May 2008 13:54:16 -0000 1.40
+++ server/styles.cpp 2 May 2008 15:19:11 -0000 1.41
@@ -28,7 +28,12 @@
m_width(0),
m_color(),
_scaleVertically(true),
- _scaleHorizontally(true)
+ _scaleHorizontally(true),
+ _noClose(false),
+ _startCapStyle(CAP_ROUND),
+ _endCapStyle(CAP_ROUND),
+ _joinStyle(JOIN_ROUND),
+ _miterLimitFactor(1.0f)
{
}
@@ -106,21 +111,21 @@
m_width = in->read_u16();
// 0 -- Round caps, 1 -- No caps, 2 -- square caps
- boost::uint8_t caps = in->read_uint(2);
+ _startCapStyle = (cap_style_e) in->read_uint(2);
// 0 -- Round join, 1 -- Bevel join, 2 -- Miter join
- boost::uint8_t joins = in->read_uint(2);
+ _joinStyle = (join_style_e) in->read_uint(2);
bool has_fill = in->read_bit();
_scaleHorizontally = ! in->read_bit();
_scaleVertically = ! in->read_bit();
bool pixel_hinting = in->read_bit();
static_cast<void> (in->read_uint(5));
- bool no_close = in->read_bit();
- bool end_cap_style = in->read_uint(2); // As caps above.
+ _noClose = in->read_bit();
+ _startCapStyle = (cap_style_e) in->read_uint(2); // As caps above.
- if (joins == 2)
+ if (_joinStyle == JOIN_MITER) // style 2
{
in->ensureBytes(2);
- /*float f_miter =*/static_cast<void>(in->read_short_ufixed());
+ _miterLimitFactor = in->read_short_ufixed();
}
if (has_fill)
{
Index: server/styles.h
===================================================================
RCS file: /cvsroot/gnash/gnash/server/styles.h,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- server/styles.h 2 May 2008 13:54:16 -0000 1.27
+++ server/styles.h 2 May 2008 15:19:11 -0000 1.28
@@ -42,12 +42,7 @@
m_width(width),
m_color(color),
_scaleVertically(scaleThicknessVertically),
- _scaleHorizontally(scaleThicknessHorizontally),
- _noClose(false),
- _startCapStyle(CAP_ROUND),
- _endCapStyle(CAP_ROUND),
- _joinStyle(JOIN_ROUND),
- _miterLimitFactor(1.0f)
+ _scaleHorizontally(scaleThicknessHorizontally)
{
}
Index: backend/render_handler_agg.cpp
===================================================================
RCS file: /cvsroot/gnash/gnash/backend/render_handler_agg.cpp,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -b -r1.138 -r1.139
--- backend/render_handler_agg.cpp 2 May 2008 13:54:16 -0000 1.138
+++ backend/render_handler_agg.cpp 2 May 2008 15:19:12 -0000 1.139
@@ -42,9 +42,9 @@
patterns don't exist (they're converted at compile time by Flash!)
widths COMPLETE
colors, alpha COMPLETE
- cap styles TODO / fixed to round caps
- join styles TODO / fixed to round joins
- no-close flag TODO / currently ignored
+ cap styles DONE, but end cap style is ignored
+ join styles COMPLETE
+ no-close flag TODO / currently ignored (noClose==1 assumed)
fills:
@@ -1780,8 +1780,24 @@
stroke.width(std::max(1.0f, thickness*stroke_scale));
}
- stroke.line_cap(agg::round_cap);
- stroke.line_join(agg::round_join);
+ // TODO: support endCapStyle
+
+ // TODO: When lstyle.noClose==0 and the start and end point matches,
+ // then render a real join instead of the caps.
+
+ switch (lstyle.startCapStyle()) {
+ case CAP_NONE : stroke.line_cap(agg::butt_cap); break;
+ case CAP_SQUARE : stroke.line_cap(agg::square_cap); break;
+ default : case CAP_ROUND : stroke.line_cap(agg::round_cap);
+ }
+
+ switch (lstyle.joinStyle()) {
+ case JOIN_BEVEL : stroke.line_join(agg::bevel_join); break;
+ case JOIN_MITER : stroke.line_join(agg::miter_join); break;
+ default : case JOIN_ROUND : stroke.line_join(agg::round_join);
+ }
+
+ stroke.miter_limit(lstyle.miterLimitFactor());
ras.reset();
ras.add_path(stroke);