String HaxeMessageSyntax::displayString(String type, Ref<Arguments> arguments, bool broken) { Ref<StringList, Owner> parts = new StringList; if (arguments) { *parts << "function("; if (broken) *parts << "<br/>"; for (Arguments::Index i = arguments->first(); arguments->def(i); ++i) { Ref<Argument> argument = arguments->at(i); if (broken) *parts << " "; if (argument->name() != "") *parts << argument->name() << ": "; *parts << docLink(argument->type()); if (arguments->def(i + 1)) *parts << ", "; if (broken) *parts << "<br/>"; } *parts << "): "; } *parts << docLink(type); if (broken) *parts << "<br/>"; String s = parts->join(); if ((s->size() > 80) && (!broken)) { if (s.stripTags()->size() > 80) s = displayString(type, arguments, true); } return s; }
std::shared_ptr<MuPDFDocLink> CreateURILink(const fz_link *link, fz_rect &rect) { std::shared_ptr<MuPDFDocLink> docLink(CreateLink(rect)); docLink->type = URI; docLink->uri = CopyToUniqueStr(link->dest.ld.uri.uri); return docLink; }
static std::shared_ptr<MuPDFDocLink> CreateInternalLink(const fz_link *link, fz_rect &rect) { std::shared_ptr<MuPDFDocLink> docLink(CreateLink(rect)); docLink->type = INTERNAL; docLink->internalPageNumber = link->dest.ld.gotor.page; return docLink; }
static std::shared_ptr<MuPDFDocLink> CreateRemoteLink(const fz_link *link, fz_rect &rect) { std::shared_ptr<MuPDFDocLink> docLink(CreateLink(rect)); docLink->type = REMOTE; docLink->remotePageNumber = link->dest.ld.gotor.page; docLink->newWindow = link->dest.ld.gotor.new_window != 0 ? true : false; docLink->fileSpec = CopyToUniqueStr(link->dest.ld.gotor.file_spec); return docLink; }
static std::shared_ptr<MuPDFDocLink> CreateLink(const fz_rect &rect) { std::shared_ptr<MuPDFDocLink> docLink(new MuPDFDocLink()); docLink->left = rect.x0; docLink->top = rect.y0; docLink->right = rect.x1; docLink->bottom = rect.y1; return docLink; }