Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make it compile on Windows #9

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions libs/ShivaVG/src/shImage.c
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ VG_API_CALL void vgImageSubData(VGImage image,
/* TODO: check data array alignment */

shCopyPixels(i->data, i->fd.vgformat, i->texwidth * i->fd.bytes,
data, dataFormat,dataStride,
(SHuint8 *)data, dataFormat,dataStride,
i->width, i->height, width, height,
x, y, 0, 0, width, height);

Expand Down Expand Up @@ -876,7 +876,7 @@ VG_API_CALL void vgGetImageSubData(VGImage image,

/* TODO: check data array alignment */

shCopyPixels(data, dataFormat, dataStride,
shCopyPixels((SHuint8 *)data, dataFormat, dataStride,
i->data, i->fd.vgformat, i->texwidth * i->fd.bytes,
width, height, i->width, i->height,
0,0,x,x,width,height);
Expand Down Expand Up @@ -1141,7 +1141,7 @@ VG_API_CALL void vgReadPixels(void * data, VGint dataStride,
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(sx, sy, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels);

shCopyPixels(data, dataFormat, dataStride,
shCopyPixels((SHuint8 *)data, dataFormat, dataStride,
pixels, winfd.vgformat, -1,
width, height, width, height,
0, 0, 0, 0, width, height);
Expand Down
36 changes: 18 additions & 18 deletions libs/ShivaVG/src/shPath.c
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,7 @@ void shProcessPathData(SHPath *p,

/* Extract command */
command = (p->segs[s]);
absrel = (command & 1);
absrel = (VGPathAbsRel)(command & 1);
segment = (command & 0x1E);
segindex = (segment >> 1);
numcoords = shCoordsPerCommand[segindex];
Expand All @@ -697,7 +697,7 @@ void shProcessPathData(SHPath *p,
if (!open && segment != VG_MOVE_TO) {
data[0] = pen.x; data[1] = pen.y;
data[2] = pen.x; data[3] = pen.y;
(*callback)(p,VG_MOVE_TO,command,data,userData);
(*callback)(p,VG_MOVE_TO,(VGPathCommand)command,data,userData);
open = 1;
}

Expand Down Expand Up @@ -734,7 +734,7 @@ void shProcessPathData(SHPath *p,
SET2V(tan, start);
open = 0;

(*callback)(p,VG_CLOSE_PATH,command,data,userData);
(*callback)(p,VG_CLOSE_PATH, (VGPathCommand)command,data,userData);

break;
case VG_MOVE_TO:
Expand All @@ -748,7 +748,7 @@ void shProcessPathData(SHPath *p,
SET2V(tan, pen);
open = 1;

(*callback)(p,VG_MOVE_TO,command,data,userData);
(*callback)(p,VG_MOVE_TO, (VGPathCommand)command,data,userData);

break;
case VG_LINE_TO:
Expand All @@ -760,7 +760,7 @@ void shProcessPathData(SHPath *p,
SET2(pen, data[2], data[3]);
SET2V(tan, pen);

(*callback)(p,VG_LINE_TO,command,data,userData);
(*callback)(p,VG_LINE_TO, (VGPathCommand)command,data,userData);

break;
case VG_HLINE_TO:
Expand All @@ -773,11 +773,11 @@ void shProcessPathData(SHPath *p,

if (flags & SH_PROCESS_SIMPLIFY_LINES) {
data[3] = pen.y;
(*callback)(p,VG_LINE_TO,command,data,userData);
(*callback)(p,VG_LINE_TO, (VGPathCommand)command,data,userData);
break;
}

(*callback)(p,VG_HLINE_TO,command,data,userData);
(*callback)(p,VG_HLINE_TO, (VGPathCommand)command,data,userData);

break;
case VG_VLINE_TO:
Expand All @@ -790,11 +790,11 @@ void shProcessPathData(SHPath *p,

if (flags & SH_PROCESS_SIMPLIFY_LINES) {
data[2] = pen.x; data[3] = pen.y;
(*callback)(p,VG_LINE_TO,command,data,userData);
(*callback)(p,VG_LINE_TO, (VGPathCommand)command,data,userData);
break;
}

(*callback)(p,VG_VLINE_TO,command,data,userData);
(*callback)(p,VG_VLINE_TO, (VGPathCommand)command,data,userData);

break;
case VG_QUAD_TO:
Expand All @@ -807,7 +807,7 @@ void shProcessPathData(SHPath *p,
SET2(tan, data[2], data[3]);
SET2(pen, data[4], data[5]);

(*callback)(p,VG_QUAD_TO,command,data,userData);
(*callback)(p,VG_QUAD_TO, (VGPathCommand)command,data,userData);

break;
case VG_CUBIC_TO:
Expand All @@ -821,7 +821,7 @@ void shProcessPathData(SHPath *p,
SET2(tan, data[4], data[5]);
SET2(pen, data[6], data[7]);

(*callback)(p,VG_CUBIC_TO,command,data,userData);
(*callback)(p,VG_CUBIC_TO, (VGPathCommand)command,data,userData);

break;
case VG_SQUAD_TO:
Expand All @@ -836,11 +836,11 @@ void shProcessPathData(SHPath *p,
if (flags & SH_PROCESS_SIMPLIFY_CURVES) {
data[2] = tan.x; data[3] = tan.y;
data[4] = pen.x; data[5] = pen.y;
(*callback)(p,VG_QUAD_TO,command,data,userData);
(*callback)(p,VG_QUAD_TO, (VGPathCommand)command,data,userData);
break;
}

(*callback)(p,VG_SQUAD_TO,command,data,userData);
(*callback)(p,VG_SQUAD_TO, (VGPathCommand)command,data,userData);

break;
case VG_SCUBIC_TO:
Expand All @@ -858,11 +858,11 @@ void shProcessPathData(SHPath *p,
data[3] = 2*pen.y - tan.y;
data[4] = tan.x; data[5] = tan.y;
data[6] = pen.x; data[7] = pen.y;
(*callback)(p,VG_CUBIC_TO,command,data,userData);
(*callback)(p,VG_CUBIC_TO, (VGPathCommand)command,data,userData);
break;
}

(*callback)(p,VG_SCUBIC_TO,command,data,userData);
(*callback)(p,VG_SCUBIC_TO, (VGPathCommand)command,data,userData);

break;
case VG_SCWARC_TO: case VG_SCCWARC_TO:
Expand All @@ -880,13 +880,13 @@ void shProcessPathData(SHPath *p,

if (flags & SH_PROCESS_CENTRALIZE_ARCS) {
if (shCentralizeArc(command, data))
(*callback)(p,segment,command,data,userData);
(*callback)(p, (VGPathSegment)segment, (VGPathCommand)command,data,userData);
else
(*callback)(p,VG_LINE_TO,command,data,userData);
(*callback)(p,VG_LINE_TO, (VGPathCommand)command,data,userData);
break;
}

(*callback)(p,segment,command,data,userData);
(*callback)(p, (VGPathSegment)segment, (VGPathCommand)command,data,userData);
break;

} /* switch (command) */
Expand Down
4 changes: 3 additions & 1 deletion libs/ShivaVG/src/shVgu.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ static VGUErrorCode shAppend(VGPath path, SHint commSize, const VGubyte *comm,
SHint dataSize, const VGfloat *data)
{
VGErrorCode err = VG_NO_ERROR;
VGPathDatatype type = vgGetParameterf(path, VG_PATH_DATATYPE);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this was weirdly done on shivas part. Your fix was causing crashing for me and I believe the actual method should be this:
VGPathDatatype type = VGPathDatatype(vgGetParameteri(path, VG_PATH_DATATYPE));

VGfloat typeFloat = vgGetParameterf(path, VG_PATH_DATATYPE);
// How to cast VGfloat to VGPathDatatype?
VGPathDatatype type = VG_PATH_DATATYPE_S_8; // Hack so it compiles
VGfloat scale = vgGetParameterf(path, VG_PATH_SCALE);
VGfloat bias = vgGetParameterf(path, VG_PATH_BIAS);
SH_ASSERT(dataSize <= 26);
Expand Down