QPaintDevice

「QPaintDevice」の編集履歴(バックアップ)一覧はこちら

QPaintDevice」(2014/08/25 (月) 21:40:18) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

QPaintDevice オブジェクトは QPainter オブジェクトで描写できるオブジェクトの基底クラスです。 例えるならQPainterがペンで、QPaintDeviceはキャンパスになります。 描写デバイスは QPainter オブジェクトで描写できる抽象的な二次元空間です。 このクラスのデフォルトの座標系は左上に配置された原点を持ちます 単位はピクセルです。 QPaintDevice クラスの描写機能は今のところ、サブクラスである QWidget クラス、QImage クラス、QPixmap クラス、QPicture クラス及び QPrinter クラスで実装されています。 新たなバックエンドのサポートを実装するには、QPaintDevice クラスを継承させる必要があり、特定のデバイス上で描写するための描写エンジンとなる仮想関数 paintEngine() を再実装する必要があります。 注意 Qtではいかなるペイントデバイスを作成するよりも前に、QGuiApplication オブジェクトが存在している必要があります。ペイントデバイスはウィンドウシステムリソースにアクセスしますが、これらのリソースは Application オブジェクトが生成されるまでは初期化されません。 QPaintDeviceクラス は様々なデバイスの尺度を返す関数を提供します。 depth() はそのデバイスのビットの深さ(ビットプレーンの数)を返します。 height() はデフォルトの座標系の単位で、そのデバイスの高さを返します。 (例 QPixmapクラス 及び QWidgetクラス ではピクセル単位です) 一方 heightMM() はミリメートル単位で、そのデバイスの高さを返します 同様に width() 及び widthMM() はそれぞれデフォルトの座標系の単位で、デバイスの幅を返します。 代わりにprotected属性の metric() は所望の PaintDeviceMetric オブジェクトを引数として指定することで、尺度情報を取得できます logicalDpiX() 及び logicalDpiY() はデバイスの水平方向及び垂直方向の解像度をdpiで返します physicalDpiX() 及び physicalDpiY() も解像度を返しますが、論理的解像度と物理的解像度は異なることに注意してください 対応した QPaintEngine クラスは写像を扱わなければなりません 最後に colorCount() は描写デバイスで利用可能な異なる色の数を返します QPaintDevice::QPaintDevice() [protected] ペイントデバイスを生成します サブクラスからのみ呼び出すことができます QPaintDevice::~QPaintDevice() [virtual] ペイントデバイスを破棄し、ウィンドウシステムリソースを解放します int QPaintDevice::colorCount() const ペイントデバイスで使用できる「色数」を取得します 利用可能な色数がint型で表現するには大きい値の場合、代わりにINT_MAX定数を返します。 int QPaintDevice::depth() const ペイントデバイスの「ビット深度」(「「ビットプレーン」の数)を返します int QPaintDevice::devicePixelRatio() const デバイスの「デバイスピクセル比」を返します 一般的な値は2ですが、レティーナディスプレイは2になります。 int QPaintDevice::height() const 標準の座標系の単位でデバイスの高さを返します int QPaintDevice::heightMM() const ミリメートル単位でデバイスの高さを返します int QPaintDevice::logicalDpiX() const dpi単位でデバイスの水平方向の解像度を返します フォントサイズを計算する場合に使用されます int QPaintDevice::logicalDpiY() const dpi単位でデバイスの垂直方向の解像度を返します フォントサイズを計算する場合に使用されます int QPaintDevice::metric(PaintDeviceMetric metric) const [virtual protected] 指定したペイントデバイス尺度 metric に対応した尺度情報を取得します QPaintEngine * QPaintDevice::paintEngine() const [pure virtual] デバイスに描写するために使用するペイントエンジン QPaintEngine オブジェクトのポインタを取得します bool QPaintDevice::paintingActive() const デバイスが現在描写中の場合はtrueを返し、そうでない場合はfalseを返します つまり描写中というのはこのデバイスで、QPainter::begin() を呼んでまだ QPainter::end() が呼ばれていない状況です int QPaintDevice::physicalDpiX() const dpiでデバイスの水平方向の解像度を取得します 描写する場合、この解像度は物理的なプリンターの解像度を参照します 一方、論理的なdpiは実際のペイントエンジンで使用される解像度を参照します int QPaintDevice::physicalDpiY() const dpiでデバイスの垂直方向の解像度を取得します 描写する場合、この解像度は物理的なプリンターの解像度を参照します 一方、論理的なdpiは実際のペイントエンジンで使用される解像度を参照します int QPaintDevice::width() const 標準の座標系の単位でペイントデバイスの幅を取得します 例えばQpixmap オブジェクト 及び QWidget オブジェクトではピクセル単位です int QPaintDevice::widthMM() const ミリメートル単位でペイントデバイスの幅を取得します プラットフォームの制限により、この関数はスクリーン上のウィジェットの実際の物理的大きさを決定するために使用できない可能性があります

表示オプション

横に並べて表示:
変化行の前後のみ表示: