| 1129 | } |
| 1130 | |
| 1131 | void MediaPlayer::draw(Renderer* renderer, const Mat4& transform, uint32_t flags) |
| 1132 | { |
| 1133 | ax::ui::Widget::draw(renderer, transform, flags); |
| 1134 | |
| 1135 | auto pvd = reinterpret_cast<PrivateVideoDescriptor*>(_videoContext); |
| 1136 | auto vrender = pvd->_vrender; |
| 1137 | auto engine = pvd->_engine; |
| 1138 | if (!vrender || !engine) |
| 1139 | return; |
| 1140 | |
| 1141 | if (isPlaying()) |
| 1142 | { // render 1 video sample if avaiable |
| 1143 | engine->transferVideoFrame(); |
| 1144 | } |
| 1145 | if (pvd->_scaleDirty || (flags & FLAGS_TRANSFORM_DIRTY)) |
| 1146 | pvd->rescaleTo(this); |
| 1147 | |
| 1148 | # if AX_VIDEOPLAYER_DEBUG_DRAW |
| 1149 | _debugDrawNode->clear(); |
| 1150 | auto size = getContentSize(); |
| 1151 | Point vertices[4] = {Point::ZERO, Point(size.width, 0), Point(size.width, size.height), Point(0, size.height)}; |
| 1152 | _debugDrawNode->drawPoly(vertices, 4, true, Color4F::WHITE); |
| 1153 | # endif |
| 1154 | } |
| 1155 | |
| 1156 | void MediaPlayer::setContentSize(const Size& contentSize) |
| 1157 | { |
no test coverage detected