[webkit-reviews] review denied: [Bug 8608] make GraphicsContext
more suitable for cross-platform use,
step 2 : [Attachment 7984] patch to change more code to use
GraphicsContext instead of CGContext
bugzilla-request-daemon at opendarwin.org
bugzilla-request-daemon at opendarwin.org
Fri Apr 28 05:14:50 PDT 2006
Eric Seidel <macdome at opendarwin.org> has denied Eric Seidel
<macdome at opendarwin.org>'s request for review:
Bug 8608: make GraphicsContext more suitable for cross-platform use, step 2
http://bugzilla.opendarwin.org/show_bug.cgi?id=8608
Attachment 7984: patch to change more code to use GraphicsContext instead of
CGContext
http://bugzilla.opendarwin.org/attachment.cgi?id=7984&action=edit
------- Additional Comments from Eric Seidel <macdome at opendarwin.org>
No need to call CGMakeRect here:
- m_cropBox = CGRectMake(m_mediaBox.origin.x, m_mediaBox.origin.y,
m_mediaBox.size.width, m_mediaBox.size.height);
+ m_cropBox = CGRectMake(m_mediaBox.x(), m_mediaBox.y(),
m_mediaBox.width(), m_mediaBox.height());
the magic constuctors should take care of the translation, I think.
+ // Need a flip.
could be a better comment.
+ CGContextSetFillColorWithColor(context->platformContext(), color);
could also be context->setFillColor(color)
+ CGContextFillRect(context->platformContext(), rect);
and context->fillRect(rect);
This seems unfortunate:
+ GraphicsContext(bmap).setCompositeOperation(CompositeCopy);
Why not just use:
CGContextSetShouldAntialias instead of:
+static void setShouldAntialias(CGContextRef context, bool should)
+{
+ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
+ [[NSGraphicsContext graphicsContextWithGraphicsPort:context flipped:YES]
setShouldAntialias:should];
+ [pool release];
+}
+void GraphicsContext::setLineCap(LineCap cap)
+void GraphicsContext::setLineJoin(LineJoin join)
I think the style I see more frequently in the code is to not indent the case:
statements an extra tab width.
in canvas:
+ CGContextSaveGState(c->platformContext());
+ CGContextClip(c->platformContext());
+ CGContextDrawShading(c->platformContext(),
state().m_fillStyle->gradient()->platformShading());
+ CGContextRestoreGState(c->platformContext());
at least he save and restore can be done using GraphicsContext methods.
This patch is fabulous, but I think it could go through one more round of
tweaks before landing. I don't necessarily need to read through it again, but
we should at least chat briefly about the above issues (assuming we disagree at
all).
More information about the webkit-reviews
mailing list