OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1035 context.setFillColor(opaque); | 1035 context.setFillColor(opaque); |
1036 path.moveTo(FloatPoint(10, 10)); | 1036 path.moveTo(FloatPoint(10, 10)); |
1037 path.addLineTo(FloatPoint(40, 40)); | 1037 path.addLineTo(FloatPoint(40, 40)); |
1038 context.strokePath(path); | 1038 context.strokePath(path); |
1039 | 1039 |
1040 context.endLayer(); | 1040 context.endLayer(); |
1041 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect()); | 1041 EXPECT_EQ_RECT(IntRect(), context.opaqueRegion().asRect()); |
1042 EXPECT_PIXELS_MATCH_EXACT(bitmap, context.opaqueRegion().asRect()); | 1042 EXPECT_PIXELS_MATCH_EXACT(bitmap, context.opaqueRegion().asRect()); |
1043 } | 1043 } |
1044 | 1044 |
1045 #define DISPATCH(c1, c2, op, params) do { c1.op(params); c2.op(params); } while
(0); | 1045 #define DISPATCH1(c1, c2, op, param1) do { c1.op(param1); c2.op(param1); } while
(0); |
| 1046 #define DISPATCH2(c1, c2, op, param1, param2) do { c1.op(param1, param2); c2.op(
param1, param2); } while (0); |
1046 | 1047 |
1047 TEST(GraphicsContextTest, RecordingTotalMatrix) | 1048 TEST(GraphicsContextTest, RecordingTotalMatrix) |
1048 { | 1049 { |
1049 SkBitmap bitmap; | 1050 SkBitmap bitmap; |
1050 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); | 1051 ASSERT_TRUE(bitmap.allocN32Pixels(400, 400)); |
1051 bitmap.eraseColor(0); | 1052 bitmap.eraseColor(0); |
1052 SkCanvas canvas(bitmap); | 1053 SkCanvas canvas(bitmap); |
1053 GraphicsContext context(&canvas); | 1054 GraphicsContext context(&canvas); |
1054 | 1055 |
1055 SkCanvas controlCanvas(400, 400); | 1056 SkCanvas controlCanvas(400, 400); |
1056 GraphicsContext controlContext(&controlCanvas); | 1057 GraphicsContext controlContext(&controlCanvas); |
1057 | 1058 |
1058 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); | 1059 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); |
1059 DISPATCH(context, controlContext, scale, FloatSize(2, 2)); | 1060 DISPATCH2(context, controlContext, scale, 2, 2); |
1060 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); | 1061 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); |
1061 | 1062 |
1062 controlContext.save(); | 1063 controlContext.save(); |
1063 context.beginRecording(FloatRect(0, 0, 200, 200)); | 1064 context.beginRecording(FloatRect(0, 0, 200, 200)); |
1064 DISPATCH(context, controlContext, translate, FloatSize(10, 10)); | 1065 DISPATCH2(context, controlContext, translate, 10, 10); |
1065 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); | 1066 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); |
1066 | 1067 |
1067 controlContext.save(); | 1068 controlContext.save(); |
1068 context.beginRecording(FloatRect(10, 10, 100, 100)); | 1069 context.beginRecording(FloatRect(10, 10, 100, 100)); |
1069 DISPATCH(context, controlContext, rotate, 45); | 1070 DISPATCH1(context, controlContext, rotate, 45); |
1070 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); | 1071 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); |
1071 | 1072 |
1072 controlContext.restore(); | 1073 controlContext.restore(); |
1073 context.endRecording(); | 1074 context.endRecording(); |
1074 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); | 1075 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); |
1075 | 1076 |
1076 controlContext.restore(); | 1077 controlContext.restore(); |
1077 context.endRecording(); | 1078 context.endRecording(); |
1078 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); | 1079 EXPECT_EQ(context.getCTM(), controlContext.getCTM()); |
1079 } | 1080 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1113 EXPECT_FALSE(pic); | 1114 EXPECT_FALSE(pic); |
1114 | 1115 |
1115 // endRecording finally makes the picture accessible | 1116 // endRecording finally makes the picture accessible |
1116 dl->endRecording(); | 1117 dl->endRecording(); |
1117 pic = dl->picture(); | 1118 pic = dl->picture(); |
1118 EXPECT_TRUE(pic); | 1119 EXPECT_TRUE(pic); |
1119 EXPECT_EQ(1, pic->getRefCnt()); | 1120 EXPECT_EQ(1, pic->getRefCnt()); |
1120 } | 1121 } |
1121 | 1122 |
1122 } // namespace | 1123 } // namespace |
OLD | NEW |