Lines Matching refs:grad
1153 vg_lite_error_t vg_lite_init_grad(vg_lite_linear_gradient_t * grad) in vg_lite_init_grad() argument
1158 grad->image.width = VLC_GRADIENT_BUFFER_WIDTH; in vg_lite_init_grad()
1159 grad->image.height = 1; in vg_lite_init_grad()
1160 grad->image.stride = 0; in vg_lite_init_grad()
1161 grad->image.format = VG_LITE_BGRA8888; in vg_lite_init_grad()
1164 error = vg_lite_allocate(&grad->image); in vg_lite_init_grad()
1166 grad->count = 0; in vg_lite_init_grad()
1171 vg_lite_error_t vg_lite_set_linear_grad(vg_lite_ext_linear_gradient_t * grad, in vg_lite_set_linear_grad() argument
1201 grad->linear_grad = linear_gradient; in vg_lite_set_linear_grad()
1202 grad->pre_multiplied = pre_multiplied; in vg_lite_set_linear_grad()
1203 grad->spread_mode = spread_mode; in vg_lite_set_linear_grad()
1209 grad->color_ramp[i] = color_ramp[i]; in vg_lite_set_linear_grad()
1210 grad->ramp_length = count; in vg_lite_set_linear_grad()
1214 = grad->color_ramp in vg_lite_set_linear_grad()
1215 + grad->ramp_length; in vg_lite_set_linear_grad()
1225 src_ramp = grad->color_ramp, trg_ramp = grad->converted_ramp; in vg_lite_set_linear_grad()
1272 memcpy(grad->converted_ramp, default_ramp, sizeof(default_ramp)); in vg_lite_set_linear_grad()
1273 grad->converted_length = sizeof(default_ramp) / 5; in vg_lite_set_linear_grad()
1289 grad->converted_length = trg_count; in vg_lite_set_linear_grad()
1294 memcpy(grad->converted_ramp, default_ramp, sizeof(default_ramp)); in vg_lite_set_linear_grad()
1295 grad->converted_length = sizeof(default_ramp) / 5; in vg_lite_set_linear_grad()
1300 vg_lite_error_t vg_lite_update_linear_grad(vg_lite_ext_linear_gradient_t * grad) in vg_lite_update_linear_grad() argument
1311 ramp_length = grad->converted_length; in vg_lite_update_linear_grad()
1312 color_ramp = grad->converted_ramp; in vg_lite_update_linear_grad()
1314 x0 = grad->linear_grad.X0; in vg_lite_update_linear_grad()
1315 y0 = grad->linear_grad.Y0; in vg_lite_update_linear_grad()
1316 x1 = grad->linear_grad.X1; in vg_lite_update_linear_grad()
1317 y1 = grad->linear_grad.Y1; in vg_lite_update_linear_grad()
1344 memset(&grad->image, 0, sizeof(grad->image)); in vg_lite_update_linear_grad()
1345 grad->image.width = width; in vg_lite_update_linear_grad()
1346 grad->image.height = 1; in vg_lite_update_linear_grad()
1347 grad->image.stride = 0; in vg_lite_update_linear_grad()
1348 grad->image.image_mode = VG_LITE_NONE_IMAGE_MODE; in vg_lite_update_linear_grad()
1349 grad->image.format = VG_LITE_ABGR8888; in vg_lite_update_linear_grad()
1352 VG_LITE_RETURN_ERROR(vg_lite_allocate(&grad->image)); in vg_lite_update_linear_grad()
1353 memset(grad->image.memory, 0, grad->image.stride * grad->image.height); in vg_lite_update_linear_grad()
1356 bits = (uint8_t *)grad->image.memory; in vg_lite_update_linear_grad()
1411 if(grad->pre_multiplied) { in vg_lite_update_linear_grad()
1443 vg_lite_ext_linear_gradient_t * grad, in vg_lite_draw_linear_grad() argument
1461 …TVG_CHECK_RETURN_VG_ERROR(linearGrad->linear(grad->linear_grad.X0, grad->linear_grad.Y0, grad->lin… in vg_lite_draw_linear_grad()
1462 grad->linear_grad.Y1)); in vg_lite_draw_linear_grad()
1463 TVG_CHECK_RETURN_VG_ERROR(linearGrad->transform(matrix_conv(&grad->matrix))); in vg_lite_draw_linear_grad()
1464 TVG_CHECK_RETURN_VG_ERROR(linearGrad->spread(fill_spread_conv(grad->spread_mode))); in vg_lite_draw_linear_grad()
1467 for(vg_lite_uint32_t i = 0; i < grad->ramp_length; i++) { in vg_lite_draw_linear_grad()
1468 colorStops[i].offset = grad->color_ramp[i].stop; in vg_lite_draw_linear_grad()
1469 colorStops[i].r = grad->color_ramp[i].red * 255.0f; in vg_lite_draw_linear_grad()
1470 colorStops[i].g = grad->color_ramp[i].green * 255.0f; in vg_lite_draw_linear_grad()
1471 colorStops[i].b = grad->color_ramp[i].blue * 255.0f; in vg_lite_draw_linear_grad()
1472 colorStops[i].a = grad->color_ramp[i].alpha * 255.0f; in vg_lite_draw_linear_grad()
1474 TVG_CHECK_RETURN_VG_ERROR(linearGrad->colorStops(colorStops, grad->ramp_length)); in vg_lite_draw_linear_grad()
1482 vg_lite_error_t vg_lite_set_radial_grad(vg_lite_radial_gradient_t * grad, in vg_lite_set_radial_grad() argument
1512 grad->radial_grad = radial_grad; in vg_lite_set_radial_grad()
1513 grad->pre_multiplied = pre_multiplied; in vg_lite_set_radial_grad()
1514 grad->spread_mode = spread_mode; in vg_lite_set_radial_grad()
1520 grad->color_ramp[i] = color_ramp[i]; in vg_lite_set_radial_grad()
1521 grad->ramp_length = count; in vg_lite_set_radial_grad()
1525 = grad->color_ramp in vg_lite_set_radial_grad()
1526 + grad->ramp_length; in vg_lite_set_radial_grad()
1536 srcRamp = grad->color_ramp, trgRamp = grad->converted_ramp; in vg_lite_set_radial_grad()
1583 memcpy(grad->converted_ramp, defaultRamp, sizeof(defaultRamp)); in vg_lite_set_radial_grad()
1584 grad->converted_length = sizeof(defaultRamp) / 5; in vg_lite_set_radial_grad()
1600 grad->converted_length = trgCount; in vg_lite_set_radial_grad()
1605 memcpy(grad->converted_ramp, defaultRamp, sizeof(defaultRamp)); in vg_lite_set_radial_grad()
1606 grad->converted_length = sizeof(defaultRamp) / 5; in vg_lite_set_radial_grad()
1611 vg_lite_error_t vg_lite_update_radial_grad(vg_lite_radial_gradient_t * grad) in vg_lite_update_radial_grad() argument
1622 ramp_length = grad->converted_length; in vg_lite_update_radial_grad()
1623 colorRamp = grad->converted_ramp; in vg_lite_update_radial_grad()
1625 if(grad->radial_grad.r <= 0) in vg_lite_update_radial_grad()
1629 if(grad->radial_grad.r < 1) { in vg_lite_update_radial_grad()
1633 common = (vg_lite_uint32_t)grad->radial_grad.r; in vg_lite_update_radial_grad()
1651 memset(&grad->image, 0, sizeof(grad->image)); in vg_lite_update_radial_grad()
1652 grad->image.width = width; in vg_lite_update_radial_grad()
1653 grad->image.height = 1; in vg_lite_update_radial_grad()
1654 grad->image.stride = 0; in vg_lite_update_radial_grad()
1655 grad->image.image_mode = VG_LITE_NONE_IMAGE_MODE; in vg_lite_update_radial_grad()
1656 grad->image.format = VG_LITE_ABGR8888; in vg_lite_update_radial_grad()
1659 VG_LITE_RETURN_ERROR(vg_lite_allocate(&grad->image)); in vg_lite_update_radial_grad()
1662 width = grad->image.stride * div / mul; in vg_lite_update_radial_grad()
1665 bits = (uint8_t *)grad->image.memory; in vg_lite_update_radial_grad()
1715 if(grad->pre_multiplied) { in vg_lite_update_radial_grad()
1743 vg_lite_error_t vg_lite_set_grad(vg_lite_linear_gradient_t * grad, in vg_lite_set_grad() argument
1750 grad->count = 0; /* Opaque B&W gradient */ in vg_lite_set_grad()
1757 if(!grad->count || stops[i] > grad->stops[grad->count - 1]) { in vg_lite_set_grad()
1758 grad->stops[grad->count] = stops[i]; in vg_lite_set_grad()
1759 grad->colors[grad->count] = colors[i]; in vg_lite_set_grad()
1760 grad->count++; in vg_lite_set_grad()
1762 else if(stops[i] == grad->stops[grad->count - 1]) { in vg_lite_set_grad()
1765 grad->colors[grad->count - 1] = colors[i]; in vg_lite_set_grad()
1772 vg_lite_error_t vg_lite_update_grad(vg_lite_linear_gradient_t * grad) in vg_lite_update_grad() argument
1781 vg_lite_uint32_t * buffer = (vg_lite_uint32_t *)grad->image.memory; in vg_lite_update_grad()
1783 if(grad->count == 0) { in vg_lite_update_grad()
1788 grad->stops[0] = 0; in vg_lite_update_grad()
1789 grad->colors[0] = 0xFF000000; /* Opaque black */ in vg_lite_update_grad()
1790 grad->stops[1] = 255; in vg_lite_update_grad()
1791 grad->colors[1] = 0xFFFFFFFF; /* Opaque white */ in vg_lite_update_grad()
1792 grad->count = 2; in vg_lite_update_grad()
1794 else if(grad->count && grad->stops[0] != 0) { in vg_lite_update_grad()
1798 for(i = 0; i < grad->stops[0]; i++) in vg_lite_update_grad()
1799 buffer[i] = grad->colors[0]; in vg_lite_update_grad()
1801 a0 = A(grad->colors[0]); in vg_lite_update_grad()
1802 r0 = R(grad->colors[0]); in vg_lite_update_grad()
1803 g0 = G(grad->colors[0]); in vg_lite_update_grad()
1804 b0 = B(grad->colors[0]); in vg_lite_update_grad()
1807 for(i = 0; i < grad->count - 1; i++) { in vg_lite_update_grad()
1808 buffer[grad->stops[i]] = grad->colors[i]; in vg_lite_update_grad()
1809 ds = grad->stops[i + 1] - grad->stops[i]; in vg_lite_update_grad()
1810 a1 = A(grad->colors[i + 1]); in vg_lite_update_grad()
1811 r1 = R(grad->colors[i + 1]); in vg_lite_update_grad()
1812 g1 = G(grad->colors[i + 1]); in vg_lite_update_grad()
1813 b1 = B(grad->colors[i + 1]); in vg_lite_update_grad()
1826 buffer[grad->stops[i] + j] = ARGB(la, lr, lg, lb); in vg_lite_update_grad()
1838 for(i = grad->stops[grad->count - 1]; i < VLC_GRADIENT_BUFFER_WIDTH; i++) in vg_lite_update_grad()
1839 buffer[i] = grad->colors[grad->count - 1]; in vg_lite_update_grad()
1844 vg_lite_error_t vg_lite_clear_linear_grad(vg_lite_ext_linear_gradient_t * grad) in vg_lite_clear_linear_grad() argument
1848 grad->count = 0; in vg_lite_clear_linear_grad()
1850 if(grad->image.handle != NULL) { in vg_lite_clear_linear_grad()
1851 error = vg_lite_free(&grad->image); in vg_lite_clear_linear_grad()
1857 vg_lite_error_t vg_lite_clear_grad(vg_lite_linear_gradient_t * grad) in vg_lite_clear_grad() argument
1861 grad->count = 0; in vg_lite_clear_grad()
1863 if(grad->image.handle != NULL) { in vg_lite_clear_grad()
1864 error = vg_lite_free(&grad->image); in vg_lite_clear_grad()
1870 vg_lite_error_t vg_lite_clear_radial_grad(vg_lite_radial_gradient_t * grad) in vg_lite_clear_radial_grad() argument
1874 grad->count = 0; in vg_lite_clear_radial_grad()
1876 if(grad->image.handle != NULL) { in vg_lite_clear_radial_grad()
1877 error = vg_lite_free(&grad->image); in vg_lite_clear_radial_grad()
1883 vg_lite_matrix_t * vg_lite_get_linear_grad_matrix(vg_lite_ext_linear_gradient_t * grad) in vg_lite_get_linear_grad_matrix() argument
1885 return &grad->matrix; in vg_lite_get_linear_grad_matrix()
1888 vg_lite_matrix_t * vg_lite_get_grad_matrix(vg_lite_linear_gradient_t * grad) in vg_lite_get_grad_matrix() argument
1890 return &grad->matrix; in vg_lite_get_grad_matrix()
1893 vg_lite_matrix_t * vg_lite_get_radial_grad_matrix(vg_lite_radial_gradient_t * grad) in vg_lite_get_radial_grad_matrix() argument
1895 return &grad->matrix; in vg_lite_get_radial_grad_matrix()
1902 vg_lite_linear_gradient_t * grad, in vg_lite_draw_grad() argument
1917 vg_lite_matrix_multiply(&grad_matrix, &grad->matrix); in vg_lite_draw_grad()
1942 for(vg_lite_uint32_t i = 0; i < grad->count; i++) { in vg_lite_draw_grad()
1943 colorStops[i].offset = grad->stops[i] / 255.0f; in vg_lite_draw_grad()
1944 colorStops[i].r = R(grad->colors[i]); in vg_lite_draw_grad()
1945 colorStops[i].g = G(grad->colors[i]); in vg_lite_draw_grad()
1946 colorStops[i].b = B(grad->colors[i]); in vg_lite_draw_grad()
1947 colorStops[i].a = A(grad->colors[i]); in vg_lite_draw_grad()
1949 TVG_CHECK_RETURN_VG_ERROR(linearGrad->colorStops(colorStops, grad->count)); in vg_lite_draw_grad()
1961 vg_lite_radial_gradient_t * grad, in vg_lite_draw_radial_grad() argument
1979 TVG_CHECK_RETURN_VG_ERROR(radialGrad->transform(matrix_conv(&grad->matrix))); in vg_lite_draw_radial_grad()
1980 …TVG_CHECK_RETURN_VG_ERROR(radialGrad->radial(grad->radial_grad.cx, grad->radial_grad.cy, grad->rad… in vg_lite_draw_radial_grad()
1981 TVG_CHECK_RETURN_VG_ERROR(radialGrad->spread(fill_spread_conv(grad->spread_mode))); in vg_lite_draw_radial_grad()
1984 for(vg_lite_uint32_t i = 0; i < grad->ramp_length; i++) { in vg_lite_draw_radial_grad()
1985 colorStops[i].offset = grad->color_ramp[i].stop; in vg_lite_draw_radial_grad()
1986 colorStops[i].r = grad->color_ramp[i].red * 255.0f; in vg_lite_draw_radial_grad()
1987 colorStops[i].g = grad->color_ramp[i].green * 255.0f; in vg_lite_draw_radial_grad()
1988 colorStops[i].b = grad->color_ramp[i].blue * 255.0f; in vg_lite_draw_radial_grad()
1989 colorStops[i].a = grad->color_ramp[i].alpha * 255.0f; in vg_lite_draw_radial_grad()
1991 TVG_CHECK_RETURN_VG_ERROR(radialGrad->colorStops(colorStops, grad->ramp_length)); in vg_lite_draw_radial_grad()