RenderingMode (列挙)
public RenderingMode
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.
要素リスト:
normal
default
high-quality
cairo

このアプレットやスクリプトで全ての View をレンダリングするのに使用されるモードを定義します。

説明

アプレットやスクリプトは、使用されるレンダリングのスタイルを変えるためにこの値を使用することができます。set-rendering-mode を呼び出すことでいつでも設定することができます。このメソッドは現在の View 全てと、将来作成される View や印刷に影響を与えます。get-rendering-mode を使用して現在の値を確認することが可能です。
有効な値は次の通りです:
  • normal : 標準のレンダラーを使用します。この設定は後方互換を提供し、通常速くなります。
  • default : 現在、defaulthigh-quality が利用可能ならば high-quality と同じになります。そうでない場合 normal と同じになります。default の値は将来変更される可能性があります。
  • high-quality : 高いクオリティのレンダラーが使用可能であれば、それを使用します。これは、アンチエイリアスや(アルファ混合で知られる)部分透過へのアクセスを提供します。
    Renderer2dCapabilities に関して、標準の sourcemask モードに加えて、can-antialias?accurate-fill-rules?true が保証され、draw-operation-supported?DrawOperation.blend をサポートすることが保証されます。ただし、high-quality が実際にこのプラットフォームでサポートされている場合にのみ保証されます。
  • cairo: この機能は、今後のリリースで有効になります。現在のリリースでは、set-rendering-modeView.set-rendering-mode は、このレンダリング モードが利用できないことを示す為に false を返します。
注意 : high-quality は全てのプラットフォームで利用できるとは限りません。特に、現在は Windows と Mac でのみ利用可能です。set-rendering-modeView.set-rendering-mode は、要求されたモードが利用可能かどうかを示す値を返します。

注意事項

これは、Renderer2d.create-offscreen を使用して独自に作成したレンダラーや、 独自に作成した Window には影響しません。しかし、印刷には影響します。

この例では、レンダリング モードの違いを示すために Shape を使用しています。矢印は部分透過(不透明度は 60% )ですが、通常のレンダラーではこれを表示できません。
Windowsでは、ラジオ ボタンを選択すると、上述のような効果を得られます。

例: レンダリング モードの使用
{import * from CURL.GUI.SHAPES}
{CommandButton
    label = "Press me to display the example!",
    {on Action do
        def view = 
            {View
                visibility = "normal",
                {VBox
                    margin = 10pt,
                    spacing = 24pt,
                    {RadioFrame
                        {VBox
                            {RadioButton radio-value = RenderingMode.default},
                            {RadioButton radio-value = RenderingMode.normal},
                            {RadioButton radio-value = RenderingMode.high-quality}
                        },
                        value = {get-rendering-mode},
                        {on ValueFinished at rf do
                            {view.set-rendering-mode rf.value asa RenderingMode}
                        }
                    },
                    {Canvas
                        width = 6cm,
                        height = 3cm,
                        border-width = 1px,
                        {EllipseShape
                            {GRect -3cm, 6cm, -1cm, 3cm},
                            color = "#990000",
                            border-width = 4px,
                            border-color = "#999999"
                        },
                        {ArrowShape
                            {Distance2d .25cm, .25cm},
                            {Distance2d 4.5cm, 2cm},
                            arrow-tail-style = ArrowStyle.solid-tail,
                            arrow-head-style = ArrowStyle.solid,
                            border-width = 1px,
                            border-color = {FillPattern.from-rgb .1, .1, .4, opacity = .6},
                            arrow-head-width = 5mm,
                            arrow-body-width = 1.5mm,
                            arrow-tail-width = 5mm,
                            arrow-tail-length = 5mm,
                            color = {FillPattern.from-rgb .8, .8, .8, opacity = .6},
                            draw-operation = DrawOperation.blend
                        }
                    }
                }
            }
    }
}
導入: バージョン 6.0

改訂

cairo 値は、7.0 で導入されましたが、このレンダリング モードは、後のリリースまで利用できません。