「VSTプラグイン開発 CBitmap」の版間の差分

提供:yonewiki
 
(同じ利用者による、間の4版が非表示)
1行目: 1行目:
[[プラグイン_VST#VSTライブラリ|VSTライブラリ]]に戻る。
== '''概要''' ==
== '''概要''' ==
<big>'''■Steinberg::Vst::VSTGUI::CBitmap■'''</big>
<big>'''■Steinberg::Vst::VSTGUI::CBitmap■'''</big>
6行目: 7行目:


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


▽resource.rc
▽resource.rc
24行目: 26行目:
</syntaxhighlight>
</syntaxhighlight>


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




30行目: 32行目:


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


▽コードcpp
▽コードcpp
36行目: 39行目:
</syntaxhighlight>
</syntaxhighlight>


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




*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">CBitmap (CPoint size, double scaleFactor=1.)</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">CBitmap (CPoint size, double scaleFactor=1.)</span>


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


▽コードcpp
▽コードcpp
50行目: 53行目:
</syntaxhighlight>
</syntaxhighlight>


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




*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">CBitmap (const PlatformBitmapPtr &platformBitmap)</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">CBitmap (const [[VSTプラグイン開発 PlatformBitmapPtr|PlatformBitmapPtr]] &platformBitmap)</span>


プラットフォーム固有のビットマップオブジェクトからイメージを作成します。
 プラットフォーム固有のビットマップオブジェクトからイメージを作成します。PlatformBitmapPtrというオブジェクトを引数として受け取ります。
PlatformBitmapPtrというオブジェクトを引数として受け取ります。
 
 
▽コードcpp
<syntaxhighlight lang="cpp">
CBitmap* pCBitmapBackbmp = new CBitmap("slider.png");
 
PlatformBitmapPtr pPlatformBitmapPtr_p;
pPlatformBitmapPtr_p = pCBitmapBackbmp->getPlatformBitmap();
CBitmap* pCBitmapBackbmpCopy = new CBitmap(pPlatformBitmapPtr_p);
</syntaxhighlight>
 
 この初期化方法だと、既に読み込んだビットマップと同じものをポインタに持つことが出来ます。[[VSTプラグイン開発 PlatformBitmapPtr|PlatformBitmapPtr]]にプラットフォーム固有のビットマップを構築する手順は非常に複雑です。




■デストラクタ
■デストラクタ
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">~CBitmap()</span>
■メンバ関数
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">virtual void draw (CDrawContext *context, const CRect &rect, const CPoint &offset=CPoint(0, 0), float alpha=1.f)</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">CCoord getWidth () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">CCoord getHeight () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">CPoint getSize () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">bool isLoaded () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">const CResourceDescription & getResourceDescription () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">[[VSTプラグイン開発 PlatformBitmapPtr|PlatformBitmapPtr]] getPlatformBitmap () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">bool addBitmap (const [[VSTプラグイン開発 PlatformBitmapPtr|PlatformBitmapPtr]] &platformBitmap)</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">[[VSTプラグイン開発 PlatformBitmapPtr|PlatformBitmapPtr]] getBestPlatformBitmapForScaleFactor (double scaleFactor) const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">const_iterator begin () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">const_iterator end () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">ReferenceCounted ()=default</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">virtual ~ReferenceCounted () noexcept=default</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">ReferenceCounted (const ReferenceCounted &)</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">ReferenceCounted & operator= (const ReferenceCounted &)</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">void forget () override</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">void remember () override</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">virtual int32_t getNbReference () const</span>
 
[[プラグイン_VST#VSTライブラリ|VSTライブラリ]]に戻る。

2023年6月19日 (月) 23:18時点における最新版

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");

	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ライブラリに戻る。