ScreenLib共有ライブラリはNS Basic/Palmにファンクションを追加し、スクリーン制御を向上させます。これを使用すると、bit depth(色深度)および色属性の変更が可能になります。さらにドローイング・ファンクションおよびスクリーンロック・ファンクションもあります。ScreenLibTestと呼ばれる、これらのファンクションの使用をデモンストレートするサンプルプログラムも含まれています。
PalmOS WinScreenMode APIファンクションへのアクセスを提供することにより、ScreenLibはPalmOSデバイスのbit
depthとカラーサポートを見極めるメソッド、およびこれらの性能を生かすための"screen
mode"設定を行うメソッドを提供します。これによって貴方のプログラムを実行する前に、これらのファンクションを行うためのサードパーティのアプリケーションは必要なくなります。
WinScreenMode APIファンクションのPalmOSドキュメントはこのテクニカルノートの最後にあります。ファンクションの理解を深めるために、このドキュメントをお読み下さい。
Palm OSのカラーサポートは、期待しているものとは違った動きをするかもしれません。スクリーン上の各UIエレメントは、独自のカラー設定を持っています。しかし、これらの設定はスクリーン上の全てのオブジェクトに対し平等に適応されます。
カラーの使用につきましては、Adrian Nicolaievによる「Tech Note 04: カラーオブジェクトグラフィックスを使う」もあわせてご覧になって下さい。
Tech Note 4で言及されているPalmOS "SysTraps"の全てと他いくつかは、このライブラリでサポートされています。これらのほとんどのファンクションはSysTrapSubとSysTrapFuncステートメントによって呼ぶことができます。
ScreenLib共有ライブラリを使うには、NSBasicのLoadLibraryステートを使ってこのライブラリをロードしなければなりません。このステートメントはプログラムのStartupコードで呼ばれるべきでしょう。それによってプログラムを通してライブラリのファンクションが有効になります。LoadLibraryはライブラリのファンクション用に短縮名を指定する、オプションのパラメータ(2番目)を持っています。ここでのサンプルプログラムは、この参照名に"SL"を使用しています。例:
さらにScreenLib共有ライブラリを使用するには、ScreenLib.INFファイルが貴方の"nsbasic\lib"ディレクトリに入っていることと、ScreenLib.prcファイルがお使いのデバイスにダウンロードされていることが必要です。
バージョン番号を戻すファンクションを除き、全てのパラメータおよび戻り値は"Integer(整数)"または"String(文字列)"です。バージョン番号は"Double"として戻されます。
Version |
Version = ScreenLib.Version() |
説明: |
ScreenLib共有ライブラリのバージョン番号を戻す。 |
パラメータ: |
無し |
戻り値: |
Version as
Double |
例: |
Dim Version as Double
Version = SL.Version()
|
|
CompileInfo |
ScreenLib.CompileInfo CompileDate,
CompileTime |
説明: |
ScreenLib共有ライブラリのコンパイル日時を戻す。 |
パラメータ: |
CompileDate as String
CompileTime as String
|
戻り値: |
無し |
例: |
Dim CompileDate as String
Dim CompileTime as String
CompileDate = "mon
dd yyyy" '11 characters
CompileTime = "hh:mm:ss" '8 characters
SL.CompileInfo CompileDate, CompileTime
|
コメント: |
CompileDateおよびCompileTime文字列変数はこのファンクションを呼ぶ前に初期化しておく必要がある。 |
|
GetSupportedDepths
|
Depths = ScreenLib.GetSupportedDepths() |
説明: |
PalmOSデバイスによってサポートされているbitmap depthを表している各ビットのビットマップ整数を戻す。 |
パラメータ: |
無し
|
戻り値: |
Depths as Integer
|
例: |
Dim Depths as Integer
Depths = SL.GetSupportedDepths()
|
コメント: |
このファンクションの戻り値をみきわめるには、NSBasic共有ライブラリ"BitsNBytes"が提供するファンクションを使うのが妥当でしょう。 |
|
DepthSupported |
Boolean = ScreenLib.DepthSupported(Depth) |
説明: |
指定するDepth(色深度)がPalmOSデバイスによってサポートされている場合1を戻し、されていない場合は0を戻す。 |
パラメータ: |
Depth as Integer |
戻り値: |
Boolean as
Integer |
例: |
Dim Boolean as Integer
Dim Depth as Integer
Depth = 4
Boolean = SL.DepthSupported(Depth)
|
|
ColorSupported |
Boolean = ScreenLib.ColorSupported() |
説明: |
PalmOSデバイスがカラーをサポートしている場合1を戻し、していない場合は0を戻す。 |
パラメータ: |
無し |
戻り値: |
Boolean as
Integer |
例: |
Dim Boolean as Integer
Boolean = SL.ColorSupported()
|
|
SetDepth |
ScreenLib.SetDepth Depth |
説明: |
スクリーンモードを指定するビットマップbit depthにセットする。 |
パラメータ: |
Depth as Integer |
戻り値: |
無し |
例: |
Dim Depth as Integer
Depth = 4
SL.SetDepth Depth
|
|
SetColor |
ScreenLib.SetColor Boolean |
説明: |
スクリーンモードをカラービットマップをサポートするようにセットする。 |
パラメータ: |
Boolean as Integer
(1 = support color)
(0 = do not support color) |
戻り値: |
無し |
例: |
Dim Boolean as Integer
Boolean = 1
SL.SetColor Boolean
|
|
SetWidth |
ScreenLib.SetWidth Width |
説明: |
現在のスクリーンの幅をセットする。 |
パラメータ: |
Width as Integer |
戻り値: |
無し |
例: |
Dim Width as Integer
Width = 160
SL.SetWidth Width
|
コメント: |
このファンクションはNS Basicプログラムでは正しく動作しないようである。 |
|
SetHeight |
ScreenLib.SetHeight Height |
説明: |
現在のスクリーンの高さをセットする。 |
パラメータ: |
Height as Integer |
戻り値: |
無し |
例: |
Dim Height as Integer
Height = 160
SL.SetHeight Height
|
コメント: |
このファンクションはNS Basicプログラムでは正しく動作しないようである。 |
|
SaveScreenMode |
ScreenLib.SaveScreenMode() |
説明: |
現在のスクリーンモード・パラメータを保存する。これらのパラメータは"RestoreScreenMode"を呼ぶことによって回復することができる。いかなる変更がリクエストされる前に、現スクリーンモード・パラメータを保存することをお勧めします。そしてプログラムが終了する時、保存されたパラメータを元に戻すとよいでしょう。 |
パラメータ: |
無し |
戻り値: |
無し |
例: |
SL.SaveScreenMode()
|
|
RestoreScreenMode |
ScreenLib.RestoreScreenMode() |
説明: |
保存してあるスクリーンモード・パラメータを回復する。これらのパラメータは"SaveScreenMode"を呼ぶことによって保存されている必要がある。いかなる変更がリクエストされる前に、現スクリーンモード・パラメータを保存することをお勧めします。そしてプログラムが終了する時、保存されたパラメータを元に戻すとよいでしょう。 |
パラメータ: |
無し |
戻り値: |
無し |
例: |
SL.RestoreScreenMode()
|
|
CurrentDepth |
Depth = ScreenLib.CurrentDepth() |
説明: |
現在のビットマップdepthを戻す。 |
パラメータ: |
無し |
戻り値: |
Depth as Integer |
例: |
Dim Depth as Integer
Depth = SL.CurrentDepth()
|
|
CurrentColor |
Boolean = ScreenLib.CurrentColor() |
説明: |
PalmOSデバイスのスクリーンモードがカラーサポートにセットされている場合1を戻し、そうでない場合0を戻す。 |
パラメータ: |
無し |
戻り値: |
Boolean as Integer |
例: |
Dim Boolean as Integer
Boolean = SL.CurrentColor()
|
|
CurrentWidth |
Width = ScreenLib.CurrentWidth() |
説明: |
現在のスクリーンの幅を戻す。 |
パラメータ: |
無し |
戻り値: |
Width as Integer |
例: |
Dim Width as Integer
Width = SL.CurrentWidth()
|
|
CurrentHeight |
Height = ScreenLib.CurrentHeight() |
説明: |
現在のスクリーンの高さを戻す。 |
パラメータ: |
無し |
戻り値: |
Height as Integer |
例: |
Dim Height as Integer
Height = SL.CurrentHeight()
|
|
SetToDefaults |
ScreenLib.SetToDefaults() |
説明: |
全てのスクリーンモード・パラメータをデフォルト値にセットする。 |
パラメータ: |
無し |
戻り値: |
無し |
例: |
SL.SetToDefaults()
|
|
DefaultDepth |
Depth = ScreenLib.DefaultDepth() |
説明: |
ビットマップdepthのデフォルト値を戻す。 |
パラメータ: |
無し |
戻り値: |
Depth as Integer |
例: |
Dim Depth as Integer
Depth = SL.DefaultDepth()
|
|
DefaultColor |
Boolean = ScreenLib.DefaultColor() |
説明: |
PalmOSデバイスのスクリーンモードのデフォルト値がカラーサポートにセットしてある場合1を戻し、そうでない場合は0を戻す。 |
パラメータ: |
無し |
戻り値: |
Boolean as Integer |
例: |
Dim Boolean as Integer
Boolean = SL.DefaultColor()
|
|
DefaultWidth |
Width = ScreenLib.DefaultWidth() |
説明: |
スクリーンのデフォルト幅を戻す。 |
パラメータ: |
無し |
戻り値: |
Width as Integer |
例: |
Dim Width as Integer
Width = SL.DefaultWidth()
|
|
DefaultHeight |
Height = ScreenLib.DefaultHeight() |
説明: |
スクリーンのデフォルト高さを戻す。 |
パラメータ: |
無し |
戻り値: |
Height as Integer |
例: |
Dim Height as Integer
Height = SL.DefaultHeight()
|
|
GetTableEntryIndex |
Index = ScreenLib.GetTableEntryIndex(Which) |
説明: |
このファンクションはPalmOS UIColorGetTableEntryIndexファンクションを呼び、現在のシステムパレット用のUIカラーのインデックス値を戻す。 |
パラメータ: |
Which as Integer
UIObjectFrame = 0
UIObjectFill = 1
UIObjectForeground = 2
UIObjectSelectedFill = 3
UIObjectSelectedForeground = 4
UIMenuFrame = 5
UIMenuFill = 6
UIMenuForeground = 7
UIMenuSelectedFill = 8
UIMenuSelectedForeground = 9
UIFieldBackground = 10
UIFieldText = 11
UIFieldTextLines = 12
UIFieldCaret = 13
UIFieldTextHighlightBackground = 14
UIFieldTextHighlightForeground = 15
UIFieldFepRawText = 16
UIFieldFepRawBackground = 17
UIFieldFepConvertedText = 18
UIFieldFepConvertedBackground = 19
UIFieldFepUnderline = 20
UIFormFrame = 21
UIFormFill = 22
UIDialogFrame = 23
UIDialogFill = 24
UIAlertFrame = 25
UIAlertFill = 26
UIOK = 27
UICaution = 28
UIWarning = 29
|
戻り値: |
Index as Integer |
例: |
Dim Which as Integer
Dim Index as Integer
Which = 11 'UIFieldText
Index = SL.GetTableEntryIndex(Which)
|
|
GetTableEntryRGB |
Index = ScreenLib.GetTableEntryRGB(Which)
|
説明: |
このファンクションはPalmOS UIColorGetTableEntryRGBファンクションを呼び、UIカラーのRGB値を取り出す。RGB値は"RGBColorType"と呼ばれる構造で戻される。これは以下のフィールドを含んでいる:
index, red, green, blue
このファンクションはこれら全ての値を取り出すが、indexだけを戻す。red、green、blueの値を受けるには、このファンクションを呼んだ後にGetRGBRed、GetRGBGreen、GetRGBBlueを呼ぶ。例を参照。
|
パラメータ: |
Which as Integer
(see the GetTableEntryIndex function for a list of valid "Which" values") |
戻り値: |
Index as Integer |
例: |
Dim Which as Integer
Dim Index as Integer
Dim Red as Integer
Dim Green as Integer
Dim Blue as Integer
Which = 11 'UIFieldText
Index = SL.GetTableEntryRGB(Which)
Red = SL.GetRGBRed()
Green = SL.GetRGBGreen()
Blue = SL.GetRGBBlue()
|
|
GetRGBIndex |
Index = ScreenLib.GetRGBIndex() |
説明: |
"RGBColorType"と呼ばれる構造でRGB値を戻す。 これは以下のフィールドを含んでいる:
index, red, green, blue
このファンクションはGetTableEntryRGBまたはIndexToRGBによって既に取り出したindex値を戻す。
|
パラメータ: |
無し |
戻り値: |
Index as Integer |
例: |
Dim Index as Integer
Index = SL.GetRGBIndex()
|
|
GetRGBRed |
Red = ScreenLib.GetRGBRed() |
説明: |
"RGBColorType"と呼ばれる構造でRGB値を戻す。 これは以下のフィールドを含んでいる:
index, red, green, blue
このファンクションはGetTableEntryRGBまたはIndexToRGBによって既に取り出したred値を戻す。
|
パラメータ: |
無し |
戻り値: |
Red as Integer |
例: |
GetTableEntryRGBまたはIndexToRGBファンクションの例を参照。
|
|
GetRGBGreen |
Green = ScreenLib.GetRGBGreen() |
説明: |
"RGBColorType"と呼ばれる構造でRGB値を戻す。 これは以下のフィールドを含んでいる:
index, red, green, blue
このファンクションはGetTableEntryRGBまたはIndexToRGBによって既に取り出したgreen値を戻す。
|
パラメータ: |
無し |
戻り値: |
Green as Integer |
例: |
GetTableEntryRGBまたはIndexToRGBファンクションの例を参照。
|
|
GetRGBBlue |
Blue = ScreenLib.GetRGBBlue() |
説明: |
"RGBColorType"と呼ばれる構造でRGB値を戻す。 これは以下のフィールドを含んでいる:
index, red, green, blue
このファンクションはGetTableEntryRGBまたはIndexToRGBによって既に取り出したblue値を戻す。
|
パラメータ: |
無し |
戻り値: |
Blue as Integer |
例: |
GetTableEntryRGBまたはIndexToRGBファンクションの例を参照。
|
|
SetTableEntryIndex |
ScreenLib.SetTableEntryIndex Which,
Index |
説明: |
このサブルーチンはPalmOS IndexToRGBファンクションを呼び、それからUIColorSetTableEntryを呼ぶ。UI
Colorリストの値を変更する。
|
パラメータ: |
Which as Integer
(see the GetTableEntryIndex function for a list of valid "Which" values")
Index as Integer
(valid values: 0 to 255) |
戻り値: |
無し |
例: |
Dim Which as Integer
Dim Index as Integer
Which = 11 'UIFieldText
Index = 42
SL.SetTableEntryIndex Which, Index
|
コメント: |
いくつかの変更は"Redraw"ステートメントを使ってオブジェクトやフォームを再描画するまで反映しない。さらにフォームバックグランド(UIFormFill
- 22)の変更は"NextScreen"ステートメントによってフォームを変えないと反映されない。いくつかのテーブル項目は"Startup"コードか"NextScreen"ステートメントの直ぐ前にセットするのがよいでしょう。
|
|
SetTableEntryRGB |
ScreenLib.SetTableEntryRGB Which,
Red, Green, Blue |
説明: |
このサブルーチンはPalmOS UIColorSetTableEntryファンクションを呼び、UI
Colorリストの値を変更する。
|
パラメータ: |
Which as Integer
(see the GetTableEntryIndex function for a list of valid "Which" values")
Red as Integer (valid
values: 0 to 255)
Green as Integer (valid
values: 0 to 255)
Blue as Integer (valid
values: 0 to 255) |
戻り値: |
無し |
例: |
Dim Which as Integer
Dim Red as Integer
Dim Green as Integer
Dim Blue as Integer
Which = 11 'UIFieldText
Red = 255
Green = 0
Blue = 0
SL.SetTableEntryRGB Which, Red, Green, Blue
|
コメント: |
いくつかの変更は"Redraw"ステートメントを使ってオブジェクトやフォームを再描画するまで反映しない。さらにフォームバックグランド(UIFormFill
- 22)の変更は"NextScreen"ステートメントによってフォームを変えないと反映されない。いくつかのテーブル項目は"Startup"コードか"NextScreen"ステートメントの直ぐ前にセットするのがよいでしょう。
|
|
BrightnessAdjust
|
ScreenLib.BrightnessAdjust() |
説明: |
このサブルーチンはPalmOS UIBrightnessAdjustファンクションを呼び、"Brightness
Adjust"ダイアログを表示する。
|
パラメータ: |
無し |
戻り値: |
無し |
例: |
SL.BrightnessAdjust()
|
|
ContrastAdjust |
ScreenLib.ContrastAdjust() |
説明: |
このサブルーチンはPalmOS UIContrastAdjustファンクションを呼び、"Contrast
Adjust"ダイアログを表示する。
|
パラメータ: |
無し |
戻り値: |
無し |
例: |
SL.ContrastAdjust()
|
コメント: |
PalmOSドキュメントによると、このファンクションは"Palm
V Connected Organizer"上でのみ動作する。 |
|
PickColorIndex |
Changed = ScreenLib.PickColorIndex(Index,
Title) |
説明: |
このサブルーチンはPalmOS UIPickColorファンクションを呼び、ユーザがカラーを選択できる"Palette"ダイアログを表示する。指定されたindexおよびRGB値は、GetRGBIndex、GetRGBRed、GetRGBGreen、GetRGBBlueファンクションを呼ぶことによって受け取ることができる。
|
パラメータ: |
Index as Integer
- suggested Index
Title as String - Dialog
title to display |
戻り値: |
Changed as Integer
(0 = User cancelled or chose suggested index)
(1 = User chose a new index) |
例: |
Dim Index as Integer
Dim Red as Integer
Dim Green as Integer
Dim Blue as Integer
Dim Changed as Integer
Dim Title as String
Index = 42
Title = "Pick a Color"
Changed = SL.PickColorIndex(Index, Title)
If Changed = 1 Then
Index = SL.GetRGBIndex()
Red = SL.GetRGBRed()
Green = SL.GetRGBGreen()
Blue = SL.GetRGBBlue()
End If
|
|
PickColorRGB |
Changed = ScreenLib.PickColorRGB(Red,
Green, Blue, Title) |
説明: |
このサブルーチンはPalmOS UIPickColorファンクションを呼び、ユーザがカラーを選択できる"RGB"ダイアログを表示する。指定されたindexおよびRGB値は、GetRGBIndex、GetRGBRed、GetRGBGreen、GetRGBBlueファンクションを呼ぶことによって受け取ることができる。
|
パラメータ: |
Red as Integer
- suggested red value - 0 to 255)
Green as Integer -
suggested green value - 0 to 255)
Blue as Integer - suggested
blue value - 0 to 255)
Title as String - Dialog
title to display |
戻り値: |
Changed as Integer
(0 = User cancelled or chose suggested RGB values)
(1 = User chose new RGB values) |
例: |
Dim Index as Integer
Dim Red as Integer
Dim Green as Integer
Dim Blue as Integer
Dim Changed as Integer
Dim Title as String
Red = 255
Green = 0
Blue = 0
Title = "Pick a Color"
Changed = SL.PickColorRGB(Red, Green, Blue, Title)
If Changed = 1 Then
Index = SL.GetRGBIndex()
Red = SL.GetRGBRed()
Green = SL.GetRGBGreen()
Blue = SL.GetRGBBlue()
End If
|
|
IndexToRGB |
ScreenLib.IndexToRGB Index |
説明: |
このサブルーチンはPalmOS WinIndexToRGBファンクションを呼び、現在アクティブなカラーテーブルのindexをRGB値に変換する。RGB値は"RGBColorType"と呼ばれる構造で戻される。これは以下のフィールドを含んでいる:
index, red, green, blue
このファンクションはこれら全ての値を取り出すが、indexだけを戻す。red、green、blueの値を受けるには、このファンクションを呼んだ後にGetRGBRed、GetRGBGreen、GetRGBBlueを呼ぶ。例を参照。
|
パラメータ: |
Index as Integer |
戻り値: |
無し |
例: |
Dim Index as Integer
Dim Red as Integer
Dim Green as Integer
Dim Blue as Integer
Index = 134
SL.IndexToRGB Index
Index = SL.GetRGBIndex()
Red = SL.GetRGBRed()
Green = SL.GetRGBGreen()
Blue = SL.GetRGBBlue()
|
|
RGBToIndex |
Index = ScreenLib.RGBToIndex(Red,
Green, Blue) |
説明: |
このファンクションはPalmOS WinRGBToIndexファンクションを呼び、現在アクティブなカラーテーブル(color
lookup table: CLUT)のRGB値を最も近いカラーのindexに変換する。RGB値は"RGBColorType"と呼ばれる構造で戻される。
|
パラメータ: |
Red as Integer
(valid values: 0 to 255)
Green as Integer (valid
values: 0 to 255)
Blue as Integer (valid
values: 0 to 255) |
戻り値: |
Index as Integer |
例: |
Dim Index as Integer
Dim Red as Integer
Dim Green as Integer
Dim Blue as Integer
Red = 255
Green = 0
Blue = 0
Index = SL.RGBToIndex(Red, Green, Blue)
|
|
SetForeColor |
OldIndex = ScreenLib.SetForeColor(NewIndex) |
説明: |
このファンクションはPalmOS WinSetForeColorファンクションを呼び、後に続く描画オペレーションで使用するフォアグランドカラーをセットする。
|
パラメータ: |
NewIndex as
Integer |
戻り値: |
OldIndex as
Integer - previous foreground index |
例: |
Dim OldIndex as Integer
Dim NewIndex as Integer
NewIndex = 134
OldIndex = SL.SetForeColor(NewIndex)
|
コメント: |
このファンクションでセットするカラーは、フォームの切り替えや再描画が行われる時にデフォルト値にリセットされる様である。このファンクションはフォームの"After"コードで呼ぶのが一番よいでしょう。 |
|
SetBackColor |
OldIndex = ScreenLib.SetBackColor(NewIndex) |
説明: |
このファンクションはPalmOS WinSetBackColorファンクションを呼び、後に続く描画オペレーションで使用するバックグランドカラーをセットする。
|
パラメータ: |
NewIndex as
Integer |
戻り値: |
OldIndex as
Integer - previous background index |
例: |
Dim OldIndex as Integer
Dim NewIndex as Integer
NewIndex = 134
OldIndex = SL.SetBackColor(NewIndex)
|
コメント: |
このファンクションでセットするカラーは、フォームの切り替えや再描画が行われる時にデフォルト値にリセットされる様である。このファンクションはフォームの"After"コードで呼ぶのが一番よいでしょう。 |
|
SetTextColor |
OldIndex = ScreenLib.SetTextColor(NewIndex) |
説明: |
このファンクションはPalmOS WinSetTextColorファンクションを呼び、後に続く描画オペレーションで使用する描画文字のカラーをセットする。
|
パラメータ: |
NewIndex as
Integer |
戻り値: |
OldIndex as
Integer - previous background index |
例: |
Dim OldIndex as Integer
Dim NewIndex as Integer
NewIndex = 134
OldIndex = SL.SetTextColor(NewIndex)
|
コメント: |
このファンクションでセットするカラーは、フォームの切り替えや再描画が行われる時にデフォルト値にリセットされる様である。このファンクションはフォームの"After"コードで呼ぶのが一番よいでしょう。 |
|
DrawLine |
ScreenLib.DrawLine X1, Y1, X2, Y2 |
説明: |
このサブルーチンはPalmOS WinDrawLineファンクションを呼び、描画画面
内に現在のフォアグランドカラーを使って線を描く。このファンクションはNSBasicのDrawLineステートメントを使用した時と同じ結果
です。
|
パラメータ: |
X1 as Integer
Y1 as Integer
X2 as Integer
Y2 as Integer |
戻り値: |
無し |
例: |
Dim X1 as Integer
Dim Y1 as Integer
Dim X2 as Integer
Dim Y2 as Integer
X1 = 10
Y1 = 20
X2 = 120
Y2 = 20
SL.DrawLine X1, Y1, X2, Y2
|
|
DrawGrayLine |
ScreenLib.DrawGrayLine X1, Y1, X2,
Y2 |
説明: |
このサブルーチンはPalmOS WinDrawGrayLineファンクションを呼ぶ。このファンクションは灰色では線を描かず、フォアグランドとバックグランドのカラーを交互に描く。
|
パラメータ: |
X1 as Integer
Y1 as Integer
X2 as Integer
Y2 as Integer |
戻り値: |
無し |
例: |
Dim X1 as Integer
Dim Y1 as Integer
Dim X2 as Integer
Dim Y2 as Integer
X1 = 10
Y1 = 20
X2 = 120
Y2 = 20
SL.DrawGrayLine X1, Y1, X2, Y2
|
|
EraseLine |
ScreenLib.EraseLine X1, Y1, X2, Y2
|
説明: |
このサブルーチンはPalmOS WinEraseLineファンクションを呼び、描画画面
内に現在のバックグランドカラーを使って線を描く。
|
パラメータ: |
X1 as Integer
Y1 as Integer
X2 as Integer
Y2 as Integer |
戻り値: |
無し |
例: |
Dim X1 as Integer
Dim Y1 as Integer
Dim X2 as Integer
Dim Y2 as Integer
X1 = 10
Y1 = 20
X2 = 120
Y2 = 20
SL.EraseLine X1, Y1, X2, Y2
|
|
InvertLine |
ScreenLib.InvertLine X1, Y1, X2, Y2
|
説明: |
このサブルーチンはPalmOS WinInvertLineファンクションを呼び、描画画面
内に反転した線を描く。
|
パラメータ: |
X1 as Integer
Y1 as Integer
X2 as Integer
Y2 as Integer |
戻り値: |
無し |
例: |
Dim X1 as Integer
Dim Y1 as Integer
Dim X2 as Integer
Dim Y2 as Integer
X1 = 10
Y1 = 20
X2 = 120
Y2 = 20
SL.InvertLine X1, Y1, X2, Y2
|
|
DrawPixel |
ScreenLib.DrawPixel X, Y |
説明: |
このサブルーチンはPalmOS WinDrawPixelファンクションを呼び、描画画面
内に現在のフォアグランドカラーを使ってピクセルを描く。
|
パラメータ: |
X as Integer
Y as Integer |
戻り値: |
無し |
例: |
Dim X as Integer
Dim Y as Integer
X = 10
Y = 20
SL.DrawPixel X, Y
|
|
ErasePixel |
ScreenLib.ErasePixel X, Y |
説明: |
このサブルーチンはPalmOS WinErasePixelファンクションを呼び、描画画面
内に現在のバックグランドカラーを使ってピクセルを描く。
|
パラメータ: |
X as Integer
Y as Integer |
戻り値: |
無し |
例: |
Dim X as Integer
Dim Y as Integer
X = 10
Y = 20
SL.ErasePixel X, Y
|
|
InvertPixel |
ScreenLib.InvertPixel X, Y |
説明: |
このサブルーチンはPalmOS WinInvertPixelファンクションを呼び、描画画面
内に反転したピクセルを描く。
|
パラメータ: |
X as Integer
Y as Integer |
戻り値: |
無し |
例: |
Dim X as Integer
Dim Y as Integer
X = 10
Y = 20
SL.InvertPixel X, Y
|
|
GetPixel |
Index = ScreenLib.GetPixel(X, Y) |
説明: |
このファンクションはPalmOS WinGetPixelファンクションを呼び、描画画面
内の指定ピクセルのカラーを戻す。
|
パラメータ: |
X as Integer
Y as Integer |
戻り値: |
Index as Integer |
例: |
Dim Index as Integer
Dim X as Integer
Dim Y as Integer
X = 10
Y = 20
Index = SL.GetPixel(X, Y)
|
|
ScreenLock |
Success = ScreenLib.ScreenLock(Mode) |
説明: |
このファンクションはPalmOS WinScreenLockファンクションを呼び、スクリーンベースアドレスのUIコンセプトをディスプレイが反映されないエリアに切り替えることにより、現在のスクリーンをロックする。このルーチンは、時間の掛かる描画オペレーションをしている時に、ちらつきが起こる現象をさける為にディスプレイをフリーズできる。ScreenUnlockを呼ぶとディスプレイのロックが解け、変更された部分が更新される。ディスプレイを更新する為にスクリーンはロックされた回数分だけ解かれなければならない。
|
パラメータ: |
Mode as Integer
(winLockCopy = 0 - copy old screen to new)
(winLockErase = 1 - erase new screen to white)
(winLockDontCare = 2 - don't do anything) |
戻り値: |
Success as Integer
(1 = Success)
(0 = Failure) |
例: |
Dim Success as Integer
Dim Mode as Integer
Mode = 0 'winLockCopy
Success = SL.ScreenLock(Mode)
|
|
ScreenUnlock |
ScreenLib.ScreenUnlock() |
説明: |
このサブルーチンはPalmOS WinScreenUnlockファンクションを呼ぶ。ScreenUnlockを呼ぶとディスプレイのロックが解け、変更された部分が更新される。ディスプレイを更新する為にスクリーンはロックされた回数分だけ解かれなければならない。
|
パラメータ: |
無し |
戻り値: |
無し |
例: |
SL.ScreenUnlock()
|
|