Lines Matching refs:draw_info
223 const DrawInfo *draw_info,ExceptionInfo *exception) in AnnotateImage() argument
265 assert(draw_info != (DrawInfo *) NULL); in AnnotateImage()
266 assert(draw_info->signature == MagickCoreSignature); in AnnotateImage()
267 if (draw_info->text == (char *) NULL) in AnnotateImage()
269 if (*draw_info->text == '\0') in AnnotateImage()
271 annotate=CloneDrawInfo((ImageInfo *) NULL,draw_info); in AnnotateImage()
274 annotate_info=CloneDrawInfo((ImageInfo *) NULL,draw_info); in AnnotateImage()
339 draw_info->interline_spacing+0.5); in AnnotateImage()
480 if (draw_info->undercolor.alpha != TransparentAlpha) in AnnotateImage()
489 undercolor_info->fill=draw_info->undercolor; in AnnotateImage()
490 undercolor_info->affine=draw_info->affine; in AnnotateImage()
491 undercolor_info->affine.tx=offset.x-draw_info->affine.ry*metrics.ascent; in AnnotateImage()
492 undercolor_info->affine.ty=offset.y-draw_info->affine.sy*metrics.ascent; in AnnotateImage()
515 annotate_info->affine.ty-=(draw_info->affine.sy*(metrics.ascent+ in AnnotateImage()
523 annotate_info->affine.ty-=(draw_info->affine.sy* in AnnotateImage()
537 annotate_info->affine.ty-=(draw_info->affine.sy*(height+ in AnnotateImage()
588 MagickExport ssize_t FormatMagickCaption(Image *image,DrawInfo *draw_info, in FormatMagickCaption() argument
609 q=draw_info->text; in FormatMagickCaption()
617 q=draw_info->text; in FormatMagickCaption()
623 status=GetTypeMetrics(image,draw_info,metrics,exception); in FormatMagickCaption()
626 width=(size_t) floor(metrics->width+draw_info->stroke_width+0.5); in FormatMagickCaption()
655 q=draw_info->text; in FormatMagickCaption()
715 const DrawInfo *draw_info,TypeMetric *metrics,ExceptionInfo *exception) in GetMultilineTypeMetrics() argument
740 assert(draw_info != (DrawInfo *) NULL); in GetMultilineTypeMetrics()
741 assert(draw_info->text != (char *) NULL); in GetMultilineTypeMetrics()
742 assert(draw_info->signature == MagickCoreSignature); in GetMultilineTypeMetrics()
743 if (*draw_info->text == '\0') in GetMultilineTypeMetrics()
745 annotate_info=CloneDrawInfo((ImageInfo *) NULL,draw_info); in GetMultilineTypeMetrics()
750 textlist=StringToStrings(draw_info->text,&count); in GetMultilineTypeMetrics()
764 0.5)+(count-1)*draw_info->interline_spacing); in GetMultilineTypeMetrics()
849 const DrawInfo *draw_info,TypeMetric *metrics,ExceptionInfo *exception) in GetTypeMetrics() argument
864 assert(draw_info != (DrawInfo *) NULL); in GetTypeMetrics()
865 assert(draw_info->text != (char *) NULL); in GetTypeMetrics()
866 assert(draw_info->signature == MagickCoreSignature); in GetTypeMetrics()
867 annotate_info=CloneDrawInfo((ImageInfo *) NULL,draw_info); in GetTypeMetrics()
920 static MagickBooleanType RenderType(Image *image,const DrawInfo *draw_info, in RenderType() argument
933 if (draw_info->font != (char *) NULL) in RenderType()
935 if (*draw_info->font == '@') in RenderType()
937 status=RenderFreetype(image,draw_info,draw_info->encoding,offset, in RenderType()
941 if (*draw_info->font == '-') in RenderType()
942 return(RenderX11(image,draw_info,offset,metrics,exception)); in RenderType()
943 if (*draw_info->font == '^') in RenderType()
944 return(RenderPostscript(image,draw_info,offset,metrics,exception)); in RenderType()
945 if (IsPathAccessible(draw_info->font) != MagickFalse) in RenderType()
947 status=RenderFreetype(image,draw_info,draw_info->encoding,offset, in RenderType()
951 type_info=GetTypeInfo(draw_info->font,exception); in RenderType()
954 "UnableToReadFont","`%s'",draw_info->font); in RenderType()
957 (draw_info->family != (const char *) NULL)) in RenderType()
959 type_info=GetTypeInfoByFamily(draw_info->family,draw_info->style, in RenderType()
960 draw_info->stretch,draw_info->weight,exception); in RenderType()
975 family=StringToArgv(draw_info->family,&number_families); in RenderType()
978 type_info=GetTypeInfoByFamily(family[i],draw_info->style, in RenderType()
979 draw_info->stretch,draw_info->weight,exception); in RenderType()
988 "UnableToReadFont","`%s'",draw_info->family); in RenderType()
992 type_info=GetTypeInfoByFamily("Arial",draw_info->style, in RenderType()
993 draw_info->stretch,draw_info->weight,exception); in RenderType()
995 type_info=GetTypeInfoByFamily("Helvetica",draw_info->style, in RenderType()
996 draw_info->stretch,draw_info->weight,exception); in RenderType()
998 type_info=GetTypeInfoByFamily("Century Schoolbook",draw_info->style, in RenderType()
999 draw_info->stretch,draw_info->weight,exception); in RenderType()
1001 type_info=GetTypeInfoByFamily("Sans",draw_info->style, in RenderType()
1002 draw_info->stretch,draw_info->weight,exception); in RenderType()
1004 type_info=GetTypeInfoByFamily((const char *) NULL,draw_info->style, in RenderType()
1005 draw_info->stretch,draw_info->weight,exception); in RenderType()
1010 status=RenderFreetype(image,draw_info,draw_info->encoding,offset,metrics, in RenderType()
1014 annotate_info=CloneDrawInfo((ImageInfo *) NULL,draw_info); in RenderType()
1064 static size_t ComplexTextLayout(const Image *image,const DrawInfo *draw_info, in ComplexTextLayout() argument
1090 if (raqm_set_par_direction(rq,(raqm_direction_t) draw_info->direction) == 0) in ComplexTextLayout()
1187 (*grapheme)[i-1].x_advance+=(FT_Pos) ((draw_info->direction == in ComplexTextLayout()
1201 DrawInfo *draw_info) in TraceCubicBezier() argument
1209 affine=draw_info->affine; in TraceCubicBezier()
1213 (void) ConcatenateString(&draw_info->primitive,path); in TraceCubicBezier()
1217 static int TraceLineTo(FT_Vector *to,DrawInfo *draw_info) in TraceLineTo() argument
1225 affine=draw_info->affine; in TraceLineTo()
1228 (void) ConcatenateString(&draw_info->primitive,path); in TraceLineTo()
1232 static int TraceMoveTo(FT_Vector *to,DrawInfo *draw_info) in TraceMoveTo() argument
1240 affine=draw_info->affine; in TraceMoveTo()
1243 (void) ConcatenateString(&draw_info->primitive,path); in TraceMoveTo()
1248 DrawInfo *draw_info) in TraceQuadraticBezier() argument
1256 affine=draw_info->affine; in TraceQuadraticBezier()
1260 (void) ConcatenateString(&draw_info->primitive,path); in TraceQuadraticBezier()
1264 static MagickBooleanType RenderFreetype(Image *image,const DrawInfo *draw_info, in RenderFreetype() argument
1372 if (draw_info->font == (char *) NULL) in RenderFreetype()
1375 if (*draw_info->font != '@') in RenderFreetype()
1376 args.pathname=ConstantString(draw_info->font); in RenderFreetype()
1378 args.pathname=ConstantString(draw_info->font+1); in RenderFreetype()
1380 ft_status=FT_Open_Face(library,&args,(long) draw_info->face,&face); in RenderFreetype()
1390 if ((draw_info->metrics != (char *) NULL) && in RenderFreetype()
1391 (IsPathAccessible(draw_info->metrics) != MagickFalse)) in RenderFreetype()
1392 (void) FT_Attach_File(face,draw_info->metrics); in RenderFreetype()
1448 if (draw_info->density != (char *) NULL) in RenderFreetype()
1456 geometry_flags=ParseGeometry(draw_info->density,&geometry_info); in RenderFreetype()
1462 ft_status=FT_Set_Char_Size(face,(FT_F26Dot6) (64.0*draw_info->pointsize), in RenderFreetype()
1463 (FT_F26Dot6) (64.0*draw_info->pointsize),(FT_UInt) resolution.x, in RenderFreetype()
1469 ThrowBinaryException(TypeError,"UnableToReadFont",draw_info->font); in RenderFreetype()
1492 if ((draw_info->text == (char *) NULL) || (*draw_info->text == '\0') || in RenderFreetype()
1505 draw_info->font != (char *) NULL ? draw_info->font : "none", in RenderFreetype()
1507 draw_info->encoding != (char *) NULL ? draw_info->encoding : "none", in RenderFreetype()
1508 draw_info->pointsize); in RenderFreetype()
1510 if (draw_info->render == MagickFalse) in RenderFreetype()
1512 if (draw_info->text_antialias == MagickFalse) in RenderFreetype()
1534 if (draw_info->render != MagickFalse) in RenderFreetype()
1536 affine.xx=(FT_Fixed) (65536L*draw_info->affine.sx+0.5); in RenderFreetype()
1537 affine.yx=(FT_Fixed) (-65536L*draw_info->affine.rx+0.5); in RenderFreetype()
1538 affine.xy=(FT_Fixed) (-65536L*draw_info->affine.ry+0.5); in RenderFreetype()
1539 affine.yy=(FT_Fixed) (65536L*draw_info->affine.sy+0.5); in RenderFreetype()
1541 annotate_info=CloneDrawInfo((ImageInfo *) NULL,draw_info); in RenderFreetype()
1546 if (draw_info->render != MagickFalse) in RenderFreetype()
1555 for (p=draw_info->text; GetUTFCode(p) != 0; p+=GetUTFOctets(p)) in RenderFreetype()
1560 p=draw_info->text; in RenderFreetype()
1563 utf8=ConvertLatin1ToUTF8((unsigned char *) draw_info->text); in RenderFreetype()
1568 length=ComplexTextLayout(image,draw_info,p,strlen(p),face,flags,&grapheme, in RenderFreetype()
1584 origin.x+=(FT_Pos) (64.0*draw_info->kerning); in RenderFreetype()
1603 if ((p == draw_info->text) || (bounds.xMin < metrics->bounds.x1)) in RenderFreetype()
1606 if ((p == draw_info->text) || (bounds.yMin < metrics->bounds.y1)) in RenderFreetype()
1609 if ((p == draw_info->text) || (bounds.xMax > metrics->bounds.x2)) in RenderFreetype()
1612 if ((p == draw_info->text) || (bounds.yMax > metrics->bounds.y2)) in RenderFreetype()
1615 if (((draw_info->stroke.alpha != TransparentAlpha) || in RenderFreetype()
1616 (draw_info->stroke_pattern != (Image *) NULL)) && in RenderFreetype()
1617 ((status != MagickFalse) && (draw_info->render != MagickFalse))) in RenderFreetype()
1639 if (draw_info->render != MagickFalse) in RenderFreetype()
1653 transparent_fill=((draw_info->fill.alpha == TransparentAlpha) && in RenderFreetype()
1654 (draw_info->fill_pattern == (Image *) NULL) && in RenderFreetype()
1655 (draw_info->stroke.alpha == TransparentAlpha) && in RenderFreetype()
1656 (draw_info->stroke_pattern == (Image *) NULL)) ? MagickTrue : in RenderFreetype()
1714 if (draw_info->text_antialias == MagickFalse) in RenderFreetype()
1724 GetFillColor(draw_info,x_offset,y_offset,&fill_color,exception); in RenderFreetype()
1753 if (((draw_info->stroke.alpha != TransparentAlpha) || in RenderFreetype()
1754 (draw_info->stroke_pattern != (Image *) NULL)) && in RenderFreetype()
1769 if ((fabs(draw_info->interword_spacing) >= MagickEpsilon) && in RenderFreetype()
1772 origin.x+=(FT_Pos) (64.0*draw_info->interword_spacing); in RenderFreetype()
1810 static MagickBooleanType RenderFreetype(Image *image,const DrawInfo *draw_info, in RenderFreetype() argument
1816 draw_info->font != (char *) NULL ? draw_info->font : "none"); in RenderFreetype()
1817 return(RenderPostscript(image,draw_info,offset,metrics,exception)); in RenderFreetype()
1899 const DrawInfo *draw_info,const PointInfo *offset,TypeMetric *metrics, in RenderPostscript() argument
1941 "Font %s; pointsize %g",draw_info->font != (char *) NULL ? in RenderPostscript()
1942 draw_info->font : "none",draw_info->pointsize); in RenderPostscript()
1964 identity=(fabs(draw_info->affine.sx-draw_info->affine.sy) < MagickEpsilon) && in RenderPostscript()
1965 (fabs(draw_info->affine.rx) < MagickEpsilon) && in RenderPostscript()
1966 (fabs(draw_info->affine.ry) < MagickEpsilon) ? MagickTrue : MagickFalse; in RenderPostscript()
1969 length=strlen(draw_info->text); in RenderPostscript()
1972 point.x=fabs(draw_info->affine.sx*i*draw_info->pointsize+ in RenderPostscript()
1973 draw_info->affine.ry*2.0*draw_info->pointsize); in RenderPostscript()
1974 point.y=fabs(draw_info->affine.rx*i*draw_info->pointsize+ in RenderPostscript()
1975 draw_info->affine.sy*2.0*draw_info->pointsize); in RenderPostscript()
1983 (void) FormatLocaleFile(file,"%g %g scale\n",draw_info->pointsize, in RenderPostscript()
1984 draw_info->pointsize); in RenderPostscript()
1985 if ((draw_info->font == (char *) NULL) || (*draw_info->font == '\0') || in RenderPostscript()
1986 (strchr(draw_info->font,'/') != (char *) NULL)) in RenderPostscript()
1991 "/%s-ISO dup /%s ReencodeType findfont setfont\n",draw_info->font, in RenderPostscript()
1992 draw_info->font); in RenderPostscript()
1994 draw_info->affine.sx,-draw_info->affine.rx,-draw_info->affine.ry, in RenderPostscript()
1995 draw_info->affine.sy); in RenderPostscript()
1996 text=EscapeParenthesis(draw_info->text); in RenderPostscript()
2010 if (draw_info->density != (char *) NULL) in RenderPostscript()
2011 (void) CloneString(&annotate_info->density,draw_info->density); in RenderPostscript()
2012 annotate_info->antialias=draw_info->text_antialias; in RenderPostscript()
2022 if (draw_info->density != (char *) NULL) in RenderPostscript()
2030 flags=ParseGeometry(draw_info->density,&geometry_info); in RenderPostscript()
2045 ExpandAffine(&draw_info->affine)*draw_info->pointsize+0.5); in RenderPostscript()
2054 ExpandAffine(&draw_info->affine)*draw_info->pointsize; in RenderPostscript()
2059 ExpandAffine(&draw_info->affine); in RenderPostscript()
2068 if (draw_info->render == MagickFalse) in RenderPostscript()
2073 if (draw_info->fill.alpha != TransparentAlpha) in RenderPostscript()
2092 fill_color=draw_info->fill; in RenderPostscript()
2108 GetFillColor(draw_info,x,y,&fill_color,exception); in RenderPostscript()
2161 static MagickBooleanType RenderX11(Image *image,const DrawInfo *draw_info, in RenderX11() argument
2170 status=XRenderImage(image,draw_info,offset,metrics,exception); in RenderX11()