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

提供:yonewiki
編集の要約なし
63行目: 63行目:
▽コードcpp
▽コードcpp
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
CBitmap* pCBitmapBackbmp = new CBitmap("slider.png");


PlatformBitmapPtr pPlatformBitmapPtr_p;
pPlatformBitmapPtr_p = pCBitmapBackbmp->getPlatformBitmap();
CBitmap* pCBitmapBackbmpCopy = new CBitmap(pPlatformBitmapPtr_p);
</syntaxhighlight>
</syntaxhighlight>


 この初期化方法だと、既に読み込んだビットマップと同じものをポインタに持つことが出来ます。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; ">~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; ">PlatformBitmapPtr getPlatformBitmap () const</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">bool addBitmap (const PlatformBitmapPtr &platformBitmap)</span>
*<span style = "background:linear-gradient(transparent 75%, #ce9eff 75%); font-weight:bold; ">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ライブラリ]]に戻る。
[[プラグイン_VST#VSTライブラリ|VSTライブラリ]]に戻る。

2023年6月19日 (月) 20:59時点における版

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を構築します。


  • CBitmap (const PlatformBitmapPtr &platformBitmap)

 プラットフォーム固有のビットマップオブジェクトからイメージを作成します。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


  • PlatformBitmapPtr getPlatformBitmap () const


  • bool addBitmap (const PlatformBitmapPtr &platformBitmap)


  • PlatformBitmapPtr getBestPlatformBitmapForScaleFactor (double scaleFactor) 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ライブラリに戻る。