VSTプラグイン開発 CBitmap

提供:yonewiki
2023年6月19日 (月) 23:16時点におけるYo-net (トーク | 投稿記録)による版

VSTライブラリに戻る。

概要

■Steinberg::Vst::VSTGUI::CBitmap■

■コンストラクタ(4つ)

  • CBitmap (const CResourceDescription &desc)

 リソース識別子からイメージを作成します。このコンストラクタは、CResourceDescriptionというオブジェクトを引数として受け取ります。


▽resource.rc

#include <windows.h>
#include <commctrl.h>
#include <richedit.h>

LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL

// GUIイメージ
slider.png   PNG   ".\\images\\slider.png"

▽コードcpp

CBitmap *pCBitmapSlider = new CBitmap("slider.png");

 この初期化方法では、slider.pngという画像を読み込んでpCBitmapSliderで保持されます。


  • CBitmap (CCoord width, CCoord height)

 指定されたサイズでイメージを作成します。CCoord型の幅と高さを引数として受け取ります。


▽コードcpp

CBitmap *pCBitmapNonData = new CBitmap((CCoord)800, (CCoord)200);

 この初期化方法では、空のビットマップを横幅800px,高さ200pxという形式でpCBitmapNonDataを構築します。


  • CBitmap (CPoint size, double scaleFactor=1.)

 指定されたサイズとスケールファクターでイメージを作成します。CPoint型のサイズと、オプションの倍率の引数を受け取ります。デフォルト値は1.0です。


▽コードcpp

CPoint CPointXY((CCoord)800, (CCoord)200);
CBitmap *pCBitmapNonData = new CBitmap(CPointXY, (double)2.0);

 この初期化方法では、空のビットマップを横幅800px,高さ200pxの2倍の1600px,400pxという形式でpCBitmapNonDataを構築します。


 プラットフォーム固有のビットマップオブジェクトからイメージを作成します。PlatformBitmapPtrというオブジェクトを引数として受け取ります。


▽コードcpp

	CBitmap* pCBitmapBackbmp = new CBitmap("slider.png");

	[[VSTプラグイン開発 PlatformBitmapPtr|PlatformBitmapPtr]] pPlatformBitmapPtr_p;
	pPlatformBitmapPtr_p = pCBitmapBackbmp->getPlatformBitmap();
	CBitmap* pCBitmapBackbmpCopy = new CBitmap(pPlatformBitmapPtr_p);

 この初期化方法だと、既に読み込んだビットマップと同じものをポインタに持つことが出来ます。PlatformBitmapPtrにプラットフォーム固有のビットマップを構築する手順は非常に複雑です。


■デストラクタ

  • ~CBitmap()


■メンバ関数

  • virtual void draw (CDrawContext *context, const CRect &rect, const CPoint &offset=CPoint(0, 0), float alpha=1.f)


  • CCoord getWidth () const


  • CCoord getHeight () const


  • CPoint getSize () const


  • bool isLoaded () const


  • const CResourceDescription & getResourceDescription () const





  • const_iterator begin () const


  • const_iterator end () const


  • ReferenceCounted ()=default


  • virtual ~ReferenceCounted () noexcept=default


  • ReferenceCounted (const ReferenceCounted &)


  • ReferenceCounted & operator= (const ReferenceCounted &)


  • void forget () override


  • void remember () override


  • virtual int32_t getNbReference () const



 

VSTライブラリに戻る。