virtual void onDraw(SkCanvas* canvas) { if (false) { test_grad(canvas); return; } if (false) { // avoid bit rot, suppress warning test_mask(); } // Initial pixel-boundary-aligned draw draw_rect_tests(canvas); // Repeat 4x with .2, .4, .6, .8 px offsets canvas->translate(SK_Scalar1 / 5, SK_Scalar1 / 5); canvas->translate(SkIntToScalar(50), 0); draw_rect_tests(canvas); canvas->translate(SK_Scalar1 / 5, SK_Scalar1 / 5); canvas->translate(SkIntToScalar(50), 0); draw_rect_tests(canvas); canvas->translate(SK_Scalar1 / 5, SK_Scalar1 / 5); canvas->translate(SkIntToScalar(50), 0); draw_rect_tests(canvas); canvas->translate(SK_Scalar1 / 5, SK_Scalar1 / 5); canvas->translate(SkIntToScalar(50), 0); draw_rect_tests(canvas); }
bool test_gradients(Shapeset *shapeset) { _F_ printf("IV. gradients\n"); // edge fns printf("\n* Edge functions\n"); for (int i = 0; i < Hex::NUM_EDGES; i++) { Ord1 order = H3D_MAX_ELEMENT_ORDER; int *edge_idx = shapeset->get_edge_indices(i, 0, order); for (int j = 0; j < shapeset->get_num_edge_fns(order); j++) { if (!test_grad(edge_idx[j], shapeset)) return false; } } // face fns printf("\n* Face functions\n"); for (int i = 0; i < Hex::NUM_FACES; i++) { Ord2 order(H3D_MAX_ELEMENT_ORDER, H3D_MAX_ELEMENT_ORDER); int *face_idx = shapeset->get_face_indices(i, 0, order); for (int j = 0; j < shapeset->get_num_face_fns(order); j++) { if (!test_grad(face_idx[j], shapeset)) return false; } } // bubble printf("\n* Bubble functions\n"); Ord3 order(H3D_MAX_ELEMENT_ORDER, H3D_MAX_ELEMENT_ORDER, H3D_MAX_ELEMENT_ORDER); int *bubble_idx = shapeset->get_bubble_indices(order); for (int j = 0; j < shapeset->get_num_bubble_fns(order); j++) { if (!test_grad(bubble_idx[j], shapeset)) return false; } printf("\n"); return true; }