static void _toColor(const char* str, uint8_t* r, uint8_t* g, uint8_t* b, string** ref)
{
- unsigned int i, len = strlen(str);
+ unsigned int len = strlen(str);
char *red, *green, *blue;
unsigned char tr, tg, tb;
*ref = _idFromUrl((const char*)(str + 3));
} else {
//Handle named color
- for (i = 0; i < (sizeof(colors) / sizeof(colors[0])); i++) {
+ for (unsigned int i = 0; i < (sizeof(colors) / sizeof(colors[0])); i++) {
if (!strcasecmp(colors[i].name, str)) {
*r = (((uint8_t*)(&(colors[i].value)))[2]);
*g = (((uint8_t*)(&(colors[i].value)))[1]);
*/
static Matrix* _parseTransformationMatrix(const char* value)
{
- unsigned int i;
float points[8];
int ptCount = 0;
float sx, sy;
++str;
continue;
}
- for (i = 0; i < sizeof(matrixTags) / sizeof(matrixTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(matrixTags) / sizeof(matrixTags[0]); i++) {
if (!strncmp(matrixTags[i].tag, str, matrixTags[i].sz - 1)) {
state = matrixTags[i].state;
str += (matrixTags[i].sz - 1);
static float _parseLength(const char* str, SvgLengthType* type)
{
- unsigned int i;
float value;
int sz = strlen(str);
*type = SvgLengthType::Px;
- for (i = 0; i < sizeof(lengthTags) / sizeof(lengthTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(lengthTags) / sizeof(lengthTags[0]); i++) {
if (lengthTags[i].sz - 1 == sz && !strncmp(lengthTags[i].tag, str, sz)) *type = lengthTags[i].type;
}
value = strtof(str, nullptr);
{
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node;
- unsigned int i;
int sz;
if (!key || !value) return false;
value = _skipSpace(value, nullptr);
sz = strlen(key);
- for (i = 0; i < sizeof(styleTags) / sizeof(styleTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(styleTags) / sizeof(styleTags[0]); i++) {
if (styleTags[i].sz - 1 == sz && !strncmp(styleTags[i].tag, key, sz)) {
styleTags[i].tagHandler(loader, node, value);
return true;
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node;
SvgCircleNode* circle = &(node->node.circle);
- unsigned int i;
unsigned char* array;
int sz = strlen(key);
array = (unsigned char*)circle;
- for (i = 0; i < sizeof(circleTags) / sizeof(circleTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(circleTags) / sizeof(circleTags[0]); i++) {
if (circleTags[i].sz - 1 == sz && !strncmp(circleTags[i].tag, key, sz)) {
*((float*)(array + circleTags[i].offset)) = _toFloat(loader->svgParse, value, circleTags[i].type);
return true;
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node;
SvgEllipseNode* ellipse = &(node->node.ellipse);
- unsigned int i;
unsigned char* array;
int sz = strlen(key);
array = (unsigned char*)ellipse;
- for (i = 0; i < sizeof(ellipseTags) / sizeof(ellipseTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(ellipseTags) / sizeof(ellipseTags[0]); i++) {
if (ellipseTags[i].sz - 1 == sz && !strncmp(ellipseTags[i].tag, key, sz)) {
*((float*)(array + ellipseTags[i].offset)) = _toFloat(loader->svgParse, value, ellipseTags[i].type);
return true;
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node;
SvgRectNode* rect = &(node->node.rect);
- unsigned int i;
unsigned char* array;
bool ret = true;
int sz = strlen(key);
array = (unsigned char*)rect;
- for (i = 0; i < sizeof(rectTags) / sizeof(rectTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(rectTags) / sizeof(rectTags[0]); i++) {
if (rectTags[i].sz - 1 == sz && !strncmp(rectTags[i].tag, key, sz)) {
*((float*)(array + rectTags[i].offset)) = _toFloat(loader->svgParse, value, rectTags[i].type);
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgNode* node = loader->svgParse->node;
SvgLineNode* line = &(node->node.line);
- unsigned int i;
unsigned char* array;
int sz = strlen(key);
array = (unsigned char*)line;
- for (i = 0; i < sizeof(lineTags) / sizeof(lineTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(lineTags) / sizeof(lineTags[0]); i++) {
if (lineTags[i].sz - 1 == sz && !strncmp(lineTags[i].tag, key, sz)) {
*((float*)(array + lineTags[i].offset)) = _toFloat(loader->svgParse, value, lineTags[i].type);
return true;
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgStyleGradient* grad = loader->svgParse->styleGrad;
SvgRadialGradient* radial = grad->radial;
- unsigned int i;
int sz = strlen(key);
- for (i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) {
if (radialTags[i].sz - 1 == sz && !strncmp(radialTags[i].tag, key, sz)) {
radialTags[i].tagHandler(loader, radial, value);
return true;
static SvgStyleGradient* _createRadialGradient(SvgLoaderData* loader, const char* buf, unsigned bufLength)
{
- unsigned int i = 0;
SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient));
if (!grad) return nullptr;
loader->svgParse->styleGrad = grad;
simpleXmlParseAttributes(buf, bufLength,
_attrParseRadialGradientNode, loader);
- for (i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(radialTags) / sizeof(radialTags[0]); i++) {
radialTags[i].tagRecalc(loader, grad->radial, grad->userSpace);
}
SvgLoaderData* loader = (SvgLoaderData*)data;
SvgStyleGradient* grad = loader->svgParse->styleGrad;
SvgLinearGradient* linear = grad->linear;
- unsigned int i;
int sz = strlen(key);
- for (i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) {
if (linear_tags[i].sz - 1 == sz && !strncmp(linear_tags[i].tag, key, sz)) {
linear_tags[i].tagHandler(loader, linear, value);
return true;
SvgStyleGradient* grad = (SvgStyleGradient*)calloc(1, sizeof(SvgStyleGradient));
if (!grad) return nullptr;
loader->svgParse->styleGrad = grad;
- unsigned int i;
grad->type = SvgGradientType::Linear;
grad->userSpace = false;
grad->linear->x2 = 1;
simpleXmlParseAttributes(buf, bufLength, _attrParseLinearGradientNode, loader);
- for (i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(linear_tags) / sizeof(linear_tags[0]); i++) {
linear_tags[i].tagRecalc(loader, grad->linear, grad->userSpace);
}
static GradientFactoryMethod _findGradientFactory(const char* name)
{
- unsigned int i;
int sz = strlen(name);
- for (i = 0; i < sizeof(gradientTags) / sizeof(gradientTags[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(gradientTags) / sizeof(gradientTags[0]); i++) {
if (gradientTags[i].sz - 1 == sz && !strncmp(gradientTags[i].tag, name, sz)) {
return gradientTags[i].tagHandler;
}
static void _svgLoaderParerXmlClose(SvgLoaderData* loader, const char* content)
{
- unsigned int i;
-
content = _skipSpace(content, nullptr);
- for (i = 0; i < sizeof(popArray) / sizeof(popArray[0]); i++) {
+ for (unsigned int i = 0; i < sizeof(popArray) / sizeof(popArray[0]); i++) {
if (!strncmp(content, popArray[i].tag, popArray[i].sz - 1)) {
loader->stack.pop();
break;
float cosPhiRx, cosPhiRy;
float sinPhiRx, sinPhiRy;
float cosTheta1, sinTheta1;
- int segments, i;
+ int segments;
//Some helpful stuff is available here:
//http://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes
cosTheta1 = cos(theta1);
sinTheta1 = sin(theta1);
- for (i = 0; i < segments; ++i) {
+ for (int i = 0; i < segments; ++i) {
//End angle (for this segment) = current + delta
float c1x, c1y, ex, ey, c2x, c2y;
float theta2 = theta1 + delta;
static void _processCommand(Array<PathCommand>* cmds, Array<Point>* pts, char cmd, float* arr, int count, Point* cur, Point* curCtl, Point* startPoint, bool *isQuadratic)
{
- int i;
switch (cmd) {
case 'm':
case 'l':
case 's':
case 'q':
case 't': {
- for (i = 0; i < count - 1; i += 2) {
+ for (int i = 0; i < count - 1; i += 2) {
arr[i] = arr[i] + cur->x;
arr[i + 1] = arr[i + 1] + cur->y;
}
static char* _nextCommand(char* path, char* cmd, float* arr, int* count)
{
- int i = 0, large, sweep;
+ int large, sweep;
path = _skipComma(path);
if (isalpha(*path)) {
*count = 0;
return NULL;
}
- for (i = 0; i < *count; i++) {
+ for (int i = 0; i < *count; i++) {
if (!_parseNumber(&path, &arr[i])) {
*count = 0;
return NULL;