status_t DisplayListRenderer::drawPath(SkPath* path, SkPaint* paint) { path = refPath(path); paint = refPaint(paint); addDrawOp(new (alloc()) DrawPathOp(path, paint)); return DrawGlInfo::kStatusDone; }
wxString MakeRelativePath(wxString _path, wxString reference) { if (_path.empty() || _path[0] == '?') return _path; wxFileName path(_path); wxFileName refPath(reference); path.MakeRelativeTo(refPath.GetPath()); return path.GetFullPath(); }
/// @brief Make a path relative to reference /// @param _path /// @param reference /// @return /// wxString MakeRelativePath(wxString _path,wxString reference) { if (_path.IsEmpty()) return _T(""); if (_path.Left(1) == _T("?")) return _path; wxFileName path(_path); wxFileName refPath(reference); path.MakeRelativeTo(refPath.GetPath()); return path.GetFullPath(); }
wxString DecodeRelativePath(wxString _path,wxString reference) { if (_path.empty() || _path[0] == '?') return _path; wxFileName path(_path); wxFileName refPath(reference); if (!path.IsAbsolute()) path.MakeAbsolute(refPath.GetPath()); #ifdef __UNIX__ return path.GetFullPath(wxPATH_UNIX); // also works on windows // No, it doesn't, this ommits drive letter in Windows. ~ amz #else return path.GetFullPath(); #endif }
status_t DisplayListRenderer::drawTextOnPath(const char* text, int bytesCount, int count, SkPath* path, float hOffset, float vOffset, SkPaint* paint) { if (!text || count <= 0) return DrawGlInfo::kStatusDone; text = refText(text, bytesCount); path = refPath(path); paint = refPaint(paint); DrawOp* op = new (alloc()) DrawTextOnPathOp(text, bytesCount, count, path, hOffset, vOffset, paint); addDrawOp(op); return DrawGlInfo::kStatusDone; }
bool DisplayListRenderer::clipPath(SkPath* path, SkRegion::Op op) { path = refPath(path); addStateOp(new (alloc()) ClipPathOp(path, op)); return OpenGLRenderer::clipPath(path, op); }