Можно ли нарисовать элемент из дополнения C ++ XPCOM?
Ранее (возможно, очень давно) можно было получить объект интерфейса nsIDOMCanvasRenderingContext2D и использовать метод PutImageData_explicit от ti, чтобы нарисовать изображение на холсте. В настоящее время nsIDOMCanvasRenderingContext2D скрывает все, и я понятия не имею, как этого добиться.
В общем, есть ли способ визуализации видео (скажем, полученного с удаленного хоста) с помощью надстройки на веб-странице?
Любой совет будет оценен.
Спасибо
Есть PutImageData_explicit
сейчас. Но это защищенный член.
PutImageData
при этом возиться с ImageData
а также ErrorResult
,Даункастинг, чтобы попасть к защищенному участнику:
#include <string>
#include <iostream>
class Base {
protected:
std::string myName() {
return "Base";
}
};
class Derived : public Base {
public:
std::string myName() {
return Base::myName();
}
};
int main() {
Base *base = new Base();
Derived* derived = static_cast<Derived*>(base);
std::cout << derived->myName() << std::endl;
delete base;
return 0;
}
PS: это работает, потому что это все еще верно sizeof(Base) == sizeof(Derived)
, Вы действительно не хотите изменять размер, например добавив членов данных или что-то подобное, если вы не фанат segfault и повреждения кучи;)
Других решений пока нет …