X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=cef_capture.h;h=29dededf7b60ad8696dfaec10c71c7f7e84844f4;hb=327534a3031a332423411c9599c741f2f81657df;hp=9e231c9d6fc654e3c9e769669bafceebf4abd816;hpb=e7f9c69a5fe88a3fea5a7dc3ce71e7ed337bdbd7;p=nageru diff --git a/cef_capture.h b/cef_capture.h index 9e231c9..29deded 100644 --- a/cef_capture.h +++ b/cef_capture.h @@ -35,8 +35,8 @@ class CEFCapture; class NageruCEFClient : public CefClient, public CefRenderHandler, public CefLoadHandler { public: - NageruCEFClient(int width, int height, CEFCapture *parent) - : width(width), height(height), parent(parent) {} + NageruCEFClient(CEFCapture *parent) + : parent(parent) {} CefRefPtr GetRenderHandler() override { @@ -52,14 +52,13 @@ public: void OnPaint(CefRefPtr browser, PaintElementType type, const RectList &dirtyRects, const void *buffer, int width, int height) override; - bool GetViewRect(CefRefPtr browser, CefRect &rect); + bool GetViewRect(CefRefPtr browser, CefRect &rect) override; // CefLoadHandler. void OnLoadEnd(CefRefPtr browser, CefRefPtr frame, int httpStatusCode) override; private: - int width, height; CEFCapture *parent; IMPLEMENT_REFCOUNTING(NageruCEFClient); @@ -86,6 +85,7 @@ public: void set_max_fps(int max_fps); void execute_javascript_async(const std::string &js); void resize(unsigned width, unsigned height); + void request_new_frame(); // Callbacks from NageruCEFClient. void OnPaint(const void *buffer, int width, int height); @@ -148,7 +148,7 @@ public: assert(pixel_format == bmusb::PixelFormat_8BitBGRA); } - bmusb::PixelFormat get_current_pixel_format() const + bmusb::PixelFormat get_current_pixel_format() const override { return bmusb::PixelFormat_8BitBGRA; } @@ -166,7 +166,7 @@ public: uint32_t get_current_audio_input() const override { return 0; } private: - void post_to_cef_ui_thread(std::function &&func); + void post_to_cef_ui_thread(std::function &&func, int64_t delay_ms = 0); CefRefPtr cef_client;