Scintilla

Last-modified: 2012-12-07 (金) 20:52:04

http://scintilla.sourceforge.net/ScintillaDoc.html
ベースは1.75です。

Scintilla文書

はじめに

ScintillaのWindowsバージョンはWindowsコントロールである。
主要なプログラミングインタフェースはWindowsメッセージを通して行う。
Scintillaの初期のバージョンは標準のWindows EditコントロールとRichEditコントロールで定義されたAPIを見習ったが推奨しない。現在のScintilla自身の一貫したAPIを支持する。
通常のEditコントロールの機能を実行するメッセージに加えて、Scintillaの構文スタイル、折りたたみ、マーカー、自動補完およびコールチップを許す。



GTK+バージョンは、Windowsバージョンと同様な方法でメッセージを使う。
通常のGTK+習慣と異なるが、急速に実行するのが簡単になった。



このドキュメントはScintillaが使う個々のメッセージと通知について説明する。
それは役立つエディタを作成するために、それらを結びつける方法を説明しない。
現在は、Scintillaを使用する開発に役立つ方法は、SciTEを見ることである。
SciTEはScintillaの機能の大部分を使っている。



以下の記述では、0、1または2個の引数を持つ関数呼び出しメッセージで記述される。
これらの2個の引数がWindowsプログラマになじみのある標準的なwParamとlParamである。
これらの引数はポインタを格納できる大きさの整数であり、戻り値もまたポインタを含むことがある整数である。
コマンドはScintillaが使用するか否かに関係なく、すべてのメッセージには2個の引数がある。未使用の引数には0をセットする。
これは存在するコードが破壊するリスクのないメッセージの拡張を可能にする。
共通の引数タイプは次のとおりである:

  • bool
    引数はfalseの場合0、trueの場合1である。
  • int
    引数は32ビット符号付整数である。
  • const char *
    引数はScintillaに渡されるテキストへのポインタである。テキストは変更されない。
    テキストは終端文字0か、他の引数で文字数を渡される。説明でこの点ははっきりする。
  • char *
    引数はScintillaがテキストを埋めるテキストバッファのポインタである。
    いくつかの場合、他の引数でScintillaにバッファサイズを教える。
    ほかの場合、要求されたテキストを格納するための十分な大きさのバッファを用意しなければならない。
    もしSCI_*呼び出しのためにNULLポインタ(0)を渡した場合、確保すべき長さを返す。
  • colour
    色はRGBフォーマットを使う(赤、緑、青)。
    それぞれの色の強度は、0から255の範囲である。
    もし3つの強度を持つ場合、red | (green << 8) | (blue << 16)のように組み合わせる。
    もしすべての強度を255にセットすると白になる。
    もしすべての強度を0にセットすると黒になる。
    色をセットするときは要求を行う。
    システムや現在のスクリーンモードの能力に依存する。
  • alpha
    透過性はアルファ値を使ってセットする。
    アルファの範囲は完全な透明の0(SC_ALPHA_TRANSPARENT)から不透明の255(SC_ALPHA_OPAQUE)である。
    値256(SC_ALPHA_NOALPHA)は不透明でありアルファを意識しないので、高速である。
    すべてのプラットフォームが透過性をサポートしているわけではなく、いくつかのScintillaのみが透過性を持っている。
    デフォルトのアルファ値はSC_ALPHA_NOALPHAである。
  • <unused>
    この引数は未使用である。将来の拡張時の互換性のため0を設定する。

目次

フォームSCI_SETxxxxxという名前のメッセージには、しばしば仲間SCI_GETxxxxxがある。
SCI_GETxxxxxメッセージがSCI_SETxxxxxメッセージでセットした値を返す場合、退屈な繰り返しを避けるためSETルーチンの説明をする。GETルーチンはあなたの想像にまかせる。