git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
poppler: disable xpdf language configuration
[swftools.git]
/
lib
/
gfxtools.c
diff --git
a/lib/gfxtools.c
b/lib/gfxtools.c
index
929d5bf
..
082eefa
100644
(file)
--- a/
lib/gfxtools.c
+++ b/
lib/gfxtools.c
@@
-205,8
+205,8
@@
static double get_spline_len(qspline_abc_t*s)
void gfxtool_draw_dashed_line(gfxdrawer_t*d, gfxline_t*line, float*r, float phase)
{
double x=0,y=0;
void gfxtool_draw_dashed_line(gfxdrawer_t*d, gfxline_t*line, float*r, float phase)
{
double x=0,y=0;
- double linepos,nextpos;
- char on;
+ double linepos = 0,nextpos = 0;
+ char on = 0;
int apos=0;
if(line && line->type != gfx_moveTo) {
int apos=0;
if(line && line->type != gfx_moveTo) {
@@
-656,6
+656,13
@@
gfxbbox_t gfxbbox_expand_to_point(gfxbbox_t box, gfxcoord_t x, gfxcoord_t y)
return box;
}
return box;
}
+gfxbbox_t gfxbbox_expand_to_bbox(gfxbbox_t box, gfxbbox_t box2)
+{
+ box = gfxbbox_expand_to_point(box, box2.xmin, box2.ymin);
+ box = gfxbbox_expand_to_point(box, box2.xmax, box2.ymax);
+ return box;
+}
+
void gfxbbox_intersect(gfxbbox_t*box1, gfxbbox_t*box2)
{
if(box2->xmin > box1->xmin)
void gfxbbox_intersect(gfxbbox_t*box1, gfxbbox_t*box2)
{
if(box2->xmin > box1->xmin)
@@
-904,7
+911,7
@@
gfxbbox_t* gfxline_isrectangle(gfxline_t*_l)
gfxline_t*l = gfxline_clone(_l);
gfxline_optimize(l);
gfxline_t*l = gfxline_clone(_l);
gfxline_optimize(l);
- double x1,x2,y1,y2;
+ double x1=0,x2=0,y1=0,y2=0;
int xc=0,yc=0;
char corners=0;
int xc=0,yc=0;
char corners=0;
@@
-1038,7
+1045,7
@@
gfxline_t* gfxline_restitch(gfxline_t*line)
gfxline_t*prev=0;
while(line) {
gfxline_t*next = line->next;
gfxline_t*prev=0;
while(line) {
gfxline_t*next = line->next;
- if(line->type == gfx_moveTo) {
+ if(line->type == gfx_moveTo && (line->next && line->next->type != gfx_moveTo)) {
gfxpoint_t xy = {line->x, line->y};
dict_put(ff, &xy, line);
prev = line;
gfxpoint_t xy = {line->x, line->y};
dict_put(ff, &xy, line);
prev = line;
@@
-1047,6
+1054,7
@@
gfxline_t* gfxline_restitch(gfxline_t*line)
gfxpoint_t xy = {line->x, line->y};
dict_put(rev, &xy, prev);
line->next = 0;
gfxpoint_t xy = {line->x, line->y};
dict_put(rev, &xy, prev);
line->next = 0;
+ prev=0;
}
}
line = next;
}
}
line = next;
@@
-1137,6
+1145,15
@@
gfxline_t* gfxline_reverse(gfxline_t*line)
return b;
}
return b;
}
+void gfxgradient_destroy(gfxgradient_t*gradient)
+{
+ while(gradient) {
+ gfxgradient_t*next = gradient->next;
+ free(gradient);
+ gradient = next;
+ }
+}
+
gfxparams_t* gfxparams_new()
{
return (gfxparams_t*)rfx_calloc(sizeof(gfxparams_t));
gfxparams_t* gfxparams_new()
{
return (gfxparams_t*)rfx_calloc(sizeof(gfxparams_t));