OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkCanvas.h" | 8 #include "SkCanvas.h" |
9 #include "SkData.h" | 9 #include "SkData.h" |
10 #include "SkDevice.h" | 10 #include "SkDevice.h" |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 return; | 111 return; |
112 } | 112 } |
113 | 113 |
114 // Test the wrapped factory for SkSurface by creating a backend texture and
then wrap it in | 114 // Test the wrapped factory for SkSurface by creating a backend texture and
then wrap it in |
115 // a SkSurface. | 115 // a SkSurface. |
116 static const int kW = 100; | 116 static const int kW = 100; |
117 static const int kH = 100; | 117 static const int kH = 100; |
118 static const uint32_t kOrigColor = 0xFFAABBCC; | 118 static const uint32_t kOrigColor = 0xFFAABBCC; |
119 SkAutoTArray<uint32_t> pixels(kW * kH); | 119 SkAutoTArray<uint32_t> pixels(kW * kH); |
120 sk_memset32(pixels.get(), kOrigColor, kW * kH); | 120 sk_memset32(pixels.get(), kOrigColor, kW * kH); |
121 GrBackendObject texID = gpu->createTestingOnlyBackendTexture(pixels.get(), k
W, kH, | 121 GrBackendObject texHandle = gpu->createTestingOnlyBackendTexture(pixels.get(
), kW, kH, |
122 kRGBA_8888_GrPi
xelConfig); | 122 kRGBA_8888_
GrPixelConfig); |
123 | 123 |
124 GrBackendTextureDesc wrappedDesc; | 124 GrBackendTextureDesc wrappedDesc; |
125 wrappedDesc.fConfig = kRGBA_8888_GrPixelConfig; | 125 wrappedDesc.fConfig = kRGBA_8888_GrPixelConfig; |
126 wrappedDesc.fWidth = kW; | 126 wrappedDesc.fWidth = kW; |
127 wrappedDesc.fHeight = kH; | 127 wrappedDesc.fHeight = kH; |
128 wrappedDesc.fOrigin = kBottomLeft_GrSurfaceOrigin; | 128 wrappedDesc.fOrigin = kBottomLeft_GrSurfaceOrigin; |
129 wrappedDesc.fSampleCnt = 0; | 129 wrappedDesc.fSampleCnt = 0; |
130 wrappedDesc.fFlags = kRenderTarget_GrBackendTextureFlag; | 130 wrappedDesc.fFlags = kRenderTarget_GrBackendTextureFlag; |
131 wrappedDesc.fTextureHandle = texID; | 131 wrappedDesc.fTextureHandle = texHandle; |
132 | 132 |
133 SkAutoTUnref<SkSurface> surface(SkSurface::NewWrappedRenderTarget(ctx, wrapp
edDesc, nullptr)); | 133 SkAutoTUnref<SkSurface> surface(SkSurface::NewWrappedRenderTarget(ctx, wrapp
edDesc, nullptr)); |
134 REPORTER_ASSERT(reporter, surface); | 134 REPORTER_ASSERT(reporter, surface); |
135 if (surface) { | 135 if (surface) { |
136 // Validate that we can draw to the canvas and that the original texture
color is preserved | 136 // Validate that we can draw to the canvas and that the original texture
color is preserved |
137 // in pixels that aren't rendered to via the surface. | 137 // in pixels that aren't rendered to via the surface. |
138 SkPaint paint; | 138 SkPaint paint; |
139 static const SkColor kRectColor = ~kOrigColor | 0xFF000000; | 139 static const SkColor kRectColor = ~kOrigColor | 0xFF000000; |
140 paint.setColor(kRectColor); | 140 paint.setColor(kRectColor); |
141 surface->getCanvas()->drawRect(SkRect::MakeWH(SkIntToScalar(kW), SkIntTo
Scalar(kH)/2), | 141 surface->getCanvas()->drawRect(SkRect::MakeWH(SkIntToScalar(kW), SkIntTo
Scalar(kH)/2), |
(...skipping 880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1022 test_image_color(reporter, refImg, expected1); | 1022 test_image_color(reporter, refImg, expected1); |
1023 #endif | 1023 #endif |
1024 test_image_color(reporter, cpyImg, expected0); | 1024 test_image_color(reporter, cpyImg, expected0); |
1025 | 1025 |
1026 // Now exercise the release proc | 1026 // Now exercise the release proc |
1027 REPORTER_ASSERT(reporter, !releaseCtx.fIsReleased); | 1027 REPORTER_ASSERT(reporter, !releaseCtx.fIsReleased); |
1028 refImg.reset(nullptr); // force a release of the image | 1028 refImg.reset(nullptr); // force a release of the image |
1029 REPORTER_ASSERT(reporter, releaseCtx.fIsReleased); | 1029 REPORTER_ASSERT(reporter, releaseCtx.fIsReleased); |
1030 } | 1030 } |
1031 #endif | 1031 #endif |
OLD | NEW |