Merge pull request #1894 from abarth/stroke_cap

Add Paint#strokeCap
This commit is contained in:
Adam Barth 2015-11-02 09:31:05 -08:00
commit 735e35ff4f
3 changed files with 22 additions and 0 deletions

View File

@ -34,6 +34,7 @@ enum PaintFields {
kShader,
kStyle,
kTransferMode,
kStrokeCap,
// kNumberOfPaintFields must be last.
kNumberOfPaintFields,
@ -81,6 +82,8 @@ Paint DartConverter<Paint>::FromDart(Dart_Handle dart_paint) {
paint.setStyle(DartConverter<PaintingStyle>::FromDart(values[kStyle]));
if (!Dart_IsNull(values[kTransferMode]))
paint.setXfermodeMode(DartConverter<TransferMode>::FromDart(values[kTransferMode]));
if (!Dart_IsNull(values[kStrokeCap]))
paint.setStrokeCap(DartConverter<StrokeCap>::FromDart(values[kStrokeCap]));
result.is_null = false;
return result;

View File

@ -4,6 +4,17 @@
part of dart_ui;
enum StrokeCap {
/// Begin/end contours with no extension.
butt,
/// Begin/end contours with a semi-circle extension.
round,
/// Begin/end contours with a half square extension.
square,
}
class Paint {
double strokeWidth;
bool isAntiAlias = true;
@ -15,6 +26,7 @@ class Paint {
Shader shader;
PaintingStyle style;
TransferMode transferMode;
StrokeCap strokeCap;
// Must match PaintFields enum in Paint.cpp.
List<dynamic> get _value {
@ -29,6 +41,7 @@ class Paint {
shader,
style,
transferMode,
strokeCap,
];
}

View File

@ -38,6 +38,12 @@ struct DartConverter<Paint> {
Dart_Handle& exception);
};
class StrokeCap {};
template <>
struct DartConverter<StrokeCap>
: public DartConverterEnum<SkPaint::Cap> {};
} // namespace blink
#endif // SKY_ENGINE_CORE_PAINTING_PAINT_H_