このXcursor名はどういう意味ですか?

このXcursor名はどういう意味ですか?

独自のXcursorテーマを作成する予定です。既存のテーマを見ている間、奇妙な名前が見つかりました08e8e1c95fe2fc01f976f1e063a24ccd。たとえば、この名前を含むコードスニペットを見つけました。

https://vimsky.com/examples/detail/cpp-ex---QHash-reserve-method.html

コメントによると、ハードコーディングされたMD5ハッシュのようです。しかし、このハッシュ値を生成できませんでした。どのプログラムにこれらの名前が必要ですか?私のシステムにインストールされているすべてのテーマはこの名前へのシンボリックリンクですが、それに関するドキュメントは見つかりません。

size_bdiag上右/下左ペインのサイズ変更と、上size_fdiag左/下右ペインのサイズ変更という2つのカーソルもあります。しかし、私はこれらの名前の意味を理解できません。 「diag」は「対角線」を意味するかもしれませんが、「b」と「f」が何を意味するのかはまだ推測できません。何度も検索しましたが、文書が見つかりませんでした。話しませんか?原作者が私にいたずらを打つのだろうか?

答え1

これマニュアルページハッシュの使い方を説明してください。

voidXcursorImageHash(
               Ximage*イメージ,
               署名されていない文字ハッシュ[XCURSOR_BITMAP_HASH_SIZE])

       環境が変わったときに表示する画像のハッシュを計算します。
       XCURSOR_DISCOVER変数を設定します。

そして

CursorXcursorTryShapeBitmapCursor(
               *dpyマーク、
               ピクセル画像ソース、
               ピックスマップマスク、
               XColor*フォアグラウンド、
               Xカラー*背景、
               符号なし整数 x,
               符号なし整数型y)

      モニターがARGBまたはテーマをサポートしている場合は、ロードしてみてください。
      ソースパラメータをカーソルとして使用してXcursorのキャッシュに入ります。
      ピクセル画像ID。ソースがキャッシュに存在しない可能性があります。カーソル
      ハッシュ値を使用して目的の画像を識別します。

これソースコードmd5などを使用しないと説明します。

    /*
     *ハッシュ値を計算します。うん、使ってもいいと思います。
     *より強力なハッシュ関数ですが、MD5とSHA1の両方
     *このためには時間とスペースが少し高価ですが、
     *カーソルは通常弱いほど小さいです。
     *ハッシュはこれを区別するのに十分です。
     */

あいまいなニーモニックについて、Xマウスカーソルの楽しみ、特にleft_ptr_watchいくつかの図があります:

  • 「fdiag」は矢印の付いたバックスラッシュ状の記号です。

  • 「bdiag」は矢印の付いたスラッシュ状の記号です。

しかし、これは単なるイメージのセットです。 Xカーソル名(次に定義)ヘッドファイル) は、さまざまな画像セットの Xcursor API で使用され、一部は元の X-cursor 画像とまったく関係ありません.たとえば、bdiag / fdiagはQt名として表示され、これはX名です(ymmv- Qtソースコードを読むのに役立ちます):

  • Qt::SizeBDiagCursor到着BOTTOM_LEFT_CORNER
  • Qt::SizeFDiagCursor到着BOTTOM_RIGHT_CORNER

右側の名前はXソースコードの定義に対応します。

#XC_bottom_left_corner 定義 12
#defineXC_bottom_right_corner 14

決めるどこbdiag/fdiag 名の由来については調査が必要です。 Qt開発者はそれを覚えているかもしれませんが、そうではないかもしれません。これQCursorクラスリファレンス次の名前を示しますibeam(Xソースにはありませんが、XViewから来ることができます)。xterm)。 xtermマニュアルページXカーソル名のリストがあり、「ibam」への言及はありません。

関連情報