| 594 | } |
| 595 | |
| 596 | std::size_t XChart::RequestAnimationFrame(func::Command *c, long delay) { |
| 597 | if(!canvasContext_ || !canvasContext_->IsValid() || this->requestFrameHandleId_.empty()) { |
| 598 | delete c; |
| 599 | return 0; |
| 600 | } |
| 601 | GetLogTracer()->trace("#RequestAnimationFrame handleID: %s", requestFrameHandleId_.data()); |
| 602 | if(!requestFrameHandleId_.empty()) { |
| 603 | long p = reinterpret_cast<long>(c); |
| 604 | nlohmann::json data = {{"command", p}, {"delay", delay}}; |
| 605 | InvokeFunction(requestFrameHandleId_, data.dump()); |
| 606 | return p; |
| 607 | } else { |
| 608 | delete c; |
| 609 | return 0; |
| 610 | } |
| 611 | } |
| 612 | |
| 613 | XChart &XChart::Tooltip(const std::string &json) { |
| 614 | return TooltipObject(xg::json::ParseString(json), false); |