後でgtkmm3を使用してドラッグアンドドロップアイコン画像で使用するために、gtkウィジェットコンテナをpixbufにレンダリングする方法を探しています。
これを行うためのネイティブgtk3の正しい方法は、私が調査した限りでは、提供されたcairoサーフェスでのgtk_widget_draw()の使用です。
このサーフェスの作成は問題ではありませんが、gtk_widget_draw()自体の呼び出しは問題です。
gtkmm-3.4.2のソースで直接言及されているのは、「保護された」と宣言されているGtk :: Widget :: draw()関数(widget.cc:310)だけです。
だから私の質問は:gtkmm3でそのようなタスク(ウィジェットをpixbufにレンダリングする)を適切に実行するにはどうすればよいですか?
この時点で、2つのオプションが表示されます。
保護されたdraw()関数へのパブリックインターフェイスを提供するサブクラスGtk ::Widget
Gtk ::Widgetからgobj*インスタンスを抽出し、このインスタンスでネイティブGtkのgtk_widget_draw()を呼び出します。
問題は、どちらの方法が望ましいのか、そしてその理由は何かということです。それとも、それを行うための他の[より良い]方法がいくつかありますか?