問題タブ [pangocairo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cairo - Pango Cairo を適切にワードラップするにはどうすればよいですか?
Pango Cairo をワードラップするのに問題があります。以下はデモコードです。レイアウトの幅を赤い四角形と同じに設定しているので、赤い四角形に折り返されると予想されます。そのままでは、幅が非常に小さく設定されているかのように、各行に 1 つの単語を配置するだけです。pango.WRAP_WORD_CHAR を使用すると、1 行に 1 文字しか表示されません。
私は何を間違っていますか?指定した幅にレイアウトを折り返すにはどうすればよいですか?
EDIT幅を100000に設定すると、単語が正しく折り返されます。これは、set_width と構築引数が異なる単位を使用していることを意味します。何か案は?
android - Android NDK 用の Pango Cairo のビルド
Android NDK 用に Pango Cairo を移植した人を見つけました (ブログ投稿、ソース コード)。しかし、私は彼のサンプル プロジェクトのコンパイルに成功していません。誰かがそうすることに成功し、私が間違っていることを教えてくれますか?
これは私がこれまでに試したことです:
- git clone --recursive http://dev.laptop.org/git/users/cscott/android-libs/
- git は何らかの理由で pixman を見つけることができなかったので、git clone http://cgit.freedesktop.org/pixman/を実行し、 android-libs/jni/pixmanに移動しました。
- android-libs/jni/ の内容をandroid - libs/examples/java-bitmap/jniにコピーしました (保持する Android.mk がわからない?)
- 名前がjava-bitmap/jni/Makefile.develからMakefileに変更されました
- Java-bitmap/jni/Makefileを次のように編集: NDK=/cygdrive/f/android-ndk-r8b TOOLCHAIN=$(NDK)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin
- java-bitmap/jniでmakeを実行しようとしました
次のエラーが表示されます。
これはconfig.hのスニペットです
python - pygtk または pango を使用してシステムで使用されるデフォルトのフォントを取得するには?
pygtk を使用して fontbutton があります。システムがデフォルトのフォントを使用するため、最初はフォントを設定したくありません。私の質問は、システムで使用されるデフォルトのフォントを取得するためのコード行は何ですか。最初はデフォルトのままにします。後でユーザーがフォントを変更すると、それぞれのフォントが適用されます。誰でも助けることができますか?
c++ - C ++でCairo Imageサーフェスをopencv Matに変換する方法
私はcairommライブラリにcairo Imageサーフェスを持っています
Cairo::RefPtr cropSurface = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, Width,Height);
c ++でOpencv Matに変換するにはどうすればよいですか?
unicode - フォントレンダリングにおけるデフォルトの無視可能なコードポイントの目的は何ですか?
このリンクによると、U+00AD はデフォルトの無視可能なコード ポイントです。
これらのデフォルトの無視可能なコード ポイントの目的は何ですか? U+00AD をレンダリングしたい場合の害は何ですか?
リンクはいくつかの情報を提供しますが、私にはよくわかりません。
"U+00AD SOFT HYPHEN のデフォルトの外観は null です。ther-apist の外観は単に「セラピスト」です。目に見えるグリフはありません。改行処理では、単語内の区切りの可能性を示します。使用される単語内の区切りで改行の場合は、この文字によるものか自動プロセスによるものかにかかわらず、言語と文脈に応じて、ハイフン グリフ (おそらくスペルの変更による) またはその他の表示を表示できます。」
どうか明らかにしてください。
gtk - GtkWindow と GdkWindow の違いは?
Gtk-Gdk-Cairo-Pango アプリの冒頭で、ウィンドウを作成します。
まず、 がありますが、ではGtkWindow
なくをgtk_create_window
返します。なぜですか?GtkWidget
GtkWindow
次に、gdk_window_process_updates(..)
requireなどのいくつかの関数GdkWindow*
。
gtk_window_set_geometry_hints()
一方、 が必要GtkWindow*
です。
ドキュメントには、 return もありGdkWindow* gdk_window_new()
ますGdkWindow
。
確かに次のようなドキュメントがあります:
GdkWindow は、画面上の長方形の領域です。これは、GTK+ レベルで GtkWidget や GtkWindow などの高レベル オブジェクトを実装するために使用される低レベル オブジェクトです。GtkWindow はトップレベル ウィンドウであり、ユーザーはタイトルバーなどを備えた「ウィンドウ」と考えるかもしれません。GtkWindow には多くの GdkWindow が含まれる場合があります。
しかし、いつ、なぜGtkまたはGdkウィンドウを作成する必要があるのか 、まだ教えてくれませんか? ここで従うべきパターンは何ですか?
さて、私が解決しようとしている特定の問題は何ですか?確かに、マウスが動いた直後に、gtk+gdk の上に cairo+pango を使用してテキストを描画しようとします。問題は、実際の描画は高速に実行されているように見えますが、マウスの動きとまったく同じように描画できないことです。私motion_notify_event
はちょうど呼び出しますgtk_widget_queue_draw(GtkWidget)
が、実際のマウスが画面上を移動するのには明らかな遅れがあります.1つの文字を描画しても、移動フェーズ中にマウスポインターと整列せず、マウスが停止した後にのみキャッチされます.
私が試したのは、 を呼び出して更新を高速化することです。gdk_window_process_updates(GDK_WINDOW(window), false);
コンパイラはそれを食べますが、ランタイム アサーション: を取得しましたGdk-CRITICAL **: gdk_window_process_updates: assertion 'GDK_IS_WINDOW (window)' failed
。このマクロと、いつどのように使用するかについての情報が見つかりません。
c - Cでgtk2でcairoを使用するには?
cairo と gtk2 に大きな問題があります。私はこのチュートリアルに従っていました: http://zetcode.com/gfx/cairo/cairobackends/ (GTK ウィンドウ ヘッダー)。残念ながら、ウィンドウには何も表示されません。
チュートリアルのコード:
「draw」の代わりに「expose_event」を使用する必要があることがわかりましたが、まだ問題があります。
私はこのようなものを見つけました:
このコードは機能し、何かを描画します。最初の例のように、描画したいコード (do_drawing など) を配置できる関数を機能させるにはどうすればよいか教えてください。前もって感謝します。
c++ - Pango/Cairo の動的テキスト
Pango で何かが足りない気がします。API のほとんどすべては、テキストを編集するための方法が組み込まれている可能性があることを示唆する、特定の位置でカーソルを描画/移動する 2 つの関数を除いて、静的テキストを表示するように調整されているようです。
たとえば、テキストのブロックをマウスでマークする (つまり、背景色を 2 点間で変更する) には、マウスを 1 回動かすたびにタグを変更してテキストを再生成するか、Cairo で四角形を描画してから、Pango を使用して上部に透明な背景を持つテキスト。画面全体を再生成または再描画せずに範囲に属性を適用する方法はありますか?
同様に、Pango にカーソルを描画させ、キー プレス イベントを自分で処理させる場合、画面全体を再描画する代わりに何か方法はありますか?
GtkTextBuffer はオプションではありません - 私はいつでもすべてのテキストを持っているわけではなく、コンパクトなバイナリ形式からオンザフライで表示する必要があるものを計算し、常に変化するフィルターのセットを使用する方がはるかに効率的です。肥大化し、冗長で洗練されていないだけでなく、非常に遅いです。